From 3cf341070c19b24d0e0295431112154738140a7f Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期一, 23 九月 2024 08:17:36 +0800 Subject: [PATCH] Merge branch 'master' into wxw --- Admin.NET/WCS.Application/PLC/PLCService.cs | 20 +++--- Admin.NET/WCS.Application/PLC/PLCCommon.cs | 126 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 129 insertions(+), 17 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCCommon.cs b/Admin.NET/WCS.Application/PLC/PLCCommon.cs index 7efbe37..777a10d 100644 --- a/Admin.NET/WCS.Application/PLC/PLCCommon.cs +++ b/Admin.NET/WCS.Application/PLC/PLCCommon.cs @@ -31,13 +31,14 @@ taskInfo.EndCeng = "3"; taskInfo.EndLie = "65"; taskInfo.EndPai = int.Parse(roadWay.Substring(1,2)).ToString(); + // 绉诲簱浠诲姟 if (taskType == "2") { if (roadWay == endRoadWay) // 鍚屽贩閬撶Щ搴�,鑾峰彇鐩爣鍦板潃 { - taskInfo = GetEndPai(endLocat.Substring(1, 2), endLocat.Substring(0, 2), endLocat.Substring(4, 2), endLocat.Substring(6, 2)); + taskInfo = GetEndPai(endRoadWay.Substring(1, 2),endLocat.Substring(2, 2), endLocat.Substring(0, 2), endLocat.Substring(4, 2), endLocat.Substring(6, 2)); } else // 璺ㄥ贩閬撶Щ搴擄紝鑾峰彇涓夋ゼ鍑哄簱鍙� { @@ -207,6 +208,114 @@ } } + //鏍规嵁宸烽亾鍙e拰灞傛暟纭鍑哄簱宸ヤ綅鎺� + + + switch (roadWay) + { + case "R01": + + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R02": + + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R03": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R04": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R05": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R06": + if (taskInfo.EndCeng == "1" || taskInfo.EndCeng == "2" ) + { + taskInfo.EndPai = "2"; + } + if ( taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R07": + if (taskInfo.EndCeng == "1" ) + { + taskInfo.EndPai = "2"; + } + if ( taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R08": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R09": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R10": + if (taskInfo.EndCeng == "1" || taskInfo.EndCeng == "2") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + } return taskInfo; } @@ -219,7 +328,7 @@ public static PLCUtil GetPlcIp(string startStation) { string strIp = ""; - var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" }; + var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065","033" }; var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; if (conveyList1.Contains(startStation)) @@ -247,15 +356,18 @@ /// <summary> /// 鏍规嵁wms鐩爣鍦板潃杞崲涓篜lc鐩爣鍦板潃 /// </summary> + /// <param name="road">宸烽亾</param> /// <param name="lie">鍒�</param> /// <param name="pai">鎺�</param> /// <param name="ceng">灞�</param> /// <param name="dept">娣卞害</param> /// <returns></returns> - public static PlcTaskInfo GetEndPai(string lie, string pai,string ceng, string dept) + public static PlcTaskInfo GetEndPai(string road,string lie, string pai,string ceng, string dept) { - var roadNum = int.Parse(lie); + var roadNum = int.Parse(road); + var lieNum = int.Parse(lie); var paiNum = int.Parse(pai); + var cengNum = int.Parse(ceng); var deptNum = int.Parse(dept); var paiVal = 0; @@ -317,9 +429,9 @@ } PlcTaskInfo taskInfo = new PlcTaskInfo(); - taskInfo.EndPai = pai; - taskInfo.EndCeng = ceng; - taskInfo.EndLie = paiVal.ToString(); + taskInfo.EndPai = paiVal.ToString(); + taskInfo.EndCeng = cengNum.ToString(); + taskInfo.EndLie = lieNum.ToString() ; return taskInfo; } diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 0a425c0..56f451d 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -105,8 +105,8 @@ } } - // 鑾峰彇杞崲鍚庣殑璧峰鎺掑垪灞� - PlcTaskInfo startTaskInfo = PLCCommon.GetEndPai(modTask.StartLocate.Substring(1, 2), + // 鑾峰彇杞崲鍚庣殑璧峰鎺掑垪灞� 06010101 + PlcTaskInfo startTaskInfo = PLCCommon.GetEndPai(modTask.StartRoadway.Substring(1, 2), modTask.StartLocate.Substring(2, 2), modTask.StartLocate.Substring(0, 2), modTask.StartLocate.Substring(4, 2), modTask.StartLocate.Substring(6, 2)); @@ -136,7 +136,7 @@ if (listResult.All(s => s.IsSucceed)) { // 鍐欏叆璺烘満浠诲姟涓嬪彂瀹屾垚 - plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "830"); + var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "830"); // 灏嗙Щ搴撲换鍔″緟鎵ц鏀逛负姝e湪鎵ц _db.Updateable<WcsTask>() @@ -193,7 +193,7 @@ var (res, val) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTask.PlcPos); var modPosEndStation = modDevice.listStation.FirstOrDefault(m => m.Text == "鐩殑宸ヤ綅"); - var (endStationRes, endStation) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTask.PlcPos); + var (endStationRes, endStation) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosEndStation.PlcPos); if (res.IsSucceed) { // 鑾峰彇浠诲姟淇℃伅 @@ -402,7 +402,7 @@ if (plcConveyorConn.Connected) { // 鏍规嵁鐩爣鍦板潃鍜屽贩閬撹幏鍙栨斁璐у伐浣嶅搴旂殑鎺掑垪灞� - PlcTaskInfo taskInfo = PLCCommon.GetCTaskInfo(modTask.EndLocate, modTask.TaskType.ToString(), + PlcTaskInfo taskInfo = PLCCommon.GetCTaskInfo(modTask.EndLocate, ((int)modTask.TaskType).ToString(), modTask.StartRoadway, modTask.EndRoadway); // 鏍规嵁宸ヤ綅鍙疯幏鍙栧伐浣嶄俊鎭� var wcsDevice = PLCTaskAction.plcDevices.First(s => s.PlcId == plcConveyorConn.PlcId && s.Level == DeviceLevelEnum.Station && s.StationNum == taskInfo.EndStation); @@ -413,19 +413,19 @@ var listResult = new List<Result>(); //浠诲姟鍙� var modPosTask = listPos.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); + listResult.Add(plcConveyorConn.SetPlcDBValue(modPosTask.PosType, wcsDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo)); //浠诲姟绫诲瀷 var modPosTaskType = listPos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); - listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); + listResult.Add(plcConveyorConn.SetPlcDBValue(modPosTaskType.PosType, wcsDevice.DbNumber, modPosTaskType.PlcPos, ((int)modTask.TaskType).ToString())); //鎵樼洏鍙� var modPosPalletNo = listPos.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConveyorConn.SetPlcDBValue(modPosPalletNo.PosType, wcsDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); //璧峰宸ヤ綅 var modPosLocatNo = listPos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosLocatNo.PosType, modDevice.DbNumber, modPosLocatNo.PlcPos, taskInfo.EndStation)); + listResult.Add(plcConveyorConn.SetPlcDBValue(modPosLocatNo.PosType, wcsDevice.DbNumber, modPosLocatNo.PlcPos, taskInfo.EndStation)); // 鐩爣宸ヤ綅 var modPosEndLocatNo = listPos.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndLocatNo.PosType, modDevice.DbNumber, modPosEndLocatNo.PlcPos, outCode)); + listResult.Add(plcConveyorConn.SetPlcDBValue(modPosEndLocatNo.PosType, wcsDevice.DbNumber, modPosEndLocatNo.PlcPos, outCode)); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) -- Gitblit v1.8.0