From 696b87e0f494eff98e1646fbde133430f22b1543 Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期日, 20 十月 2024 18:48:44 +0800 Subject: [PATCH] bug修复 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 84 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 72 insertions(+), 12 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 0c8d371..31c9009 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -64,7 +64,7 @@ // 璺烘満绌洪棽锛岃幏鍙栧嚭搴撲换鍔°�佺Щ搴撲换鍔� { // 鑾峰彇浠诲姟淇℃伅 - var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.CreateTime).OrderBy(m => m.Levels, OrderByType.Asc) + var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.Levels, OrderByType.Asc).OrderBy(m => m.CreateTime) .First(s => s.Status == TaskStatusEnum.Wait && (s.TaskType == TaskTypeEnum.Out || s.TaskType == TaskTypeEnum.Move) && s.StartRoadway == modDevice.StationNum); if (modTask == null) @@ -422,7 +422,7 @@ } else { - Log.Error(string.Format("浠诲姟鍙嶉澶辫触锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); + Log.Error(string.Format("c锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); } } // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆� @@ -897,11 +897,7 @@ // 鐢宠宸烽亾 string strMsg = ""; string taskModel = ""; - // 鍒ゆ柇鏄惁婕旂ず妯″紡 - //if (PLCTaskAction.boDemo) - //{ - // taskModel = "1";// 婕旂ず妯″紡 - //} + // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭� var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�"); var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos); @@ -909,6 +905,46 @@ { break; } + var modPosEndLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); + + + //鍒ゆ柇鍏ュ簱閿佸畾鏄惁鎵撳紑 + if (PLCTaskAction.boEnterLock) + { + var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos); + if (res350.IsSucceed && palletVal350 != "350") + { + LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鍏ュ簱浠诲姟宸查攣瀹氾紝璇疯В閿佸悗閲嶈瘯", "鎵樼洏鍙�:" + palletVal); + } + + // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� + 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; + } + + if (palletVal == null) + { + var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos); + if (res350.IsSucceed && palletVal350 != "350") + { + LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鎵弿鎵樼洏鍙峰け璐�!", "鎵樼洏鍙�:" + palletVal); + } + + // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� + 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; + } + var http = new HttpService(); string TaskNo = "", EndLocate = ""; strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo); @@ -943,13 +979,34 @@ // 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈� HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); // led鏄剧ず鍐呭 - LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐩爣宸烽亾锛歿EndLocate}", "鎵樼洏鍙�:" + palletVal); + try + { + LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐩爣宸烽亾锛歿taskInfo.EndRoadway}鍙栬揣宸ヤ綅锛歿EndLocate}", "鎵樼洏鍙�:" + palletVal); + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + } } else { - // 鐢宠宸烽亾澶辫触锛丩ED鏄剧ず + var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos); + if (res350.IsSucceed && palletVal350 != "350") + { + LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐢宠宸烽亾澶辫触锛歿strMsg}", "鎵樼洏鍙�:" + palletVal); + } + + // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� + var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + if (ret.IsSucceed) + { + plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); + } + + // 鐢宠宸烽亾澶辫触锛� Log.Error(string.Format($"鐢宠宸烽亾澶辫触:{strMsg},璇诲啓plc閿欒")); } } @@ -1034,7 +1091,7 @@ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); // led鏄剧ず鍐呭 - LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鍏ュ簱涓� " + $"鐩爣宸烽亾锛歿endLocatVlue}", "鎵樼洏鍙�:" + palletVal); + LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐩爣宸烽亾锛歿modTask.EndRoadway}鍙栬揣宸ヤ綅锛歿endLocatVlue}", "鎵樼洏鍙�:" + palletVal); } } @@ -1421,7 +1478,7 @@ var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false); if (modTask == null) { - Log.Error(string.Format($"宸ヤ綅鍙凤細{modDevice.StationNum}绌烘墭鐩樺埌杈撅紝鏈壘鍒板搴旂殑浠诲姟!浠诲姟鍙穥tasknoVal};")); + //Log.Error(string.Format($"宸ヤ綅鍙凤細{modDevice.StationNum}绌烘墭鐩樺埌杈撅紝鏈壘鍒板搴旂殑浠诲姟!浠诲姟鍙穥tasknoVal};")); break; } // 鍐欏叆plc娴佺▼瀛�90 @@ -1963,7 +2020,10 @@ LedDll Led = new LedDll(); Led.LEDstr(ip, top, content, foot); } - catch { } + catch (Exception ex) + { + Log.Error(ex.Message); + } } private static void Test(WcsDeviceDto modDevice) -- Gitblit v1.8.0