jiangjy 4 giorni fa
parent
commit
4834c73a98

+ 28 - 0
Furnace/FurnaceRT/Config/FurnaceGemModel.xml

@@ -63,6 +63,8 @@
     <SVID id="10010009" valueType="Boolean" logicalName="System.IsInitialized" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="10010010" valueType="Ascii" logicalName="System.SpoolingState" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="10010011" valueType="Boolean" logicalName="System.IsSpoolingEnable" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="10010012" valueType="Ascii" logicalName="LP3_E84STATE" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="10010013" valueType="Ascii" logicalName="LP4_E84STATE" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="10020001" valueType="Boolean" logicalName="System.AlarmSignalHeaterCCascadePVSBrk.Value" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="10030001" valueType="Boolean" logicalName="System.AlarmSignalHeaterCHeaterPVSBrk.Value" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="10040001" valueType="Boolean" logicalName="System.AlarmSignalHeaterCLCascadePVSBrk.Value" value="" eventTrigger="" units="" description="" isArray="false" />
@@ -268,6 +270,19 @@
     <SVID id="40010019" valueType="Boolean" logicalName="LP3.IsPresent" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="40010020" valueType="Boolean" logicalName="LP3.IsVerifyPreDefineWaferCount" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="40010021" valueType="Ascii" logicalName="LP3.PreDefineWaferCount" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010022" valueType="Boolean" logicalName="LP3.Busy" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010023" valueType="Boolean" logicalName="LP3.CONT" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010024" valueType="Boolean" logicalName="LP3.CS0" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010025" valueType="Boolean" logicalName="LP3.CS1" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010026" valueType="Boolean" logicalName="LP3.ES" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010027" valueType="Boolean" logicalName="LP3.HandoffAvailable" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010028" valueType="Boolean" logicalName="LP3.LightCurtain" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010029" valueType="Boolean" logicalName="LP3.LoadRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010030" valueType="Boolean" logicalName="LP3.ReadyToTransfer" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010031" valueType="Boolean" logicalName="LP3.TransferComplete" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010032" valueType="Boolean" logicalName="LP3.TransferRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010033" valueType="Boolean" logicalName="LP3.UnloadRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="40010034" valueType="Boolean" logicalName="LP3.Valid" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="50010001" valueType="Ascii" logicalName="LP4.CasstleType" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="50010002" valueType="Ascii" logicalName="LP4.InfoPadCarrierIndex" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="50010003" valueType="Ascii" logicalName="LP4.intAccessMode" value="" eventTrigger="" units="" description="" isArray="false" />
@@ -289,6 +304,19 @@
     <SVID id="50010019" valueType="Boolean" logicalName="LP4.IsPresent" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="50010020" valueType="Boolean" logicalName="LP4.IsVerifyPreDefineWaferCount" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="50010021" valueType="Ascii" logicalName="LP4.PreDefineWaferCount" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010022" valueType="Boolean" logicalName="LP4.Busy" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010023" valueType="Boolean" logicalName="LP4.CONT" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010024" valueType="Boolean" logicalName="LP4.CS0" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010025" valueType="Boolean" logicalName="LP4.CS1" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010026" valueType="Boolean" logicalName="LP4.ES" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010027" valueType="Boolean" logicalName="LP4.HandoffAvailable" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010028" valueType="Boolean" logicalName="LP4.LightCurtain" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010029" valueType="Boolean" logicalName="LP4.LoadRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010030" valueType="Boolean" logicalName="LP4.ReadyToTransfer" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010031" valueType="Boolean" logicalName="LP4.TransferComplete" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010032" valueType="Boolean" logicalName="LP4.TransferRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010033" valueType="Boolean" logicalName="LP4.UnloadRequest" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="50010034" valueType="Boolean" logicalName="LP4.Valid" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="330010001" valueType="Boolean" logicalName="PM1.AGV2Pump.Feedback" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="330010002" valueType="Boolean" logicalName="PM1.AGV2Pump.SetPoint" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="330020001" valueType="Boolean" logicalName="PM1.AGVPump.Feedback" value="" eventTrigger="" units="" description="" isArray="false" />

+ 47 - 1
Furnace/FurnaceRT/Config/IO/ELK/DeviceModelPM.xml

@@ -56,7 +56,7 @@
 					doRelease=""
 					doPresence=""
 					doPlacement=""
-					doLoad=""
+					doLoad="" 
 					doUnload=""
 					doManual=""
  
@@ -114,6 +114,52 @@
 				/>
 
 	</IoLPs>
+	<E84Passivers  classType="FurnaceRT.Devices.E84Passiver" assembly="FurnaceRT">
+		<E84Passiver module="LP3" id ="Loadport3E84" display="Loadport3 E84" schematicId=""
+						   VALID  ="DI_Loadport1E84Valid"
+						   CS0   ="DI_Loadport1E84CS0"
+						   CS1   ="DI_Loadport1E84CS1"
+						   AMAVBL=""
+						   TRREQ ="DI_Loadport1E84TRREQ"
+						   BUSY   ="DI_Loadport1E84busy"
+						   COMPT  ="DI_Loadport1E84COMPT"
+						   CONT   ="DI_Loadport1E84CONT"
+						   LightCurtain   =""
+						   Present1   ="DI_LP3FOUPInPosition1"
+						   Present2   ="DI_LP3FOUPInPosition2"
+						   Present3   ="DI_LP3FOUPInPosition3"
+						   Seat   ="DI_LP3FOUPDetect"
+                   
+						   LREQ  ="DO_loadport1E84REQ"
+						   UREQ  ="DO_loadport1E84UREQ"
+						   READY  ="DO_loadport1E84Ready"
+						   HOAVBL="DO_loadport1E84HOAVBL"
+						   ES     ="DO_loadport1E84ES"
+                   />
+
+		<E84Passiver module="LP4" id ="Loadport4E84" display="Loadport4 E84" schematicId=""
+						 VALID  ="DI_Loadport2E84Valid"
+						 CS0   ="DI_Loadport2E84CS0"
+						 CS1   ="DI_Loadport2E84CS1"
+						 AMAVBL=""
+						 TRREQ ="DI_Loadport2E84TRREQ"
+						 BUSY   ="DI_Loadport2E84busy"
+						 COMPT  ="DI_Loadport2E84COMPT"
+						 CONT   ="DI_Loadport2E84CONT"
+						 LightCurtain   =""
+						 Present1   ="DI_LP4FOUPInPosition1"
+						 Present2   ="DI_LP4FOUPInPosition2"
+						 Present3   ="DI_LP4FOUPInPosition3"
+						 Seat   ="DI_LP4FOUPDetect"
+                   
+						 LREQ  ="DO_loadport2E84REQ"
+						 UREQ  ="DO_loadport2E84UREQ"
+						 READY  ="DO_loadport2E84Ready"
+						 HOAVBL="DO_loadport2E84HOAVBL"
+						 ES     ="DO_loadport2E84ES"
+                   />
+
+	</E84Passivers>
 
 	<IoFIMSs classType="FurnaceRT.Devices.IoFIMS" assembly="FurnaceRT">
 		<IoFIMS id="FIMS1" display="FIMS1" schematicId="FIMS1" unit=""

+ 7 - 7
Furnace/FurnaceRT/Config/IO/ELK/_ioDefinePM.xml

@@ -1281,13 +1281,13 @@
 		<DO_ITEM Index="1499" Name="DO_LP2FOUPUnload" BufferOffset="1499" Addr="D1093.11" Description="loadport 2 FOUP unload(D1093.11)" />
 		<DO_ITEM Index="1500" Name="DO_LP2FOUPManual" BufferOffset="1500" Addr="D1093.12" Description="loadport 2 FOUP manual(D1093.12)" />
 		<DO_ITEM Index="1501" Name="DO_LP2FOUPClamp" BufferOffset="1501" Addr="D1093.13" Description="loadport 2 FOUP clamp(D1093.13)" />
