From 6428fad15dbe79e30a48ffc9aabe31e03a45426c Mon Sep 17 00:00:00 2001
From: patrick <patrick.xu@broconcentric.com>
Date: 星期四, 05 十二月 2019 12:50:13 +0800
Subject: [PATCH] 1. 添加部分log信息 2. 修改部分机器人动作流程 3. 开放OperationConfig的InputData参数

---
 src/A032.Process/AGVBindUnit.cs |   47 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/src/A032.Process/AGVBindUnit.cs b/src/A032.Process/AGVBindUnit.cs
index 507d8c8..5d843f3 100644
--- a/src/A032.Process/AGVBindUnit.cs
+++ b/src/A032.Process/AGVBindUnit.cs
@@ -182,8 +182,14 @@
         [JsonIgnore]
         public bool IsEmptyTrayTaskAssigned { get; set; }
 
-        [Browsable(false)]
-        [JsonIgnore]
+        //[Browsable(false)]
+        //[JsonIgnore]
+        //public ManualResetEvent FullTrayFullHandle { get; set; } = new ManualResetEvent(false);
+
+        //[Browsable(false)]
+        //[JsonIgnore]
+        //public ManualResetEvent FullTrayEmptyHandle { get; set; } = new ManualResetEvent(false);
+
         public ManualResetEvent RobotIOHandle { get; set; } = new ManualResetEvent(false);
 
         public AGVBindUnit()
@@ -191,6 +197,35 @@
             //TaskList.CollectionChanged += TaskList_CollectionChanged;
         }
 
+        object agvStatusLock = new object();
+        public bool SetAGVStatus(TaskStatus status)
+        {
+            lock (agvStatusLock)
+            {
+                switch (status)
+                {
+                    case TaskStatus.Available:
+                        break;
+                    case TaskStatus.Running:
+                        if (AGVStatus == TaskStatus.Available)
+                        {
+                            AGVStatus = status;
+                            return true;
+                        }
+                        else
+                        {
+                            return false;
+                        }
+                    case TaskStatus.Warning:
+                        break;
+                    default:
+                        break;
+                }
+
+                AGVStatus = status;
+                return true;
+            }
+        }
         //private void TaskList_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
         //{
         //    if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
@@ -288,9 +323,9 @@
             {
                 ProcessConfig config = scope.Resolve<ProcessConfig>();
 
-                config.RobotConfigCollection.ForEach(plc =>
+                config.RobotConfigCollection.ForEach(robot =>
                 {
-                    _hash[plc.ID] = plc.Name;
+                    _hash[robot.ID] = robot.Name;
                 });
             }
         }
@@ -304,9 +339,9 @@
             {
                 ProcessConfig config = scope.Resolve<ProcessConfig>();
 
-                config.CameraConfigCollection.ForEach(plc =>
+                config.CameraConfigCollection.ForEach(camera =>
                 {
-                    _hash[plc.ID] = plc.Name;
+                    _hash[camera.ID] = camera.Name;
                 });
             }
         }

--
Gitblit v1.8.0