|  | @@ -225,20 +225,7 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      if (IsUnloadCompleted)
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        if (_isSimulatorMode)
 | 
	
		
			
				|  |  | -                        {
 | 
	
		
			
				|  |  | -                            ConfirmRemoveCarrier();
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                        else
 | 
	
		
			
				|  |  | -                        {
 | 
	
		
			
				|  |  | -                            var sensorFTRHomeCX = DEVICE.GetDevice<IoSensor>($"PM1.SensorFTRHomeCX");
 | 
	
		
			
				|  |  | -                            if (sensorFTRHomeCX != null && sensorFTRHomeCX.Value)
 | 
	
		
			
				|  |  | -                            {
 | 
	
		
			
				|  |  | -                                ConfirmRemoveCarrier();
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                        ConfirmRemoveCarrier();
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      else if (IsLoadCompleted)
 | 
	
		
			
				|  |  |                      {
 | 
	
	
		
			
				|  | @@ -332,8 +319,8 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |                          if (faLoadPort.LoadPortTransferStateMachine.TransferState != FACore.E87FA.LPTransferState.OUT_OF_SERVICE &&
 | 
	
		
			
				|  |  |                          faLoadPort.LoadPortTransferStateMachine.TransferState != FACore.E87FA.LPTransferState.READY_TO_UNLOAD)
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  | -                           
 | 
	
		
			
				|  |  | -                                FALoadPortManager.Instance.EqpInformLoadPortTransferReady(PortID, IsFoupPresent);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            FALoadPortManager.Instance.EqpInformLoadPortTransferReady(PortID, IsFoupPresent);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -360,20 +347,7 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |                          CarrierManager.Instance.CreateCarrier(Name, CarrierType.SD, Name);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (_isSimulatorMode)
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    ConfirmAddCarrier();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                else
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    var sensorFTRHomeCX = DEVICE.GetDevice<IoSensor>($"PM1.SensorFTRHomeCX");
 | 
	
		
			
				|  |  | -                    if (sensorFTRHomeCX != null && sensorFTRHomeCX.Value)
 | 
	
		
			
				|  |  | -                    {
 | 
	
		
			
				|  |  | -                        ConfirmAddCarrier();
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                ConfirmAddCarrier();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          protected virtual void ConfirmAddCarrier()
 | 
	
	
		
			
				|  | @@ -401,7 +375,6 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  m_CarrierOnState = CarrierOnLPState.On;
 | 
	
		
			
				|  |  | -                SerializableDictionary<string, object> dvid = new SerializableDictionary<string, object>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  Singleton<FAJobController>.Instance.Eqp_NoteCarrierArrived(PortID);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -415,13 +388,7 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                dvid["PortID"] = PortID;
 | 
	
		
			
				|  |  | -                dvid["PORT_CTGRY"] = SpecPortName;
 | 
	
		
			
				|  |  | -                dvid["CarrierType"] = SpecCarrierType;
 | 
	
		
			
				|  |  | -                dvid["CarrierIndex"] = InfoPadCarrierIndex;
 | 
	
		
			
				|  |  | -                //dvid["InfoPadSensorIndex"] = InfoPadSensorIndex;
 | 
	
		
			
				|  |  | -                EV.Notify(EventCarrierArrived, dvid);
 | 
	
		
			
				|  |  | -                //EV.Notify(EventCarrierArrived1, dvid);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  if (_lpcallback != null)
 | 
	
		
			
				|  |  |                      _lpcallback.CarrierArrive();
 | 
	
		
			
				|  |  |                  _isMapped = false;
 | 
	
	
		
			
				|  | @@ -485,8 +452,14 @@ namespace FurnaceRT.Devices
 | 
	
		
			
				|  |  |              Singleton<FAJobController>.Instance.Eqp_NoteCarrierIdRead(PortID, id);
 | 
	
		
			
				|  |  |              _carrierId = id;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              SerializableDictionary<string, object> dvid = new SerializableDictionary<string, object>();
 | 
	
		
			
				|  |  | +            dvid["PortID"] = PortID;
 | 
	
		
			
				|  |  | +            dvid["PORT_CTGRY"] = SpecPortName;
 | 
	
		
			
				|  |  | +            dvid["CarrierType"] = SpecCarrierType;
 | 
	
		
			
				|  |  | +            dvid["CarrierIndex"] = InfoPadCarrierIndex;
 | 
	
		
			
				|  |  | +            EV.Notify(EventCarrierArrived, dvid);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            dvid = new SerializableDictionary<string, object>();
 | 
	
		
			
				|  |  |              dvid["CarrierID"] = _carrierId ?? "";
 | 
	
		
			
				|  |  |              dvid["CAR_ID"] = _carrierId ?? "";
 | 
	
		
			
				|  |  |              dvid["PORT_ID"] = PortID;
 |