|
|
@@ -115,6 +115,7 @@ namespace FurnaceSimulator.Instances
|
|
|
private SimpleSocketDeviceSimulator _SimpleSocketDeviceSimulator;
|
|
|
private void SetDefaultValue()
|
|
|
{
|
|
|
+ IO.DI[$"PM1.DI_O2_Detect_Side_LA"].Value = true;
|
|
|
IO.DI[$"PM1.DI_POD1WaferOnRobot"].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;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
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}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.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()
|