Browse Source

fix 去除FIMSLoadRputine模块 FIMSLoadCheckLAO2 方法,当同时压氧load的时候,氧气分析仪只会在一侧,然后另一个等待,但是 Check方法会失败,导致error

jiangjy 2 months ago
parent
commit
77f9a9c881

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

@@ -13,7 +13,6 @@
 		<config default="false" name="AxisMonShowKey" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false" />
 		<config default="false" name="AxisMonShowKey" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false" />
 		<!--是否检查Recipe文件夹结构不正确-->
 		<!--是否检查Recipe文件夹结构不正确-->
 		<config default="true" name="EnableCheckRecipe" description="" max="" min="" paramter="" tag="" unit="" type="Bool"   />
 		<config default="true" name="EnableCheckRecipe" description="" max="" min="" paramter="" tag="" unit="" type="Bool"   />
-		<config default="true" name="FIMSManualCheck" description="" max="" min="" paramter="" tag="" unit="" type="Bool"  visible="false"  />
 
 
 		<!--Valve是否展示新版图标-->
 		<!--Valve是否展示新版图标-->
 		<config default="false" name="IsShowJetValve" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false" />
 		<config default="false" name="IsShowJetValve" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false" />

+ 8 - 8
Furnace/FurnaceRT/Equipments/FIMSs/FIMSLoadRoutine.cs

@@ -61,14 +61,14 @@ namespace FurnaceRT.Equipments.FIMSs
             }
             }
             if (_isNeedN2Purge)
             if (_isNeedN2Purge)
             {
             {
-                if (SC.ContainsItem("System.FIMSManualCheck") && SC.GetValue<bool>("System.FIMSManualCheck") )
-                {
-                    if (!(Singleton<EquipmentManager>.Instance.Modules[ModuleName.PM1] as PMModule).FIMSLoadCheckLAO2(out string reason))
-                    {
-                        _fimsModule.LoadFailAlarm.Set(reason);
-                        return Result.FAIL;
-                    }
-                }
+                //if (SC.ContainsItem("System.FIMSManualCheck") && SC.GetValue<bool>("System.FIMSManualCheck") )
+                //{
+                //    if (!(Singleton<EquipmentManager>.Instance.Modules[ModuleName.PM1] as PMModule).FIMSLoadCheckLAO2(out string reason))
+                //    {
+                //        _fimsModule.LoadFailAlarm.Set(reason);
+                //        return Result.FAIL;
+                //    }
+                //}
             
             
                 _pmModule?.SetN2PurgeParameters();
                 _pmModule?.SetN2PurgeParameters();
 
 

+ 23 - 0
Furnace/FurnaceSimulator/Instances/SimulatorSystem.cs

@@ -115,6 +115,7 @@ namespace FurnaceSimulator.Instances
         private SimpleSocketDeviceSimulator _SimpleSocketDeviceSimulator;
         private SimpleSocketDeviceSimulator _SimpleSocketDeviceSimulator;
         private void SetDefaultValue()
         private void SetDefaultValue()
         {
         {
+            IO.DI[$"PM1.DI_O2_Detect_Side_LA"].Value = true;
             IO.DI[$"PM1.DI_POD1WaferOnRobot"].Value = true;
             IO.DI[$"PM1.DI_POD1WaferOnRobot"].Value = true;
             IO.DI[$"PM1.DI_POD2WaferOnRobot"].Value = true;
             IO.DI[$"PM1.DI_POD2WaferOnRobot"].Value = true;
 
 
@@ -266,6 +267,7 @@ namespace FurnaceSimulator.Instances
                 IO.AI[$"PM1.AI_WaferRobotActionCommand"].FloatValue = IO.AO[$"PM1.AO_WaferRobotActionCommand"].FloatValue;
                 IO.AI[$"PM1.AI_WaferRobotActionCommand"].FloatValue = IO.AO[$"PM1.AO_WaferRobotActionCommand"].FloatValue;
             }
             }
 
 
+
             return true;
             return true;
 
 
         }
         }
@@ -1003,6 +1005,27 @@ namespace FurnaceSimulator.Instances
             if (IO.DI[$"{module}.DI_{fims}CollisionAvoidanceDown"] != null && IO.DO[$"{module}.DO_{fims}CollisionAvoidanceDown"] != null) IO.DI[$"{module}.DI_{fims}CollisionAvoidanceDown"].Value = IO.DO[$"{module}.DO_{fims}CollisionAvoidanceDown"].Value;
             if (IO.DI[$"{module}.DI_{fims}CollisionAvoidanceDown"] != null && IO.DO[$"{module}.DO_{fims}CollisionAvoidanceDown"] != null) IO.DI[$"{module}.DI_{fims}CollisionAvoidanceDown"].Value = IO.DO[$"{module}.DO_{fims}CollisionAvoidanceDown"].Value;
             if (IO.DI[$"{module}.DI_{fims}N2PurgeValveOpened"] != null && IO.DO[$"{module}.DO_{fims}N2PurgeValveOpen"] != null) IO.DI[$"{module}.DI_{fims}N2PurgeValveOpened"].Value = IO.DO[$"{module}.DO_{fims}N2PurgeValveOpen"].Value;
             if (IO.DI[$"{module}.DI_{fims}N2PurgeValveOpened"] != null && IO.DO[$"{module}.DO_{fims}N2PurgeValveOpen"] != null) IO.DI[$"{module}.DI_{fims}N2PurgeValveOpened"].Value = IO.DO[$"{module}.DO_{fims}N2PurgeValveOpen"].Value;
             if (IO.DI[$"{module}.DI_{fims}N2PurgeValveClosed"] != null && IO.DO[$"{module}.DO_{fims}N2PurgeValveClose"] != null) IO.DI[$"{module}.DI_{fims}N2PurgeValveClosed"].Value = IO.DO[$"{module}.DO_{fims}N2PurgeValveClose"].Value;
             if (IO.DI[$"{module}.DI_{fims}N2PurgeValveClosed"] != null && IO.DO[$"{module}.DO_{fims}N2PurgeValveClose"] != null) IO.DI[$"{module}.DI_{fims}N2PurgeValveClosed"].Value = IO.DO[$"{module}.DO_{fims}N2PurgeValveClose"].Value;
+
+
+            if (IO.DO[$"PM1.DO_N2PURGEPROCESS"] != null && IO.DO[$"PM1.DO_N2PURGEPROCESS"].Value && IO.DO[$"{module}.DO_{fims}LoadCommand"].Value)
+            {
+                IO.DI[$"PM1.DI_O2_Detect_Side_{fims}"].Value = true;
+            }
+            else
+            {
+
+                IO.DI[$"PM1.DI_O2_Detect_Side_{fims}"].Value = false;
+
+            }
+            if (IO.DI[$"PM1.DI_O2_Detect_Side_FIMS1"].Value || IO.DI[$"PM1.DI_O2_Detect_Side_FIMS2"].Value)
+            {
+                IO.DI[$"PM1.DI_O2_Detect_Side_LA"].Value = false;
+            }
+            else {
+                IO.DI[$"PM1.DI_O2_Detect_Side_LA"].Value = true;
+
+            }
+        
         }
         }
 
 
         private void MonitorBuffer()
         private void MonitorBuffer()