Browse Source

git-svn-id: http://10.4.3.168:50001/svn/Furnace@34 dbcde07d-dcf5-c148-8a84-ac3097b7778e

Zhangjian 5 months ago
parent
commit
83b8d752f8

+ 53 - 0
Branch/NTP02/Furnace/FurnaceRT/Equipments/CarrierRobots/CarrierRobotModuleDevice.cs

@@ -42,6 +42,7 @@ namespace FurnaceRT.Equipments.CarrierRobots
         public IoDoor DoorDevice { get; set; }
         public IoAlarmSignal AlarmSignaFOUPRobotTPStatusWarning { get; set; }
         private Dictionary<string, int> _actionCommand;
+        private Dictionary<string, int> _actionCommandStocker;
 
         public void InitDevice()
         {
@@ -56,6 +57,45 @@ namespace FurnaceRT.Equipments.CarrierRobots
             WaferManager.Instance.SubscribeLocation(Module, SC.GetValue<int>("System.CassetteSlotCount"));
             this.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
             CarrierRobotDevice.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
+            _actionCommandStocker = new Dictionary<string, int>()
+            {
+                {"Stocker1.Pick",101 },
+                {"Stocker1.Place",201 },
+                {"Stocker2.Pick",102 },
+                {"Stocker2.Place",202 },
+                {"Stocker3.Pick",103 },
+                {"Stocker3.Place",203 },
+                {"Stocker4.Pick",104 },
+                {"Stocker4.Place",204 },
+                {"Stocker5.Pick",105 },
+                {"Stocker5.Place",205 },
+                {"Stocker6.Pick",106 },
+                {"Stocker6.Place",206 },
+                {"Stocker7.Pick",107 },
+                {"Stocker7.Place",207 },
+                {"Stocker8.Pick",108 },
+                {"Stocker8.Place",208 },
+                {"Stocker9.Pick",109 },
+                {"Stocker9.Place",209 },
+                {"Stocker10.Pick",110 },
+                {"Stocker10.Place",210 },
+                {"Stocker11.Pick",111 },
+                {"Stocker11.Place",211 },
+                {"Stocker12.Pick",112 },
+                {"Stocker12.Place",212 },
+                {"Stocker13.Pick",113 },
+                {"Stocker13.Place",213 },
+                {"Stocker14.Pick",114 },
+                {"Stocker14.Place",214 },
+                {"Stocker15.Pick",115 },
+                {"Stocker15.Place",215 },
+                {"Stocker16.Pick",116 },
+                {"Stocker16.Place",216 },
+                {"Stocker17.Pick",117 },
+                {"Stocker17.Place",217 },
+                {"Stocker18.Pick",118 },
+                {"Stocker18.Place",218 },
+            };
             _actionCommand = new Dictionary<string, int>()
             {
                 {"C01.Pick",1 },
@@ -178,6 +218,13 @@ namespace FurnaceRT.Equipments.CarrierRobots
             if (!CarrierRobotDevice.ModuleAssociateStationDic.ContainsKey(traget.ToString()))
                 return;
 
+            if(_actionCommandStocker.ContainsKey($"{traget}.{transferType}"))
+            {
+                //Stocker相关工位
+                _trigActionCommand.SetAOTrigger(_actionCommandStocker[$"{traget}.{transferType}"], out _);
+                return;
+            }
+
             var station = CarrierRobotDevice.ModuleAssociateStationDic[traget.ToString()];
             if(!_actionCommand.ContainsKey($"{station}.{transferType}"))
                 return;
@@ -188,6 +235,12 @@ namespace FurnaceRT.Equipments.CarrierRobots
             if (!CarrierRobotDevice.ModuleAssociateStationDic.ContainsKey(traget.ToString()))
                 return false;
 
+            if (_actionCommandStocker.ContainsKey($"{traget}.{transferType}"))
+            {
+                //Stocker相关工位
+                return Math.Abs(_trigActionCommand.AIValue - _actionCommandStocker[$"{traget}.{transferType}"]) < 0.001;
+            }
+
             var station = CarrierRobotDevice.ModuleAssociateStationDic[traget.ToString()];
             if (!_actionCommand.ContainsKey($"{station}.{transferType}"))
                 return false;