jiangjy 1 miesiąc temu
rodzic
commit
f2da84d22c

+ 31 - 27
Furnace/FurnaceRT/Config/IO/ELK/DeviceModelPM.xml

@@ -695,7 +695,7 @@
 		<IoPressureMeter id="PS14AnalogValue" display="PS14AnalogValue"  schematicId="PS14AnalogValue" unit="kPa" aiFeedback="AI_PS14AnalogValue"  physical="1500,7500" scale="-99.9,99.9" aioType="float"/>
 
 		<IoPressureMeter id="VG11" display="VG11"  schematicId="VG11" unit="Torr" aiFeedback="AI_VG11Pressure"  physical="0,15000" scale="0,1000" aioType="float" unSigned="True"/>
-		<IoPressureMeter id="VG12" display="VG12"  schematicId="VG12" unit="Torr" aiFeedback="AI_VG12Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
+		<!--<IoPressureMeter id="VG12" display="VG12"  schematicId="VG12" unit="Torr" aiFeedback="AI_VG12Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>-->
 		<IoPressureMeter id="VG13" display="VG13"  schematicId="VG13" unit="Torr" aiFeedback="AI_VG13Pressure"  physical="0,15000" scale="0,1000" aioType="float" unSigned="True"/>
 		<IoPressureMeter id="VG21" display="VG21"  schematicId="VG21" unit="Torr" aiFeedback="AI_VG21Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
 		<IoPressureMeter id="VG22" display="VG22"  schematicId="VG22" unit="Torr" aiFeedback="AI_VG22Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
@@ -1107,8 +1107,6 @@
 		<IoTrigger id="TrigFFULSPEED" display="" schematicId="" unit="" aoTrigger="AO_FFU_LSPEED" />
 		<IoTrigger id="TrigFFUHSPEED" display="" schematicId="" unit="" aoTrigger="AO_FFU_HSPEED" />
 		<IoTrigger id="TrigHPMValve" display="" schematicId="" unit="" doTrigger="DO_HPMValveOnOff"/>
-		<IoTrigger id="TrigT101PowerOn" display="" schematicId="" unit="" doTrigger="DO_MainPowerOn"/>
-		<IoTrigger id="TrigT101PowerOff" display="" schematicId="" unit="" doTrigger="DO_MainPowerOff"/>
 		<IoTrigger id="TrigGaslineHeaterPowerOn" display="" schematicId="" unit="" doTrigger="DO_GaslineHeaterPowerOn"/>
 		<IoTrigger id="TrigExhaustHeaterPowerOn" display="" schematicId="" unit="" doTrigger="DO_ExhaustHeaterPowerOn"/>
 		<IoTrigger id="TrigFrontBodyPowerOn" display="" schematicId="" unit="" doTrigger="DO_FrontBodyPowerOn"/>
@@ -1122,12 +1120,6 @@
 		<IoTrigger id="TrigBoatLiftMotorHardwareInterlockOk2" display="" schematicId="" unit="" doTrigger="DO_BoatLiftMotorHardwareInterlockOk2"/>
 		<IoTrigger id="TrigWaferRobotEnable" display="" schematicId="" unit="" doTrigger="DO_WaferRobotEnable"/>
 		<IoTrigger id="TrigFOUPRobotEnable" display="" schematicId="" unit="" doTrigger="DO_FOUPRobotEnable"/>
-		<IoTrigger id="TrigLightCurtainIdle" display="" schematicId="" unit="" doTrigger="DO_LightCurtainIdle"/>
-		<IoTrigger id="TrigGaslineHeatingEN1K5201" display="" schematicId="" unit="" doTrigger="DO_GaslineHeatingEN1K5201"/>
-		<IoTrigger id="TrigGaslineHeatingEN1K5202" display="" schematicId="" unit="" doTrigger="DO_GaslineHeatingEN1K5202"/>
-		<IoTrigger id="TrigGaslineHeatingEN1K5203" display="" schematicId="" unit="" doTrigger="DO_GaslineHeatingEN1K5203"/>
-		<IoTrigger id="TrigGaslineHeatingEN1K5204" display="" schematicId="" unit="" doTrigger="DO_GaslineHeatingEN1K5204"/>
-		<IoTrigger id="TrigGaslineHeatingEN1K5205" display="" schematicId="" unit="" doTrigger="DO_GaslineHeatingEN1K5205"/>
 
 		<IoTrigger id="TrigStartButton" display="" schematicId="" unit="" doTrigger="DO_StartButton"/>
 		<IoTrigger id="TrigStopButton" display="" schematicId="" unit="" doTrigger="DO_StopButton"/>
@@ -1136,8 +1128,6 @@
 		<IoTrigger id="TrigAutoOrManualKnob" display="" schematicId="" unit="" doTrigger="DO_AutoOrManualKnob"/>
 		<IoTrigger id="TrigNormalOrMaintainKnob" display="" schematicId="" unit="" doTrigger="DO_NormalOrMaintainKnob"/>
 		<IoTrigger id="TrigHeaterPowerOnOffKnob" display="" schematicId="" unit="" doTrigger="DO_HeaterPowerOnOffKnob"/>
