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