Junjie
2023-06-27 87979797bfd862a256b22159fc7b480aa299dd05
小车状态读取更新
2个文件已修改
25 ■■■■ 已修改文件
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/ShuttleThread.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
@@ -128,7 +128,7 @@
    private Short statusErrorCode;
    /**
     * PLC输入状态
     * PLC输入状态,目前只有一个状态有效果,托盘雷达1有货,0无货
     */
    private Short plcInputStatus;
src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -134,16 +134,19 @@
                //错误编号
                shuttleProtocol.setErrorCode(modbusTcpNet.getByteTransform().TransInt16(content,8));
                //Plc输出状态IO
                boolean[] booleans = modbusTcpNet.getByteTransform().TransBool(content, 10, 2);
                shuttleProtocol.setPlcOutputLift(booleans[1]);
                shuttleProtocol.setPlcOutputTransfer(booleans[2]);
                shuttleProtocol.setPlcOutputBrake(booleans[3]);
                shuttleProtocol.setPlcOutputCharge(booleans[4]);
                int plcOutIo = modbusTcpNet.getByteTransform().TransUInt16(content, 10);
                int[] plcOutIos = CommonUtils.byteToBits((byte) plcOutIo);
                shuttleProtocol.setPlcOutputLift(plcOutIos[1] == 1);
                shuttleProtocol.setPlcOutputTransfer(plcOutIos[2] == 1);
                shuttleProtocol.setPlcOutputBrake(plcOutIos[3] == 1);
                shuttleProtocol.setPlcOutputCharge(plcOutIos[4] == 1);
                shuttleProtocol.setPlcOutputStatusIO(modbusTcpNet.getByteTransform().TransInt16(content, 10));
                //错误信息码
                shuttleProtocol.setStatusErrorCode(modbusTcpNet.getByteTransform().TransInt16(content,12));
                int plcInIo = modbusTcpNet.getByteTransform().TransUInt16(content, 14);
                int[] plcInIos = CommonUtils.byteToBits((byte) plcInIo);
                //PLC输入状态
                shuttleProtocol.setPlcInputStatus(modbusTcpNet.getByteTransform().TransInt16(content,14));
                shuttleProtocol.setPlcInputStatus((short) plcInIos[6]);
                //当前或者之前读到的二维码值
                shuttleProtocol.setCurrentOrBeforeCode(modbusTcpNet.getByteTransform().TransInt16(content,16));
                //读到的二维码X方向偏移量
@@ -733,6 +736,14 @@
        int size = commands.size();
        ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand();
        if (commandStep != 0) {
            //判断上一条指令是否完成
            ShuttleCommand command = commands.get(commandStep - 1);
            if (command.getDistCodeNum().intValue() == shuttleProtocol.getCurrentCode().intValue()) {
                //上一条指令的目标位置
            }
        }
        //取出命令
        ShuttleCommand command = commands.get(commandStep);