chengsc
2024-09-12 4db56b86d54f4f8d5a01ecb7365a30673f5d8fd4
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,27 @@
                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(context);
            await _sysConfigService.UpdateConfigValue("sys_Refresh", context.BoRefresh.Value);
        }
        //演示模式
        if (context.BoDemo.HasValue)
        {
            PLCTaskAction.boDemo = context.BoDemo.Value;
            await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value);
        }
        await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo});
    }
}
public class PLCServiceModel
@@ -67,4 +81,6 @@
    public bool? BoRefresh { get; set; }
    public bool? BoDemo { get; set; }
}