From 3d2f1d836cd271a51f0c02b99f538070a783139d Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 23 九月 2024 08:17:15 +0800
Subject: [PATCH] 增加WCS接受WMS下发任务的方法
---
Admin.NET/WCS.Application/PLC/PLCCommon.cs | 76 +++++++++++++++++++++++--------------
1 files changed, 47 insertions(+), 29 deletions(-)
diff --git a/Admin.NET/WCS.Application/PLC/PLCCommon.cs b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
index f7291a1..7efbe37 100644
--- a/Admin.NET/WCS.Application/PLC/PLCCommon.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.SignalR;
+锘縰sing Elastic.Clients.Elasticsearch.Tasks;
+using Microsoft.AspNetCore.SignalR;
using RazorEngine.Compilation.ImpromptuInterface.Dynamic;
using System;
using System.Collections.Generic;
@@ -215,33 +216,32 @@
/// </summary>
/// <param name="startStation"></param>
/// <returns></returns>
- public static PlcTaskInfo GetPlcIp(string startStation)
+ public static PLCUtil GetPlcIp(string startStation)
{
- PlcTaskInfo taskInfo = new PlcTaskInfo();
-
+ 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 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))
{
- taskInfo.Ip = "10.18.51.110";
+ strIp = "10.18.51.110";
}
else if (conveyList2.Contains(startStation))
{
- taskInfo.Ip = "10.18.51.120";
+ strIp = "10.18.51.120";
}
else if (conveyList3.Contains(startStation))
{
- taskInfo.Ip = "10.18.51.130";
+ strIp = "10.18.51.130";
}
else
{
- throw new Exception("宸ヤ綅鏈煡璇㈠埌");
+ throw Oops.Bah("宸ヤ綅鏈煡璇㈠埌");
}
-
- return taskInfo;
+ var plcConveyorConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == strIp);
+ return plcConveyorConn;
}
/// <summary>
@@ -552,35 +552,53 @@
public static string GetRoadwayByStationNew(string StationNum)
{
string value = "";
- 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 conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "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" };
+ //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 conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "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(StationNum))
+ var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine);
+ var ip1 = ipInfo.First(m => m.Text == "1灞傛墭鐩樿緭閫佺嚎");
+ var ip2 = ipInfo.First(m => m.Text == "2灞傛墭鐩樿緭閫佺嚎");
+ var ip3 = ipInfo.First(m => m.Text == "3灞傛墭鐩樿緭閫佺嚎");
+
+ if (ip1 != null)
{
- value = "1";
- }
- else if (conveyList2.Contains(StationNum))
- {
- value = "2";
- }
- else if (conveyList3.Contains(StationNum))
- {
- value = "3";
- }
- else
- {
- throw new Exception("宸ヤ綅鏈煡璇㈠埌");
+ var dev1 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip1.Id).Select(m => m.StationNum).ToList();
+ if (dev1.Contains(StationNum))
+ {
+ value = "1";
+ return value;
+ }
}
- return value;
+ if (ip2 != null)
+ {
+ var dev2 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip2.Id).Select(m => m.StationNum).ToList();
+ if (dev2.Contains(StationNum))
+ {
+ value = "2";
+ return value;
+ }
+ }
+
+ if (ip3 != null)
+ {
+ var dev3 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip3.Id).Select(m => m.StationNum).ToList();
+ if (dev3.Contains(StationNum))
+ {
+ value = "3";
+ return value;
+ }
+ }
+
+ throw new Exception("宸ヤ綅鏈煡璇㈠埌");
}
/// <summary>
/// 鏍规嵁宸烽亾鍙枫�佸眰鏁� 鑾峰彇瀵瑰簲鐨勮泛鏈篒P鍙婂叆搴撳伐浣嶆帓鍒楀眰淇℃伅
/// </summary>
/// <param name="roadway">宸烽亾鍙�</param>
- /// <param name="plcList">杩炴帴闆嗗悎</param>
+ /// <param name="ceng">杩炴帴闆嗗悎</param>
/// <returns></returns>
public static StokInfo GetStokePlc(string roadway, string ceng)
{
--
Gitblit v1.8.0