-		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.00" Description="loadport 1 E84 REQ(D1094.00)" />
-		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.01" Description="loadport 1 E84 UREQ(D1094.01)" />
-		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.03" Description="loadport 1 E84 ready(D1094.03)" />
-		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.06" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
-		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.07" Description="loadport 1 E84 ES(D1094.07)" />
-		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.08" Description="loadport 2 E84 REQ(D1094.08)" />
-		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.09" Description="loadport 2 E84 UREQ(D1094.09)" />
+		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.0" Description="loadport 1 E84 REQ(D1094.00)" />
+		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.1" Description="loadport 1 E84 UREQ(D1094.01)" />
+		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.3" Description="loadport 1 E84 ready(D1094.03)" />
+		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.6" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
+		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.7" Description="loadport 1 E84 ES(D1094.07)" />
+		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.8" Description="loadport 2 E84 REQ(D1094.08)" />
+		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.9" Description="loadport 2 E84 UREQ(D1094.09)" />
 		<DO_ITEM Index="1515" Name="DO_loadport2E84Ready" BufferOffset="1515" Addr="D1094.11" Description="loadport 2 E84 ready(D1094.11)" />
 		<DO_ITEM Index="1518" Name="DO_loadport2E84HOAVBL" BufferOffset="1518" Addr="D1094.14" Description="loadport 2 E84 HO_AVBL(D1094.14)" />
 		<DO_ITEM Index="1519" Name="DO_loadport2E84ES" BufferOffset="1519" Addr="D1094.15" Description="loadport 2 E84 ES(D1094.15)" />

+ 1 - 0
Furnace/FurnaceRT/Config/VIDs/_ECID.xml

@@ -354,6 +354,7 @@
   <VIDItem Name="PM1.TempCorrection" Index="330010036" DataType="" Description="Temp Correction" Module="PM1" Type="" Unit="" Parameter="TempCorrection" />
   <VIDItem Name="PM1.TempPID" Index="330010037" DataType="" Description="Temp PID" Module="PM1" Type="" Unit="" Parameter="TempPID" />
   <VIDItem Name="PM1.TempProfile" Index="330010038" DataType="" Description="Temp Profile" Module="PM1" Type="" Unit="" Parameter="TempProfile" />
+  <VIDItem Name="PM1.CEXHControlFFU" Index="330010039" DataType="" Description="CEXH Control FFU" Module="PM1" Type="" Unit="" Parameter="CEXHControlFFU" />
   <VIDItem Name="PM1.APC.AlarmRange" Index="330020001" DataType="" Description="Alarm Range" Module="PM1" Type="" Unit="APC" Parameter="AlarmRange" />
   <VIDItem Name="PM1.APC.AlarmTime" Index="330020002" DataType="" Description="Alarm Time" Module="PM1" Type="" Unit="APC" Parameter="AlarmTime" />
   <VIDItem Name="PM1.APC.AngleAlarmCondtionUnit" Index="330020003" DataType="" Description="Angle Alarm Condtion Unit" Module="PM1" Type="" Unit="APC" Parameter="AngleAlarmCondtionUnit" />

+ 28 - 0
Furnace/FurnaceRT/Config/VIDs/_SVID.xml

@@ -11,6 +11,8 @@
   <VIDItem Name="System.IsInitialized" Index="10010009" DataType="System.Boolean" Description="" Module="System" Type="" Unit="" Parameter="IsInitialized" />
   <VIDItem Name="System.SpoolingState" Index="10010010" DataType="System.Int32" Description="" Module="System" Type="" Unit="" Parameter="SpoolingState" />
   <VIDItem Name="System.IsSpoolingEnable" Index="10010011" DataType="System.Boolean" Description="" Module="System" Type="" Unit="" Parameter="IsSpoolingEnable" />
+  <VIDItem Name="LP3_E84STATE" Index="10010012" DataType="System.UInt16" Description="" Module="System" Type="" Unit="" Parameter="LP3_E84STATE" />
+  <VIDItem Name="LP4_E84STATE" Index="10010013" DataType="System.UInt16" Description="" Module="System" Type="" Unit="" Parameter="LP4_E84STATE" />
   <VIDItem Name="System.AlarmSignalHeaterCCascadePVSBrk.Value" Index="10020001" DataType="System.Boolean" Description="" Module="System" Type="" Unit="AlarmSignalHeaterCCascadePVSBrk" Parameter="Value" />
   <VIDItem Name="System.AlarmSignalHeaterCHeaterPVSBrk.Value" Index="10030001" DataType="System.Boolean" Description="" Module="System" Type="" Unit="AlarmSignalHeaterCHeaterPVSBrk" Parameter="Value" />
   <VIDItem Name="System.AlarmSignalHeaterCLCascadePVSBrk.Value" Index="10040001" DataType="System.Boolean" Description="" Module="System" Type="" Unit="AlarmSignalHeaterCLCascadePVSBrk" Parameter="Value" />
