From ddd9612ed7cefe12c8ea33ced0711a0b9a3feb99 Mon Sep 17 00:00:00 2001 From: liudl <673013083@qq.com> Date: 星期日, 16 二月 2025 18:18:42 +0800 Subject: [PATCH] 修改接口 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index e563b98..1366feb 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -1749,8 +1749,52 @@ #endregion + } break; + #region 灏忚溅鍙斁淇″彿 + case "150": + { // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭� + var strMsg = ""; + var http = new HttpService(); + // 鑾峰彇鎵樼洏浠诲姟鍙� + var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�"); + var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos); + if (res1.IsSucceed) + { + string tasknoVal = val.ToString(); + var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false); + if (modTask == null) + { + //璇诲彇鎴愬姛鍚庡啓鍏�151 + var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "151");//鏀跺埌鍙斁淇″彿鍚庡啓鍏�151 + if (ret.IsSucceed) + { + //鍥炰紶WMS鍙斁淇″彿 + strMsg = http.RequesContinueAgv(val.ToString(), modDevice.StationNum); + if (!strMsg.Contains("-1")) + { + // 鎻掑叆浠诲姟鏄庣粏 + var modInsertTaskMonitor = new WcsTaskMonitor() + { + PlcId = modDevice.Id, + PlcName = modDevice.Text, + InteractiveMsg = $"鍐欏叆鎸囦护151锛歿modDevice.StationNum}宸ヤ綅鍙帴鍙桝GV鏀捐揣鍏ュ簱", + Status = TaskStatusEnum.Complete, + StartLocat = modDevice.StationNum + }; + // 鎻掑叆浜や簰鏃ュ織 + _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); + } + } + break; + } + } + // + + } + break; + #endregion default: break; } @@ -1816,10 +1860,13 @@ // 閫氶亾鍙� var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "閫氶亾鍙�"); - // 婕旂ず妯″紡鐩存帴鍐欏叆1鍒嗛亾 - var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "1"); + // 婕旂ず妯″紡鐩存帴鍐欏叆鍒嗛亾鍙� + Random random = new Random(); + int ranNumber = random.Next(2) == 0 ? 1 : 5; + var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, ranNumber.ToString()); if (ret.IsSucceed) { + Log.Information(string.Format("鍒嗛亾鎴愬姛锛岄亾鍙锋槸锛�" + ranNumber)); // 鍐欏叆娴佺▼鎺у埗瀛� 2 var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2"); if (!retVal.IsSucceed) @@ -2521,7 +2568,7 @@ if (tasklist.Success != -1) { //鑾峰彇鎷嗗灈鐗╂枡鍝佺(闇�瑕佸鍔犵墿鏂欏垽鏂紝鍚屼竴涓墿鏂欏彿鍙兘浼氬嚭鐜颁笉鍚岀殑鐮佸灈瑙勫垯) - var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.data[0].SkuNo); + var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.data.SkuNo); //涓嬪彂鎷嗘墭瑙勬牸锛屾媶绠辨暟鍜屾墭鐩樹笂鎬荤鏁帮紙涓嶇粦瀹氭満鍣ㄤ汉锛屾媶鍨涗换鍔′俊鎭彧涓嬪彂涓�娆★級 // 缁橮LC鍐欏叆浠诲姟鏁版嵁 var listResult = new List<Result>(); @@ -2530,10 +2577,10 @@ 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[0].Qty.ToString())); + 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[0].QtyCount.ToString())); + listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.data.QtyCount.ToString())); // 鏄惁鍐欏叆鎴愬姛 -- Gitblit v1.8.0