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;
                }
@@ -252,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() {