From 1c8455e647bfb059d52788afaa845c52e7d6213f Mon Sep 17 00:00:00 2001
From: Administrator <XS@163.COM>
Date: 星期三, 06 五月 2026 19:25:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java b/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
index 5162732..2809c5f 100644
--- a/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
+++ b/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
@@ -237,6 +237,11 @@
     }
 
     private boolean clearCommandArea() throws InterruptedException {
+        boolean confirmClearResult = clearCommandConfirm();
+        if (!confirmClearResult) {
+            return false;
+        }
+
         short[] array = new short[10];
 
         int clearIdx = 0;
@@ -256,6 +261,27 @@
         return false;
     }
 
+    private boolean clearCommandConfirm() throws InterruptedException {
+        int clearConfirmIdx = 0;
+        do {
+            OperateResult result = siemensNet.Write("DB100.18", (short) 0);
+            if (result.IsSuccess) {
+                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.18", (short) 2);
+                if (resultRead.IsSuccess) {
+                    short confirm = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
+                    if (confirm == 0) {
+                        return true;
+                    }
+                }
+            }
+
+            clearConfirmIdx++;
+            Thread.sleep(200);
+        } while (clearConfirmIdx < 5);
+
+        return false;
+    }
+
     private boolean isCommandAreaEmpty(byte[] content) {
         short ackFinish = siemensNet.getByteTransform().TransInt16(content, 0);
         short taskNo = siemensNet.getByteTransform().TransInt16(content, 2);

--
Gitblit v1.9.1