From e2ec31cc0062b3c1af621437554aa9a3505d2a56 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 23 五月 2025 17:26:55 +0800
Subject: [PATCH] 优化产线安全交互的部分,优化AGV调试接口

---
 device/ProductionLineDevice.cs |   67 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/device/ProductionLineDevice.cs b/device/ProductionLineDevice.cs
index d6d6b04..4eaf326 100644
--- a/device/ProductionLineDevice.cs
+++ b/device/ProductionLineDevice.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace HH.WCS.Mobox3.DSZSH.device {
     /// <summary>
@@ -46,29 +47,65 @@
         /// </summary>
         public int AllowAgvPlacePallet { get; set; }
 
-        private int _agvPicking;
-        private int _agvPlacingPallet;
+        //private int _agvPicking;
+        //private int _agvPlacingPallet;
+
+        ///// <summary>
+        ///// AGV 姝e湪鍙栬揣锛氫笅绾緼GV鍐欏叆1锛屽彇璐у畬鎴愬悗鎭㈠0
+        ///// </summary>
+        //public int AgvPicking {
+        //    get => _agvPicking;
+        //    set {
+        //        var isOk = ModbusHelper.WriteSingleRegister(10, value, Ip, Port);
+        //        _agvPicking = isOk ? value : throw new Exception($"淇敼 [AGV 姝e湪鍙栬揣] 涓�'{value}' 澶辫触");
+        //    }
+        //}
 
         /// <summary>
         /// AGV 姝e湪鍙栬揣锛氫笅绾緼GV鍐欏叆1锛屽彇璐у畬鎴愬悗鎭㈠0
         /// </summary>
-        public int AgvPicking {
-            get => _agvPicking;
-            set {
-                var isOk = ModbusHelper.WriteSingleRegister(10, value, Ip, Port);
-                _agvPicking = isOk ? value : throw new Exception($"淇敼 [AGV 姝e湪鍙栬揣] 涓�'{value}' 澶辫触");
+        public int AgvPicking { get; set; }
+
+        /// <summary>
+        /// AGV 姝e湪鍙栬揣锛氫笅绾緼GV鍐欏叆1锛屽彇璐у畬鎴愬悗鎭㈠0
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public bool SetAgvPicking(int value) {
+            if (!ModbusHelper.WriteSingleRegister(10, value, Ip, Port)) {
+                return false;
             }
+
+            AgvPicking = value;
+            return true;
         }
+
+        ///// <summary>
+        ///// AGV 姝e湪鏀炬墭鐩樺灈锛氫笂绾緼GV鍐欏叆1锛屾斁鎵樺畬鎴愬悗鎭㈠0
+        ///// </summary>
+        //public int AgvPlacingPallet {
+        //    get => _agvPlacingPallet;
+        //    set {
+        //        var isOk = ModbusHelper.WriteSingleRegister(11, value, Ip, Port);
+        //        _agvPlacingPallet = isOk ? value : throw new Exception($"淇敼 [AGV 姝e湪鏀炬墭鐩樺灈] 涓�'{value}' 澶辫触");
+        //    }
+        //}
 
         /// <summary>
         /// AGV 姝e湪鏀炬墭鐩樺灈锛氫笂绾緼GV鍐欏叆1锛屾斁鎵樺畬鎴愬悗鎭㈠0
         /// </summary>
-        public int AgvPlacingPallet {
-            get => _agvPlacingPallet;
-            set {
-                var isOk = ModbusHelper.WriteSingleRegister(11, value, Ip, Port);
-                _agvPlacingPallet = isOk ? value : throw new Exception($"淇敼 [AGV 姝e湪鏀炬墭鐩樺灈] 涓�'{value}' 澶辫触");
+        public int AgvPlacingPallet { get; set; }
+
+        /// <summary>
+        /// AGV 姝e湪鏀炬墭鐩樺灈锛氫笂绾緼GV鍐欏叆1锛屾斁鎵樺畬鎴愬悗鎭㈠0
+        /// </summary>
+        public bool SetAgvPlacingPallet(int value) {
+            if (!ModbusHelper.WriteSingleRegister(11, value, Ip, Port)) {
+                return false;
             }
+
+            AgvPlacingPallet = value;
+            return true;
         }
 
         public bool LoadDeviceStateOk() {
@@ -83,8 +120,10 @@
             CallPallet = readArray[2];
             AllowAgvPlacePallet = readArray[3];
             // 鍙啓鍦板潃鏁版嵁
-            _agvPicking = readArray[10];
-            _agvPlacingPallet = readArray[11];
+            //_agvPicking = readArray[10];
+            //_agvPlacingPallet = readArray[11];
+            AgvPicking = readArray[10];
+            AgvPlacingPallet = readArray[11];
 
             var log = JsonConvert.SerializeObject(readArray);
             LogHelper.Info(log);

--
Gitblit v1.9.1