From 4c7f2d26fd6041d32f4e291559bc443671493246 Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 19 六月 2025 16:52:45 +0800 Subject: [PATCH] 修改问题 --- Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs index 76f93ee..043b404 100644 --- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs +++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs @@ -332,7 +332,7 @@ - Thread.Sleep(3000); + Thread.Sleep(2000); } catch (OperationCanceledException) { @@ -357,7 +357,7 @@ { while (true) { - Console.WriteLine("寮�鍚洓鍚戣溅浠诲姟鑷垎閰�"); + //Console.WriteLine("寮�鍚洓鍚戣溅浠诲姟鑷垎閰�"); //鍙栨秷绾跨▼ 鍏抽棴PLC杩炴帴 if (cts.Token.IsCancellationRequested) { @@ -385,7 +385,7 @@ if (waitTask.TaskType == TaskTypeEnum.In ) { - //鍏ュ簱浠诲姟璧峰宸烽亾灏辨槸璧峰宸ヤ綅 + //鍏ュ簱浠诲姟璧峰宸烽亾灏辨槸鍥涘悜杞﹀彇璐у伐浣� if (string.IsNullOrWhiteSpace(waitTask.StartRoadway) || string.IsNullOrWhiteSpace(waitTask.EndLocate)) { continue; @@ -397,6 +397,7 @@ } else if (waitTask.TaskType == TaskTypeEnum.Out) { + //鍑哄簱浠诲姟鐩爣宸烽亾灏辨槸鍥涘悜杞︽斁璐у伐浣� taskceng = int.Parse(waitTask.StartLocate.Substring(4, 2)); starLocate = waitTask.StartLocate; endLocate = waitTask.EndRoadway; @@ -407,33 +408,36 @@ var text = ""; var devStation = ""; + var ip = ""; var carcon = new carConverModel(); if (carcon.conveyorBei.Keys.Contains(endLocate)) { text = "杈撻�佺嚎鍖�"; + ip = "10.26.254.10"; devStation = carcon.conveyorBei[endLocate]; } else if (carcon.conveyorNan.Keys.Contains(endLocate)) { text = "杈撻�佺嚎鍗�"; + ip = "10.26.254.11"; devStation = carcon.conveyorNan[endLocate]; } if (text != "") { - var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); - var modConn = new PLCUtil(modPlc); - + //var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); + //var modConn = new PLCUtil(modPlc); + var modConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == ip); var modDevice = PLCTaskAction.plcDevices.First(s => s.StationNum == devStation); var (plcResult, palletVal) = modConn.GetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.PlcPos); if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 720) { continue;//鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂� - } - modConn.Close(); + } var gongwei = carcon.conveyorRuKu[endLocate]; //鍒ゆ柇浠诲姟 - var convarTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.StartLocate == gongwei && m.Type == PLCTypeEnum.ConveyorLine); + var convarTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.StartLocate == gongwei + && m.Type == PLCTypeEnum.ConveyorLine && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing)); if (convarTask != null) { continue;//鏀捐揣宸ヤ綅鏈変换鍔� @@ -492,6 +496,12 @@ break; //鏆傜紦鍒嗛厤锛岄槻姝㈠悓灞傚皬杞﹀叧鏈烘垨澶辫仈瀵艰嚧闃绘尅璺緞 } } + var modCarPall = plcPosition.FirstOrDefault(s => s.Text == "鎵樼洏妫�娴�"); + var (resultPall, valuePall) = modbusUtil.GetDBValue(modCarPall.PosType, modCarPall.PlcPos); + if (resultPall.IsSucceed && valuePall == 1) //1鏈夋墭鐩� 2鏃犳墭鐩� + { + break; //鏆傜紦鍒嗛厤 + } //灏忚溅绌洪棽鍔犲叆闆嗗悎 if (value == 1) { -- Gitblit v1.8.0