@@ -216,6 +218,19 @@
   <VIDItem Name="LP3.IsPresent" Index="40010019" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="IsPresent" />
   <VIDItem Name="LP3.IsVerifyPreDefineWaferCount" Index="40010020" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="IsVerifyPreDefineWaferCount" />
   <VIDItem Name="LP3.PreDefineWaferCount" Index="40010021" DataType="System.Int32" Description="" Module="LP3" Type="" Unit="" Parameter="PreDefineWaferCount" />
+  <VIDItem Name="LP3.Busy" Index="40010022" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="Busy" />
+  <VIDItem Name="LP3.CONT" Index="40010023" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="CONT" />
+  <VIDItem Name="LP3.CS0" Index="40010024" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="CS0" />
+  <VIDItem Name="LP3.CS1" Index="40010025" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="CS1" />
+  <VIDItem Name="LP3.ES" Index="40010026" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="ES" />
+  <VIDItem Name="LP3.HandoffAvailable" Index="40010027" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="HandoffAvailable" />
+  <VIDItem Name="LP3.LightCurtain" Index="40010028" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="LightCurtain" />
+  <VIDItem Name="LP3.LoadRequest" Index="40010029" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="LoadRequest" />
+  <VIDItem Name="LP3.ReadyToTransfer" Index="40010030" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="ReadyToTransfer" />
+  <VIDItem Name="LP3.TransferComplete" Index="40010031" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="TransferComplete" />
+  <VIDItem Name="LP3.TransferRequest" Index="40010032" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="TransferRequest" />
+  <VIDItem Name="LP3.UnloadRequest" Index="40010033" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="UnloadRequest" />
+  <VIDItem Name="LP3.Valid" Index="40010034" DataType="System.Boolean" Description="" Module="LP3" Type="" Unit="" Parameter="Valid" />
   <VIDItem Name="LP4.CasstleType" Index="50010001" DataType="System.Int32" Description="" Module="LP4" Type="" Unit="" Parameter="CasstleType" />
   <VIDItem Name="LP4.InfoPadCarrierIndex" Index="50010002" DataType="System.Int32" Description="" Module="LP4" Type="" Unit="" Parameter="InfoPadCarrierIndex" />
   <VIDItem Name="LP4.intAccessMode" Index="50010003" DataType="System.Int32" Description="" Module="LP4" Type="" Unit="" Parameter="intAccessMode" />
@@ -237,6 +252,19 @@
   <VIDItem Name="LP4.IsPresent" Index="50010019" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="IsPresent" />
   <VIDItem Name="LP4.IsVerifyPreDefineWaferCount" Index="50010020" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="IsVerifyPreDefineWaferCount" />
   <VIDItem Name="LP4.PreDefineWaferCount" Index="50010021" DataType="System.Int32" Description="" Module="LP4" Type="" Unit="" Parameter="PreDefineWaferCount" />
+  <VIDItem Name="LP4.Busy" Index="50010022" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="Busy" />
+  <VIDItem Name="LP4.CONT" Index="50010023" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="CONT" />
+  <VIDItem Name="LP4.CS0" Index="50010024" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="CS0" />
+  <VIDItem Name="LP4.CS1" Index="50010025" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="CS1" />
+  <VIDItem Name="LP4.ES" Index="50010026" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="ES" />
+  <VIDItem Name="LP4.HandoffAvailable" Index="50010027" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="HandoffAvailable" />
+  <VIDItem Name="LP4.LightCurtain" Index="50010028" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="LightCurtain" />
+  <VIDItem Name="LP4.LoadRequest" Index="50010029" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="LoadRequest" />
+  <VIDItem Name="LP4.ReadyToTransfer" Index="50010030" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="ReadyToTransfer" />
+  <VIDItem Name="LP4.TransferComplete" Index="50010031" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="TransferComplete" />
+  <VIDItem Name="LP4.TransferRequest" Index="50010032" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="TransferRequest" />
+  <VIDItem Name="LP4.UnloadRequest" Index="50010033" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="UnloadRequest" />
+  <VIDItem Name="LP4.Valid" Index="50010034" DataType="System.Boolean" Description="" Module="LP4" Type="" Unit="" Parameter="Valid" />
   <VIDItem Name="PM1.AGV2Pump.Feedback" Index="330010001" DataType="System.Boolean" Description="" Module="PM1" Type="" Unit="AGV2Pump" Parameter="Feedback" />
   <VIDItem Name="PM1.AGV2Pump.SetPoint" Index="330010002" DataType="System.Boolean" Description="" Module="PM1" Type="" Unit="AGV2Pump" Parameter="SetPoint" />
   <VIDItem Name="PM1.AGVPump.Feedback" Index="330020001" DataType="System.Boolean" Description="" Module="PM1" Type="" Unit="AGVPump" Parameter="Feedback" />

