Browse Source

1.修改去放片lftpin位置

JET-YDB\JET-YANGDB 1 week ago
parent
commit
5648ef50d5

+ 1 - 1
VirgoRT/Devices/EFEM/Efem.cs

@@ -495,7 +495,7 @@ namespace VirgoRT.Devices.EFEM
                 AddAction(new PinAction(pickParam.SrcModule, pM, MovementPosition.Up, false, pickParam.Arm, true));
                 AddAction(new ExtendAction(this, new ExtendParam { Module = pickParam.SrcModule, Arm = pickParam.Arm, Pos = ExtendPos.GB }));
 
-                AddAction(new PinAction(pickParam.SrcModule, pM, MovementPosition.Down, true, pickParam.Arm, true));
+                AddAction(new PinAction(pickParam.SrcModule, pM, MovementPosition.Middle, true, pickParam.Arm, true));
                 AddAction(new ExtendAction(this, new ExtendParam { Module = pickParam.SrcModule, Arm = pickParam.Arm, Pos = ExtendPos.G4 }));
 
 

+ 1 - 1
VirgoRT/Devices/EFEM/EfemAction.cs

@@ -733,7 +733,7 @@ namespace VirgoRT.Devices.YASKAWA
         {
             Type = EfemOperation.ClearError;
 
-            IsBackground = true;
+            //IsBackground = true;
         }
 
         public override void Execute()

+ 6 - 4
VirgoRT/Devices/IODevices/IoTriStateLift4.cs

@@ -117,6 +117,7 @@ namespace VirgoRT.Devices
         private readonly int _stopButtonAutoResetTime = 1000;
 
         private Position _currentTarget = Position.Invalid;
+        private Position _currentPos = Position.Invalid;
 
         long _timeout = 10000;
         private bool _bAlarmReported = false;
@@ -143,13 +144,13 @@ namespace VirgoRT.Devices
         {
             get
             {
-                if (_diP1.Value && _diP2.Value == false && _diP3.Value == false)
+                if (_currentPos == Position.position1 && _diP1.Value && _diP2.Value == false && _diP3.Value == false)
                     return MovementPosition.Up;
-                else if (_diP1.Value == false && _diP2.Value && _diP3.Value == false)
+                else if (_diP1.Value == false && _currentPos == Position.position2 && _diP2.Value && _diP3.Value == false)
                     return MovementPosition.Middle;
-                else if (_diP1.Value == false && _diP2.Value == false && _diP3.Value)
+                else if (_diP1.Value == false && _diP2.Value == false && _currentPos == Position.position3 && _diP3.Value)
                     return MovementPosition.Down;
-                else if (_diOrigin.Value)
+                else if (_currentPos == Position.origin && _diOrigin.Value)
                     return MovementPosition.Origin;
 
                 return MovementPosition.Unknown;
@@ -345,6 +346,7 @@ namespace VirgoRT.Devices
             }
 
             _currentTarget = position;
+            _currentPos = position;
             sw.Restart();
             switch (position)
             {

+ 1 - 1
VirgoRT/Devices/JetPM.cs

@@ -1010,7 +1010,7 @@ namespace VirgoRT.Devices
             if (type == EnumTransferType.Place)
             {
                 return _slitDoor.State == CylinderState.Open
-                       && LiftPinPosition == MovementPosition.Down
+                       && LiftPinPosition == MovementPosition.Middle
                        && CheckGuidePinIsReadyForTransfer(waferSize);
             }
 

+ 5 - 0
VirgoRT/Modules/HomeAll.cs

@@ -11,6 +11,7 @@ namespace VirgoRT.Modules
     {
         private List<List<IModuleEntity>> _lstModules = new List<List<IModuleEntity>>();
         private Dictionary<IModuleEntity, int> _homeToken = new Dictionary<IModuleEntity, int>();
+        private readonly DeviceTimer _timerQueryStatus = new DeviceTimer();
 
         public HomeAll()
         {
@@ -46,6 +47,9 @@ namespace VirgoRT.Modules
                 {
                     IModuleEntity module = moduleToken.Key;
 
+                    if (!_timerQueryStatus.IsTimeout() && module.IsError)
+                        return Result.RUN;
+
                     if (module.IsError)
                         return Result.FAIL;
 
@@ -63,6 +67,7 @@ namespace VirgoRT.Modules
                 foreach (var moduleEntity in _lstModules[0])
                 {
                     _homeToken[moduleEntity] = moduleEntity.Invoke("Home");
+                    _timerQueryStatus.Start(300);
                 }
 
                 _lstModules.RemoveAt(0);