From 23e183b246cdb1d85319caa216aa84c5645aec42 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 18 一月 2025 11:15:04 +0800
Subject: [PATCH] 清除下发确认位后延迟写入

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index c4f37a7..77c4151 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -185,12 +185,12 @@
             } else {
                 initCrn();
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
-                News.error("SiemensCrn" + " - 4" + " - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+//                News.error("SiemensCrn" + " - 4" + " - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
             }
             // 澶嶄綅淇″彿
             if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && resetFlag) {
-                News.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
-                        slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
+//                News.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+//                        slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
                 CrnCommand crnCommand = new CrnCommand();
                 crnCommand.setAckFinish((short) 1);
                 if (write(crnCommand)) {
@@ -216,7 +216,7 @@
         } catch (Exception e) {
             e.printStackTrace();
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            News.error("SiemensCrn" + " - 5" + " - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+//            News.error("SiemensCrn" + " - 5" + " - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             initCrn();
         }
     }
@@ -245,6 +245,8 @@
             if (command.getAckFinish() == 1) {
                 result = siemensNet.Write("DB100.0", (short) 1);
             } else {
+                // 鍏堟竻闄や笅鍙戠‘璁や綅
+                siemensNet.Write("DB100.18",(short) 0);
                 command.setCrnNo(slave.getId());
                 short[] array = new short[10];
                 array[0] = command.getAckFinish();
@@ -307,6 +309,8 @@
             if (command.getAckFinish() == 1) {
                 result = siemensNet.Write("DB100.0", (short) 1);
             } else {
+                // 鍏堟竻闄や笅鍙戠‘璁や綅
+                siemensNet.Write("DB100.18",(short) 0);
                 command.setCrnNo(slave.getId());
                 short[] array = new short[10];
                 array[0] = command.getAckFinish();
@@ -319,6 +323,7 @@
                 array[7] = command.getDestinationPosY();
                 array[8] = command.getDestinationPosZ();
                 array[9] = command.getCommand();
+                Thread.sleep(200); // 寤惰繜鍐欏叆
                 result = siemensNet.Write("DB100.0", array);
                 log.info(JSON.toJSONString(array));
 

--
Gitblit v1.9.1