+ 7 - 7
Furnace/FurnaceRT/Devices/IOE84.cs

@@ -267,22 +267,22 @@ namespace FurnaceRT.Devices
 
             //Carrier stage 0
             //ON: Use the load port for carrier handoff; vice versa
-            _diCS0 = ParseDiNode("CS_0", node, ioModule);
+            _diCS0 = ParseDiNode("CS0", node, ioModule);
             _signals.Add(new Signal(SignalID.CS_0, _diCS0, null));
 
             //Carrier stage 1
             //ON: Use the load port for carrier handoff; vice versa
-            _diCS1 = ParseDiNode("CS_1", node, ioModule);
+            _diCS1 = ParseDiNode("CS1", node, ioModule);
             _signals.Add(new Signal(SignalID.CS_1, _diCS1, null));
 
             //Transfer Arm Available
             //ON: Handoff is available; OFF: Handoff is unavailable with any error
-            _diAmAvbl = ParseDiNode("AM_AVBL", node, ioModule);
+            _diAmAvbl = ParseDiNode("AMAVBL", node, ioModule);
             _signals.Add(new Signal(SignalID.AM_AVBL, _diAmAvbl, null));
 
             //Transfer Request
             //ON: Request Handoff; vice versa
-            _diTrReq = ParseDiNode("TR_REQ", node, ioModule);
+            _diTrReq = ParseDiNode("TRREQ", node, ioModule);
             _signals.Add(new Signal(SignalID.TR_REQ, _diTrReq, null));
 
             //BUSY for transfer
@@ -308,13 +308,13 @@ namespace FurnaceRT.Devices
             //Load Request
             //ON: The load port is assigned to load a carrier; vice versa
             //CS_0 && VALID && !CarrierLoaded
-            _doLoadReq = ParseDoNode("L_REQ", node, ioModule);
+            _doLoadReq = ParseDoNode("LREQ", node, ioModule);
             _signals.Add(new Signal(SignalID.L_REQ, null, _doLoadReq));
 
             //Unload Request
             //ON: The load port is assigned to unload a carrier; vice versa
             //CS_0 && VALID && !CarrierUnloaded
-            _doUnloadReq = ParseDoNode("U_REQ", node, ioModule);
+            _doUnloadReq = ParseDoNode("UREQ", node, ioModule);
             _signals.Add(new Signal(SignalID.U_REQ, null, _doUnloadReq));
 
             //READY for transfer(after accepted the transfer request set ON, turned OFF when COMPT ON)
@@ -325,7 +325,7 @@ namespace FurnaceRT.Devices
             //Indicates the passive equipment is not available for the handoff.
             //ON: Handoff is available; OFF: vice versa but with error
             //ON when normal; OFF when : Maintenance mode / Error State 
-            _doHOAvbl = ParseDoNode("HO_AVBL", node, ioModule);
+            _doHOAvbl = ParseDoNode("HOAVBL", node, ioModule);
             _signals.Add(new Signal(SignalID.HO_AVBL, null, _doHOAvbl));
 
             //Emergency stop

+ 1 - 0
Furnace/FurnaceRT/FurnaceRT.csproj

@@ -119,6 +119,7 @@
     </Compile>
     <Compile Include="Devices\DeviceStatus.cs" />
     <Compile Include="Devices\IoBufferMotor.cs" />
