From 99a33793ea2b32a958db7286335714213db477ee Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 25 九月 2024 15:33:03 +0800 Subject: [PATCH] 更改分拣任务的绑定和结批功能;更改演示模式开关和滚筒反转开关 --- Admin.NET/WCS.Application/Hub/PlcHub.cs | 68 ++++++++++++++++++++++++++++++++- 1 files changed, 65 insertions(+), 3 deletions(-) diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs index de41681..1075892 100644 --- a/Admin.NET/WCS.Application/Hub/PlcHub.cs +++ b/Admin.NET/WCS.Application/Hub/PlcHub.cs @@ -10,10 +10,11 @@ public class PlcHub : Hub<IPlcHub> { private readonly IHubContext<PlcHub, IPlcHub> _plcHubContext; - - public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext) + private readonly SysConfigService _sysConfigService; + public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService) { _plcHubContext = plcHubContext; + _sysConfigService = sysConfigService; } /// <summary> /// 涓嬪彂PLC杩炴帴鐘舵�� @@ -48,14 +49,71 @@ PLCTaskAction.Init(); else PLCTaskAction.Stop(); + await _sysConfigService.UpdateConfigValue("sys_RunningState", context.BoRunningState.Value); } //鑴辨満妯″紡 if (context.BoOffline.HasValue) + { PLCTaskAction.boOffline = context.BoOffline.Value; + await _sysConfigService.UpdateConfigValue("sys_Offline", context.BoOffline.Value); + } //鑷埛鏂� if (context.BoRefresh.HasValue) + { PLCTaskAction.boRefresh = context.BoRefresh.Value; - await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline }); + await _sysConfigService.UpdateConfigValue("sys_Refresh", context.BoRefresh.Value); + } + //婕旂ず妯″紡 + if (context.BoDemo.HasValue) + { + PLCTaskAction.boDemo = context.BoDemo.Value; + + //PLC杩炴帴 + var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120"); + if (plcStackeConn.Connected) + { + //鍐欏叆娴佺▼瀛� + var ret = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Bit, "DB119", "0", PLCTaskAction.boDemo == true ? "1" : "0"); + if (ret.IsSucceed) + { + await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value); + } + else + { + PLCTaskAction.boDemo = !PLCTaskAction.boDemo; + } + } + else + { + PLCTaskAction.boDemo = !PLCTaskAction.boDemo; + } + } + //婊氱瓛鍙嶈浆 + if (context.BoDrumReversal.HasValue) + { + PLCTaskAction.boDrumReversal = context.BoDrumReversal.Value; + + //PLC杩炴帴 + var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120"); + if (plcStackeConn.Connected) + { + //鍐欏叆娴佺▼瀛� + var ret = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Bit, "DB119", "0.1", PLCTaskAction.boDemo == true ? "1" : "0"); + if (ret.IsSucceed) + { + await _sysConfigService.UpdateConfigValue("sys_DrumReversal", context.BoDrumReversal.Value); + } + else + { + PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal; + } + } + else + { + PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal; + } + } + await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo, BoDrumReversal = PLCTaskAction.boDrumReversal }); } } public class PLCServiceModel @@ -67,4 +125,8 @@ public bool? BoRefresh { get; set; } + + public bool? BoDemo { get; set; } + + public bool? BoDrumReversal { get; set; } } \ No newline at end of file -- Gitblit v1.8.0