自动化立体仓库 - WCS系统
#
Junjie
2023-09-28 6cf99e75f5c51714ed9bdbd503aefc856f0ab76b
src/main/java/com/zy/core/thread/LiftThread.java
@@ -125,9 +125,9 @@
        try {
            readStatus();
            //提升机处于运行状态,将标记置为true
            //提升机处于运行状态,将标记置为false
            if (liftProtocol.getBusy()) {
                liftProtocol.setPakMk(true);
                liftProtocol.setPakMk(false);
            }
            //提升机处于未运行、就绪、标记true、有任务号
@@ -185,10 +185,10 @@
                liftProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6));
                //当前楼层
                short lev = siemensS7Net.getByteTransform().TransInt16(result1.Content, 8);
                if (lev >=5 && lev <= 7) {
                    lev += 2;
                } else if (lev >= 8 && lev <= 10) {
                    lev += 4;
                if (lev >= 7 && lev <= 9) {
                    lev -= 2;
                } else if (lev >= 12 && lev <= 14) {
                    lev -= 4;
                }
                liftProtocol.setLev(lev);
@@ -361,9 +361,10 @@
            return false;
        }
        liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);
        News.info("提升机命令下发成功,提升机号={},任务数据={}", command.getLiftNo(), JSON.toJSON(command));
        //将标记置为false(防止重发)
        //将标记置为true(防止重发)
        liftProtocol.setPakMk(true);
        //保存数据到数据库做流水
@@ -378,7 +379,6 @@
                    null,
                    null,
                    JSON.toJSONString(command),
                    JSON.toJSONString(commandArr),
                    JSON.toJSONString(liftProtocol)
            );
            liftOptService.insert(opt);
@@ -402,6 +402,18 @@
            News.info("提升机任务执行下发完成等待执行结束,提升机号={},任务数据={}", command.getLiftNo(), JSON.toJSON(command));
        }
        if (redisCommand.getAssignCommand().getTaskMode() == NyLiftTaskModelType.RESET.id.shortValue()) {
            //复位命令
            //工作号清零
            liftProtocol.setTaskNo((short) 0);
            //令牌清零
            liftProtocol.setToken(0);
            //设置提升机为空闲状态
            liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE);
            //任务指令清零
            liftProtocol.setAssignCommand(null);
        }
        return true;
    }