Browse Source

fix 添加Sensor报警

jiangjy 2 weeks ago
parent
commit
045a33bf1a

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

@@ -955,7 +955,42 @@
 		<IoAlarmSignal id="AlarmSignalFrontbodyinterlockbuttonled" diSignalsplay="safe module:Frontbody interlock button led" diSignal="DI_Frontbodyinterlockbuttonled" alarmTrigValue="true" />
 
 
-
+		<IoAlarmSignal id="AlarmSignalFIMS1LoadRunningError" diSignalsplay="E0000)FIMS1 Load Running Error" diSignal="DI_FIMS1LoadRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1UnloadRunningError" diSignalsplay="E0001)FIMS1 Unload Running Error" diSignal="DI_FIMS1UnloadRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1InitRunningError" diSignalsplay="E0002)FIMS1 Init Running Error" diSignal="DI_FIMS1InitRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2LoadRunningError" diSignalsplay="E0003)FIMS2 Load Running Error" diSignal="DI_FIMS2LoadRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2UnloadRunningError" diSignalsplay="E0004)FIMS2 Unload Running Error" diSignal="DI_FIMS2UnloadRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2InitRunningError" diSignalsplay="E0005)FIMS2 Init Running Error" diSignal="DI_FIMS2InitRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1UndockRunningError" diSignalsplay="E0006)FIMS1 Undock Running Error" diSignal="DI_FIMS1UndockRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1DockRunningError" diSignalsplay="E0007)FIMS1 Dock Running Error" diSignal="DI_FIMS1DockRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1VacuumOffRunningError" diSignalsplay="E0008)FIMS1 Vacuum Off Running Error" diSignal="DI_FIMS1VacuumOffRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1VacuumOnRunningError" diSignalsplay="E0009)FIMS1 Vacuum On Running Error" diSignal="DI_FIMS1VacuumOnRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1N2Closed" diSignalsplay="E0010)FIMS1 N2 Closed" diSignal="DI_FIMS1N2Closed" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1N2Opened" diSignalsplay="E0011)FIMS1 N2 Opened" diSignal="DI_FIMS1N2Opened" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1ReleaseRunningError" diSignalsplay="E0012)FIMS1 Release Running Error" diSignal="DI_FIMS1ReleaseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1SealRunningError" diSignalsplay="E0013)FIMS1 Seal Running Error" diSignal="DI_FIMS1SealRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1SlideCloseRunningError" diSignalsplay="E0014)FIMS1 Slide Close Running Error" diSignal="DI_FIMS1SlideCloseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1SlideOpenRunningError" diSignalsplay="E0015)FIMS1 Slide Open Running Error" diSignal="DI_FIMS1SlideOpenRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1LatchKeyOnRunningError" diSignalsplay="E0016)FIMS1 Latch Key On Running Error" diSignal="DI_FIMS1LatchKeyOnRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1LatchKeyOffRunningError" diSignalsplay="E0017)FIMS1 Latch Key Off Running Error" diSignal="DI_FIMS1LatchKeyOffRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1N2ReleaseRunningError" diSignalsplay="E0018)FIMS1 N2 Release Running Error" diSignal="DI_FIMS1N2ReleaseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS1N2SealRunningError" diSignalsplay="E0019)FIMS1 N2 Seal Running Error" diSignal="DI_FIMS1N2SealRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2UnDockRunningError" diSignalsplay="E0020)FIMS2 UnDock Running Error" diSignal="DI_FIMS2UnDockRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2DockRunningError" diSignalsplay="E0021)FIMS2 Dock Running Error" diSignal="DI_FIMS2DockRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2VacuumOffRunningError" diSignalsplay="E0022)FIMS2 Vacuum Off Running Error" diSignal="DI_FIMS2VacuumOffRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2VacuumOnRunningError" diSignalsplay="E0023)FIMS2 Vacuum On Running Error" diSignal="DI_FIMS2VacuumOnRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2N2Closed" diSignalsplay="E0024)FIMS2 N2 Closed" diSignal="DI_FIMS2N2Closed" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2N2Opened" diSignalsplay="E0025)FIMS2 N2 Opened" diSignal="DI_FIMS2N2Opened" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2SealRunningError" diSignalsplay="E0026)FIMS2 Seal Running Error" diSignal="DI_FIMS2SealRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2ReleaseRunningError" diSignalsplay="E0027)FIMS2 Release Running Error" diSignal="DI_FIMS2ReleaseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2SlideCloseRunningError" diSignalsplay="E0028)FIMS2 Slide Close Running Error" diSignal="DI_FIMS2SlideCloseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2SlideOpenRunningError" diSignalsplay="E0029)FIMS2 Slide Open Running Error" diSignal="DI_FIMS2SlideOpenRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2LatchKeyOnRunningError" diSignalsplay="E0030)FIMS2 Latch Key On Running Error" diSignal="DI_FIMS2LatchKeyOnRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2LatchKeyOffRunningError" diSignalsplay="E0031)FIMS2 Latch Key Off Running Error" diSignal="DI_FIMS2LatchKeyOffRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2N2ReleaseRunningError" diSignalsplay="E0032)FIMS2 N2 Release Running Error" diSignal="DI_FIMS2N2ReleaseRunningError" alarmTrigValue="true" />
+		<IoAlarmSignal id="AlarmSignalFIMS2N2SealRunningError" diSignalsplay="E0033)FIMS2 N2 Seal Running Error" diSignal="DI_FIMS2N2SealRunningError" alarmTrigValue="true" />
+		
+		
 		<IoAlarmSignal id="AlarmSignalFBFrontDoorSwitch"		diSignalsplay="FBFrontDoorSwitch"			diSignal="DI_Frontbodydoorswitch"		alarmTrigValue="true"/>
 		<IoAlarmSignal id="AlarmSignalGLBoxPG1CNT1Alarm"		diSignalsplay="GLBoxPG1CNT1Alarm"			diSignal="DI_GLBoxPG1CNT1Alarm"		alarmTrigValue="true"/>
 		<IoAlarmSignal id="AlarmSignalGLBoxPG1CNT2Alarm"		diSignalsplay="GLBoxPG1CNT2Alarm"			diSignal="DI_GLBoxPG1CNT2Alarm"		alarmTrigValue="true"/>

