| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Diagnostics;
 
- using Aitex.Core.RT.DataCenter;
 
- using Aitex.Core.RT.Device;
 
- using Aitex.Core.RT.Device.Unit;
 
- using Aitex.Core.RT.Event;
 
- using Aitex.Core.RT.Fsm;
 
- using Aitex.Core.RT.OperationCenter;
 
- using Aitex.Core.RT.Routine;
 
- using Aitex.Core.RT.SCCore;
 
- using Aitex.Core.Utilities;
 
- using Aitex.Sorter.Common;
 
- using MECF.Framework.Common.Alarms;
 
- using MECF.Framework.Common.Equipment;
 
- using MECF.Framework.Common.Event;
 
- using MECF.Framework.Common.Schedulers;
 
- using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts;
 
- using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot;
 
- namespace FurnaceRT.Equipments.Stockers
 
- {
 
-     public partial class StockerModule
 
-     {
 
-         #region fields
 
-         private IoSensor _diStationCassettePresent;
 
-         private IoTrigger _foupPurge;
 
-         private int _alarmNumber;
 
-         #endregion
 
-         private List<AlarmEventItem> _triggeredAlarmList = new List<AlarmEventItem>();
 
-         public void InitDevice()
 
-         {
 
-             _diStationCassettePresent = DEVICE.GetDevice<IoSensor>($"PM1.Sensor{Module}");
 
-             _foupPurge = DEVICE.GetDevice<IoTrigger>($"PM1.TrigStockerPurge{Module}");
 
-             this.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
 
-         }
 
-         public void OnModuleDeviceAlarmStateChanged(string deviceId, AlarmEventItem alarmItem)
 
-         {
 
-             if (alarmItem.IsTriggered)
 
-             {
 
-                 EventLevel level = alarmItem.Level;
 
-                 _triggeredAlarmList.Add(alarmItem);
 
-                 if (level == EventLevel.Alarm)
 
-                 {
 
-                     try
 
-                     {
 
-                         EV.PostAlarmLog(Module, alarmItem);
 
-                     }
 
-                     catch (Exception ex)
 
-                     {
 
-                         EV.WriteEvent(ex.Message.ToString());
 
-                     }
 
-                 }
 
-                 else
 
-                 {
 
-                     EV.PostWarningLog(Module, alarmItem);
 
-                 }
 
-             }
 
-             else
 
-             {
 
-             }
 
-         }
 
-         private void SetDisplayName()
 
-         {
 
-             if (!SC.ContainsItem($"System.Stocker.{Module}WaferType"))
 
-                 return;
 
-             var type = SC.GetStringValue($"System.Stocker.{Module}WaferType");
 
-             if (type.Contains("P"))
 
-                 type = "P";
 
-             else if (type.Contains("M"))
 
-                 type = "M";
 
-             else if (type.Contains("SD"))
 
-                 type = "SD";
 
-             else if (type.Contains("ED"))
 
-                 type = "ED";
 
-             int display = 0;
 
-             for(int i = 1; i < 30; i++)
 
-             {
 
-                 if (!SC.ContainsItem($"System.Stocker.Stocker{i}WaferType"))
 
-                     continue;
 
-                 if (SC.GetStringValue($"System.Stocker.Stocker{i}WaferType").Contains(type))
 
-                     display++;
 
-                 if (Module == $"Stocker{i}")
 
-                     break;
 
-             }
 
-             SC.SetItemValue($"System.StockerDisplayName.{Module}", $"{display}");
 
-         }
 
-         public override void Monitor()
 
-         {
 
-             if(_foupPurge != null && _diStationCassettePresent != null &&
 
-                 _foupPurge.Value != _diStationCassettePresent.Value) 
 
-             {
 
-                 _foupPurge.SetTrigger(_diStationCassettePresent.Value, out _);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |