From e79cf581b2f0038a41de5da1c6eadb3541f4d69e Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期六, 28 九月 2024 08:10:13 +0800 Subject: [PATCH] 问题修改 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index e0ef176..1be1883 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -861,6 +861,10 @@ var plcConn = modDevice.PLCUtil; // 鑾峰彇妤煎眰鏁癱eshi var louCeng = PLCCommon.GetRoadwayByStationNew(modDevice.StationNum); + if (louCeng == "") + { + return; + } switch (modDevice.Value.ToString()) { case "320": @@ -1799,14 +1803,22 @@ if (taskModel != null) { // 鑾峰彇鍏ュ簱鍙栬揣宸ヤ綅 - string endLocatVlue = PLCCommon.RoadwayToStationNum(taskModel.EndRoadway, "2"); + string endLocatVlue = PLCCommon.RoadwayToStationNum(taskModel.EndRoadway, "2"); - // 鍐欏叆鎵樼洏杈撻�佺嚎鐮佸灈宸ヤ綅 鐩殑宸ヤ綅锛屽啓鍏ヤ氦浜掓祦绋嬬粍鎵樻垚鍔� 鎵ц鍏ュ簱{鑻ラ渶瑕佸彲浠ュ啓鍏ヤ换鍔″彿绛夌瓑鍏朵粬淇℃伅} - var retVal = plcConn.SetPlcDBValue(posModel.PosType, numModel.DbNumber, posModel.PlcPos, endLocatVlue); - if (retVal.IsSucceed) + var listResult = new List<Result>(); + // 鍐欏叆鎵樼洏杈撻�佺嚎鐮佸灈宸ヤ綅 鐩殑宸ヤ綅銆佷换鍔″彿锛屽啓鍏ヤ氦浜掓祦绋嬬粍鎵樻垚鍔� 鎵ц鍏ュ簱{鑻ラ渶瑕佸彲浠ュ啓鍏ヤ换鍔″彿绛夌瓑鍏朵粬淇℃伅} + listResult.Add(plcConn.SetPlcDBValue(posModel.PosType, numModel.DbNumber, posModel.PlcPos, endLocatVlue)); + var modPosTask = PLCTaskAction.plcPositions.First(s => s.Text == "浠诲姟鍙�"); + listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, TaskNo)); + var modPosTaskType = PLCTaskAction.plcPositions.First(s => s.Text == "浠诲姟绫诲瀷"); + var taskTypeStr = (int)taskModel.TaskType; + listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + + + if (listResult.All(s => s.IsSucceed)) { // 鍐欏叆缁勬墭鍥炲娴佺▼瀛� - retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "50"); + var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "50"); if (retVal.IsSucceed) { // 灏嗗叆搴撲换鍔$敱姝e湪鎵ц鏀逛负姝e湪鎵ц -- Gitblit v1.8.0