Junjie
2023-12-06 341da412252d3e4a187b526159b4d3f19d86d28a
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -233,6 +233,11 @@
        for (Integer staNo : outInAlarmStaNos) {
            OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".20.0", (short) 2);
            if (result5.IsSuccess) {
                if (staNo == 101 || staNo == 201) {
                    staNo--;
                }else {
                    staNo++;
                }
                StaProtocol staProtocol = station.get(staNo);
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 2);
                staProtocol.setBarcodeErr(status[4]);//扫码失败
@@ -290,10 +295,10 @@
        int writeCount = 0;
        //任务下发成功标识
        boolean writeFlag = false;
        while(writeCount < 5){
        while(writeCount < 1){
            writeResult = siemensS7Net.Write("DB1000." + index*4, array);    // 工作号、目标站
            if(writeResult.IsSuccess){
                Thread.sleep(200);
                Thread.sleep(500);
                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*4, (short)4);
                if(readResult.IsSuccess){
                    short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
@@ -333,8 +338,8 @@
            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(2, staProtocol));
//            //重新添加数据到任务队列
//            boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
            read();//读取1次设备状态
            return;
        } else {