From c6377a07e3eb0973156bb4fce581032713e1ded7 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期日, 13 四月 2025 09:48:34 +0800 Subject: [PATCH] 增加循环写入PLC值方法;增加155出库口;增加152、153入口 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 205 +++++++++++++++++++++++++++++---------------------- 1 files changed, 117 insertions(+), 88 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 0632770..1f94f94 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -26,6 +26,8 @@ private static decimal weight94 = 0; private static decimal weight160 = 0; private static decimal weight155 = 0; + private static decimal weight152 = 0; + private static decimal weight153 = 0; public static void OnChangeEvent(object sender, EventArgs e) { @@ -226,30 +228,30 @@ var listResult = new List<Result>(); // 浠诲姟鍙锋墭鐩樺彿 var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); // 璧峰鎺掑垪灞� var modPosRow = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); - listResult.Add(plcConn.SetPlcDBValue(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, startTaskInfo.EndPai)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, startTaskInfo.EndPai)); var modPosColumn = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); - listResult.Add(plcConn.SetPlcDBValue(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, startTaskInfo.EndLie)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, startTaskInfo.EndLie)); var modPosStorey = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); - listResult.Add(plcConn.SetPlcDBValue(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, startTaskInfo.EndCeng)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, startTaskInfo.EndCeng)); if (modTask.TaskType == TaskTypeEnum.Out) { var modEndNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modEndNo.PosType, modDevice.DbNumber, modEndNo.PlcPos, taskInfo.EndStation)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modEndNo.PosType, modDevice.DbNumber, modEndNo.PlcPos, taskInfo.EndStation)); } // 鐩爣鏀捐揣宸ヤ綅(鍥哄畾鎺掑垪灞�) var modPosEndRow = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, taskInfo.EndPai)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, taskInfo.EndPai)); var modPosEndColumn = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, taskInfo.EndLie)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, taskInfo.EndLie)); var modPosEndStorey = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, taskInfo.EndCeng)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, taskInfo.EndCeng)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) @@ -537,7 +539,7 @@ } modInsertTaskMonitor.InteractiveMsg = string.Format("鍌ㄤ綅鍦板潃锛歿0}鍙栬揣瀹屾垚", modTask.StartLocate); - modInsertTaskMonitor.EndLocat = endStation; // 鐩爣鍌ㄤ綅 + modInsertTaskMonitor.EndLocat = endStation.ToString(); // 鐩爣鍌ㄤ綅 // 鎻掑叆浜や簰鏃ュ織 _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); @@ -595,19 +597,19 @@ //浠诲姟鍙� var modPosTask = listPos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcCconn.SetPlcDBValue(modPosTask.PosType, wcsDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcCconn.SetPlcDBValueRepeat(modPosTask.PosType, wcsDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); //浠诲姟绫诲瀷 var modPosTaskType = listPos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); - listResult.Add(plcCconn.SetPlcDBValue(modPosTaskType.PosType, wcsDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); + listResult.Add(plcCconn.SetPlcDBValueRepeat(modPosTaskType.PosType, wcsDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); //鎵樼洏鍙� var modPosPalletNo = listPos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcCconn.SetPlcDBValue(modPosPalletNo.PosType, wcsDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcCconn.SetPlcDBValueRepeat(modPosPalletNo.PosType, wcsDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosLocatNo = listPos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcCconn.SetPlcDBValue(modPosLocatNo.PosType, wcsDevice.DbNumber, modPosLocatNo.PlcPos, endValStr)); + listResult.Add(plcCconn.SetPlcDBValueRepeat(modPosLocatNo.PosType, wcsDevice.DbNumber, modPosLocatNo.PlcPos, endValStr)); // 鐩爣宸ヤ綅 var modPosEndLocatNo = listPos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcCconn.SetPlcDBValue(modPosEndLocatNo.PosType, wcsDevice.DbNumber, modPosEndLocatNo.PlcPos, inVal)); + listResult.Add(plcCconn.SetPlcDBValueRepeat(modPosEndLocatNo.PosType, wcsDevice.DbNumber, modPosEndLocatNo.PlcPos, inVal)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) @@ -771,19 +773,19 @@ var listResult = new List<Result>(); //浠诲姟鍙� var modPosTask = listPos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConveyorConn.SetPlcDBValue(modPosTask.PosType, wcsDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConveyorConn.SetPlcDBValueRepeat(modPosTask.PosType, wcsDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); //浠诲姟绫诲瀷 var modPosTaskType = listPos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); - listResult.Add(plcConveyorConn.SetPlcDBValue(modPosTaskType.PosType, wcsDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); + listResult.Add(plcConveyorConn.SetPlcDBValueRepeat(modPosTaskType.PosType, wcsDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); //鎵樼洏鍙� var modPosPalletNo = listPos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcConveyorConn.SetPlcDBValue(modPosPalletNo.PosType, wcsDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConveyorConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, wcsDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosLocatNo = listPos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcConveyorConn.SetPlcDBValue(modPosLocatNo.PosType, wcsDevice.DbNumber, modPosLocatNo.PlcPos, stationNumstr)); + listResult.Add(plcConveyorConn.SetPlcDBValueRepeat(modPosLocatNo.PosType, wcsDevice.DbNumber, modPosLocatNo.PlcPos, stationNumstr)); // 鐩爣宸ヤ綅 var modPosEndLocatNo = listPos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcConveyorConn.SetPlcDBValue(modPosEndLocatNo.PosType, wcsDevice.DbNumber, modPosEndLocatNo.PlcPos, outCode)); + listResult.Add(plcConveyorConn.SetPlcDBValueRepeat(modPosEndLocatNo.PosType, wcsDevice.DbNumber, modPosEndLocatNo.PlcPos, outCode)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) @@ -823,7 +825,7 @@ case TaskTypeEnum.Move: // 绉诲簱浠诲姟 { var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - var result = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo); + var result = plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo); if (!result.IsSucceed) { Log.Error($"{modDevice.Text}鍐欏叆浠诲姟鍙峰け璐�"); @@ -978,15 +980,15 @@ // 缁橮LC鍐欏叆浠诲姟鏁版嵁 var listResult = new List<Result>(); // 浠诲姟鍙锋墭鐩樺彿 - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); // 璧峰鎺掑垪灞� - listResult.Add(plcConn.SetPlcDBValue(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, "2")); - listResult.Add(plcConn.SetPlcDBValue(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, "100")); - listResult.Add(plcConn.SetPlcDBValue(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, "1")); - listResult.Add(plcConn.SetPlcDBValue(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, row)); - listResult.Add(plcConn.SetPlcDBValue(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, column)); - listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, storey)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, "2")); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, "100")); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, "1")); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, row)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, column)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, storey)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) { @@ -1108,25 +1110,25 @@ var listResult = new List<Result>(); // 浠诲姟鍙锋墭鐩樺彿 var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); // 璧峰鎺掑垪灞� var modPosRow = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); - listResult.Add(plcConn.SetPlcDBValue(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, startTaskInfo.EndPai)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosRow.PosType, modDevice.DbNumber, modPosRow.PlcPos, startTaskInfo.EndPai)); var modPosColumn = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); - listResult.Add(plcConn.SetPlcDBValue(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, startTaskInfo.EndLie)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosColumn.PosType, modDevice.DbNumber, modPosColumn.PlcPos, startTaskInfo.EndLie)); var modPosStorey = modDevice.listStation.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); - listResult.Add(plcConn.SetPlcDBValue(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, startTaskInfo.EndCeng)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosStorey.PosType, modDevice.DbNumber, modPosStorey.PlcPos, startTaskInfo.EndCeng)); // 鐩爣鏀捐揣宸ヤ綅(鍥哄畾鎺掑垪灞�) PlcTaskInfo taskInfo = PLCCommon.GetCTaskInfo(modTask.EndLocate, ((int)modTask.TaskType).ToString(), modTask.StartRoadway, modTask.EndRoadway); var modPosEndRow = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, taskInfo.EndPai)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, taskInfo.EndPai)); var modPosEndColumn = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, taskInfo.EndLie)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, taskInfo.EndLie)); var modPosEndStorey = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, taskInfo.EndCeng)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, taskInfo.EndCeng)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) @@ -1228,6 +1230,24 @@ } } break; + case "152": + { + if (Convert.ToDecimal(palletWeightValIng) != weight152) + { + LedDisplay(modDevice.LedIP, $"褰撳墠閲嶉噺(KG)锛歿Convert.ToDecimal(palletWeightValIng)}"); + weight152 = Convert.ToDecimal(palletWeightValIng); + } + } + break; + case "153": + { + if (Convert.ToDecimal(palletWeightValIng) != weight153) + { + LedDisplay(modDevice.LedIP, $"褰撳墠閲嶉噺(KG)锛歿Convert.ToDecimal(palletWeightValIng)}"); + weight153 = Convert.ToDecimal(palletWeightValIng); + } + } + break; } #endregion @@ -1273,6 +1293,14 @@ case "155": dbStr = "2383"; + break; + + case "152": + dbStr = "2401"; + break; + + case "153": + dbStr = "2403"; break; } @@ -1382,7 +1410,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -1403,7 +1431,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -1477,7 +1505,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -1569,21 +1597,22 @@ // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿 var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); var taskTypeStr = (int)modTask.TaskType; - listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); // 璧峰宸ヤ綅銆佺洰鐨勫伐浣� var modPosStrLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosStrLocat.PosType, modDevice.DbNumber, modPosStrLocat.PlcPos, modDevice.StationNum)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosStrLocat.PosType, modDevice.DbNumber, modPosStrLocat.PlcPos, modDevice.StationNum)); var modPosEndLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndLocat.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, endLocatVlue)); - + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndLocat.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, endLocatVlue)); if (listResult.All(s => s.IsSucceed)) - { + { + Log.Information($"鍐欏叆340锛屼换鍔″彿锛歿modTask.TaskNo}锛屼换鍔$被鍨嬶細{taskTypeStr.ToString()}锛屾墭鐩樼爜锛歿modTask.PalletNo}锛岃捣濮嬪伐浣嶏細{modDevice.StationNum}锛岀洰鐨勫伐浣嶏細{endLocatVlue}"); + // 灏嗕换鍔$姸鎬佸彉鏇翠负姝e湪鎵ц _db.Updateable<WcsTask>() .SetColumns(s => s.Status == TaskStatusEnum.Doing) @@ -1906,35 +1935,35 @@ // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿 var modPosTask = djInfos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); var taskTypeStr = (int)modTask.TaskType; - listResult.Add(plcSConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); // 鐩殑宸ヤ綅 var modPosendStationNum = djInfos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcSConn.SetPlcDBValue(modPosendStationNum.PosType, djMod.DbNumber, modPosendStationNum.PlcPos, endStationNum)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosendStationNum.PosType, djMod.DbNumber, modPosendStationNum.PlcPos, endStationNum)); //鍙栬揣鎺掋�佸垪銆佸眰 var modPosStrPai = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, sInfo.Pai)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, sInfo.Pai)); var modPosStrLie = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, sInfo.Lie)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, sInfo.Lie)); var modPosStrCeng = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, sInfo.Ceng)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, sInfo.Ceng)); //鏀捐揣鎺掋�佸垪銆佸眰 var modPosEndPai = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, "2")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, "2")); var modPosEndLie = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, "60")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, "60")); var modPosEndCeng = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, "1")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, "1")); if (listResult.All(s => s.IsSucceed)) { // 鍐欏叆璺烘満 830 @@ -2015,16 +2044,16 @@ // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿 var modPosTask = djInfos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); var taskTypeStr = (int)modTask.TaskType; - listResult.Add(plcSConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); //鐩殑宸ヤ綅 if (modTask.EndLocate == "266") { @@ -2036,22 +2065,22 @@ } var modPosStrend = djInfos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrend.PosType, djMod.DbNumber, modPosStrend.PlcPos, modTask.EndLocate)); // 姝ゅ鐜板湪瀛樼殑鏄嚭搴撳彛266銆� + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrend.PosType, djMod.DbNumber, modPosStrend.PlcPos, modTask.EndLocate)); // 姝ゅ鐜板湪瀛樼殑鏄嚭搴撳彛266銆� //鍙栬揣鎺掋�佸垪銆佸眰 var modPosStrPai = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, "3")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, "3")); var modPosStrLie = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, "60")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, "60")); var modPosStrCeng = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, "1")); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, "1")); //鏀捐揣鎺掋�佸垪銆佸眰 var modPosEndPai = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, sInfo1.Pai)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, sInfo1.Pai)); var modPosEndLie = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, sInfo1.Lie)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, sInfo1.Lie)); var modPosEndCeng = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); - listResult.Add(plcSConn.SetPlcDBValue(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, sInfo1.Ceng)); + listResult.Add(plcSConn.SetPlcDBValueRepeat(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, sInfo1.Ceng)); if (listResult.All(s => s.IsSucceed)) { // 鍐欏叆璺烘満 830 @@ -2145,35 +2174,35 @@ // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿 var modPosTask = djInfos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); var taskTypeStr = (int)modTask.TaskType; - listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum)); //鐩殑宸ヤ綅 var modPosendStationNum = djInfos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosendStationNum.PlcPos, modDevice.StationNum)); // 姝ゅ鐜板湪鏄�139 搴旇涓�0 + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosStrStationNum.PosType, djMod.DbNumber, modPosendStationNum.PlcPos, modDevice.StationNum)); // 姝ゅ鐜板湪鏄�139 搴旇涓�0 //鍙栬揣鎺掋�佸垪銆佸眰 var modPosStrPai = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, sInfo.Pai)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosStrPai.PosType, djMod.DbNumber, modPosStrPai.PlcPos, sInfo.Pai)); var modPosStrLie = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, sInfo.Lie)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosStrLie.PosType, djMod.DbNumber, modPosStrLie.PlcPos, sInfo.Lie)); var modPosStrCeng = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, sInfo.Ceng)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosStrCeng.PosType, djMod.DbNumber, modPosStrCeng.PlcPos, sInfo.Ceng)); //鏀捐揣鎺掋�佸垪銆佸眰 var modPosEndPai = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, pai)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosEndPai.PosType, djMod.DbNumber, modPosEndPai.PlcPos, pai)); var modPosEndLie = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, lie)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosEndLie.PosType, djMod.DbNumber, modPosEndLie.PlcPos, lie)); var modPosEndCeng = djInfos.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); - listResult.Add(plcStackeConn.SetPlcDBValue(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, ceng)); + listResult.Add(plcStackeConn.SetPlcDBValueRepeat(modPosEndCeng.PosType, djMod.DbNumber, modPosEndCeng.PlcPos, ceng)); if (listResult.All(s => s.IsSucceed)) { @@ -2497,7 +2526,7 @@ { var modAddCode = modDevice.listStation.FirstOrDefault(m => m.Text == "鍝佺" && m.IsDelete == false); // 鍐欏叆鎷嗗灈鍝佺 - var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, pzNo); + var retVal = plcConn.SetPlcDBValueRepeat(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, pzNo); if (retVal.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "530"); @@ -2630,16 +2659,16 @@ var listResult = new List<Result>(); //鎵规鍙� var modPosLotNo = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵规鍙�" && m.IsDelete == false); - listResult.Add(plcConn.SetPlcDBValue(modPosLotNo.PosType, modDevice.DbNumber, modPosLotNo.PlcPos, boxInfo.LotNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosLotNo.PosType, modDevice.DbNumber, modPosLotNo.PlcPos, boxInfo.LotNo)); //鍝佺 var modPosPZ = modDevice.listStation.FirstOrDefault(m => m.Text == "鍝佺" && m.IsDelete == false); - listResult.Add(plcConn.SetPlcDBValue(modPosPZ.PosType, modDevice.DbNumber, modPosPZ.PlcPos, checkTaskInfo.PZNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPZ.PosType, modDevice.DbNumber, modPosPZ.PlcPos, checkTaskInfo.PZNo)); //鏄惁灏剧 var modPosIsEndBox = modDevice.listStation.FirstOrDefault(m => m.Text == "鏄惁灏剧" && m.IsDelete == false); - listResult.Add(plcConn.SetPlcDBValue(modPosIsEndBox.PosType, modDevice.DbNumber, modPosIsEndBox.PlcPos, boxInfo.EndLotFlag)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosIsEndBox.PosType, modDevice.DbNumber, modPosIsEndBox.PlcPos, boxInfo.EndLotFlag)); //鍐欏叆绠辩爜 var modPosBox = modDevice.listStation.FirstOrDefault(m => m.Text == "鍐欏叆绠辩爜" && m.IsDelete == false); - listResult.Add(plcConn.SetPlcDBValue(modPosBox.PosType, modDevice.DbNumber, modPosBox.PlcPos, boxInfo.BoxNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosBox.PosType, modDevice.DbNumber, modPosBox.PlcPos, boxInfo.BoxNo)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) @@ -2982,9 +3011,9 @@ { #region#缁橮LC鍐欏叆缁撴壒鎵规鍙� var listResult = new List<Result>(); - listResult.Add(plcConn.SetPlcDBValue(item.PosType, item.DbNumber, item.PlcPos, "0"));//鍝佺鍙� - listResult.Add(plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, ""));//鎵规鍙� - listResult.Add(plcConn.SetPlcDBValue(item.PosTypeStatus, item.DbNumber, item.PosStatus, "0"));//缁戝畾鐘舵�� 0锛氭湭缁戝畾 1锛氬凡缁戝畾 + listResult.Add(plcConn.SetPlcDBValueRepeat(item.PosType, item.DbNumber, item.PlcPos, "0"));//鍝佺鍙� + listResult.Add(plcConn.SetPlcDBValueRepeat(item.PosTypeLot, item.DbNumber, item.PosLot, ""));//鎵规鍙� + listResult.Add(plcConn.SetPlcDBValueRepeat(item.PosTypeStatus, item.DbNumber, item.PosStatus, "0"));//缁戝畾鐘舵�� 0锛氭湭缁戝畾 1锛氬凡缁戝畾 if (listResult.All(s => s.IsSucceed)) { // 鍐欏叆缁勬墭鍥炲娴佺▼瀛� -- Gitblit v1.8.0