Browse Source

fix 仿真实现LP 在位信号与pick/place联动

jiangjy 2 weeks ago
parent
commit
ffa910e47c

+ 36 - 1
FrameworkLocal/SimulatorCore/Robots/GM201LVPRobot/GM201LVPControllerSimulator.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Threading;
+using Aitex.Core.RT.IOCore;
 using MECF.Framework.Simulator.Core.Driver;
 
 namespace MECF.Framework.Simulator.Core.Robots.GM201LVPRobot
@@ -156,6 +157,40 @@ namespace MECF.Framework.Simulator.Core.Robots.GM201LVPRobot
         {
             Thread.Sleep(100);
             MotionResponse(obj);
+            if (obj.Contains(",G,C02,001,001"))
+            {
+                IO.DI["PM1.DI_LP2FOUPInPosition1"].Value = false;
+            }
+            if (obj.Contains(",G,C01,001,001"))
+            {
+                IO.DI["PM1.DI_LP1FOUPInPosition1"].Value = false;
+            }
+            if (obj.Contains(",G,C04,001,001"))
+            {
+                IO.DI["PM1.DI_LP4FOUPInPosition1"].Value = false;
+            }
+            if (obj.Contains(",G,C03,001,001"))
+            {
+                IO.DI["PM1.DI_LP3FOUPInPosition1"].Value = false;
+            }
+            if (obj.Contains(",P,C01,001,001"))
+            {
+                IO.DI["PM1.DI_FTRHomeCX"].Value = true;
+                IO.DI["PM1.DI_LP1FOUPInPosition1"].Value = true;
+            }
+            if (obj.Contains(",P,C02,001,001"))
+            {
+                IO.DI["PM1.DI_FTRHomeCX"].Value = true;
+                IO.DI["PM1.DI_LP2FOUPInPosition1"].Value = true;
+            }
+            if (obj.Contains(",P,C04,001,001"))
+            {
+                IO.DI["PM1.DI_LP4FOUPInPosition1"].Value = true;
+            }
+            if (obj.Contains(",P,C03,001,001"))
+            {
+                IO.DI["PM1.DI_LP3FOUPInPosition1"].Value = true;
+            }
             //Response("MTRS", obj);
             //EndOfExecution(obj);
         }
@@ -362,7 +397,7 @@ namespace MECF.Framework.Simulator.Core.Robots.GM201LVPRobot
             string level = arrayMsg[2];
             string result = string.Format("{0},{1},{2}", cmd, lmode, level);// safe, mtnerr);//, slot, hand, mtnerr);
             OnWriteMessage(result);
-        }  
+        }
         private void HandleSSTR(string obj)
         {