From 7ab32aab1cfd8b71940ade95fa69aec0b95e95c3 Mon Sep 17 00:00:00 2001 From: liudl <673013083@qq.com> Date: 星期日, 16 二月 2025 16:36:40 +0800 Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/WCSNet6 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 42 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 38 insertions(+), 4 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 92a5551..ac69156 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -1757,11 +1757,42 @@ { // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭� 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); + 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(res1.ToString(),modTask.StationNum); + if (!strMsg.Contains("-1")) + { + // 鎻掑叆浠诲姟鏄庣粏 + var modInsertTaskMonitor = new WcsTaskMonitor() + { + PlcId = modDevice.Id, + PlcName = modDevice.Text, + InteractiveMsg = $"鍐欏叆鎸囦护151锛歿modDevice.StationNum}宸ヤ綅鍙帴鍙桝GV鏀捐揣鍏ュ簱", + PalletNo = modTask.PalletNo, + Status = TaskStatusEnum.Complete, + StartLocat = modDevice.StationNum + }; + // 鎻掑叆浜や簰鏃ュ織 + _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); + } + } + break; + } + } + // + } break; #endregion @@ -1830,10 +1861,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) -- Gitblit v1.8.0