From f8d23dcf8d6501482db1a5180325194232afe96c Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期五, 18 七月 2025 17:30:09 +0800 Subject: [PATCH] 封装部分业务代码,继续优化日志打印流程 --- device/ProductionLineDevice.cs | 60 ++++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 38 insertions(+), 22 deletions(-) diff --git a/device/ProductionLineDevice.cs b/device/ProductionLineDevice.cs index d6d6b04..986d0f5 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> @@ -21,54 +22,69 @@ Port = port; Id = id; } + + public ProductionLineDevice(Config.ProductionLine line) { + Ip = line.PlcIp; + Port = line.PlcPort; + Id = line.Id; + } public string Id { get; set; } - - /// <summary> - /// 绯荤粺鐘舵�锛�鏈湴 1鑱斿姩(AGV妯″紡) 2鏁呴殰 + /// 绯荤粺鐘舵�:0鏈湴 1鑱斿姩(AGV妯″紡) 2鏁呴殰 /// </summary> public int SystemState { get; set; } /// <summary> - /// 婊″灈涓嬬嚎锛�杈撻�绾挎湯绔湁鎴愬搧鏂欙紝闇�AGV鎼繍 0榛樿鍊�+ /// 婊″灈涓嬬嚎:1杈撻�绾挎湯绔湁鎴愬搧鏂�闇�AGV鎼繍 0榛樿鍊� /// </summary> public int FullOffline { get; set; } /// <summary> - /// 鍛煎彨鎵樼洏鍨涳細1闇�绌烘墭锛屽懠鍙獳GV閰嶉� 0榛樿鍊�+ /// 鍛煎彨鎵樼洏鍨�1闇�绌烘墭,鍛煎彨AGV閰嶉� 0榛樿鍊� /// </summary> public int CallPallet { get; set; } /// <summary> - /// 鍏佽 AGV 鏀炬墭鐩樺灈锛�鍏佽鏀惧灈 0榛樿鍊�+ /// 鍏佽 AGV 鏀炬墭鐩樺灈:1鍏佽鏀惧灈 0榛樿鍊� /// </summary> public int AllowAgvPlacePallet { get; set; } - private int _agvPicking; - private int _agvPlacingPallet; + /// <summary> + /// AGV 姝e湪鍙栬揣:涓嬬嚎AGV鍐欏叆1,鍙栬揣瀹屾垚鍚庢仮澶� + /// </summary> + public int AgvPicking { get; set; } /// <summary> - /// AGV 姝e湪鍙栬揣锛氫笅绾緼GV鍐欏叆1锛屽彇璐у畬鎴愬悗鎭㈠0 + /// AGV 姝e湪鍙栬揣:涓嬬嚎AGV鍐欏叆1,鍙栬揣瀹屾垚鍚庢仮澶� /// </summary> - public int AgvPicking { - get => _agvPicking; - set { - var isOk = ModbusHelper.WriteSingleRegister(10, value, Ip, Port); - _agvPicking = isOk ? value : throw new Exception($"淇敼 [AGV 姝e湪鍙栬揣] 涓�'{value}' 澶辫触"); + /// <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 + /// AGV 姝e湪鏀炬墭鐩樺灈:涓婄嚎AGV鍐欏叆1,鏀炬墭瀹屾垚鍚庢仮澶� /// </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湪鏀炬墭鐩樺灈:涓婄嚎AGV鍐欏叆1,鏀炬墭瀹屾垚鍚庢仮澶� + /// </summary> + public bool SetAgvPlacingPallet(int value) { + if (!ModbusHelper.WriteSingleRegister(11, value, Ip, Port)) { + return false; } + + AgvPlacingPallet = value; + return true; } public bool LoadDeviceStateOk() { @@ -83,8 +99,8 @@ CallPallet = readArray[2]; AllowAgvPlacePallet = readArray[3]; // 鍙啓鍦板潃鏁版嵁 - _agvPicking = readArray[10]; - _agvPlacingPallet = readArray[11]; + AgvPicking = readArray[10]; + AgvPlacingPallet = readArray[11]; var log = JsonConvert.SerializeObject(readArray); LogHelper.Info(log); -- Gitblit v1.9.1