+    <Compile Include="Devices\IOE84.cs" />
     <Compile Include="Devices\IoHeaterBand2.cs" />
     <Compile Include="Devices\IoHeaterBand3.cs" />
     <Compile Include="Devices\IoShutter.cs" />

+ 4 - 4
Furnace/FurnaceRT/Instances/ToolLoader.cs

@@ -105,10 +105,10 @@ namespace FurnaceRT.Instances
             //Singleton<FAJobController>.Instance.FAloadports["LP1"].SetAnyInheritILoadPortDevice(DEVICE.GetDevice<IoLP>("PM1." + ModuleName.LP1.ToString()));
             //Singleton<FAJobController>.Instance.FAloadports["LP2"].SetAnyInheritILoadPortDevice(DEVICE.GetDevice<IoLP>("PM1." + ModuleName.LP2.ToString()));
 
-            //if(DEVICE.GetDevice<E84Passiver>("LP1.Loadport1E84") != null)
-            //    DEVICE.GetDevice<E84Passiver>("LP1.Loadport1E84").Provider = Singleton<FAJobController>.Instance.FAloadports["LP1"];
-            //if (DEVICE.GetDevice<E84Passiver>("LP2.Loadport2E84") != null)
-            //    DEVICE.GetDevice<E84Passiver>("LP2.Loadport2E84").Provider = Singleton<FAJobController>.Instance.FAloadports["LP2"];
+            if (DEVICE.GetDevice<Devices.E84Passiver>("LP3.Loadport3E84") != null)
+                DEVICE.GetDevice<Devices.E84Passiver>("LP3.Loadport3E84").Provider = Singleton<FAJobController>.Instance.GetLoadPort(3);
+            if (DEVICE.GetDevice<Devices.E84Passiver>("LP4.Loadport4E84") != null)
+                DEVICE.GetDevice<Devices.E84Passiver>("LP4.Loadport4E84").Provider = Singleton<FAJobController>.Instance.GetLoadPort(4);
 
             // Singleton<FAJobController>.Instance.JobCallBack = Singleton<EquipmentManager>.Instance;
             Singleton<RecipeEditManager>.Instance.Initialize();

BIN
Furnace/FurnaceRT/dependence/MECF.Framework.MyFA.Core.dll


+ 9 - 9
Furnace/FurnaceSimulator/Config/ELK/_ioDefinePM.xml

@@ -1281,13 +1281,13 @@
 		<DO_ITEM Index="1499" Name="DO_LP2FOUPUnload" BufferOffset="1499" Addr="D1093.11" Description="loadport 2 FOUP unload(D1093.11)" />
 		<DO_ITEM Index="1500" Name="DO_LP2FOUPManual" BufferOffset="1500" Addr="D1093.12" Description="loadport 2 FOUP manual(D1093.12)" />
 		<DO_ITEM Index="1501" Name="DO_LP2FOUPClamp" BufferOffset="1501" Addr="D1093.13" Description="loadport 2 FOUP clamp(D1093.13)" />
-		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.00" Description="loadport 1 E84 REQ(D1094.00)" />
-		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.01" Description="loadport 1 E84 UREQ(D1094.01)" />
-		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.03" Description="loadport 1 E84 ready(D1094.03)" />
-		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.06" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
-		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.07" Description="loadport 1 E84 ES(D1094.07)" />
-		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.08" Description="loadport 2 E84 REQ(D1094.08)" />
-		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.09" Description="loadport 2 E84 UREQ(D1094.09)" />
+		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.0" Description="loadport 1 E84 REQ(D1094.00)" />
+		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.1" Description="loadport 1 E84 UREQ(D1094.01)" />
+		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.3" Description="loadport 1 E84 ready(D1094.03)" />
+		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.6" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
+		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.7" Description="loadport 1 E84 ES(D1094.07)" />
+		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.8" Description="loadport 2 E84 REQ(D1094.08)" />
+		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.9" Description="loadport 2 E84 UREQ(D1094.09)" />
 		<DO_ITEM Index="1515" Name="DO_loadport2E84Ready" BufferOffset="1515" Addr="D1094.11" Description="loadport 2 E84 ready(D1094.11)" />
 		<DO_ITEM Index="1518" Name="DO_loadport2E84HOAVBL" BufferOffset="1518" Addr="D1094.14" Description="loadport 2 E84 HO_AVBL(D1094.14)" />
 		<DO_ITEM Index="1519" Name="DO_loadport2E84ES" BufferOffset="1519" Addr="D1094.15" Description="loadport 2 E84 ES(D1094.15)" />
