From d5f506ef2f7a9e8feb73e62f57086b5458ffbcbd Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期三, 18 九月 2024 13:26:31 +0800
Subject: [PATCH] 自刷新功能
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 127 +++++++++++++------------------
Admin.NET/WCS.Application/Hub/HubUtil.cs | 88 ++++++++++++++++++++++
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 13 +-
Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs | 3
Admin.NET/WCS.Application/WCS.Application.csproj | 2
5 files changed, 149 insertions(+), 84 deletions(-)
diff --git a/Admin.NET/WCS.Application/Hub/HubUtil.cs b/Admin.NET/WCS.Application/Hub/HubUtil.cs
new file mode 100644
index 0000000..988aab8
--- /dev/null
+++ b/Admin.NET/WCS.Application/Hub/HubUtil.cs
@@ -0,0 +1,88 @@
+锘縰sing Microsoft.AspNetCore.SignalR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WCS.Application;
+public static class HubUtil
+{
+ private static readonly IHubContext<PlcHub, IPlcHub> _plcHubContext = App.GetService<IHubContext<PlcHub, IPlcHub>>();
+ private static readonly IHubContext<PlcDeviceHub, IPlcDeviceHub> _plcDeviceHubContext = App.GetService<IHubContext<PlcDeviceHub, IPlcDeviceHub>>();
+ private static readonly IHubContext<TaskLogHub, ITaskLogHub> _taskLogHubContext = App.GetService<IHubContext<TaskLogHub, ITaskLogHub>>();
+
+ /// <summary>
+ /// 涓嬪彂PLC杩炴帴鐘舵��
+ /// </summary>
+ /// <param name="context"></param>
+ /// <returns></returns>
+ public static async Task PublicPlcConn(WcsPlc context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _plcHubContext.Clients.All.PublicPlcConn(context);
+ }
+
+ /// <summary>
+ /// 涓嬪彂鎶ヨ淇℃伅
+ /// </summary>
+ /// <param name="context"></param>
+ /// <returns></returns>
+ public static async Task PublicAlarm(List<WcsAlarmInfo> context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _plcHubContext.Clients.All.PublicAlarm(context);
+ }
+
+ /// <summary>
+ /// 淇敼鏈嶅姟鐘舵��
+ /// </summary>
+ /// <param name="context"></param>
+ public static async Task UpdateService(PLCServiceModel context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _plcHubContext.Clients.All.UpdateService(context);
+ }
+
+ /// <summary>
+ /// 涓嬪彂鎺у埗鍙颁綅缃俊鎭�
+ /// </summary>
+ /// <param name="context"></param>
+ /// <returns></returns>
+ public static async Task PublicPosition(PlcPositionInfo context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _plcHubContext.Clients.All.PublicPosition(context);
+ }
+
+ /// <summary>
+ /// 涓嬪彂浠诲姟
+ /// </summary>
+ /// <returns></returns>
+ public static async Task PublicTask(WcsTaskOutput context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _taskLogHubContext.Clients.All.PublicTask(context);
+ }
+
+ /// <summary>
+ /// 涓嬪彂浠诲姟鏄庣粏
+ /// </summary>
+ /// <returns></returns>
+ public static async Task PublicTaskMonitor(WcsTaskMonitorOutput context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _taskLogHubContext.Clients.All.PublicTaskMonitor(context);
+ }
+
+ /// <summary>
+ /// 涓嬪彂璁惧淇℃伅
+ /// </summary>
+ /// <param name="context"></param>
+ /// <returns></returns>
+ public static async Task PublicPlcDevice(WcsDeviceOutput context)
+ {
+ if (PLCTaskAction.boRefresh)
+ await _plcDeviceHubContext.Clients.All.PublicPlcDevice(context);
+ }
+}
diff --git a/Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs b/Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs
index fdff08a..7a2c8ff 100644
--- a/Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs
+++ b/Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs
@@ -16,7 +16,6 @@
[MapHub("/hubs/PlcDevice")]
public class PlcDeviceHub : Hub<IPlcDeviceHub>
{
- private static readonly IHubContext<PlcDeviceHub, IPlcDeviceHub> _plcDeviceHubContext = App.GetService<IHubContext<PlcDeviceHub, IPlcDeviceHub>>();
private static readonly SysCacheService _sysCacheService = App.GetRequiredService<SysCacheService>();
private static bool boRunningState = false;
private static CancellationTokenSource cts;//鍙栨秷绾跨▼鏍囪瘑
@@ -219,7 +218,7 @@
modDevice.PickStorey != initialState.PickStorey)))
{
// 閫氱煡鐢ㄦ埛鍙樻洿
- _plcDeviceHubContext.Clients.All.PublicPlcDevice(modDevice);
+ HubUtil.PublicPlcDevice(modDevice);
}
}
initialStates[modDevice.Id] = modDevice.Adapt<WcsDeviceOutput>();
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index aefbb9f..87b4c3c 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -15,12 +15,6 @@
public static class PLCService
{
private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
- private static readonly IHubContext<TaskLogHub, ITaskLogHub> _taskLogHubContext;
-
- static PLCService()
- {
- _taskLogHubContext = App.GetService<IHubContext<TaskLogHub, ITaskLogHub>>();
- }
public static void OnChangeEvent(object sender, EventArgs e)
{
@@ -148,7 +142,7 @@
.SetColumns(s => s.Status == TaskStatusEnum.Doing)
.Where(s => s.Id == modTask.Id)
.ExecuteCommand();
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
WcsTaskMonitor modInsertTaskMonitor;
if (string.IsNullOrEmpty(taskInfo.EndStation))
{
@@ -184,7 +178,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
//淇敼led灞忎俊鎭�
//LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.EndLocate, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿modTask.StartLocate}", "鎵樼洏鍙�:" + modTask.PalletNo);
}
@@ -251,7 +245,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
break;
}
@@ -259,7 +253,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modcTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
// 鍐欏叆娴佺▼鎺у埗瀛�
@@ -274,7 +268,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
}
else if (modTask.TaskType == TaskTypeEnum.Out)
@@ -306,7 +300,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
//淇敼led灞忎俊鎭�
//LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.EndLocate, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿modTask.StartLocate}", "鎵樼洏鍙�:" + modTask.PalletNo);
}
@@ -343,8 +337,8 @@
modTask.Status = TaskStatusEnum.Complete;
modTask.FinishDate = DateTime.Now;
_db.Updateable(modTask).ExecuteCommand();
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
- var modcTaskMonitor = new WcsTaskMonitor()
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ var modTaskMonitor = new WcsTaskMonitor()
{
TaskNo = modTask.TaskNo,
PlcId = modDevice.Id,
@@ -369,13 +363,13 @@
var modResponseTask = httpService.RequestTask(requestMode).Result;
if (modResponseTask.StatusCode == "0")
{
- modcTaskMonitor.InteractiveMsg = "浠诲姟瀹屾垚锛岃繑鍥炵粰WMS浠诲姟瀹屾垚";
+ modTaskMonitor.InteractiveMsg = "浠诲姟瀹屾垚锛岃繑鍥炵粰WMS浠诲姟瀹屾垚";
}
}
// 鎻掑叆浜や簰鏃ュ織
- _db.Insertable(modcTaskMonitor).ExecuteCommand();
+ _db.Insertable(modTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// 姝ゅ娣诲姞涓嶇┖璺戜笟鍔�
}
@@ -440,7 +434,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modcTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
break;
}
}
@@ -469,8 +463,7 @@
modTask.FinishDate = DateTime.Now;
_db.Updateable(modTask).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
-
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
var modcTaskMonitor = new WcsTaskMonitor()
{
TaskNo = modTask.TaskNo,
@@ -504,7 +497,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modcTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// 姝ゅ娣诲姞涓嶇┖璺戜笟鍔�
}
@@ -538,7 +531,7 @@
break;
modTask.Status = TaskStatusEnum.Exception;
_db.Updateable(modTask).UpdateColumns(s => s.Status).ExecuteCommand();
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
Log.Information($"銆愬爢鍨涙満銆憌cs浠诲姟鍙樻洿绌哄彇寮傚父锛屼换鍔″彿锛歿modTask.TaskNo}");
var modTaskRequest = modTask.Adapt<TaskRequest>();
HttpService httpService = new HttpService();
@@ -549,7 +542,7 @@
modTask.IsSuccess = TaskSuccessEnum.Success;
_db.Updateable(modTask).UpdateColumns(s => s.IsSuccess).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
}
else
{
@@ -557,7 +550,7 @@
modTask.IsSuccess = TaskSuccessEnum.Fail;
modTask.Information = modResponseTask.Message;
_db.Updateable(modTask).UpdateColumns(s => new { s.IsSuccess, s.Information }).ExecuteCommand();
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
}
}
break;
@@ -578,7 +571,7 @@
}
modTask.Status = TaskStatusEnum.Exception;
_db.Updateable(modTask).UpdateColumns(s => s.Status).ExecuteCommand();
- _taskLogHubContext.Clients.All.PublicTask(modTask.Adapt<WcsTaskOutput>());
+ HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>());
Log.Information($"銆愬爢鍨涙満銆憌cs浠诲姟鍙樻洿婊″彇寮傚父锛屼换鍔″彿锛歿modTask.TaskNo}");
var modTaskRequest = modTask.Adapt<TaskRequest>();
HttpService httpService = new HttpService();
@@ -632,7 +625,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modcTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
}
@@ -680,12 +673,12 @@
var http = new HttpService();
string TaskNo = "", EndLocate = "";
strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo);
-
+
if (!strMsg.Contains("-1"))
{
// 鍐欏叆330
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "330");
-
+
if (ret.IsSucceed)
{
// 鎻掑叆浠诲姟鏄庣粏
@@ -700,15 +693,12 @@
StartLocat = modDevice.StationNum,
EndLocat = EndLocate,
};
-
+
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
- if (PLCTaskAction.boRefresh)
- {
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- }
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏇存柊鍐呭
//DataRow ConveyorsRow10 = PlcInfoDt.Select($"Level = '2' and StationNum = '{EndLocat}'")[0];
//LedDisplay(ConveyorsRow10["LedIP"].ToString(), "宸ヤ綅:" + EndLocat, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿StartLocat}", "鎵樼洏鍙�:" + PalletNo);
@@ -718,7 +708,7 @@
else
{
// 鐢宠宸烽亾澶辫触锛丩ED鏄剧ず
- Log.Error(string.Format($"鐢宠宸烽亾澶辫触:{ strMsg },璇诲啓plc閿欒"));
+ Log.Error(string.Format($"鐢宠宸烽亾澶辫触:{strMsg},璇诲啓plc閿欒"));
}
}
break;
@@ -741,7 +731,7 @@
// 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず
break;
}
-
+
// 鑾峰彇宸烽亾鍙e叆搴撳伐浣�
string endLocatVlue = PLCCommon.RoadwayToStationNum(modTask.EndRoadway, louCeng);
// 缁橮LC鍐欏叆浠诲姟鏁版嵁
@@ -759,7 +749,7 @@
listResult.Add(plcConn.SetPlcDBValue(modPosStrLocat.PosType, modDevice.DbNumber, modPosStrLocat.PlcPos, modDevice.StationNum));
var modPosEndLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅");
listResult.Add(plcConn.SetPlcDBValue(modPosEndLocat.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, endLocatVlue));
-
+
if (listResult.All(s => s.IsSucceed))
{
@@ -769,10 +759,10 @@
.Where(s => s.Id == modTask.Id)
.ExecuteCommand();
// 鍐欏叆娴佺▼瀛� 330 340
-
+
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "340");
-
-
+
+
if (ret.IsSucceed)
{
// 鎻掑叆浠诲姟鏄庣粏
@@ -792,10 +782,7 @@
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
- if (PLCTaskAction.boRefresh)
- {
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- }
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏇存柊鍐呭
//LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.EndLocate, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿modTask.StartLocate}", "鎵樼洏鍙�:" + modTask.PalletNo);
@@ -807,7 +794,7 @@
case "620":
{
// 鐢宠鍌ㄤ綅 鏇存柊鍏ュ簱浠诲姟(鍌ㄤ綅鍦板潃) 630
-
+
var strMsg = "";
var taskModel = "";
// 鍒ゆ柇鏄惁婕旂ず妯″紡
@@ -857,10 +844,7 @@
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
- if (PLCTaskAction.boRefresh)
- {
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- }
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏇存柊鍐呭
//DataRow ConveyorsRow10 = PlcInfoDt.Select($"Level = '2' and StationNum = '{EndLocat}'")[0];
//LedDisplay(ConveyorsRow10["LedIP"].ToString(), "宸ヤ綅:" + EndLocat, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿StartLocat}", "鎵樼洏鍙�:" + PalletNo);
@@ -871,7 +855,7 @@
// 鐢宠鍌ㄤ綅澶辫触锛丩ED鏄剧ず
Log.Error(string.Format($"鐢宠鍌ㄤ綅澶辫触:{strMsg},璇诲啓plc閿欒"));
}
-
+
}
break;
case "630":
@@ -884,7 +868,7 @@
// 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
- if (!res.IsSucceed || !taskRes.IsSucceed )
+ if (!res.IsSucceed || !taskRes.IsSucceed)
{
break;
}
@@ -897,13 +881,13 @@
// 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず
break;
}
-
+
var sInfo = PLCCommon.GetStokePlc(modTask.EndRoadway, louCeng);
if (string.IsNullOrWhiteSpace(sInfo.Ip))
{
//闇�鍔犱笂LED鏄剧ず
Log.Error(string.Format($"鏍规嵁宸烽亾鑾峰彇璺烘満IP澶辫触锛岃鑱旂郴绠$悊鍛�"));
- break;
+ break;
}
// 璺烘満杩炴帴
var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == sInfo.Ip);
@@ -929,7 +913,7 @@
// 鑾峰彇璺烘満褰撳墠鐘舵��
var (djRes, djVal) = plcStackeConn.GetPlcDBValue(djMod.PosType, djMod.DbNumber, djMod.PlcPos);
-
+
if (!djRes.IsSucceed || djVal != "820")
{
// 璺烘満闈炵┖闂茬瓑寰�
@@ -946,7 +930,7 @@
listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鍙�");
listResult.Add(plcStackeConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
-
+
//璧峰宸ヤ綅
var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅");
listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum));
@@ -988,7 +972,7 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
break;
}
@@ -996,17 +980,18 @@
// 鎻掑叆浜や簰鏃ュ織
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
if (PLCTaskAction.boRefresh)
- { //涓嬪彂浠诲姟鏃ュ織
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+ {
+ //涓嬪彂浠诲姟鏃ュ織
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
-
- }
-
-
-
+ }
+
+
+
+
}
-
+
#endregion
}
break;
@@ -1019,7 +1004,7 @@
// led鏄剧ず鎵樼洏淇℃伅
// 鍐欏叆430
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "430");
-
+
if (ret.IsSucceed)
{
var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
@@ -1045,11 +1030,8 @@
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
- if (PLCTaskAction.boRefresh)
- {
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- }
-
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+
// led鏇存柊鍐呭
//DataRow ConveyorsRow10 = PlcInfoDt.Select($"Level = '2' and StationNum = '{EndLocat}'")[0];
//LedDisplay(ConveyorsRow10["LedIP"].ToString(), "宸ヤ綅:" + EndLocat, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿StartLocat}", "鎵樼洏鍙�:" + PalletNo);
@@ -1093,10 +1075,7 @@
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
- if (PLCTaskAction.boRefresh)
- {
- _taskLogHubContext.Clients.All.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- }
+ HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏇存柊鍐呭
//DataRow ConveyorsRow10 = PlcInfoDt.Select($"Level = '2' and StationNum = '{EndLocat}'")[0];
//LedDisplay(ConveyorsRow10["LedIP"].ToString(), "宸ヤ綅:" + EndLocat, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿StartLocat}", "鎵樼洏鍙�:" + PalletNo);
@@ -1132,7 +1111,7 @@
/// 鎷嗗灈鏈哄櫒浜轰笟鍔″鐞�
/// </summary>
/// <param name="modDevice"></param>
- private static void StackingRobot(WcsDeviceDto modDevice)
+ private static void StackingRobot(WcsDeviceDto modDevice)
{
var plcConn = modDevice.PLCUtil;
switch (modDevice.Value.ToString())
diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index 2137784..f2a77a3 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -20,7 +20,6 @@
private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
private static readonly SysCacheService sysCacheService = App.GetRequiredService<SysCacheService>();
- private static readonly IHubContext<PlcHub, IPlcHub> _plcHubContext = App.GetService<IHubContext<PlcHub, IPlcHub>>();
private static readonly SysConfigService _sysConfigService = App.GetService<SysConfigService>();
private static List<WcsPlc> listPlc = new List<WcsPlc>();
@@ -79,7 +78,7 @@
var plc = new PLCUtil(modPlc);
listPlcUtil.Add(plc);
}
- _plcHubContext.Clients.All.UpdateService(new PLCServiceModel()
+ HubUtil.UpdateService(new PLCServiceModel()
{
BoRunningState = boRunningState,
BoOffline = boOffline,
@@ -225,14 +224,14 @@
{
//杩炴帴鐘舵�佸彉鏇� 閫氱煡鍓嶇
Console.WriteLine($"閫氱煡鍓嶇鍙樻洿{modPlc.Text} {modPlc.IsConn}");
- _plcHubContext.Clients.All.PublicPlcConn(modPlc);
+ HubUtil.PublicPlcConn(modPlc);
}
sysCacheService.Set("PLCCONN:" + modPlc.Id, modPlc);
}
else
{
sysCacheService.Set("PLCCONN:" + modPlc.Id, modPlc);
- _plcHubContext.Clients.All.PublicPlcConn(modPlc);
+ HubUtil.PublicPlcConn(modPlc);
}
}
Thread.Sleep(1000);
@@ -331,7 +330,7 @@
listLog.Add(modLog);
}
_db.Insertable(listLog).ExecuteCommand();
- _plcHubContext.Clients.All.PublicAlarm(listPulish);
+ HubUtil.PublicAlarm(listPulish);
}
}
catch (Exception ex)
@@ -407,7 +406,7 @@
StationNum = modDevice.StationNum,
BoxHeight = modDevice.BoxHeight
};
- _plcHubContext.Clients.All.PublicPosition(modInfo);
+ HubUtil.PublicPosition(modInfo);
UpdatePosition(modInfo);
}
}
@@ -420,7 +419,7 @@
modDevice.BoHaveItem = value;
//涓嬪彂鐘舵��
var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum, BoHaveItem = value };
- _plcHubContext.Clients.All.PublicPosition(modInfo);
+ HubUtil.PublicPosition(modInfo);
UpdatePosition(modInfo);
}
}
diff --git a/Admin.NET/WCS.Application/WCS.Application.csproj b/Admin.NET/WCS.Application/WCS.Application.csproj
index 3da5784..0275db2 100644
--- a/Admin.NET/WCS.Application/WCS.Application.csproj
+++ b/Admin.NET/WCS.Application/WCS.Application.csproj
@@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
- <NoWarn>1701;1702;1591;8632</NoWarn>
+ <NoWarn>1701;1702;1591;8632;4014</NoWarn>
<DocumentationFile></DocumentationFile>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
--
Gitblit v1.8.0