From 547a82102720f191119c75d6c4820c66262eecb0 Mon Sep 17 00:00:00 2001 From: zxx <Zxx@HanInfo> Date: 星期五, 30 五月 2025 17:30:20 +0800 Subject: [PATCH] 入库逻辑添加 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs | 60 +++++++++++++++++++++++------ HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs | 7 +++ 2 files changed, 53 insertions(+), 14 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs index c870e4d..5f6880f 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs @@ -26,6 +26,7 @@ using System.ComponentModel; using Newtonsoft.Json.Linq; using S7.Net; +using System.Threading.Tasks; namespace HH.WCS.JuShi.process { @@ -823,6 +824,23 @@ { list.RemoveAll(s => loca.Contains(s.S_CODE)); } + //杩囨护涓�笅 鍏佽杩涘叆鐨勬墠鍒嗛厤 + var reservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "绔嬪簱鍏ュ簱鍖�).FirstOrDefault(); + if (reservoirs.areaCode.Equals(area)) + { + var plcDeviceTable = S7Helper.plcDeviceTables; + foreach (var l in list) + { + var safeInteraction = Settings.SafeInteractions.Where(s => s.location == l.S_CODE).FirstOrDefault(); + var res = int.Parse(plcDeviceTable.RGVAllowUnload[safeInteraction.code].ToString().Substring(1, 1)); + if (res!=1) + { + list.Remove(l); + } + } + } + + //绗﹀悎鏉′欢鐨勬帓搴忛�绗竴涓� 鍏堟壘绗竴涓� if (list.Count > 0) { @@ -1779,7 +1797,20 @@ else if (model.APPLY_CODE.Equals("8")) { //鍙戦�鍗歌揣瀹屾垚銆佸浣嶄俊鍙�- safeAssistant(reservoirs.code, res); + //鍗歌揣瀹屾垚淇″彿 + S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10 + 1)); + + // 鍚姩鍚庡彴浠诲姟澶勭悊寤惰繜澶嶄綅 + Task.Run(async () => + { + //10绉掑悗澶嶄綅 + await Task.Delay(10000); + S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10)); + LogHelper.Info($"RGV瀹夊叏浜や簰 澶嶄綅瀹屾垚"); + }); + //10绉掑悗澶嶄綅 + //S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10)); + //safeAssistant(reservoirs.code, res); LogHelper.Info($"RGV瀹夊叏浜や簰 鍗歌揣瀹屾垚"); return new safeResult() { code = "0", msg = "success" }; } @@ -1864,18 +1895,21 @@ //寰幆鍙戦�淇″彿 private static void safeAssistant(int code, int res) { - //2鍗歌揣瀹屾垚纭 - if (res != 2) - { - //鍗歌揣瀹屾垚淇″彿 - S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10 + 1)); - Thread.Sleep(3000); - safeAssistant(code, res); - } - else - { - S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10)); - } + Thread.Sleep(10000); + S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10)); + LogHelper.Info($"RGV瀹夊叏浜や簰 澶嶄綅瀹屾垚"); + ////2鍗歌揣瀹屾垚纭 + //if (res != 2) + //{ + // //鍗歌揣瀹屾垚淇″彿 + // S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10 + 1)); + // Thread.Sleep(3000); + // safeAssistant(code, res); + //} + //else + //{ + // S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10)); + //} } diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs index 56fee2c..2b3fe82 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs @@ -428,7 +428,12 @@ count++; } }); - location.N_CURRENT_NUM = lcrList.Count + count; + //濡傛灉鏄珛搴撶殑鍗歌揣瀹屾垚鍚庢暟閲忎笉鍔�+ var reservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "绔嬪簱鍏ュ簱鍖�).FirstOrDefault(); + if (!loc.Equals(reservoirs.areaCode)) + { + location.N_CURRENT_NUM = lcrList.Count + count; + } location.N_LOCK_STATE = 0; location.S_LOCK_STATE = "鏃�; -- Gitblit v1.9.1