+ 39 - 0
Furnace/FurnaceRT/Config/IO/ELK/_ioDefinePM.xml

@@ -110,6 +110,45 @@
 		<DI_ITEM Index="165" Name="DI_Powerboxinterlockbuttonled" BufferOffset="165" Addr="D10.5" Description="safe module:Power box interlock button led(D10.5)" />
 		<DI_ITEM Index="166" Name="DI_Gasboxinterlockbuttonled" BufferOffset="166" Addr="D10.6" Description="safe module:Gas box interlock button led(D10.6)" />
 		<DI_ITEM Index="167" Name="DI_Frontbodyinterlockbuttonled" BufferOffset="167" Addr="D10.7" Description="safe module:Frontbody interlock button led(D10.7)" />
+		
+		<DI_ITEM Index="176" Name="DI_FIMS1LoadRunningError" BufferOffset="176" Addr="D11.0" Description="E0000)FIMS1 Load Running Error(D11.0)" />
+		<DI_ITEM Index="177" Name="DI_FIMS1UnloadRunningError" BufferOffset="177" Addr="D11.1" Description="E0001)FIMS1 Unload Running Error(D11.1)" />
+		<DI_ITEM Index="178" Name="DI_FIMS1InitRunningError" BufferOffset="178" Addr="D11.2" Description="E0002)FIMS1 Init Running Error(D11.2)" />
+		<DI_ITEM Index="179" Name="DI_FIMS2LoadRunningError" BufferOffset="179" Addr="D11.3" Description="E0003)FIMS2 Load Running Error(D11.3)" />
+		<DI_ITEM Index="180" Name="DI_FIMS2UnloadRunningError" BufferOffset="180" Addr="D11.4" Description="E0004)FIMS2 Unload Running Error(D11.4)" />
+		<DI_ITEM Index="181" Name="DI_FIMS2InitRunningError" BufferOffset="181" Addr="D11.5" Description="E0005)FIMS2 Init Running Error(D11.5)" />
+		<DI_ITEM Index="182" Name="DI_FIMS1UndockRunningError" BufferOffset="182" Addr="D11.6" Description="E0006)FIMS1 Undock Running Error(D11.6)" />
+		<DI_ITEM Index="183" Name="DI_FIMS1DockRunningError" BufferOffset="183" Addr="D11.7" Description="E0007)FIMS1 Dock Running Error(D11.7)" />
+		<DI_ITEM Index="184" Name="DI_FIMS1VacuumOffRunningError" BufferOffset="184" Addr="D11.8" Description="E0008)FIMS1 Vacuum Off Running Error(D11.8)" />
+		<DI_ITEM Index="185" Name="DI_FIMS1VacuumOnRunningError" BufferOffset="185" Addr="D11.9" Description="E0009)FIMS1 Vacuum On Running Error(D11.9)" />
+		<DI_ITEM Index="186" Name="DI_FIMS1N2Closed" BufferOffset="186" Addr="D11.10" Description="E0010)FIMS1 N2 Closed(D11.10)" />
+		<DI_ITEM Index="187" Name="DI_FIMS1N2Opened" BufferOffset="187" Addr="D11.11" Description="E0011)FIMS1 N2 Opened(D11.11)" />
+		<DI_ITEM Index="188" Name="DI_FIMS1ReleaseRunningError" BufferOffset="188" Addr="D11.12" Description="E0012)FIMS1 Release Running Error(D11.12)" />
+		<DI_ITEM Index="189" Name="DI_FIMS1SealRunningError" BufferOffset="189" Addr="D11.13" Description="E0013)FIMS1 Seal Running Error(D11.13)" />
+		<DI_ITEM Index="190" Name="DI_FIMS1SlideCloseRunningError" BufferOffset="190" Addr="D11.14" Description="E0014)FIMS1 Slide Close Running Error(D11.14)" />
+		<DI_ITEM Index="191" Name="DI_FIMS1SlideOpenRunningError" BufferOffset="191" Addr="D11.15" Description="E0015)FIMS1 Slide Open Running Error(D11.15)" />
+		<DI_ITEM Index="192" Name="DI_FIMS1LatchKeyOnRunningError" BufferOffset="192" Addr="D12.0" Description="E0016)FIMS1 Latch Key On Running Error(D12.0)" />
+		<DI_ITEM Index="193" Name="DI_FIMS1LatchKeyOffRunningError" BufferOffset="193" Addr="D12.1" Description="E0017)FIMS1 Latch Key Off Running Error(D12.1)" />
+		<DI_ITEM Index="194" Name="DI_FIMS1N2ReleaseRunningError" BufferOffset="194" Addr="D12.2" Description="E0018)FIMS1 N2 Release Running Error(D12.2)" />
+		<DI_ITEM Index="195" Name="DI_FIMS1N2SealRunningError" BufferOffset="195" Addr="D12.3" Description="E0019)FIMS1 N2 Seal Running Error(D12.3)" />
+		<DI_ITEM Index="196" Name="DI_FIMS2UnDockRunningError" BufferOffset="196" Addr="D12.4" Description="E0020)FIMS2 UnDock Running Error(D12.4)" />
+		<DI_ITEM Index="197" Name="DI_FIMS2DockRunningError" BufferOffset="197" Addr="D12.5" Description="E0021)FIMS2 Dock Running Error(D12.5)" />
+		<DI_ITEM Index="198" Name="DI_FIMS2VacuumOffRunningError" BufferOffset="198" Addr="D12.6" Description="E0022)FIMS2 Vacuum Off Running Error(D12.6)" />
+		<DI_ITEM Index="199" Name="DI_FIMS2VacuumOnRunningError" BufferOffset="199" Addr="D12.7" Description="E0023)FIMS2 Vacuum On Running Error(D12.7)" />
+		<DI_ITEM Index="200" Name="DI_FIMS2N2Closed" BufferOffset="200" Addr="D12.8" Description="E0024)FIMS2 N2 Closed(D12.8)" />
+		<DI_ITEM Index="201" Name="DI_FIMS2N2Opened" BufferOffset="201" Addr="D12.9" Description="E0025)FIMS2 N2 Opened(D12.9)" />
+		<DI_ITEM Index="202" Name="DI_FIMS2SealRunningError" BufferOffset="202" Addr="D12.10" Description="E0026)FIMS2 Seal Running Error(D12.10)" />
+		<DI_ITEM Index="203" Name="DI_FIMS2ReleaseRunningError" BufferOffset="203" Addr="D12.11" Description="E0027)FIMS2 Release Running Error(D12.11)" />
+		<DI_ITEM Index="204" Name="DI_FIMS2SlideCloseRunningError" BufferOffset="204" Addr="D12.12" Description="E0028)FIMS2 Slide Close Running Error(D12.12)" />
+		<DI_ITEM Index="205" Name="DI_FIMS2SlideOpenRunningError" BufferOffset="205" Addr="D12.13" Description="E0029)FIMS2 Slide Open Running Error(D12.13)" />
+		<DI_ITEM Index="206" Name="DI_FIMS2LatchKeyOnRunningError" BufferOffset="206" Addr="D12.14" Description="E0030)FIMS2 Latch Key On Running Error(D12.14)" />
+		<DI_ITEM Index="207" Name="DI_FIMS2LatchKeyOffRunningError" BufferOffset="207" Addr="D12.15" Description="E0031)FIMS2 Latch Key Off Running Error(D12.15)" />
+		<DI_ITEM Index="208" Name="DI_FIMS2N2ReleaseRunningError" BufferOffset="208" Addr="D13.0" Description="E0032)FIMS2 N2 Release Running Error(D13.0)" />
+		<DI_ITEM Index="209" Name="DI_FIMS2N2SealRunningError" BufferOffset="209" Addr="D13.1" Description="E0033)FIMS2 N2 Seal Running Error(D13.1)" />
+		
+		
+		
+		
 		<DI_ITEM Index="960" Name="DI_GLBoxPG1CNT1Alarm" BufferOffset="960" Addr="D60.0" Description="Gas box PG1 CNT1 alarm(D60.0)" />
 		<DI_ITEM Index="961" Name="DI_GLBoxPG1CNT2Alarm" BufferOffset="961" Addr="D60.1" Description="Gas box PG1 CNT2 alarm(D60.1)" />
 		<DI_ITEM Index="962" Name="DI_GLBoxPG2CNT1Alarm" BufferOffset="962" Addr="D60.2" Description="Gas box PG2 CNT1 alarm(D60.2)" />

