| 
															
																@@ -191,13 +191,13 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         public AlarmEventItem ExecuteAbortRecipeFailAlarm { get; set; }
 
															 | 
															
															 | 
															
																         public AlarmEventItem ExecuteAbortRecipeFailAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         public AlarmEventItem ShutterMoveFailedForInterlock { get; set; }
 
															 | 
															
															 | 
															
																         public AlarmEventItem ShutterMoveFailedForInterlock { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         public AlarmEventItem N2PurgeFaileAlarm { get; set; }
 
															 | 
															
															 | 
															
																         public AlarmEventItem N2PurgeFaileAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem GasLineTcBrokenAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem GasLineCapsOverFlownAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem GasLineFloorOverFlowAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem GasLineTcBrokenAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem GasLineCapsOverFlownAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem GasLineFloorOverFlowAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem ForLineTcBrokenAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem ForLineCapsOverFlownAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //public AlarmEventItem ForLineFloorOverFlowAlarm { get; set; }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem ForLineTcBrokenAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem ForLineCapsOverFlownAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        public AlarmEventItem ForLineFloorOverFlowAlarm { get; set; }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         #region Sensor alarm       
 
															 | 
															
															 | 
															
																         #region Sensor alarm       
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         public AlarmEventItem SensorTHMCONAlarm { get; set; }
 
															 | 
															
															 | 
															
																         public AlarmEventItem SensorTHMCONAlarm { get; set; }
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -328,6 +328,7 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         {
 
															 | 
															
															 | 
															
																         {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             InitSensorAlarmEvent();
 
															 | 
															
															 | 
															
																             InitSensorAlarmEvent();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             InitIoAlarmSignalAlarmEvent();
 
															 | 
															
															 | 
															
																             InitIoAlarmSignalAlarmEvent();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            InitMinicsAlarmEvent();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             FurnaceTempabnormalAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
															
															 | 
															
																             FurnaceTempabnormalAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             {
 
															 | 
															
															 | 
															
																             {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 EventEnum = $"{Name}.FurnaceTempabnormalAlarm",
 
															 | 
															
															 | 
															
																                 EventEnum = $"{Name}.FurnaceTempabnormalAlarm",
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -339,6 +340,8 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 Action = EventAction.Clear,
 
															 | 
															
															 | 
															
																                 Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 Category = "TubeAlarm",
 
															 | 
															
															 | 
															
																                 Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             }, () => { return true; });
 
															 | 
															
															 | 
															
																             }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             Mini8ConnectAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
															
															 | 
															
																             Mini8ConnectAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             {
 
															 | 
															
															 | 
															
																             {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 EventEnum = $"{Name}.Mini8ConnectAlarm",
 
															 | 
															
															 | 
															
																                 EventEnum = $"{Name}.Mini8ConnectAlarm",
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -7554,6 +7557,76 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             return Tuple.Create(auxWarning, auxAlarm, tcAlarm);
 
															 | 
															
															 | 
															
																             return Tuple.Create(auxWarning, auxAlarm, tcAlarm);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         }
 
															 | 
															
															 | 
															
																         }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        private void InitMinicsAlarmEvent()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            GasLineCapsOverFlownAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.GasLineCapsOverFlownAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            GasLineFloorOverFlowAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.GasLineFloorOverFlowAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            GasLineTcBrokenAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.GasLineTcBrokenAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            ForLineCapsOverFlownAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.ForLineCapsOverFlownAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            ForLineFloorOverFlowAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.ForLineFloorOverFlowAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            ForLineTcBrokenAlarm = SubscribeAlarm(new AlarmEventItem()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                EventEnum = $"{Name}.ForLineTcBrokenAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Description = $"",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Solution = "No information available. Press[Clear] to delete alarm message.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Explaination = "No information available.",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                AutoRecovery = true,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Level = EventLevel.Alarm,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Action = EventAction.Clear,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Category = "TubeAlarm",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }, () => { return true; });
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         private void InitSensorAlarmEvent()
 
															 | 
															
															 | 
															
																         private void InitSensorAlarmEvent()
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         {
 
															 | 
															
															 | 
															
																         {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             foreach (var item in _sensors)
 
															 | 
															
															 | 
															
																             foreach (var item in _sensors)
 
															 |