1
zhang
2026-04-17 a0408c8cef874d97ad0fed8c5106059a03ce962f
1
2个文件已修改
31 ■■■■■ 已修改文件
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/StaProtocol.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/StaProtocol.java
@@ -195,4 +195,13 @@
        }
        return "-";
    }
    public String getTaskData() {
        return "本站点:" + siteId + "任务号:" + workNo + "目标站点:" + staNo;
    }
    public String getSafeSignalData() {
        return "本站点:" + siteId + "序号:" + safeSignal.getIndex() + "值:" + safeSignal.getValue() + "标志位:" + safeSignal.getFlag();
    }
}
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java
@@ -39,20 +39,20 @@
    public void writeSafe(StaProtocol staProtocol) throws InterruptedException {
        if (staProtocol == null) {
            News.warn("写入数据为空,跳过 [id:{}]", JSON.toJSONString(staProtocol));
            News.warn("写入数据为空,跳过 [id:{}]", staProtocol.getSafeSignalData());
            return;
        }
        SiemensS7Net siemensS7Net = devpS7Service.get(staProtocol.getPlcId());
        if (siemensS7Net == null) {
            News.error("PLC未连接,无法写入 [id:{}]", JSON.toJSONString(staProtocol));
            News.error("PLC未连接,无法写入 [id:{}]", staProtocol.getSafeSignalData());
            return;
        }
        List<DevpSlave> devp = slaveProperties.getDevp();
        DevpSlave devpSlave = devp.stream().filter(slave -> slave.getId().equals(staProtocol.getPlcId())).findFirst().orElse(null);
        if (devpSlave == null) {
            News.error("PLC未配置,无法写入 [id:{}]", JSON.toJSONString(staProtocol));
            News.error("PLC未配置,无法写入 [id:{}]", staProtocol.getSafeSignalData());
            return;
        }
        int index = devpSlave.getStaNos().indexOf(staProtocol.getSiteId());
@@ -92,7 +92,7 @@
                        staProtocol.getPlcId(), staProtocol.getSiteId(), staProtocol.getWorkNo(),
                        staProtocol.getStaNo(), writeCount);
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入安全信号输送线命令成功。输送线plc编号={1},站点数据={2}",
                        staProtocol.getPlcId(), JSON.toJSON(staProtocol)));
                        staProtocol.getPlcId(), staProtocol.getSafeSignalData()));
                success = true;
                break;
            }
@@ -108,30 +108,30 @@
        if (!success) {
            String errorMsg = MessageFormat.format("【{0}】写入安全信号输送线站点数据失败。输送线plc编号={1},站点数据={2}",
                    staProtocol.getPlcId(), JSON.toJSON(staProtocol));
                    staProtocol.getPlcId(), staProtocol.getSafeSignalData());
            OutputQueue.DEVP.offer(errorMsg);
            News.error("SiemensDevp - 4 - 写入安全信号输送线站点数据失败。输送线plc编号={},站点数据={}",
                    staProtocol.getPlcId(), JSON.toJSON(staProtocol));
                    staProtocol.getPlcId(), staProtocol.getSafeSignalData());
        }
    }
    public void write(StaProtocol staProtocol) throws InterruptedException {
        if (staProtocol == null) {
            News.warn("写入数据为空,跳过 [id:{}]", JSON.toJSONString(staProtocol));
            News.warn("写入数据为空,跳过 [id:{}]", staProtocol.getTaskData());
            return;
        }
        SiemensS7Net siemensS7Net = devpS7Service.get(staProtocol.getPlcId());
        if (siemensS7Net == null) {
            News.error("PLC未连接,无法写入 [id:{}]", JSON.toJSONString(staProtocol));
            News.error("PLC未连接,无法写入 [id:{}]", staProtocol.getTaskData());
            return;
        }
        List<DevpSlave> devp = slaveProperties.getDevp();
        DevpSlave devpSlave = devp.stream().filter(slave -> slave.getId().equals(staProtocol.getPlcId())).findFirst().orElse(null);
        if (devpSlave == null) {
            News.error("PLC未配置,无法写入 [id:{}]", JSON.toJSONString(staProtocol));
            News.error("PLC未配置,无法写入 [id:{}]", staProtocol.getTaskData());
            return;
        }
        int index = devpSlave.getStaNos().indexOf(staProtocol.getSiteId());
@@ -178,10 +178,10 @@
        if (!success) {
            String errorMsg = MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}",
                    staProtocol.getPlcId(), JSON.toJSON(staProtocol));
                    staProtocol.getPlcId(), staProtocol.getTaskData());
            OutputQueue.DEVP.offer(errorMsg);
            News.error("SiemensDevp - 4 - 写入输送线站点数据失败。输送线plc编号={},站点数据={}",
                    staProtocol.getPlcId(), JSON.toJSON(staProtocol));
                    staProtocol.getPlcId(), staProtocol.getTaskData());
        }
    }