瀏覽代碼

Pause functionality.

sangwq 1 年之前
父節點
當前提交
dbb753dd44
共有 3 個文件被更改,包括 11 次插入0 次删除
  1. 1 0
      Venus/Venus_Core/VenusDevice.cs
  2. 4 0
      Venus/Venus_RT/Modules/AutoCycle.cs
  3. 6 0
      Venus/Venus_RT/Modules/RouteManager.cs

+ 1 - 0
Venus/Venus_Core/VenusDevice.cs

@@ -408,5 +408,6 @@
         End,
         Failed,
         Timeout,
+        Paused,
     }
 }

+ 4 - 0
Venus/Venus_RT/Modules/AutoCycle.cs

@@ -143,6 +143,7 @@ namespace Venus_RT.Modules
         private List<Guid> _lstReturnWafers = new List<Guid>();
 
         public bool HasJobRunning => _lstControlJobs.Count > 0;
+        public RState CycleState => _cycleState;
 
         #region public interface
         public AutoCycle()
@@ -475,6 +476,7 @@ namespace Venus_RT.Modules
             }
 
             _faCallback.JobResumed(cj, GetFirstProcessJob(cj));
+            _cycleState = RState.Running;
         }
 
         public void PauseJob(string jobName)
@@ -491,6 +493,8 @@ namespace Venus_RT.Modules
                 cj.SetState(EnumControlJobState.Paused);
             }
             _faCallback.JobPaused(cj, GetFirstProcessJob(cj));
+
+            _cycleState = RState.Paused;
         }
 
 

+ 6 - 0
Venus/Venus_RT/Modules/RouteManager.cs

@@ -120,6 +120,11 @@ namespace Venus_RT.Modules
             get { return fsm.State == (int)RtState.Error; }
         }
 
+        public bool IsPaused
+        {
+            get { return _AutoCycle.CycleState == RState.Paused; }
+        }
+
         public bool IsEntityError
         {
             get
@@ -258,6 +263,7 @@ namespace Venus_RT.Modules
                 if (IsInit) return 0;
                 if (IsIdle) return 1;
                 if (IsAlarm) return 3;
+                if (IsPaused) return 4;
 
                 return 2;
             }, SubscriptionAttribute.FLAG.IgnoreSaveDB);