From 340fd90b8c92f3c7d3a3d85bad643e6fbd7fdaf4 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 15 六月 2025 12:50:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 33 ++++++++++++++++++++++++++++++---
1 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index d55ff16..654042f 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -278,12 +278,39 @@
// array[9] = command.getSourceStaNo();
// array[10] = command.getDestinationStaNo();
array[9] = command.getCommand();
- OperateResult result = siemensNet.Write("DB100.0", array);
+
+ OperateResult result = null;
+ int idx = 0;
+ do {
+ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 4);
+ if (resultRead.IsSuccess) {
+ short taskNo = siemensNet.getByteTransform().TransInt16(resultRead.Content, 2);
+ if(taskNo == 0) {
+ result = siemensNet.Write("DB100.0", array);
+ }else {
+ break;
+ }
+ }
+ idx++;
+ Thread.sleep(500L);
+ } while (idx < 5);
if (command.getAckFinish() == 0) {
short commandFinish = 1;
- Thread.sleep(100L);
- result = siemensNet.Write("DB100.18", commandFinish);
+ int i = 0;
+ do {
+ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 4);
+ OperateResultExOne<byte[]> resultReadConfirm = siemensNet.Read("DB100.18", (short) 2);
+ if (resultRead.IsSuccess && resultReadConfirm.IsSuccess) {
+ short taskNo = siemensNet.getByteTransform().TransInt16(resultRead.Content, 2);
+ short confirm = siemensNet.getByteTransform().TransInt16(resultReadConfirm.Content, 0);
+ if(taskNo != 0 && confirm == 0) {
+ result = siemensNet.Write("DB100.18", commandFinish);
+ }
+ }
+ i++;
+ Thread.sleep(500L);
+ } while (i < 5);
}
try {
--
Gitblit v1.9.1