From 5af0a043ffbbe444f7e43b6bf52a9e94c74283f2 Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期三, 11 九月 2024 08:43:43 +0800 Subject: [PATCH] 跺机交互流程 --- Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 26 +++++++++++++++++++------- 1 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs index 69e9e93..c301944 100644 --- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs +++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs @@ -19,6 +19,7 @@ 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>(); private static List<WcsDevice> listPlcDevice = new List<WcsDevice>(); @@ -32,11 +33,20 @@ { get { return listPlcUtil; } } + // 浜や簰鐐归泦鍚� + public static List<WcsDevice> plcDevices + { + get { return listPlcDevice; } + } + public static event EventHandler DeviceValueChangeEvent; static PLCTaskAction() { //璁㈤槄浜嬩欢 DeviceValueChangeEvent += PLCService.OnChangeEvent; + boRunningState = _sysConfigService.GetConfigValue<bool>("sys_RunningState").Result; + boOffline = _sysConfigService.GetConfigValue<bool>("sys_Offline").Result; + boRefresh = _sysConfigService.GetConfigValue<bool>("sys_Refresh").Result; } /// <summary> /// 鍒濆鍖朠LC杩炴帴 @@ -60,18 +70,20 @@ var plc = new PLCUtil(modPlc); listPlcUtil.Add(plc); } - cts = new CancellationTokenSource(); - boRunningState = true; _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = boRunningState, BoOffline = boOffline, BoRefresh = boRefresh }); - StartRead(); - ConnectionStatus(); - StartWatchAlarm(); - StartWatchPosition(); + if (boRunningState) + { + cts = new CancellationTokenSource(); + StartRead(); + ConnectionStatus(); + StartWatchAlarm(); + StartWatchPosition(); + } } /// <summary> /// 寮�鍚鍙杙lc绾跨▼ @@ -139,7 +151,7 @@ dto.listStation = listPlcStation.Where(s => s.DeviceId == modDevice.Id).ToList(); dto.listDevice = listDevice.Where(s => s.StationNum == modDevice.StationNum && s.Level == DeviceLevelEnum.Station).ToList(); //杩欓噷瑙﹀彂鍊煎彉鏇翠簨浠� - //DeviceValueChangeEvent?.Invoke(dto, EventArgs.Empty); + DeviceValueChangeEvent?.Invoke(dto, EventArgs.Empty); } else if (!modPlcUtil.Connected) { -- Gitblit v1.8.0