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