From 8b0d749cfbec8bf0afe71a8956bfeeed6f27cdfc Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 16 一月 2025 15:32:30 +0800 Subject: [PATCH] Merge branch 'csc' --- Admin.NET/WCS.Application/Hub/PlcHub.cs | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 110 insertions(+), 8 deletions(-) diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs index bfb6fb8..a7caaa5 100644 --- a/Admin.NET/WCS.Application/Hub/PlcHub.cs +++ b/Admin.NET/WCS.Application/Hub/PlcHub.cs @@ -74,12 +74,23 @@ if (PLCTaskAction.boDemo) { //鍒ゆ柇鍒嗘嫞鐮佸灈鏈夋病鏈夌粦瀹氫换鍔� - var checkTask = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Status == "1").ToListAsync(); + var checkTask = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Status == "1" && w.RoboatType == PLCTypeEnum.RobotPalletizer).ToListAsync(); if (checkTask.Count > 0) { - throw Oops.Oh("鍒嗘嫞鐮佸灈宸茬粦瀹氫换鍔★紝涓嶆敮鎸佸紑鍚紨绀烘ā寮忥紒"); + PLCTaskAction.boDemo = false; + await _plcHubContext.Clients.All.UpdateService( + new PLCServiceModel() + { + BoRunningState = PLCTaskAction.boRunningState, + BoRefresh = PLCTaskAction.boRefresh, + BoOffline = PLCTaskAction.boOffline, + BoDemo = PLCTaskAction.boDemo, + BoDrumReversal = PLCTaskAction.boDrumReversal, + Error = "鍒嗘嫞鐮佸灈宸茬粦瀹氫换鍔★紝涓嶆敮鎸佸紑鍚紨绀烘ā寮忥紒" + }); + return; } - } + } //PLC杩炴帴 var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120"); if (plcStackeConn.Connected) @@ -88,16 +99,60 @@ var ret = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Bit, "DB119", "0", PLCTaskAction.boDemo == true ? "1" : "0"); if (ret.IsSucceed) { - await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value); + if (PLCTaskAction.boDemo) + { + // 鍐欏叆plc鎶撶鍝佺 + var rett = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Short, "DB111", "0", "1"); + if (rett.IsSucceed) + { + await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value); + } + } + else + { + var rett = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Short, "DB111", "0", "0"); + if (rett.IsSucceed) + { + await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value); + } + } } else { PLCTaskAction.boDemo = !PLCTaskAction.boDemo; + + await _plcHubContext.Clients.All.UpdateService( + new PLCServiceModel() + { + BoRunningState = PLCTaskAction.boRunningState, + BoRefresh = PLCTaskAction.boRefresh, + BoOffline = PLCTaskAction.boOffline, + BoDemo = PLCTaskAction.boDemo, + BoDrumReversal = PLCTaskAction.boDrumReversal, + BoOutLock=PLCTaskAction.boOutLock, + BoEnterLock=PLCTaskAction.boEnterLock, + Error = "涓嶱CL浜や簰澶辫触锛屾搷浣滃け璐ワ紒" + }); + return; } } else { PLCTaskAction.boDemo = !PLCTaskAction.boDemo; + + await _plcHubContext.Clients.All.UpdateService( + new PLCServiceModel() + { + BoRunningState = PLCTaskAction.boRunningState, + BoRefresh = PLCTaskAction.boRefresh, + BoOffline = PLCTaskAction.boOffline, + BoDemo = PLCTaskAction.boDemo, + BoDrumReversal = PLCTaskAction.boDrumReversal, + BoOutLock = PLCTaskAction.boOutLock, + BoEnterLock = PLCTaskAction.boEnterLock, + Error = "PCL鏈繛鎺ワ紝鎿嶄綔澶辫触锛�" + }); + return; } } //婊氱瓛鍙嶈浆 @@ -118,27 +173,74 @@ 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, + BoOutLock=PLCTaskAction.boOutLock, + BoEnterLock=PLCTaskAction.boEnterLock, + Error = "涓嶱CL浜や簰澶辫触锛屾搷浣滃け璐ワ紒" + }); + return; } } - else + 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, + BoOutLock = PLCTaskAction.boOutLock, + BoEnterLock = PLCTaskAction.boEnterLock, + Error = "PCL鏈繛鎺ワ紝鎿嶄綔澶辫触锛�" + }); + return; } } - await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo, BoDrumReversal = PLCTaskAction.boDrumReversal }); + //鍑哄簱閿佸畾 + if (context.BoOutLock.HasValue) + { + PLCTaskAction.boOutLock = context.BoOutLock.Value; + await _sysConfigService.UpdateConfigValue("sys_BoOutLock", context.BoOutLock.Value); + } + //鍏ュ簱閿佸畾 + if (context.BoEnterLock.HasValue) + { + PLCTaskAction.boEnterLock = context.BoEnterLock.Value; + await _sysConfigService.UpdateConfigValue("sys_BoEnterLock", context.BoEnterLock.Value); + } + await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo, BoDrumReversal = PLCTaskAction.boDrumReversal, BoOutLock = PLCTaskAction.boOutLock, BoEnterLock = PLCTaskAction.boEnterLock }); } } public class PLCServiceModel { public bool? BoRunningState { get; set; } - public bool? BoOffline { get; set; } - public bool? BoRefresh { get; set; } public bool? BoDemo { get; set; } public bool? BoDrumReversal { get; set; } + + public bool? BoOutLock { get; set; } + + public bool? BoEnterLock { get; set; } + + /// <summary> + /// 閿欒淇℃伅 + /// </summary> + public string Error { get; set; } } \ No newline at end of file -- Gitblit v1.8.0