Admin.NET/WCS.Application/Hub/PlcHub.cs
@@ -99,7 +99,23 @@
                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
                {
@@ -113,6 +129,8 @@
                           BoOffline = PLCTaskAction.boOffline,
                           BoDemo = PLCTaskAction.boDemo,
                           BoDrumReversal = PLCTaskAction.boDrumReversal,
                           BoOutLock=PLCTaskAction.boOutLock,
                           BoEnterLock=PLCTaskAction.boEnterLock,
                           Error = "与PCL交互失败,操作失败!"
                       });
                    return;
@@ -130,6 +148,8 @@
                       BoOffline = PLCTaskAction.boOffline,
                       BoDemo = PLCTaskAction.boDemo,
                       BoDrumReversal = PLCTaskAction.boDrumReversal,
                       BoOutLock = PLCTaskAction.boOutLock,
                       BoEnterLock = PLCTaskAction.boEnterLock,
                       Error = "PCL未连接,操作失败!"
                   });
                return;
@@ -153,29 +173,72 @@
                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;
                }
            }
            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>