@@ -1560,7 +1560,7 @@
 		<AI_ITEM Index="103" Name="AI_PS13AnalogValue" BufferOffset="103" Addr="D5206" Description="PS13 analog value(D5206)" />
 		<AI_ITEM Index="105" Name="AI_DG1Pressure" BufferOffset="105" Addr="D5210" Description="DG1 pressure(D5210)" />
 		<AI_ITEM Index="106" Name="AI_PG12Pressure" BufferOffset="106" Addr="D5212" Description="PG12 pressure(D5212)" />
-		<AI_ITEM Index="108" Name="AI_PG13Pressure" BufferOffset="108" Addr="D5216" Description="PG14 pressure(D5216)" />
+		<AI_ITEM Index="108" Name="AI_PG13Pressure" BufferOffset="108" Addr="D5216" Description="PG13 pressure(D5216)" />
 		<AI_ITEM Index="109" Name="AI_PS14Pressure" BufferOffset="109" Addr="D5218" Description="PS14 pressure(D5218)" />
 
 		<AI_ITEM Index="110" Name="AI_PG1Pressure" BufferOffset="110" Addr="D5220" Description="PG1 pressure(5220)" />
@@ -1819,7 +1819,7 @@
 		<AO_ITEM Index="111" Name="AO_ExchangeFOUPTOFOUPWaitTime" BufferOffset="111" Addr="D10222" Description="Exchange FOUP TO FOUP WaitTime(D10222)" />
 		<AO_ITEM Index="112" Name="AO_LAO2checkSV" BufferOffset="112" Addr="D10224" Description="LA O2 check SV(D10224)" />
 		<AO_ITEM Index="113" Name="AO_FOUPO2CheckSV" BufferOffset="113" Addr="D10226" Description="FOUP O2 Check SV(D10226)" />
-		<AO_ITEM Index="114" Name="AO_BufferPurgeTimeSV" BufferOffset="114" Addr="D10228" Description="Buffer Purge Time SV(D10228)" />
+		<AO_ITEM Index="114" Name="AO_BufferPurgeTimeSV" BufferOffset="200" Addr="D10400" Description="Buffer Purge Time SV(D10400)" />
 
 		<AO_ITEM Index="114" Name="AO_BufferFFU1SV" BufferOffset="155" Addr="D10310" Description="Buffer FFU1 SV(D10310)" />
 		<AO_ITEM Index="114" Name="AO_BufferFFU2SV" BufferOffset="156" Addr="D10312" Description="Buffer FFU2 SV(D10312)" />

+ 9 - 9
Furnace/FurnaceSimulator/Config/_ioDefinePM.xml

@@ -1281,13 +1281,13 @@
 		<DO_ITEM Index="1499" Name="DO_LP2FOUPUnload" BufferOffset="1499" Addr="D1093.11" Description="loadport 2 FOUP unload(D1093.11)" />
 		<DO_ITEM Index="1500" Name="DO_LP2FOUPManual" BufferOffset="1500" Addr="D1093.12" Description="loadport 2 FOUP manual(D1093.12)" />
 		<DO_ITEM Index="1501" Name="DO_LP2FOUPClamp" BufferOffset="1501" Addr="D1093.13" Description="loadport 2 FOUP clamp(D1093.13)" />
