From a4cfd6abc3e46cfff3170b9bd8d00a29e7c866c7 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 15 九月 2025 09:04:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   11 +++++++----
 1 files changed, 7 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 d7fab67..d454abf 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -67,6 +67,7 @@
                     // 鍐欏叆鏁版嵁
                     case 2:
                         write((CrnCommand) task.getData());
+                        readStatus();
                         break;
                     // 澶嶄綅
                     case 3:
@@ -154,6 +155,7 @@
                     crnProtocol = new CrnProtocol();
                     crnProtocol.setCrnNo(slave.getId());
                 }
+                crnProtocol.setCrnNo(slave.getId());
                 crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
                 crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2));
                 crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4));
@@ -233,11 +235,12 @@
             News.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
             return false;
         }
+        //涓嬪彂鍓峚ck缃�0
         int writeAck = 0;
         do {
             OperateResult resultAck = siemensNet.Write("DB100.0", (short) 0);
             if (resultAck.IsSuccess){
-                Thread.sleep(200);
+                Thread.sleep(100);
                 OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 2);
                 short ack = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
                 if (ack != 0) {
@@ -248,16 +251,16 @@
                 }
             }
         }while (writeAck <5);
-
+        //涓嬪彂鍓峜ommand缃�0
         int writeComm = 0;
         do {
             OperateResult resultComm = siemensNet.Write("DB100.18", (short) 0);
             if (resultComm.IsSuccess){
-                Thread.sleep(200);
+                Thread.sleep(100);
                 OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.18", (short) 2);
                 short comm = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
                 if (comm != 0) {
-                    writeAck++;
+                    writeComm++;
                 }else {
                     News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), "comm澶嶄綅瀹屾垚");
                     break;

--
Gitblit v1.9.1