#
TQS
2023-03-01 f30a3efc28ee4d3f67ddf76bc360b676595e4b80
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -243,10 +243,33 @@
        array[9] = command.getCommand();
        OperateResult result = siemensNet.Write("DB100.0", array);
        //堆垛机任务写入后,回读一次,看是否成功
        Thread.sleep(200);
        OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 20);
        if (resultRead.IsSuccess) {
            CrnCommand one = new CrnCommand();
            one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
            one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
            one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
            one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
            one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
            one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
            one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
            one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
            if (!command.getTaskNo().equals(one.getTaskNo()) || command.getTaskMode()!=one.getTaskMode()
                || command.getSourcePosX()!=one.getSourcePosX() ||  command.getSourcePosY()!=one.getSourcePosY()
                || command.getSourcePosZ()!=one.getSourcePosZ() || command.getDestinationPosX()!=one.getDestinationPosX()
                || command.getDestinationPosY()!=one.getDestinationPosY() || command.getDestinationPosZ()!=one.getDestinationPosZ()
            ){
                News.error("堆垛机命令地址写入后回读失败[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
            }
        }
        if (command.getAckFinish() == 0) {
            if (result.IsSuccess) {
                short commandFinish = 1;
                Thread.sleep(300);
                News.info("堆垛机命令地址写入成功,开始写确认位[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
                result = siemensNet.Write("DB100.18", commandFinish);
            }
        }