-		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.00" Description="loadport 1 E84 REQ(D1094.00)" />
-		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.01" Description="loadport 1 E84 UREQ(D1094.01)" />
-		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.03" Description="loadport 1 E84 ready(D1094.03)" />
-		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.06" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
-		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.07" Description="loadport 1 E84 ES(D1094.07)" />
-		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.08" Description="loadport 2 E84 REQ(D1094.08)" />
-		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.09" Description="loadport 2 E84 UREQ(D1094.09)" />
+		<DO_ITEM Index="1504" Name="DO_loadport1E84REQ" BufferOffset="1504" Addr="D1094.0" Description="loadport 1 E84 REQ(D1094.00)" />
+		<DO_ITEM Index="1505" Name="DO_loadport1E84UREQ" BufferOffset="1505" Addr="D1094.1" Description="loadport 1 E84 UREQ(D1094.01)" />
+		<DO_ITEM Index="1507" Name="DO_loadport1E84Ready" BufferOffset="1507" Addr="D1094.3" Description="loadport 1 E84 ready(D1094.03)" />
+		<DO_ITEM Index="1510" Name="DO_loadport1E84HOAVBL" BufferOffset="1510" Addr="D1094.6" Description="loadport 1 E84 HO_AVBL(D1094.06)" />
+		<DO_ITEM Index="1511" Name="DO_loadport1E84ES" BufferOffset="1511" Addr="D1094.7" Description="loadport 1 E84 ES(D1094.07)" />
+		<DO_ITEM Index="1512" Name="DO_loadport2E84REQ" BufferOffset="1512" Addr="D1094.8" Description="loadport 2 E84 REQ(D1094.08)" />
+		<DO_ITEM Index="1513" Name="DO_loadport2E84UREQ" BufferOffset="1513" Addr="D1094.9" Description="loadport 2 E84 UREQ(D1094.09)" />
 		<DO_ITEM Index="1515" Name="DO_loadport2E84Ready" BufferOffset="1515" Addr="D1094.11" Description="loadport 2 E84 ready(D1094.11)" />
 		<DO_ITEM Index="1518" Name="DO_loadport2E84HOAVBL" BufferOffset="1518" Addr="D1094.14" Description="loadport 2 E84 HO_AVBL(D1094.14)" />
 		<DO_ITEM Index="1519" Name="DO_loadport2E84ES" BufferOffset="1519" Addr="D1094.15" Description="loadport 2 E84 ES(D1094.15)" />
@@ -1560,7 +1560,7 @@
 		<AI_ITEM Index="103" Name="AI_PS13AnalogValue" BufferOffset="103" Addr="D5206" Description="PS13 analog value(D5206)" />
 		<AI_ITEM Index="105" Name="AI_DG1Pressure" BufferOffset="105" Addr="D5210" Description="DG1 pressure(D5210)" />
 		<AI_ITEM Index="106" Name="AI_PG12Pressure" BufferOffset="106" Addr="D5212" Description="PG12 pressure(D5212)" />
-		<AI_ITEM Index="108" Name="AI_PG13Pressure" BufferOffset="108" Addr="D5216" Description="PG14 pressure(D5216)" />
+		<AI_ITEM Index="108" Name="AI_PG13Pressure" BufferOffset="108" Addr="D5216" Description="PG13 pressure(D5216)" />
 		<AI_ITEM Index="109" Name="AI_PS14Pressure" BufferOffset="109" Addr="D5218" Description="PS14 pressure(D5218)" />
 
 		<AI_ITEM Index="110" Name="AI_PG1Pressure" BufferOffset="110" Addr="D5220" Description="PG1 pressure(5220)" />
@@ -1819,7 +1819,7 @@
 		<AO_ITEM Index="111" Name="AO_ExchangeFOUPTOFOUPWaitTime" BufferOffset="111" Addr="D10222" Description="Exchange FOUP TO FOUP WaitTime(D10222)" />
 		<AO_ITEM Index="112" Name="AO_LAO2checkSV" BufferOffset="112" Addr="D10224" Description="LA O2 check SV(D10224)" />
 		<AO_ITEM Index="113" Name="AO_FOUPO2CheckSV" BufferOffset="113" Addr="D10226" Description="FOUP O2 Check SV(D10226)" />
-		<AO_ITEM Index="114" Name="AO_BufferPurgeTimeSV" BufferOffset="114" Addr="D10228" Description="Buffer Purge Time SV(D10228)" />
+		<AO_ITEM Index="114" Name="AO_BufferPurgeTimeSV" BufferOffset="200" Addr="D10400" Description="Buffer Purge Time SV(D10400)" />
 
 		<AO_ITEM Index="114" Name="AO_BufferFFU1SV" BufferOffset="155" Addr="D10310" Description="Buffer FFU1 SV(D10310)" />
 		<AO_ITEM Index="114" Name="AO_BufferFFU2SV" BufferOffset="156" Addr="D10312" Description="Buffer FFU2 SV(D10312)" />