From 92a558e9ebfdf05d2536aa6b3fa93b1bd7f08e30 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期二, 22 七月 2025 17:53:15 +0800 Subject: [PATCH] 清溪瓶坯翻斗机光栅信号缓存和 安全交互处理。1101-4 --- HH.WCS.QingXiNongfu/process/DeviceProcess.cs | 17 ++++++++++++++++- HH.WCS.QingXiNongfu/core/TaskCore.cs | 31 +++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/HH.WCS.QingXiNongfu/core/TaskCore.cs b/HH.WCS.QingXiNongfu/core/TaskCore.cs index 2c83a51..42eb04e 100644 --- a/HH.WCS.QingXiNongfu/core/TaskCore.cs +++ b/HH.WCS.QingXiNongfu/core/TaskCore.cs @@ -165,22 +165,37 @@ case 1101://鍙栬揣鐢宠 - { - NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1101, 18); var plc = Settings.GetDeviceInfoList().Where(a => a.location.Contains(wmsTask.S_START_LOC.Trim()) && a.enable == 1).FirstOrDefault(); - if (plc != null && plc.deviceType == 9) + if (plc != null) { - PlcHelper.SendHex(plc.address, "3F00" + "11" + "0d0a"); + if (plc.deviceType == 9) + { + PlcHelper.SendHex(plc.address, "3F00" + "11" + "0d0a"); + NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1101, 18); + } + else if (plc.deviceType == 5 && DeviceProcess.doorStatus.TryGetValue(wmsTask.S_START_LOC.Trim(), out var value) && value.info == "1100") + PlcHelper.SendHex(plc.address, "3F00" + "1221" + "0d0a"); } + else + NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1101, 18); + } break; case 1103://鍗歌揣鐢宠 - 鏈娇鐢� { - NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1103, 18); var plc = Settings.GetDeviceInfoList().Where(a => a.location.Contains(wmsTask.S_END_LOC.Trim()) && a.enable == 1).FirstOrDefault(); - if (plc != null && plc.deviceType == 9) + if (plc != null) { - PlcHelper.SendHex(plc.address, "3F00" + "21" + "0d0a"); + if (plc.deviceType == 9) + { + PlcHelper.SendHex(plc.address, "3F00" + "21" + "0d0a"); + NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1103, 18); + } + else if (plc.deviceType == 5 && DeviceProcess.doorStatus.TryGetValue(wmsTask.S_END_LOC.Trim(), out var value) && value.info == "1100") + PlcHelper.SendHex(plc.address, "3F00" + "1221" + "0d0a"); } + else + NDCHelper.ChangeParam(wmsTask.S_TASK_NO, 1103, 18); } break; case 1102://鍙栬揣瀹屾垚 - 鏈娇鐢�@@ -201,6 +216,10 @@ break; } } + else if (plc.deviceType == 5) + { + PlcHelper.SendHex(plc.address, "3F00" + "1020" + "0d0a"); + } } } break; diff --git a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs index 67f3ffa..1548aa8 100644 --- a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs +++ b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs @@ -98,7 +98,22 @@ //缈绘枟鏈�- 鐡跺澂 else if (plc.deviceType == 5) { - + var info = data.Length > 2 ? data.Substring(0, 2) : "12"; + info += data.Length > 5 ? data.Substring(4, 2) : "01"; + if (doorStatus.ContainsKey(plc.location[0])) + { + doorStatus[plc.location[0]].info = info; + doorStatus[plc.location[0]].modify = DateTime.Now; + } + else + { + doorStatus.Add(plc.location[0], new signalInfo + { + info = info, + modify = DateTime.Now + }); + } + data = data.Substring(0, 2); PpFdjData(data, plc); // AnalysisBottleCapTipper(data, plc); } -- Gitblit v1.9.1