123
zc
2025-05-17 ee1fcbd729e22329594a609919ae26ce8343f421
src/main/java/com/zy/core/thread/impl/FyDevpThread.java
@@ -99,6 +99,10 @@
                        write((StaProtocol) task.getData());
                        read();
                        break;
                    // 报警
                    case 3:
                        writeError((Integer) task.getData());
                        break;
                    default:
                        break;
                }
@@ -162,8 +166,9 @@
                staProtocol.setInEnable(status[3]); // 可入
                staProtocol.setOutEnable(status[4]);// 可出
                staProtocol.setBackErr(status[5]);
                staProtocol.setHigh(status[6]);
                staProtocol.setLeftErr(status[6]);
                staProtocol.setRightErr(status[7]);
//                staProtocol.setHighErr(status[8]);
//                staProtocol.setWeightErr(status[9]);
@@ -175,6 +180,7 @@
                staProtocol.setWeightErr(status2[1]);
                staProtocol.setLow(status2[2]);
                staProtocol.setHigh(status2[3]);
                staProtocol.setBarcodeErr(status2[4]);
//                staProtocol.setInEnable(status[13]); // 可入
//                staProtocol.setOutEnable(status[14]);// 可出
@@ -250,6 +256,60 @@
    }
    /**
     * 报警
     */
    private void writeError(Integer staNo) throws InterruptedException {
        if (null == staNo) {
            return;
        }
        ArrayList<Integer> lift1 = new ArrayList<Integer>() {{
            add(1011);
            add(1012);
        }};
        ArrayList<Integer> lift2 = new ArrayList<Integer>() {{
            add(1021);
            add(1022);
            add(1023);
        }};
        ArrayList<Integer> devp1 = new ArrayList<Integer>() {{
            add(1013);
            add(1014);
            add(1015);
        }};
        ArrayList<Integer> devp2 = new ArrayList<Integer>() {{
            add(1024);
            add(1025);
            add(1026);
        }};
        String dbAddress = "DB82.48";
        if (lift1.contains(staNo)) {
            dbAddress = "DB82.48";
        } else if (lift2.contains(staNo)) {
            dbAddress = "DB82.178";
        } else if (devp1.contains(staNo)) {
            dbAddress = "DB82.100";
        } else if (devp2.contains(staNo)) {
            dbAddress = "DB82.256";
        }else {
            return;
        }
        OperateResult write1 = siemensS7Net.Write(dbAddress, (short) 1);
        if (!write1.IsSuccess) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点报警数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(true)));
            log.error("写入输送线站点报警数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(true));
            return;
        }
        OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点报警数据成功。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(true)));
        log.info("写入输送线站点报警数据成功。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(true));
    }
    /**
     * 心跳
     */
    private void heartbeat() {