-		<IoTrigger id="TrigREVReset" display="" schematicId="" unit="" doTrigger="DO_REVReset"/>
-		<IoTrigger id="TrigEV101CoolingWaterShift" display="" schematicId="" unit="" doTrigger="DO_EV101CoolingWaterShift"/>
 		<IoTrigger id="TrigVaccumPumpBothOn" display="" schematicId="" unit="" doTrigger="DO_VaccumPumpBothOn"/>
 		<IoTrigger id="TrigVaccumPumpAGVOpen" display="" schematicId="" unit="" doTrigger="DO_VaccumPumpAGVOpen"/>
 		<IoTrigger id="TrigVaccum2PumpAGVOpen" display="" schematicId="" unit="" doTrigger="DO_Vaccum2PumpAGVOpen"/>
@@ -1175,22 +1165,22 @@
 		<IoTrigger id="TrigVGUnitConversion" display="" schematicId="" unit="" doTrigger="DO_VGUnitConversion"/>
 		<IoTrigger id="TrigHeaterAllEnable" display="" schematicId="" unit="" aoTrigger="AO_HeaterAllEnable"/>
 
-		<IoTrigger id="TrigStockerPurgeStocker16" display="" schematicId="" unit="" doTrigger="DO_SV816ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker15" display="" schematicId="" unit="" doTrigger="DO_SV817ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker14" display="" schematicId="" unit="" doTrigger="DO_SV818ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker13" display="" schematicId="" unit="" doTrigger="DO_SV819ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker12" display="" schematicId="" unit="" doTrigger="DO_SV820ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker11" display="" schematicId="" unit="" doTrigger="DO_SV821ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker10" display="" schematicId="" unit="" doTrigger="DO_SV822ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker9" display="" schematicId="" unit="" doTrigger="DO_SV823ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker8" display="" schematicId="" unit="" doTrigger="DO_SV824ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker7" display="" schematicId="" unit="" doTrigger="DO_SV825ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker6" display="" schematicId="" unit="" doTrigger="DO_SV826ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker5" display="" schematicId="" unit="" doTrigger="DO_SV827ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker4" display="" schematicId="" unit="" doTrigger="DO_SV828ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker3" display="" schematicId="" unit="" doTrigger="DO_SV829ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker2" display="" schematicId="" unit="" doTrigger="DO_SV830ON"/>
-		<IoTrigger id="TrigStockerPurgeStocker1" display="" schematicId="" unit="" doTrigger="DO_SV831ON"/>
+		<IoTrigger id="TrigStockerPurgeStocker13" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage4AOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker14" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage4BOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker15" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage4COpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker16" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage4DOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker9" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage3AOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker10" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage3BOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker11" display="" schematicId="" unit="" doTrigger="DO_BufferN2Purage3COpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker12" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage3DOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker5" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage2AOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker6" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage2BOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker7" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage2COpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker8" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage2DOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker1" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage1AOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker2" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage1BOpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker3" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage1COpen"/>
+		<IoTrigger id="TrigStockerPurgeStocker4" display="" schematicId="" unit=""  doTrigger="DO_BufferN2Purage1DOpen"/>
 		<IoTrigger id="TrigCREFON" display="" schematicId="" unit="" doTrigger="DO_ALTOREFILL2REQUESTOrVALVEOPEN"/>
 		<IoTrigger id="TrigSIREFON" display="" schematicId="" unit="" doTrigger="DO_AUTOREFILL1REQUESTOrVALVEOPEN"/>
 		<IoTrigger id="TrigHTR1SWON" display="" schematicId="" unit="" doTrigger="DO_HTR1"/>
@@ -1205,6 +1195,20 @@
 		<IoTrigger id="TrigMS521" display="" schematicId="" unit="" doTrigger="DO_MS521"/>
 		<IoTrigger id="TrigMS522" display="" schematicId="" unit="" doTrigger="DO_MS522"/>
 