+ 591 - 0
Furnace/FurnaceRT/Equipments/PMs/PMModuleAlarmDefine.cs

@@ -252,12 +252,54 @@ namespace FurnaceRT.Equipments.PMs
         public AlarmEventItem BoatMoveToLoadPositionTimeoutWarning { get; set; }
         public AlarmEventItem Mini8ConnectAlarm { get; set; }
         #endregion
+
+        #region PLC alarm
+
+        public AlarmEventItem SensorAlarmSignalFIMS1LoadRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1UnloadRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1InitRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2LoadRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2UnloadRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2InitRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1UndockRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1DockRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1VacuumOffRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1VacuumOnRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1N2Closed { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1N2Opened { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1ReleaseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1SealRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1SlideCloseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1SlideOpenRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1LatchKeyOnRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1LatchKeyOffRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1N2ReleaseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS1N2SealRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2UnDockRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2DockRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2VacuumOffRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2VacuumOnRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2N2Closed { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2N2Opened { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2SealRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2ReleaseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2SlideCloseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2SlideOpenRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2LatchKeyOnRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2LatchKeyOffRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2N2ReleaseRunningError { get; set; }
+        public AlarmEventItem SensorAlarmSignalFIMS2N2SealRunningError { get; set; }
+
+        #endregion
+
         public Dictionary<int, Tuple<AlarmEventItem, AlarmEventItem>> AUXAlarmDic { get; set; }
 
         #endregion
 
         private void InitAlarmEvent()
         {
+
+            InitFIMSAlarmEvent();
             Mini8ConnectAlarm = SubscribeAlarm(new AlarmEventItem()
             {
                 EventEnum = $"{Name}.Mini8ConnectAlarm",
@@ -7474,6 +7516,555 @@ namespace FurnaceRT.Equipments.PMs
             return Tuple.Create(auxWarning, auxAlarm, tcAlarm);
         }
 
+        private void InitFIMSAlarmEvent()
+        {
+
+            if (AlarmSignalFIMS1LoadRunningError != null)
+            {
+                SensorAlarmSignalFIMS1LoadRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1LoadRunningError",
+                    Description = "E0000)FIMS1 Load Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1LoadRunningError.Reset(); return true; });
+                AlarmSignalFIMS1LoadRunningError.AlarmTriggered = SensorAlarmSignalFIMS1LoadRunningError;
+            }
+
+            if (AlarmSignalFIMS1UnloadRunningError != null)
+            {
+                SensorAlarmSignalFIMS1UnloadRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1UnloadRunningError",
+                    Description = "E0001)FIMS1 Unload Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1UnloadRunningError.Reset(); return true; });
+                AlarmSignalFIMS1UnloadRunningError.AlarmTriggered = SensorAlarmSignalFIMS1UnloadRunningError;
+            }
+
+            if (AlarmSignalFIMS1InitRunningError != null)
+            {
+                SensorAlarmSignalFIMS1InitRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1InitRunningError",
+                    Description = "E0002)FIMS1 Init Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1InitRunningError.Reset(); return true; });
+                AlarmSignalFIMS1InitRunningError.AlarmTriggered = SensorAlarmSignalFIMS1InitRunningError;
+            }
+
+            if (AlarmSignalFIMS2LoadRunningError != null)
+            {
+                SensorAlarmSignalFIMS2LoadRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2LoadRunningError",
+                    Description = "E0003)FIMS2 Load Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2LoadRunningError.Reset(); return true; });
+                AlarmSignalFIMS2LoadRunningError.AlarmTriggered = SensorAlarmSignalFIMS2LoadRunningError;
+            }
+
+            if (AlarmSignalFIMS2UnloadRunningError != null)
+            {
+                SensorAlarmSignalFIMS2UnloadRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2UnloadRunningError",
+                    Description = "E0004)FIMS2 Unload Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2UnloadRunningError.Reset(); return true; });
+                AlarmSignalFIMS2UnloadRunningError.AlarmTriggered = SensorAlarmSignalFIMS2UnloadRunningError;
+            }
+
+            if (AlarmSignalFIMS2InitRunningError != null)
+            {
+                SensorAlarmSignalFIMS2InitRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2InitRunningError",
+                    Description = "E0005)FIMS2 Init Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2InitRunningError.Reset(); return true; });
+                AlarmSignalFIMS2InitRunningError.AlarmTriggered = SensorAlarmSignalFIMS2InitRunningError;
+            }
+
+            if (AlarmSignalFIMS1UndockRunningError != null)
+            {
+                SensorAlarmSignalFIMS1UndockRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1UndockRunningError",
+                    Description = "E0006)FIMS1 Undock Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1UndockRunningError.Reset(); return true; });
+                AlarmSignalFIMS1UndockRunningError.AlarmTriggered = SensorAlarmSignalFIMS1UndockRunningError;
+            }
+
+            if (AlarmSignalFIMS1DockRunningError != null)
+            {
+                SensorAlarmSignalFIMS1DockRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1DockRunningError",
+                    Description = "E0007)FIMS1 Dock Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1DockRunningError.Reset(); return true; });
+                AlarmSignalFIMS1DockRunningError.AlarmTriggered = SensorAlarmSignalFIMS1DockRunningError;
+            }
+
+            if (AlarmSignalFIMS1VacuumOffRunningError != null)
+            {
+                SensorAlarmSignalFIMS1VacuumOffRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1VacuumOffRunningError",
+                    Description = "E0008)FIMS1 Vacuum Off Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1VacuumOffRunningError.Reset(); return true; });
+                AlarmSignalFIMS1VacuumOffRunningError.AlarmTriggered = SensorAlarmSignalFIMS1VacuumOffRunningError;
+            }
+
+            if (AlarmSignalFIMS1VacuumOnRunningError != null)
+            {
+                SensorAlarmSignalFIMS1VacuumOnRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1VacuumOnRunningError",
+                    Description = "E0009)FIMS1 Vacuum On Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1VacuumOnRunningError.Reset(); return true; });
+                AlarmSignalFIMS1VacuumOnRunningError.AlarmTriggered = SensorAlarmSignalFIMS1VacuumOnRunningError;
+            }
+
+            if (AlarmSignalFIMS1N2Closed != null)
+            {
+                SensorAlarmSignalFIMS1N2Closed = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1N2Closed",
+                    Description = "E0010)FIMS1 N2 Closed",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1N2Closed.Reset(); return true; });
+                AlarmSignalFIMS1N2Closed.AlarmTriggered = SensorAlarmSignalFIMS1N2Closed;
+            }
+
+            if (AlarmSignalFIMS1N2Opened != null)
+            {
+                SensorAlarmSignalFIMS1N2Opened = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1N2Opened",
+                    Description = "E0011)FIMS1 N2 Opened",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1N2Opened.Reset(); return true; });
+                AlarmSignalFIMS1N2Opened.AlarmTriggered = SensorAlarmSignalFIMS1N2Opened;
+            }
+
+            if (AlarmSignalFIMS1ReleaseRunningError != null)
+            {
+                SensorAlarmSignalFIMS1ReleaseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1ReleaseRunningError",
+                    Description = "E0012)FIMS1 Release Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1ReleaseRunningError.Reset(); return true; });
+                AlarmSignalFIMS1ReleaseRunningError.AlarmTriggered = SensorAlarmSignalFIMS1ReleaseRunningError;
+            }
+
+            if (AlarmSignalFIMS1SealRunningError != null)
+            {
+                SensorAlarmSignalFIMS1SealRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1SealRunningError",
+                    Description = "E0013)FIMS1 Seal Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1SealRunningError.Reset(); return true; });
+                AlarmSignalFIMS1SealRunningError.AlarmTriggered = SensorAlarmSignalFIMS1SealRunningError;
+            }
+
+            if (AlarmSignalFIMS1SlideCloseRunningError != null)
+            {
+                SensorAlarmSignalFIMS1SlideCloseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1SlideCloseRunningError",
+                    Description = "E0014)FIMS1 Slide Close Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1SlideCloseRunningError.Reset(); return true; });
+                AlarmSignalFIMS1SlideCloseRunningError.AlarmTriggered = SensorAlarmSignalFIMS1SlideCloseRunningError;
+            }
+
+            if (AlarmSignalFIMS1SlideOpenRunningError != null)
+            {
+                SensorAlarmSignalFIMS1SlideOpenRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1SlideOpenRunningError",
+                    Description = "E0015)FIMS1 Slide Open Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1SlideOpenRunningError.Reset(); return true; });
+                AlarmSignalFIMS1SlideOpenRunningError.AlarmTriggered = SensorAlarmSignalFIMS1SlideOpenRunningError;
+            }
+
+            if (AlarmSignalFIMS1LatchKeyOnRunningError != null)
+            {
+                SensorAlarmSignalFIMS1LatchKeyOnRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1LatchKeyOnRunningError",
+                    Description = "E0016)FIMS1 Latch Key On Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1LatchKeyOnRunningError.Reset(); return true; });
+                AlarmSignalFIMS1LatchKeyOnRunningError.AlarmTriggered = SensorAlarmSignalFIMS1LatchKeyOnRunningError;
+            }
+
+            if (AlarmSignalFIMS1LatchKeyOffRunningError != null)
+            {
+                SensorAlarmSignalFIMS1LatchKeyOffRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1LatchKeyOffRunningError",
+                    Description = "E0017)FIMS1 Latch Key Off Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1LatchKeyOffRunningError.Reset(); return true; });
+                AlarmSignalFIMS1LatchKeyOffRunningError.AlarmTriggered = SensorAlarmSignalFIMS1LatchKeyOffRunningError;
+            }
+
+            if (AlarmSignalFIMS1N2ReleaseRunningError != null)
+            {
+                SensorAlarmSignalFIMS1N2ReleaseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1N2ReleaseRunningError",
+                    Description = "E0018)FIMS1 N2 Release Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1N2ReleaseRunningError.Reset(); return true; });
+                AlarmSignalFIMS1N2ReleaseRunningError.AlarmTriggered = SensorAlarmSignalFIMS1N2ReleaseRunningError;
+            }
+
+            if (AlarmSignalFIMS1N2SealRunningError != null)
+            {
+                SensorAlarmSignalFIMS1N2SealRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS1N2SealRunningError",
+                    Description = "E0019)FIMS1 N2 Seal Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS1N2SealRunningError.Reset(); return true; });
+                AlarmSignalFIMS1N2SealRunningError.AlarmTriggered = SensorAlarmSignalFIMS1N2SealRunningError;
+            }
+
+            if (AlarmSignalFIMS2UnDockRunningError != null)
+            {
+                SensorAlarmSignalFIMS2UnDockRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2UnDockRunningError",
+                    Description = "E0020)FIMS2 UnDock Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2UnDockRunningError.Reset(); return true; });
+                AlarmSignalFIMS2UnDockRunningError.AlarmTriggered = SensorAlarmSignalFIMS2UnDockRunningError;
+            }
+
+            if (AlarmSignalFIMS2DockRunningError != null)
+            {
+                SensorAlarmSignalFIMS2DockRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2DockRunningError",
+                    Description = "E0021)FIMS2 Dock Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2DockRunningError.Reset(); return true; });
+                AlarmSignalFIMS2DockRunningError.AlarmTriggered = SensorAlarmSignalFIMS2DockRunningError;
+            }
+
+            if (AlarmSignalFIMS2VacuumOffRunningError != null)
+            {
+                SensorAlarmSignalFIMS2VacuumOffRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2VacuumOffRunningError",
+                    Description = "E0022)FIMS2 Vacuum Off Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2VacuumOffRunningError.Reset(); return true; });
+                AlarmSignalFIMS2VacuumOffRunningError.AlarmTriggered = SensorAlarmSignalFIMS2VacuumOffRunningError;
+            }
+
+            if (AlarmSignalFIMS2VacuumOnRunningError != null)
+            {
+                SensorAlarmSignalFIMS2VacuumOnRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2VacuumOnRunningError",
+                    Description = "E0023)FIMS2 Vacuum On Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2VacuumOnRunningError.Reset(); return true; });
+                AlarmSignalFIMS2VacuumOnRunningError.AlarmTriggered = SensorAlarmSignalFIMS2VacuumOnRunningError;
+            }
+
+            if (AlarmSignalFIMS2N2Closed != null)
+            {
+                SensorAlarmSignalFIMS2N2Closed = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2N2Closed",
+                    Description = "E0024)FIMS2 N2 Closed",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2N2Closed.Reset(); return true; });
+                AlarmSignalFIMS2N2Closed.AlarmTriggered = SensorAlarmSignalFIMS2N2Closed;
+            }
+
+            if (AlarmSignalFIMS2N2Opened != null)
+            {
+                SensorAlarmSignalFIMS2N2Opened = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2N2Opened",
+                    Description = "E0025)FIMS2 N2 Opened",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2N2Opened.Reset(); return true; });
+                AlarmSignalFIMS2N2Opened.AlarmTriggered = SensorAlarmSignalFIMS2N2Opened;
+            }
+
+            if (AlarmSignalFIMS2SealRunningError != null)
+            {
+                SensorAlarmSignalFIMS2SealRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2SealRunningError",
+                    Description = "E0026)FIMS2 Seal Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2SealRunningError.Reset(); return true; });
+                AlarmSignalFIMS2SealRunningError.AlarmTriggered = SensorAlarmSignalFIMS2SealRunningError;
+            }
+
+            if (AlarmSignalFIMS2ReleaseRunningError != null)
+            {
+                SensorAlarmSignalFIMS2ReleaseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2ReleaseRunningError",
+                    Description = "E0027)FIMS2 Release Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2ReleaseRunningError.Reset(); return true; });
+                AlarmSignalFIMS2ReleaseRunningError.AlarmTriggered = SensorAlarmSignalFIMS2ReleaseRunningError;
+            }
+
+            if (AlarmSignalFIMS2SlideCloseRunningError != null)
+            {
+                SensorAlarmSignalFIMS2SlideCloseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2SlideCloseRunningError",
+                    Description = "E0028)FIMS2 Slide Close Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2SlideCloseRunningError.Reset(); return true; });
+                AlarmSignalFIMS2SlideCloseRunningError.AlarmTriggered = SensorAlarmSignalFIMS2SlideCloseRunningError;
+            }
+
+            if (AlarmSignalFIMS2SlideOpenRunningError != null)
+            {
+                SensorAlarmSignalFIMS2SlideOpenRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2SlideOpenRunningError",
+                    Description = "E0029)FIMS2 Slide Open Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2SlideOpenRunningError.Reset(); return true; });
+                AlarmSignalFIMS2SlideOpenRunningError.AlarmTriggered = SensorAlarmSignalFIMS2SlideOpenRunningError;
+            }
+
+            if (AlarmSignalFIMS2LatchKeyOnRunningError != null)
+            {
+                SensorAlarmSignalFIMS2LatchKeyOnRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2LatchKeyOnRunningError",
+                    Description = "E0030)FIMS2 Latch Key On Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2LatchKeyOnRunningError.Reset(); return true; });
+                AlarmSignalFIMS2LatchKeyOnRunningError.AlarmTriggered = SensorAlarmSignalFIMS2LatchKeyOnRunningError;
+            }
+
+            if (AlarmSignalFIMS2LatchKeyOffRunningError != null)
+            {
+                SensorAlarmSignalFIMS2LatchKeyOffRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2LatchKeyOffRunningError",
+                    Description = "E0031)FIMS2 Latch Key Off Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2LatchKeyOffRunningError.Reset(); return true; });
+                AlarmSignalFIMS2LatchKeyOffRunningError.AlarmTriggered = SensorAlarmSignalFIMS2LatchKeyOffRunningError;
+            }
+
+            if (AlarmSignalFIMS2N2ReleaseRunningError != null)
+            {
+                SensorAlarmSignalFIMS2N2ReleaseRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2N2ReleaseRunningError",
+                    Description = "E0032)FIMS2 N2 Release Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2N2ReleaseRunningError.Reset(); return true; });
+                AlarmSignalFIMS2N2ReleaseRunningError.AlarmTriggered = SensorAlarmSignalFIMS2N2ReleaseRunningError;
+            }
+
+            if (AlarmSignalFIMS2N2SealRunningError != null)
+            {
+                SensorAlarmSignalFIMS2N2SealRunningError = SubscribeAlarm(new AlarmEventItem()
+                {
+                    EventEnum = $"{Name}.AlarmSignalFIMS2N2SealRunningError",
+                    Description = "E0033)FIMS2 N2 Seal Running Error",
+                    Solution = "No information available. Press [Clear] to delete alarm message.",
+                    Explaination = "No information available.",
+                    AutoRecovery = true,
+                    Level = EventLevel.Alarm,
+                    Action = EventAction.Clear,
+                    Category = "TubeAlarm",
+                }, () => { AlarmSignalFIMS2N2SealRunningError.Reset(); return true; });
+                AlarmSignalFIMS2N2SealRunningError.AlarmTriggered = SensorAlarmSignalFIMS2N2SealRunningError;
+            }
+
+
+        }
 
         private bool ResetRecipeErrorAlarm()
         {

+ 70 - 0
Furnace/FurnaceRT/Equipments/PMs/PMModuleDevice.cs

@@ -245,6 +245,76 @@ namespace FurnaceRT.Equipments.PMs
         #endregion
 
         #region AlarmSignal
+
+        [Tag("AlarmSignalFIMS1LoadRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1LoadRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1UnloadRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1UnloadRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1InitRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1InitRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2LoadRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2LoadRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2UnloadRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2UnloadRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2InitRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2InitRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1UndockRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1UndockRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1DockRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1DockRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1VacuumOffRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1VacuumOffRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1VacuumOnRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1VacuumOnRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1N2Closed")]
+        public IoAlarmSignal AlarmSignalFIMS1N2Closed { get; set; }
+        [Tag("AlarmSignalFIMS1N2Opened")]
+        public IoAlarmSignal AlarmSignalFIMS1N2Opened { get; set; }
+        [Tag("AlarmSignalFIMS1ReleaseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1ReleaseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1SealRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1SealRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1SlideCloseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1SlideCloseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1SlideOpenRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1SlideOpenRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1LatchKeyOnRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1LatchKeyOnRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1LatchKeyOffRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1LatchKeyOffRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1N2ReleaseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1N2ReleaseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS1N2SealRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS1N2SealRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2UnDockRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2UnDockRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2DockRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2DockRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2VacuumOffRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2VacuumOffRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2VacuumOnRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2VacuumOnRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2N2Closed")]
+        public IoAlarmSignal AlarmSignalFIMS2N2Closed { get; set; }
+        [Tag("AlarmSignalFIMS2N2Opened")]
+        public IoAlarmSignal AlarmSignalFIMS2N2Opened { get; set; }
+        [Tag("AlarmSignalFIMS2SealRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2SealRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2ReleaseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2ReleaseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2SlideCloseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2SlideCloseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2SlideOpenRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2SlideOpenRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2LatchKeyOnRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2LatchKeyOnRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2LatchKeyOffRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2LatchKeyOffRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2N2ReleaseRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2N2ReleaseRunningError { get; set; }
+        [Tag("AlarmSignalFIMS2N2SealRunningError")]
+        public IoAlarmSignal AlarmSignalFIMS2N2SealRunningError { get; set; }
+
         [Tag("AlarmSignalO2ConcentrationHI")]
         public IoAlarmSignal AlarmSignalO2ConcentrationHI { get; set; }