Browse Source

update FIMS真空点位展示

jiangjy 1 month ago
parent
commit
ddfbc6897e

+ 3 - 0
Furnace/FurnaceRT/Config/IO/ELK/DeviceModelPM.xml

@@ -107,6 +107,7 @@
 					diN2PurgeValveClosed="DI_POD1N2PurgeAV63Closed"
 					diN2PurgeValveOpened="DI_POD1N2PurgeAV63Opened"
 					diFOUPVacuumSuckingOK="DI_POD1FOUPVacuumSuckingOK"
+					diFOUPVacuumSuckingNotOK="DI_POD1FOUPVacuumSuckingAlarm"
 		
 					diWaferOnRobot="DI_POD1WaferOnRobot"
 					diWaferRobotEX1AxisHomePosition="DI_WaferRobotEX1AxisHomePosition"
@@ -157,6 +158,8 @@
 					diN2PurgeValveOpened="DI_POD2N2PurgeAV63Opened"
 					diFOUPVacuumSuckingOK="DI_FIMS2FOUPVacuumSuckingOK"
 					diFOUPVacuumSuckingAlarm="DI_FIMS2FOUPVacuumSuckingAlarm"
+					diFOUPVacuumSuckingNotOK="DI_POD1FOUPVacuumSuckingAlarm"
+		
 					diWaferOnRobot="DI_POD2WaferOnRobot"
 					diWaferRobotEX1AxisHomePosition="DI_WaferRobotEX1AxisHomePosition"
 					diWaferRobotEX2AxisHomePosition="DI_WaferRobotEX2AxisHomePosition"

+ 13 - 3
Furnace/FurnaceRT/Devices/IoFIMS.cs

@@ -42,7 +42,7 @@ namespace FurnaceRT.Devices
         private DIAccessor _diN2PurgeValveClosed;
         private DIAccessor _diN2PurgeValveOpened;
         private DIAccessor _diFOUPVacuumSuckingOK;
-        private DIAccessor _diFOUPVacuumSuckingAlarm;
+        private DIAccessor _diFOUPVacuumSuckingNotOK;
         private DIAccessor _diWaferOnRobot;
         private DIAccessor _diWaferRobotEX1AxisHomePosition;
         private DIAccessor _diWaferRobotEX2AxisHomePosition;
@@ -161,6 +161,16 @@ namespace FurnaceRT.Devices
         {
             get
             {
+                if (_diFOUPVacuumSuckingOK != null && !_diFOUPVacuumSuckingOK.Value
+                  &&
+                  _diFOUPVacuumSuckingNotOK != null && _diFOUPVacuumSuckingNotOK.Value)
+                    return DeviceStatus.Open;
+
+                if (_diFOUPVacuumSuckingOK != null && _diFOUPVacuumSuckingOK.Value
+                    &&
+                    _diFOUPVacuumSuckingNotOK != null && !_diFOUPVacuumSuckingNotOK.Value)
+                    return DeviceStatus.Close;
+
                 if (_doVaccumValveOpen != null && _doVaccumValveClose != null &&
                     _doVaccumValveOpen.Value && !_doVaccumValveClose.Value)
                     return DeviceStatus.Open;
@@ -213,7 +223,7 @@ namespace FurnaceRT.Devices
             _diN2PurgeValveClosed = ParseDiNode("diN2PurgeValveClosed", node, ioModule);
             _diN2PurgeValveOpened = ParseDiNode("diN2PurgeValveOpened", node, ioModule);
             _diFOUPVacuumSuckingOK = ParseDiNode("diFOUPVacuumSuckingOK", node, ioModule);
-            _diFOUPVacuumSuckingAlarm = ParseDiNode("diFOUPVacuumSuckingAlarm", node, ioModule);
+            _diFOUPVacuumSuckingNotOK = ParseDiNode("diFOUPVacuumSuckingNotOK", node, ioModule);
             _diWaferOnRobot = ParseDiNode("diWaferOnRobot", node, ioModule);
             _diWaferRobotEX1AxisHomePosition = ParseDiNode("diWaferRobotEX1AxisHomePosition", node, ioModule);
             _diWaferRobotEX2AxisHomePosition = ParseDiNode("diWaferRobotEX2AxisHomePosition", node, ioModule);
@@ -498,7 +508,7 @@ namespace FurnaceRT.Devices
             {
                 _doCollisionAvoidanceDown.SetPulseValue(false, resetTime);
                 _doCollisionAvoidanceUp.SetPulseValue(true, resetTime);
-             
+
 
                 //_doCollisionAvoidanceDown.Value = false;
                 //_doCollisionAvoidanceUp.Value = true;