From 3909fbf77ad4ebc0dde600ff82710d959f74b5f4 Mon Sep 17 00:00:00 2001 From: 杨张扬 <634643841@qq.com> Date: 星期四, 10 七月 2025 17:49:20 +0800 Subject: [PATCH] AGV会换车,删除库存操作改成收到4执行,去线边的货位自动解绑 --- core/WCSCore.cs | 128 ++++++++++++++++++------------------------ 1 files changed, 55 insertions(+), 73 deletions(-) diff --git a/core/WCSCore.cs b/core/WCSCore.cs index f1d10c1..0d76837 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -1,5 +1,6 @@ 锘縰sing HH.WCS.Mobox3.DoubleCoin.device; using HH.WCS.Mobox3.DoubleCoin.dispatch; +using HH.WCS.Mobox3.DoubleCoin.models; using HH.WCS.Mobox3.DoubleCoin.process; using HH.WCS.Mobox3.DoubleCoin.util; using HH.WCS.Mobox3.DoubleCoin.wms; @@ -34,8 +35,9 @@ } else if (model.state == 1012) { - Task task5 = Task.Run(() => + Task task5 = Task.Run(async () => { + await Task.Delay(3000);//寤舵椂3绉� PostScanCode(model.task_no, model.forklift_no);//鍙嶉鎵爜缁撴灉 }); } @@ -55,8 +57,8 @@ } else { - var TN_Task = WCSHelper.GetTask(model.task_no);//鏍规嵁褰撳墠model缂栧彿鏌ヨ浠诲姟 - if (TN_Task != null) + var tN_Task = WCSHelper.GetTask(model.task_no);//鏍规嵁褰撳墠model缂栧彿鏌ヨ浠诲姟 + if (tN_Task != null) { if (model.state <= 8) { @@ -64,43 +66,48 @@ switch (model.state) { case 1: - WCSHelper.Begin(TN_Task, model.forklift_no);//宸叉帹閫佺殑浠诲姟鐨勭姸鎬佹敼鎴愭墽琛�+ WCSHelper.Begin(tN_Task, model.forklift_no);//宸叉帹閫佺殑浠诲姟鐨勭姸鎬佹敼鎴愭墽琛� Task task4 = Task.Run(() => { OpenScanCode(model.task_no, model.forklift_no);//寮�惎鎵爜 }); break; case 3: - WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣");//浠诲姟鐘舵�鏀规垚寮�鍙栬揣 + WCSHelper.UpdateStatus(tN_Task, "寮�鍙栬揣");//浠诲姟鐘舵�鏀规垚寮�鍙栬揣 break; case 4: - WCSHelper.UpdateStatus(TN_Task, "鍙栬揣瀹屾垚");//浠诲姟鐘舵�鏀规垚鍙栬揣瀹屾垚 - TaskProcess.OperateStatus(TN_Task, 4);//璧风偣瀹瑰櫒璐т綅瑙g粦,瑙i攣璧风偣 + WCSHelper.UpdateStatus(tN_Task, "鍙栬揣瀹屾垚");//浠诲姟鐘舵�鏀规垚鍙栬揣瀹屾垚 + TaskProcess.OperateStatus(tN_Task, 4);//璧风偣瀹瑰櫒璐т綅瑙g粦,瑙i攣璧风偣 Task task3 = Task.Run(() => { - EmptyInStackArea(TN_Task); + EmptyInStackArea(tN_Task); }); Task task1 = Task.Run(() => { - returnS7Ok(TN_Task); + returnS7Ok(tN_Task); + }); + + Task task27 = Task.Run(() => + { + SpecHelper.DeleteInventoryM(tN_Task); }); break; case 5: - WCSHelper.UpdateStatus(TN_Task, "寮�鍗歌揣");//浠诲姟鐘舵�鏀规垚寮�鍗歌揣 + WCSHelper.UpdateStatus(tN_Task, "寮�鍗歌揣");//浠诲姟鐘舵�鏀规垚寮�鍗歌揣 break; case 6: - WCSHelper.UpdateStatus(TN_Task, "鍗歌揣瀹屾垚");//浠诲姟鐘舵�鏀规垚鍗歌揣瀹屾垚 - TaskProcess.OperateStatus(TN_Task, 6);//缁堢偣瀹瑰櫒璐т綅缁戝畾,瑙i攣缁堢偣 + WCSHelper.UpdateStatus(tN_Task, "鍗歌揣瀹屾垚");//浠诲姟鐘舵�鏀规垚鍗歌揣瀹屾垚 + TaskProcess.OperateStatus(tN_Task, 6);//缁堢偣瀹瑰櫒璐т綅缁戝畾,瑙i攣缁堢偣 Task task2 = Task.Run(() => { - if (TN_Task.S_TYPE == "绌烘墭鍑哄簱鍏ョ嚎") + if (tN_Task.S_TYPE == "绌烘墭鍑哄簱鍏ョ嚎") { - var ip = Settings.ProductionLines.FirstOrDefault(a => a.PointIn == TN_Task.S_END_LOC).ProductionLine_IP; + var ip = Settings.ProductionLines.FirstOrDefault(a => a.PointIn == tN_Task.S_END_LOC).ProductionLine_IP; if (!Settings.S7TestMoni) { S7Helper.WriteBytes(ip, 10, 2, new byte[] { 0, 11, 1 }); @@ -110,108 +117,84 @@ Task task29 = Task.Run(() => { - if (TN_Task.S_TYPE == "浣欐枡涓嬬嚎鍏ュ簱") + if (tN_Task.S_TYPE == "浣欐枡涓嬬嚎鍏ュ簱") { - SpecHelper.UpdateSurplusDetail(TN_Task.S_CODE); + SpecHelper.UpdateSurplusDetail(tN_Task.S_CODE); } }); Task task30 = Task.Run(() => { - if (TN_Task.S_TYPE.Contains("鍥炵倝")) + if (tN_Task.S_TYPE.Contains("鍥炵倝")) { - SpecHelper.UpdateRemeltDetail(TN_Task.S_CODE); + SpecHelper.UpdateRemeltDetail(tN_Task.S_CODE); } }); Task task31 = Task.Run(() => { - if (TN_Task.S_TYPE == "婊℃墭鍑哄簱涓婄嚎") + if (tN_Task.S_TYPE == "婊℃墭鍑哄簱涓婄嚎") { - SpecHelper.UpdateComponentDetail(TN_Task.S_CODE); + SpecHelper.UpdateComponentDetail(tN_Task.S_CODE); } }); Task task12 = Task.Run(() => { - if (TN_Task.S_TYPE == "PDA婊℃墭涓嬬嚎鍏ュ簱" || TN_Task.S_TYPE == "PLC婊℃墭涓嬬嚎鍏ュ簱") + if (tN_Task.S_TYPE == "PDA婊℃墭涓嬬嚎鍏ュ簱" || tN_Task.S_TYPE == "PLC婊℃墭涓嬬嚎鍏ュ簱") { - SpecHelper.UpdateComponentDetail(TN_Task.S_CODE); + SpecHelper.UpdateComponentDetail(tN_Task.S_CODE); } }); Task task19 = Task.Run(() => { - if (TN_Task.S_END_AREA == Settings.Areas[1]) + if (tN_Task.S_END_AREA == Settings.Areas[1]) { - SpecHelper.UpdateInventoryM_RuKu(TN_Task.S_CNTR_CODE); + SpecHelper.UpdateInventoryM_RuKu(tN_Task.S_CNTR_CODE); } else { - LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂磋烦杩囷紝TN_Task.S_END_AREA锛�{TN_Task.S_END_AREA }涓嶇瓑浜�Settings.Areas[1]锛歿Settings.Areas[1]}"); + LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂磋烦杩囷紝TN_Task.S_END_AREA锛�{tN_Task.S_END_AREA }涓嶇瓑浜�Settings.Areas[1]锛歿Settings.Areas[1]}"); } }); break; case 2: - WCSHelper.End(TN_Task);//浠诲姟鐘舵�鏀规垚缁撴潫 + WCSHelper.End(tN_Task);//浠诲姟鐘舵�鏀规垚缁撴潫 + + Task task16 = Task.Run(() => + { + SpecHelper.RestEndLoc(tN_Task); + }); break; case 7: Task task10 = Task.Run(() => { - if (TN_Task.S_TYPE == "婊℃墭涓嬬嚎鍏ュ簱") - { - TaskProcess.OperateStatus(TN_Task, 7);//寮傚父澶勭悊 - } - else if(TN_Task.S_TYPE == "婊℃墭鍑哄簱涓婄嚎") - { - WCSHelper.Fail(TN_Task);//浠诲姟鐘舵�鏀规垚閿欒 - LocationHelper.UnLockLoc(TN_Task.S_END_LOC); - if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4)) - { - LocationHelper.UnLockLoc(TN_Task.S_START_LOC); - } - } + WCSHelper.CancleTaskInfo(tN_Task); }); - break; + case 8: - - Task task11 = Task.Run(() => + + var res = NDCApi.CancelOrder(tN_Task.S_CODE); + if (res != null && (res.err_code == 50002 || res.err_code == 0)) { - if (TN_Task.S_TYPE == "婊℃墭涓嬬嚎鍏ュ簱") + LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉鎴愬姛{res}"); + + Task task8 = Task.Run(() => { - var res = NDCApi.CancelOrder(TN_Task.S_CODE); - if (res != null && (res.err_code ==50002 || res.err_code == 0)) - { - TaskProcess.OperateStatus(TN_Task, 7);//寮傚父澶勭悊 - } - else - { - LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); - } - } - else - { - var res = NDCApi.CancelOrder(TN_Task.S_CODE); - if (res != null && (res.err_code == 50002 || res.err_code == 0)) - { - WCSHelper.Fail(TN_Task);//浠诲姟鐘舵�鏀规垚閿欒 - LocationHelper.UnLockLoc(TN_Task.S_END_LOC); - if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4)) - { - LocationHelper.UnLockLoc(TN_Task.S_START_LOC); - } - } - else - { - LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); - } - - } - }); + WCSHelper.CancleTaskInfo(tN_Task); + }); + + } + else + { + LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); + } + break; } WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); @@ -501,7 +484,6 @@ { //鎺ㄩ�鎴愬姛 LogHelper.Info($"NDC鍙嶉鎵爜缁撴灉鎴愬姛锛屾壂鐮佺粨鏋滐細{TcpServer.saoMa[agv.ScanAddress].ToString()}"); - } else { -- Gitblit v1.9.1