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