From b1404f7bc9945d91e292791a868cbb306cf7935d Mon Sep 17 00:00:00 2001
From: liudl <673013083@qq.com>
Date: 星期一, 20 一月 2025 09:58:28 +0800
Subject: [PATCH] 11111111111
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 745 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 652 insertions(+), 93 deletions(-)
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index c3f9329..be78de6 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -2,10 +2,13 @@
using Dm.filter;
using DocumentFormat.OpenXml.Bibliography;
using DocumentFormat.OpenXml.Drawing.Charts;
+using Elastic.Clients.Elasticsearch.Snapshot;
using Elastic.Clients.Elasticsearch.Tasks;
+using Flurl.Util;
using Furion.Logging;
using IoTClient;
using Microsoft.AspNetCore.SignalR;
+using NewLife.Reflection;
using Qiniu.Storage;
using RazorEngine.Compilation.ImpromptuInterface.Dynamic;
using SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models;
@@ -13,6 +16,7 @@
using System.Data;
using System.Reflection.Emit;
using WCS.Application.Entity;
+using WCS.Application.Service.WcsDevice.Dto;
using WCS.Application.Util;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressIntracityUpdateStoreRequest.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.NontaxInsertBillRequest.Types.CardExtra.Types.BillCard.Types;
@@ -45,7 +49,7 @@
BoxConveyorLine(mod); // 鐮佸灈鏈哄櫒浜�
break;
case PLCTypeEnum.StackingRobot:
- PalletMachine(mod);
+ StackingRobot(mod); //鎷嗗灈鏈哄櫒浜�
break;
default:
break;
@@ -284,22 +288,23 @@
modcTaskMonitor.InteractiveMsg = string.Format("宸ヤ綅锛歿0},鍐欏叆鍙栬揣瀹屾垚:640", startStationVal);
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modcTaskMonitor).ExecuteCommand();
- }
- var retc = plcConveyorConn.SetPlcDBValue(ConveyorMod.PosType, ConveyorMod.DbNumber, ConveyorMod.WcsPos, "640");
+ var retc = plcConveyorConn.SetPlcDBValue(ConveyorMod.PosType, ConveyorMod.DbNumber, ConveyorMod.WcsPos, "640");
- if (!retc.IsSucceed)
- {
- modcTaskMonitor.InteractiveMsg = string.Format("宸ヤ綅锛歿0},鍐欏叆鍙栬揣瀹屾垚640澶辫触", startStationVal);
- // 鎻掑叆浜や簰鏃ュ織
- _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ if (!retc.IsSucceed)
+ {
+ modcTaskMonitor.InteractiveMsg = string.Format("宸ヤ綅锛歿0},鍐欏叆鍙栬揣瀹屾垚640澶辫触", startStationVal);
+ // 鎻掑叆浜や簰鏃ュ織
+ _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ //涓嬪彂浠诲姟鏃ュ織
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ break;
+ }
+
//涓嬪彂浠诲姟鏃ュ織
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- break;
}
- //涓嬪彂浠诲姟鏃ュ織
- HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
// 璇诲彇wcs鎺у埗瀛�
@@ -612,7 +617,7 @@
var modTask = _db.Queryable<WcsTask>().First(s => s.TaskNo == taskNo && s.Status == TaskStatusEnum.Doing);
if (modTask == null)
{
- Log.Error($"銆愬爢鍨涙満銆戝綋鍓嶄换鍔″彿涓嶅瓨鍦ㄥ搴旂殑浠诲姟锛屼换鍔″彿锛歿modTask.TaskNo}");
+ Log.Error($"銆愬爢鍨涙満銆戝綋鍓嶄换鍔″彿涓嶅瓨鍦ㄥ搴旂殑浠诲姟锛屼换鍔″彿锛歿TaskNo}");
break;
}
var res = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "844");
@@ -647,7 +652,7 @@
{
//婊℃斁璐у紓甯�
var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
- var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鍙�");
+ var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�");
var (result, TaskNo) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
if (!result.IsSucceed)
break;
@@ -655,7 +660,7 @@
var modTask = _db.Queryable<WcsTask>().First(s => s.TaskNo == taskNo && s.Status == TaskStatusEnum.Doing);
if (modTask == null)
{
- Log.Error($"銆愬爢鍨涙満銆戝綋鍓嶄换鍔″彿涓嶅瓨鍦ㄥ搴旂殑浠诲姟锛屼换鍔″彿锛歿modTask.TaskNo}");
+ Log.Error($"銆愬爢鍨涙満銆戝綋鍓嶄换鍔″彿涓嶅瓨鍦ㄥ搴旂殑浠诲姟锛屼换鍔″彿锛歿TaskNo}");
break;
}
modTask.Status = TaskStatusEnum.Exception;
@@ -684,17 +689,38 @@
string storey = int.Parse(endLocat.Substring(4, 2)).ToString();
// 缁橮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.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));
+
+ PlcTaskInfo taskInfo = new PlcTaskInfo();
+ taskInfo = PLCCommon.GetEndPai(modTask.EndRoadway.Substring(1, 2), modTask.EndLocate.Substring(2, 2),
+ modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(4, 2),
+ modTask.EndLocate.Substring(6, 2));
+
+ // 缁橮LC鍐欏叆浠诲姟鏁版嵁
var listResult = new List<Result>();
// 浠诲姟鍙锋墭鐩樺彿
+ modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
+ modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�");
listResult.Add(plcConn.SetPlcDBValue(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));
+ // 鐩爣鏀捐揣宸ヤ綅(鍥哄畾鎺掑垪灞�)
+ modPosEndRow = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鎺�");
+ listResult.Add(plcConn.SetPlcDBValue(modPosEndRow.PosType, modDevice.DbNumber, modPosEndRow.PlcPos, taskInfo.EndPai));
+ modPosEndColumn = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣鍒�");
+ listResult.Add(plcConn.SetPlcDBValue(modPosEndColumn.PosType, modDevice.DbNumber, modPosEndColumn.PlcPos, taskInfo.EndLie));
+ modPosEndStorey = modDevice.listStation.FirstOrDefault(s => s.Text == "鏀捐揣灞�");
+ listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, taskInfo.EndCeng));
+
// 鏄惁鍐欏叆鎴愬姛
if (listResult.All(s => s.IsSucceed))
{
@@ -966,6 +992,35 @@
var http = new HttpService();
string TaskNo = "", EndLocate = "";
+
+ //鏍规嵁宸ヤ綅鍒ゆ柇鏄惁涓哄彔鎵樻満宸ヤ綅鐢宠绌烘墭鐩樿泛鍏ュ簱锛屾槸锛氬悜WMS鐢宠绌烘墭鐩樿泛缁勬墭
+ string groupMsg = "";
+ if (modDevice.StationNum == "27")
+ {
+ var Qty = plcConn.GetPlcDBValue(PLCDataTypeEnum.Int,"DB135.0").ToString();//鑾峰彇鍙犳墭鏈哄彔鎵樻暟閲�
+ groupMsg = http.BindPlnInHouseWcs(Qty, palletVal);
+
+ if (!groupMsg.Contains("-1"))
+ {
+ var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+ if (res350.IsSucceed && palletVal350 != "350")
+ {
+ ledText += $"鐢宠鍏ュ簱澶辫触\n\n";
+ ledText += $"鎵樼洏鍙�:{palletVal}\n";
+ ledText += $"{strMsg}\n";
+ LedDisplay(modDevice.LedIP, ledText);
+ }
+
+ // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠�
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum);
+ if (ret.IsSucceed)
+ {
+ plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350");
+ }
+ }
+ break;
+ }
+ string IsBale = "0";
strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo);
if (!strMsg.Contains("-1"))
@@ -976,7 +1031,6 @@
// 鍐欏叆330
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "330");
-
if (ret.IsSucceed)
{
// 鎻掑叆浠诲姟鏄庣粏
@@ -991,9 +1045,21 @@
StartLocat = modDevice.StationNum,
EndLocat = EndLocate,
};
-
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+
+ //鍒ゆ柇鏄惁瑁瑰寘
+ var gbPos = modDevice.listStation.FirstOrDefault(s => s.Text == "Element_1");
+ strMsg = new HttpService().RequestPackWcs(palletVal);
+ if (strMsg == "1")
+ {
+ //鍐欏叆瑁瑰寘鎸囦护
+ ret = plcConn.SetPlcDBValue(gbPos.PosType, modDevice.DbNumber, gbPos.PlcPos, "2");
+ }
+ else
+ {
+ ret = plcConn.SetPlcDBValue(gbPos.PosType, modDevice.DbNumber, gbPos.PlcPos, "1");
+ }
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
@@ -1152,12 +1218,11 @@
// 鍚慦MS鐢宠鍌ㄤ綅淇℃伅
strMsg = http.RequestLocate(palletVal, modDevice.StationNum, taskModel, roadway, ref TaskNo);
- // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆�
- var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == TaskNo);
- modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskInfo.StartLocate).Select(s => s.LedIP).First();
-
if (!strMsg.Contains("-1"))
{
+ // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆�
+ var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == TaskNo);
+ modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskInfo.StartLocate).Select(s => s.LedIP).First();
// 鍐欏叆娴佺▼瀛� 630
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "630");
@@ -1449,7 +1514,7 @@
// 鍙嶉WMS
var requestMode = new TaskRequestWMS()
{
- TaskNo = modTask.TaskNo,
+ TaskNo = modTask.TaskNo + modTask.EndLocate ,
PalletNo = modTask.PalletNo,
TaskType = ((int)TaskTypeEnum.Out).ToString(),
TaskStatus = ((int)TaskStatusEnum.Complete).ToString()
@@ -1558,7 +1623,7 @@
// 鍙嶉WMS
var requestMode = new TaskRequestWMS()
{
- TaskNo = modTask.TaskNo,
+ TaskNo = modTask.TaskNo + modTask.EndLocate ,
PalletNo = modTask.PalletNo,
TaskType = ((int)TaskTypeEnum.Out).ToString(),
TaskStatus = ((int)TaskStatusEnum.Complete).ToString()
@@ -1583,6 +1648,109 @@
}
break;
#endregion
+ case "10":
+ {
+ #region 缂犺啘瀹屾垚
+ // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
+ var strMsg = "";
+ var http = new HttpService();
+ var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
+ var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+
+ //鍚慦MS鍙嶉鎵樼洏缂犺啘瀹屾垚
+ strMsg = http.RequestPackedWcs(palletVal);
+ if (!strMsg.Contains("-1"))
+ {
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "11");//鏀跺埌缂犺啘瀹屾垚11
+ if (ret.IsSucceed)
+ {
+ // 鎻掑叆浠诲姟鏄庣粏
+ var modInsertTaskMonitor = new WcsTaskMonitor()
+ {
+ PlcId = modDevice.Id,
+ PlcName = modDevice.Text,
+ InteractiveMsg = $"鍐欏叆鎸囦护11锛歿modDevice.StationNum}宸ヤ綅缂犺啘瀹屾垚",
+ PalletNo = palletVal,
+ Status = TaskStatusEnum.Complete,
+ StartLocat = modDevice.StationNum
+ };
+ // 鎻掑叆浜や簰鏃ュ織
+ _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ }
+ }
+ else
+ {
+
+ }
+ #endregion
+ }
+ break;
+ case "20":
+ {
+ #region 鏄惁鎷嗚啘 21锛氬惁 22锛氭槸
+ // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
+ var strMsg = "";
+ var http = new HttpService();
+ var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
+ var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+ // 鑾峰彇鎵樼洏浠诲姟鍙�
+ var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
+ var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
+ // 鏍规嵁浠诲姟鍙疯幏鍙栦换鍔′俊鎭�,鐩殑宸ヤ綅鏄�009鐨勫啀鍚慦MS鍙戝嚭鎷嗚啘鐢宠
+ if (res1.IsSucceed)
+ {
+ string tasknoVal = val.ToString();
+ var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false);
+ if (modTask == null)
+ {
+ break;
+ }
+ }
+
+ strMsg = http.RequestUnPackWcs(palletVal);
+ if (!strMsg.Contains("-1"))
+ {
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "22");
+ if (ret.IsSucceed)
+ {
+ // 鎻掑叆浠诲姟鏄庣粏
+ var modInsertTaskMonitor = new WcsTaskMonitor()
+ {
+ PlcId = modDevice.Id,
+ PlcName = modDevice.Text,
+ InteractiveMsg = $"鍐欏叆鎸囦护22锛歿modDevice.StationNum}宸ヤ綅闇�瑕佹媶鑶�",
+ PalletNo = palletVal,
+ Status = TaskStatusEnum.Complete,
+ StartLocat = modDevice.StationNum
+ };
+ // 鎻掑叆浜や簰鏃ュ織
+ _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ }
+ }
+ else
+ {
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "21");
+ if (ret.IsSucceed)
+ {
+ // 鎻掑叆浠诲姟鏄庣粏
+ var modInsertTaskMonitor = new WcsTaskMonitor()
+ {
+ PlcId = modDevice.Id,
+ PlcName = modDevice.Text,
+ InteractiveMsg = $"鍐欏叆鎸囦护21锛歿modDevice.StationNum}宸ヤ綅涓嶉渶瑕佹媶鑶�",
+ PalletNo = palletVal,
+ Status = TaskStatusEnum.Complete,
+ StartLocat = modDevice.StationNum
+ };
+ // 鎻掑叆浜や簰鏃ュ織
+ _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ }
+ }
+
+
+ #endregion
+ }
+ break;
default: break;
}
@@ -1634,7 +1802,7 @@
{
var plcConn = modDevice.PLCUtil;
- if (modDevice.DbNumber == "DB101")
+ if (modDevice.DbNumber == "DB101")//&& modDevice.DbNumber == "DB102"&& (modDevice.DbNumber == "DB102"||modDevice.PlcIdIP == "10.18.51.110")
{
// 涓绘壂浜や簰娴佺▼
switch (modDevice.Value.ToString())
@@ -1704,11 +1872,12 @@
}
}
}
- // 鏍规嵁绠卞唴鍝佺鍙疯幏鍙栫爜韬茬粦瀹氬伐浣嶅強瀵瑰簲鐨勫垎閬撳彿
- var checkTaskInfo = _db.Queryable<WcsCheckTask>().First(w => w.SkuNo == boxInfo.SkuNo && w.SkuName == boxInfo.SkuName && w.LotNo == boxInfo.LotNo && w.Status == "1");
- if (checkTaskInfo == null)
+
+
+ // 楠岃瘉鏄惁闆剁
+ if (boxInfo.BitBoxMark == "1")
{
- // 缁戝畾淇℃伅涓簄ull鍐欏叆鍓旈櫎閫氶亾鍙�
+ // 鏄浂绠辩洿鎺ュ墧闄わ紝杩涜浜哄伐缁勬墭
var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
if (ret.IsSucceed)
{
@@ -1716,8 +1885,225 @@
var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
if (retVal.IsSucceed)
{
- Log.Error("绠辩爜鏈粦瀹氬垎鎷d换鍔★紝杩涜鍓旈櫎銆�");
+ Log.Error("闆剁锛岃繘琛屽墧闄ゃ��");
break;
+ }
+ }
+ break;
+ }
+
+
+ // 鏍规嵁绠卞唴鍝佺鍙疯幏鍙栫爜韬茬粦瀹氬伐浣嶅強瀵瑰簲鐨勫垎閬撳彿
+ var checkTaskInfo = _db.Queryable<WcsCheckTask>().First(w => w.SkuNo == boxInfo.SkuNo && w.SkuName == boxInfo.SkuName && w.LotNo == boxInfo.LotNo && w.Status == "1");
+ if (checkTaskInfo == null)
+ {
+ // 鍒ゆ柇鏄惁鍏宠仈鍗曟嵁 wcsordertask
+ var orderModel = _db.Queryable<WcsOderTask>()
+ .First(m => m.SkuNo == boxInfo.SkuNo && m.Status== TaskStatusEnum.Wait && m.LotNo == boxInfo.LotNo && m.IsDelete == false);
+ if (orderModel != null)
+ {
+ // 鏍规嵁boxinfo琛ㄤ骇绾垮瓧娈佃嚜鍔ㄧ粦瀹氬垎閬�(1绾夸骇鍝佸彧鑳界粦瀹氬埌8閬�)
+ if (boxInfo.LineNo != "1")
+ {// 缁戝畾鍒伴櫎8閬撳鍏朵粬閬�
+
+ // 鑾峰彇鏈粦瀹氶亾
+ var lineNoModels = _db.Queryable<WcsCheckTask>()
+ .Where(m => m.Status == "0" && m.LineNo != "8" && m.RoboatType == PLCTypeEnum.RobotPalletizer).ToList();
+ if (lineNoModels.Count > 0)
+ {
+ // 鑾峰彇褰撳墠鐗╂枡鍝佺鍙�
+ var skuInfo = await _db.Queryable<WcsMateialPzInfo>().Where(w => w.SkuNo == boxInfo.SkuNo).FirstAsync();
+ if (skuInfo == null)
+ {
+ // 姝や骇鍝佽嫢娌¤瀹氬搧瑙勶紝杩涜鍓旈櫎澶勭悊銆傞槻姝㈠牭濉炰欢绠辩嚎
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("娌℃湁绌洪棽鍒嗛亾锛岃繘琛屽墧闄ゃ��");
+ break;
+ }
+ }
+ break;
+ }
+
+ foreach (var lineNoModel in lineNoModels)
+ {
+ // 璇诲彇璁惧楠岃瘉鏄惁缁戝畾鍒嗛亾
+ var (respg, pzNo) = plcConn.GetPlcDBValue(lineNoModel.PosType, lineNoModel.DbNumber, lineNoModel.PlcPos);
+ if (respg.IsSucceed)
+ {
+ if (pzNo != 0)
+ {
+ // plc姝ゅ垎閬撴湭瑙g粦
+ break;
+ }
+ else
+ {
+ // 鑷姩缁戝畾鍒嗛亾
+ lineNoModel.OrderNo = orderModel.OrderNo;
+ lineNoModel.LotNo = boxInfo.LotNo;
+ lineNoModel.SkuNo = boxInfo.SkuNo;
+ lineNoModel.SkuName = boxInfo.SkuName;
+ lineNoModel.Qty = orderModel.Qty;
+ lineNoModel.Status = "1";//宸茬粦瀹�
+ lineNoModel.PZNo = skuInfo.PZNo;
+
+ // 缁橮LC鍐欏叆鍝佽
+ var ret = plcConn.SetPlcDBValue(lineNoModel.PosType, lineNoModel.DbNumber, lineNoModel.PlcPos, skuInfo.PZNo);
+ if (ret.IsSucceed)
+ {
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟
+ _db.Updateable(lineNoModel).ExecuteCommand();
+ //鏇存柊WcsOderTask琛�
+ orderModel.Status = TaskStatusEnum.Doing;
+ _db.Updateable(orderModel).ExecuteCommand();
+ // Liudl 閫氱煡鍓嶇鏇存柊鍒嗘嫞浠诲姟
+ //涓嬪彂鍒嗘嫞浠诲姟
+ HubUtil.PublicCheckTask(lineNoModel.Adapt<WcsDeviceTaskOrderDto>());
+ break;
+ }
+ else
+ {
+ throw Oops.Bah("涓嶱CL浜や簰澶辫触锛岀粦瀹氬け璐ワ紒");
+ }
+ }
+ }
+ else
+ {
+ // 璇诲彇plc澶辫触
+ break;
+ }
+ }
+
+ }
+ else
+ {
+ // 鑻ユ病鏈夌┖闂查亾锛岃繘琛屽墧闄ゅ鐞嗐�傞槻姝㈠牭濉炰欢绠辩嚎
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("娌℃湁绌洪棽鍒嗛亾锛岃繘琛屽墧闄ゃ��");
+ break;
+ }
+ }
+ break;
+ }
+ }
+ else
+ {// 缁戝畾鍒�8閬�
+ // 鑾峰彇鏈粦瀹氶亾
+ var lineNo8Model = _db.Queryable<WcsCheckTask>()
+ .First(m => m.Status == "0" && m.LineNo == "8" && m.RoboatType == PLCTypeEnum.RobotPalletizer);
+ if (lineNo8Model != null)
+ {
+ // 鑾峰彇褰撳墠鐗╂枡鍝佺鍙�
+ var skuInfo = await _db.Queryable<WcsMateialPzInfo>().Where(w => w.SkuNo == boxInfo.SkuNo).FirstAsync();
+ if (skuInfo == null)
+ {
+ // 姝や骇鍝佽嫢娌¤瀹氬搧瑙勶紝杩涜鍓旈櫎澶勭悊銆傞槻姝㈠牭濉炰欢绠辩嚎
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("娌℃湁绌洪棽鍒嗛亾锛岃繘琛屽墧闄ゃ��");
+ break;
+ }
+ }
+ break;
+ }
+
+
+ // 璇诲彇璁惧楠岃瘉鏄惁缁戝畾鍒嗛亾
+ var (respg, pzNo) = plcConn.GetPlcDBValue(lineNo8Model.PosType, lineNo8Model.DbNumber, lineNo8Model.PlcPos);
+ if (respg.IsSucceed)
+ {
+ if (pzNo != 0)
+ {
+ // plc姝ゅ垎閬撴湭瑙g粦
+ break;
+ }
+ else
+ {
+ // 鑷姩缁戝畾鍒嗛亾
+ lineNo8Model.OrderNo = orderModel.OrderNo;
+ lineNo8Model.LotNo = boxInfo.LotNo;
+ lineNo8Model.SkuNo = boxInfo.SkuNo;
+ lineNo8Model.SkuName = boxInfo.SkuName;
+ lineNo8Model.Qty = orderModel.Qty;
+ lineNo8Model.Status = "1";//宸茬粦瀹�
+ lineNo8Model.PZNo = skuInfo.PZNo;
+
+ // 缁橮LC鍐欏叆鍝佽
+ var ret = plcConn.SetPlcDBValue(lineNo8Model.PosType, lineNo8Model.DbNumber, lineNo8Model.PlcPos, skuInfo.PZNo);
+ if (ret.IsSucceed)
+ {
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟
+ _db.Updateable(lineNo8Model).ExecuteCommand();
+ //鏇存柊WcsOderTask琛�
+ orderModel.Status = TaskStatusEnum.Doing;
+ _db.Updateable(orderModel).ExecuteCommand();
+
+ // Liudl 閫氱煡鍓嶇鏇存柊鍒嗘嫞浠诲姟
+ //涓嬪彂鍒嗘嫞浠诲姟
+ HubUtil.PublicCheckTask(lineNo8Model.Adapt<WcsDeviceTaskOrderDto>());
+ break;
+ }
+ else
+ {
+ throw Oops.Bah("涓嶱CL浜や簰澶辫触锛岀粦瀹氬け璐ワ紒");
+ }
+ }
+ }
+ else
+ {
+ // 璇诲彇plc澶辫触
+ break;
+ }
+
+
+ }
+ else
+ {
+ // 娌℃湁绌洪棽閬擄紝杩涜鍓旈櫎澶勭悊銆傞槻姝㈠牭濉炰欢绠辩嚎
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("娌℃湁绌洪棽鍒嗛亾锛岃繘琛屽墧闄ゃ��");
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ // 涓嶅叧鑱斿崟鎹洿鎺ヨ繘琛屽墧闄ゅ鐞�
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("绠辩爜鏈粦瀹氬垎鎷d换鍔★紝杩涜鍓旈櫎銆�");
+ break;
+ }
}
}
}
@@ -1731,6 +2117,18 @@
var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
if (retVal.IsSucceed)
{
+ { // liudl 姝ゆ绋嬪簭涓嶄細鎵ц 纭鍚庣洿鎺ュ垹闄�
+ if (modDevice.DbNumber == "DB102")//1L鎷嗚泛鍒嗘嫞鍚庨渶瑕佸洖浼犵鐮�
+ {
+ var http = new HttpService();
+ IsBaleModel2 ret1 = http.RequestBoxno(boxNoVal);
+ if (ret1.Success == -1)
+ {
+ Log.Error("绠辩爜鍒嗘嫞鍥炰紶澶辫触锛岄渶瑕佹墜鍔ㄦ嫞璐с�傚け璐ョ鐮侊細"+boxNoVal);
+ break;
+ }
+ }
+ }
break;
}
}
@@ -1741,7 +2139,7 @@
break;
default: break;
}
- }
+ }
else
{
// 鎻掔爜浜や簰
@@ -1839,6 +2237,7 @@
}
var rowCount = _db.Updateable(boxInfo).ExecuteCommand();
+ Log.Information(string.Format("鎻掔爜鎴愬姛锛岀鐮佹槸锛�"+ boxNo, modDevice.StationNum));
if (rowCount > 0)
{
// 鎻掔爜鎴愬姛
@@ -1847,8 +2246,8 @@
//鏄惁缁撴壒绠�
if (boxInfo[0].EndLotFlag == "1" && retVal.IsSucceed)
{
- // 瑙﹀彂缁撴壒 瑙g粦鍒嗛亾
- AutoEndLot(boxInfo[0].LotNo, plcConn, "0");
+ // 瑙﹀彂缁撴壒 鍒嗛亾鍙樹负缁撴壒涓�
+ AutoEndLot(boxInfo[0].LotNo, plcConn, "2");
}
}
else
@@ -1983,14 +2382,15 @@
}
break;
}
+ // 缁勬墭鎴愬姛鍚庡皢淇℃伅瀛樺埌log琛�
string sqlStr = $"insert into WCSBoxInfoLog select * from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'";
int insertCount = _db.Ado.ExecuteCommand(sqlStr);
if (insertCount > 0)
{
- // 缁勬墭鎴愬姛鍚庡皢淇℃伅瀛樺埌log琛�
- string sqlStr2 = $"delete from WCSBoxInfoLog where IsDelete=0 and PalletNo='{palletNo}'";
+ string sqlStr2 = $"delete from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'";
_db.Ado.ExecuteCommand(sqlStr2);
}
+
// 鍚慦MS鐢宠宸烽亾
var http = new HttpService();
string TaskNo = "", EndLocate = "";
@@ -2003,6 +2403,29 @@
}
else
{
+ //鍒ゆ柇鏄惁缁撴壒涓�
+ var (res, jiepi) = plcConn.GetPlcDBValue(checkTaskMedel.PosType, modDevice.DbNumber, checkTaskMedel.PosLot);
+ if (jiepi == 2)//缁撴壒涓�
+ {
+ // 鍒嗛亾瑙g粦锛屾姄绠卞搧绉嶅啓鍏�0
+ var ret1 = plcConn.SetPlcDBValue(checkTaskMedel.PosTypeLot, modDevice.DbNumber, checkTaskMedel.PlcPos, "0");
+ if (ret1.IsSucceed)
+ {
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 liudl 鏈�鍚庝竴鎵樼洏鐢宠瀹屽叆搴撴墠鍙竻绌�
+ checkTaskMedel.OrderNo = "";
+ checkTaskMedel.TaskNo = "";
+ checkTaskMedel.LotNo = "";
+ checkTaskMedel.SkuNo = "";
+ checkTaskMedel.SkuName = "";
+ checkTaskMedel.BoxType = "";
+ checkTaskMedel.Qty = 0;
+ checkTaskMedel.PZNo = "";
+ checkTaskMedel.Status = "0"; // 缁戝畾鍒嗛亾 0锛氳В缁� 1锛氱粦瀹�
+
+ //鏇存柊鍒嗘嫞浠诲姟
+ _db.Updateable(checkTaskMedel).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+ }
+ }
// 鑾峰彇鍏ュ簱浠诲姟淇℃伅
var taskModel = _db.Queryable<WcsTask>().First(m => m.TaskNo == TaskNo && m.IsDelete == false && m.Status == TaskStatusEnum.Wait);
if (taskModel != null)
@@ -2059,22 +2482,157 @@
}
/// <summary>
- /// 鎷嗗灈鏈哄櫒浜轰笟鍔″鐞�
+ /// 鍑哄簱浠剁杈撻�佸拰鎷嗗灈鏈哄櫒浜轰笟鍔″鐞�
/// </summary>
/// <param name="modDevice"></param>
private static void StackingRobot(WcsDeviceDto modDevice)
{
var plcConn = modDevice.PLCUtil;
- switch (modDevice.Value.ToString())
+ if (modDevice.DbNumber == "DB131" || modDevice.DbNumber == "DB132" || modDevice.DbNumber == "DB133" || modDevice.DbNumber == "DB134")
{
- case "0":
- {
- // 鑻ユ媶鍨涘伐浣嶄负绌洪棽锛屾煡璇换鍔¤〃鏄惁鏈夋湭缁戝畾鐨勫嚭搴撲换鍔★紝鍋氱粦瀹氭搷浣�
- }
- break;
- default:
- break;
+ switch (modDevice.Value.ToString())
+ {
+ case "10"://10 plc璇锋眰wcs璇绘墭鐩樼爜 20 wcs璇诲彇ok wcs 鍐欏叆鏁伴噺鍙婅鏍� 30
+ var strMsg = "";
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "20");
+ if (ret.IsSucceed)
+ {
+ //鑾峰彇鎵樼洏鐮�
+ var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
+ var (res, palletVal) = plcConn.GetPlcDBValue(modPosPallet.PosType, modDevice.DbNumber, modPosPallet.PlcPos);
+ // 鑾峰彇鎵樼洏浠诲姟鍙�
+ var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
+ var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
+ string tasknoVal = val.ToString();
+
+ // 鏍规嵁浠诲姟鍙疯幏鍙栦换鍔′俊鎭�
+ if (res1.IsSucceed)
+ {
+ var modTask = _db.Queryable<WcsTask>().First(m => m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false);
+ if (modTask == null)
+ {
+ Log.Error(string.Format($"鍑哄簱浠诲姟鏈笅鍙戯紝璇蜂汉宸ュ鐞嗭紝鏃犳硶鎷嗗灈锛�"));
+ break;
+ }
+
+ //閫氳繃浠诲姟鍙峰拰鎵樼洏鍙峰悜WMS鐢宠姝ゆ墭鐩樼殑鎷嗗灈淇℃伅
+ var http = new HttpService();
+ RequestBoxInfoCheckAll tasklist = http.RequestBoxCheckinfo(palletVal, tasknoVal);
+ if (tasklist.Success != -1)
+ {
+ //鑾峰彇鎷嗗灈鐗╂枡鍝佺(闇�瑕佸鍔犵墿鏂欏垽鏂紝鍚屼竴涓墿鏂欏彿鍙兘浼氬嚭鐜颁笉鍚岀殑鐮佸灈瑙勫垯)
+ var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.data.SkuNo);
+ //涓嬪彂鎷嗘墭瑙勬牸锛屾媶绠辨暟鍜屾墭鐩樹笂鎬荤鏁帮紙涓嶇粦瀹氭満鍣ㄤ汉锛屾媶鍨涗换鍔′俊鎭彧涓嬪彂涓�娆★級
+ // 缁橮LC鍐欏叆浠诲姟鏁版嵁
+ var listResult = new List<Result>();
+ // 鑾峰彇鎵樼洏瑙勫垯
+ var Standard = modDevice.listStation.FirstOrDefault(m => m.Text == "瑙勬牸");
+ listResult.Add(plcConn.SetPlcDBValue(Standard.PosType, modDevice.DbNumber, Standard.PlcPos, pz.PZNo));
+ //鎶撶鏁�
+ var qty = modDevice.listStation.FirstOrDefault(m => m.Text == "鎷嗙鏁伴噺");
+ listResult.Add(plcConn.SetPlcDBValue(qty.PosType, modDevice.DbNumber, qty.PlcPos, tasklist.data.Qty.ToString()));
+ //鎬荤鏁�
+ var qtycount = modDevice.listStation.FirstOrDefault(m => m.Text == "鎬荤鏁�");
+ listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.data.QtyCount.ToString()));
+
+
+ // 鏄惁鍐欏叆鎴愬姛
+ if (listResult.All(s => s.IsSucceed))
+ {
+ var ret1 = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "30");
+
+ }
+ else
+ {
+ Log.Error(string.Format($"鐮佸灈淇℃伅鏈啓鍏ワ紒鎵樼洏鍙凤細" + palletVal + "锛岀爜鍨涗綅锛�" + modDevice.StationNum));
+ break;
+ }
+ }
+ }
+ }
+
+ break;
+ default:
+ break;
+ }
}
+ else
+ {
+ switch (modDevice.Value.ToString())
+ {
+ case "1":
+ // 1妤间欢绠盤LC璇锋眰WCS璇荤爜
+ {
+ // 璇诲彇plc绠辩爜
+ var modBoxNo = modDevice.listStation.FirstOrDefault(m => m.Text == "涓绘壂鏉$爜");
+ var (res, boxNo) = plcConn.GetPlcDBValue(modBoxNo.PosType, modDevice.DbNumber, modBoxNo.PlcPos);
+ if (string.IsNullOrWhiteSpace(boxNo.ToString()))
+ {
+
+ // 绠变俊鎭负null鍐欏叆鍓旈櫎閫氶亾鍙�:0
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("绠辩爜涓簄ull鎴栧凡缁戝畾鎵樼洏锛岃繘琛屽墧闄ゃ��");
+ break;
+ }
+ }
+ }
+ else
+ {
+ // 绠辩爜
+ string boxNoVal = boxNo.ToString();
+ // 閫氶亾鍙�
+ var modLineNo = modDevice.listStation.FirstOrDefault(m => m.Text == "閫氶亾鍙�");
+
+ // 璋冪敤wms鎺ュ彛楠岃瘉绠辩爜鏄惁鍙嫞璐у苟杩斿洖瑁呰溅鍙�
+ var http = new HttpService();
+ RequestloadingAddre requesModel = http.ResultBoxInfoExportWcs(boxNoVal);
+ if (requesModel.Success != "0")
+ {
+ // 绠变俊鎭负null鍐欏叆鍓旈櫎閫氶亾鍙�:0
+ var ret = plcConn.SetPlcDBValue(modLineNo.PosType, modDevice.DbNumber, modLineNo.PlcPos, "0");
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ Log.Error("鍑哄簱鍒嗘嫞鏍规嵁绠辩爜鑾峰彇瑁呰溅鍙eけ璐ワ紝杩涜鍓旈櫎銆�" + requesModel.Message);
+ break;
+ }
+ }
+ }
+ else
+ {
+ // 鍐欏叆鍑哄簱鍒嗛亾鍙�
+ var ret = plcConn.SetPlcDBValue(modLineNo.PosType, modDevice.DbNumber, modLineNo.PlcPos, requesModel.loadingAddre);
+ if (ret.IsSucceed)
+ {
+ // 鍐欏叆娴佺▼鎺у埗瀛� 2
+ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
+ if (retVal.IsSucceed)
+ {
+ break;
+ }
+ }
+ }
+ }
+ };break;
+ case "10":
+ // 1妤间欢绠盤LC璇荤爜澶辫触锛學CS涓嶅仛澶勭悊鐩存帴鍓旈櫎鎵嬫寔鎷h揣銆�
+ {
+
+ };break;
+ default:
+ break;
+ }
+ }
+
}
/// <summary>
@@ -2141,7 +2699,7 @@
// 鍐欏叆缁撴壒淇″彿
var ret = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1");
// 鍒嗛亾瑙g粦锛屾姄绠卞搧绉嶅啓鍏�0
- var ret1 = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PlcPos, "0");
+ //var ret1 = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PlcPos, "0");
if (ret.IsSucceed)
{
//鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 liudl 鏈�鍚庝竴鎵樼洏鐢宠瀹屽叆搴撴墠鍙竻绌�
@@ -2153,7 +2711,7 @@
//item.BoxType = "";
//item.Qty = 0;
item.PZNo = "";
- item.Status = status; // 缁戝畾鍒嗛亾 0锛氳В缁� 1锛氱粦瀹�
+ item.Status = status; // 缁戝畾鍒嗛亾 0锛氳В缁� 1锛氱粦瀹� 2:缁撴壒涓�
//鏇存柊鍒嗘嫞浠诲姟
_db.Updateable(item).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
@@ -2170,52 +2728,53 @@
private static void Test(WcsDeviceDto modDevice)
{
- //鍐欐娴嬭瘯璇籹tring
- var (res, val) = modDevice.PLCUtil.GetPlcDBValue(PLCDataTypeEnum.String, "DB100", "64");
- Console.WriteLine("DB100.64----" + val);
- //娴嬭瘯鎵归噺璇诲彇
- Dictionary<string, PLCDataTypeEnum> listaddress = new Dictionary<string, PLCDataTypeEnum>();
- foreach (var modStation in modDevice.listStation)
- {
- listaddress.Add(modStation.PlcPos, modStation.PosType);
- }
- var result = modDevice.PLCUtil.GetPlcBatchDBValue(listaddress);
- if (result.Value.Count > 0)
- {
- foreach (var value in result.Value)
- {
- Console.WriteLine("鍦板潃" + value.Key + "----鍊�" + value, value);
- }
- }
- if (!result.IsSucceed)
- {
- foreach (var err in result.ErrList)
- {
- Console.WriteLine(err);
- }
- if (result.Value.Count > 0)//鏈夐敊璇殑涔熸湁鎴愬姛鐨�
- {
+ //var strMsg = new HttpService().RequestPackWcs("LN000001");
+ ////鍐欐娴嬭瘯璇籹tring
+ //var (res, val) = modDevice.PLCUtil.GetPlcDBValue(PLCDataTypeEnum.String, "DB100", "64");
+ //Console.WriteLine("DB100.64----" + val);
+ ////娴嬭瘯鎵归噺璇诲彇
+ //Dictionary<string, PLCDataTypeEnum> listaddress = new Dictionary<string, PLCDataTypeEnum>();
+ //foreach (var modStation in modDevice.listStation)
+ //{
+ // listaddress.Add(modStation.PlcPos, modStation.PosType);
+ //}
+ //var result = modDevice.PLCUtil.GetPlcBatchDBValue(listaddress);
+ //if (result.Value.Count > 0)
+ //{
+ // foreach (var value in result.Value)
+ // {
+ // Console.WriteLine("鍦板潃" + value.Key + "----鍊�" + value, value);
+ // }
+ //}
+ //if (!result.IsSucceed)
+ //{
+ // foreach (var err in result.ErrList)
+ // {
+ // Console.WriteLine(err);
+ // }
+ // if (result.Value.Count > 0)//鏈夐敊璇殑涔熸湁鎴愬姛鐨�
+ // {
- }
- }
- if (modDevice.Value == 820)
- {
- //娴嬭瘯鍐欏叆830
- //var result = mod.PLCUtil.SetPlcDBValue(mod.PosType.Value, mod.DbNumber, mod.PlcPos, "830");
- ////鍐欏叆鏄惁鎴愬姛
- //if (result.IsSucceed)
- //{
+ // }
+ //}
+ //if (modDevice.Value == 820)
+ //{
+ // //娴嬭瘯鍐欏叆830
+ // //var result = mod.PLCUtil.SetPlcDBValue(mod.PosType.Value, mod.DbNumber, mod.PlcPos, "830");
+ // ////鍐欏叆鏄惁鎴愬姛
+ // //if (result.IsSucceed)
+ // //{
- //}
- }
- else if (modDevice.Value == 840)
- {
+ // //}
+ //}
+ //else if (modDevice.Value == 840)
+ //{
- }
- else if (modDevice.Value == 860)
- {
+ //}
+ //else if (modDevice.Value == 860)
+ //{
- }
+ //}
}
--
Gitblit v1.8.0