+		<IoTrigger id="TrigN2PurgeLAO2CheckFirstEnable" display="" schematicId="" unit="" doTrigger="DO_LAO2CheckFirstEN"/>
+		<IoTrigger id="TrigN2PurgeFIMS1O2CheckEnable" display="" schematicId="" unit="" doTrigger="DO_FIMS1O2CheckEN"/>
+		<IoTrigger id="TrigN2PurgeFIMS2O2CheckEnable" display="" schematicId="" unit="" doTrigger="DO_FIMS2O2CheckEN"/>
+		<IoTrigger id="TrigN2PurgeProcess" display="" schematicId="" unit="" doTrigger="DO_N2PURGEPROCESS"/>
+		<IoTrigger id="TrigN2PurgeLAO2OverTime" display="" schematicId="" unit="" aoTrigger="AO_LAO2OverTime"/>
+		<IoTrigger id="TrigN2PurgeLAO2CheckTime" display="" schematicId="" unit="" aoTrigger="AO_LAO2CheckTime"/>
+		<IoTrigger id="TrigN2PurgeFOUPO2OverTime" display="" schematicId="" unit="" aoTrigger="AO_FOUPO2OverTime"/>
+		<IoTrigger id="TrigN2PurgeFOUPO2CheckTime" display="" schematicId="" unit="" aoTrigger="AO_FOUPO2CheckTime"/>
+		<IoTrigger id="TrigN2PurgeExchangeLATOFOUPWaitTime" display="" schematicId="" unit="" aoTrigger="AO_ExchangeLATOFOUPWaitTime"/>
+		<IoTrigger id="TrigN2PurgeExchangeFOUPTOLAWaitTime" display="" schematicId="" unit="" aoTrigger="AO_ExchangeFOUPTOLAWaitTime"/>
+		<IoTrigger id="TrigN2PurgeExchangeFOUPTOFOUPWaitTime" display="" schematicId="" unit="" aoTrigger="AO_ExchangeFOUPTOFOUPWaitTime"/>
+		<IoTrigger id="TrigN2PurgeLAO2CheckSV" display="" schematicId="" unit="" aoTrigger="AO_LAO2CheckSV"/>
+		<IoTrigger id="TrigN2PurgeFOUPO2CheckSV" display="" schematicId="" unit="" aoTrigger="AO_FOUPO2CheckSV"/>
+
 	</IoTriggers>
 	<IoTriggers classType="FurnaceRT.Devices.IoTrigger3" assembly="FurnaceRT">
 		<IoTrigger3 id="GASTempOutRangeAlarm" display="GASTempOutRangeAlarm" diFeedback1="DI_TempOutRangeAlarm" diFeedback2="DI_TempOutRangeAlarm" diFeedback3="DI_TempOutRangeAlarm"  diFeedback4="DI_TempOutRangeAlarm" schematicId="" unit="" doTrigger="DO_GASTempOutRangeAlarm"/>

Plik diff jest za duży
+ 343 - 500
Furnace/FurnaceRT/Config/IO/ELK/_ioDefinePM.xml


+ 1 - 1
Furnace/FurnaceRT/Config/System.sccfg

@@ -15,7 +15,7 @@
 		<config default="0" name="TotalCycledWafer" description="Total Cycled Wafer" max="10000000" min="1" paramter="" tag="" unit="" type="Integer" />
 		<config default="Debug" name="RunningMode" description="" max="" min="" paramter="Debug,Release" tag="" unit="" type="String" visible="false" />
 
-		<config default="false" name="EnableScheduleMaintenance" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
+		<config default="true" name="EnableScheduleMaintenance" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 		<config default="true" name="IsServiceControlMode" description="Is Service Control Mode" max="" min="" paramter="" tag="" unit="" type="Bool" />
 
 		<config default="false" name="BypassInterlock" description="Bypass Interlock" max="0" min="0" paramter="" tag="" unit="" type="Bool" />

+ 7 - 2
Furnace/FurnaceRT/Devices/IoLP.cs

@@ -173,10 +173,15 @@ namespace FurnaceRT.Devices
                 if (accessMode.ToString().ToUpper() == "AUTO")
                 {
                     //auto时候,默认是夹紧状态
-                    if (!_doClamp.Value && _previousAccessMode != accessMode.ToString())
+
+                    if (_doClamp!=null)
                     {
-                        Clamp(out _);
+                        if (!_doClamp.Value && _previousAccessMode != accessMode.ToString())
+                        {
+                            Clamp(out _);
+                        }
                     }
+                 
                 }
 
                 if (accessMode.ToString().ToUpper() == "MANUAL")

Plik diff jest za duży
+ 351 - 506
Furnace/FurnaceSimulator/Config/ELK/_ioDefinePM.xml


Plik diff jest za duży
+ 350 - 509
Furnace/FurnaceSimulator/Config/_ioDefinePM.xml


+ 2 - 12
Furnace/FurnaceSimulator/Instances/SimulatorSystem.cs

@@ -139,9 +139,6 @@ namespace FurnaceSimulator.Instances
             IO.DI[$"PM1.DI_WaferRobotEX1AxisHomePosition"].Value = true;
             IO.DI[$"PM1.DI_WaferRobotEX2AxisHomePosition"].Value = true;
 
-            IO.DI[$"PM1.DI_FBLightCurtainFault"].Value = false;
-            IO.DI[$"PM1.DI_FBLightCurtainOSSD1"].Value = false;
-            IO.DI[$"PM1.DI_FBLightCurtainOSSD2"].Value = false;
             IO.DI[$"PM1.DI_BoatRAxisAlarm"].Value = false;
 
             IO.DI[$"PM1.DI_LP1FOUPLeftClamp"].Value = false;
@@ -199,9 +196,7 @@ namespace FurnaceSimulator.Instances
 
         private bool OnMonitor()
         {
-            try
-            {
-                //return true;
+           //return true;
                 //MonitorValve();
                 MonitorLP("PM1", "LP1");
                 MonitorLP("PM1", "LP2");
@@ -266,12 +261,7 @@ namespace FurnaceSimulator.Instances
                 }
 
                 return true;
-            }
-            catch (Exception e)
-            {
-                LOG.Write(e);
-            }
-            return true;
+         
         }
 
         public void Terminate()