自动化立体仓库 - WCS系统
Junjie
2023-07-21 2280e7c257f799b8b3ff99fa6d58bd7ae852b1bd
write5
1个文件已修改
18 ■■■■■ 已修改文件
src/main/java/com/zy/core/thread/SiemensDevpThread.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -480,8 +480,6 @@
        OperateResult writeResult;
        //任务下发次数
        int writeCount = 0;
        //任务下发成功标识
        boolean writeFlag = false;
        while(writeCount < 5){
            writeResult = siemensS7Net.Write("DB100.310", staProtocol.getRollback102().shortValue());
            if(writeResult.IsSuccess){
@@ -491,7 +489,6 @@
                    short rollback = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
                    if (staProtocol.getRollback102() == (int) rollback) {
                        //任务命令写入成功
                        writeFlag = true;
                        log.info("写入输送线命令后返回成功,并且回读成功。输送线plc编号={},{},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                        return;
                    } else {//返回结果是成功了,但是真实值不相同
@@ -513,21 +510,6 @@
                log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
            }
            Thread.sleep(200);
        }
        //写命令尝试了5次还是失败了
        if(!writeFlag){
            staProtocol = station.get(staProtocol.getSiteId());
            if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
                staProtocol.setPakMk(true);
            }
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线命令尝试5次失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol)));
            log.error("写入输送线命令尝试5次失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
            //重新添加数据到任务队列
            boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(5, staProtocol));
            read();//读取1次设备状态
            return;
        }
    }