wxw
2024-09-26 70cdea5f6e57d1ebc29c25ef60f311fadca6ab21
Admin.NET/WCS.Application/Hub/PlcHub.cs
@@ -74,7 +74,7 @@
            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)
                {
                    PLCTaskAction.boDemo = false;
@@ -99,16 +99,56 @@
                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,
                           Error = "与PCL交互失败,操作失败!"
                       });
                    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,
                       Error = "PCL未连接,操作失败!"
                   });
                return;
            }
        }
        //滚筒反转
@@ -129,11 +169,35 @@
                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,
                           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,
                       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 });