From 286cd8397e2ba167e859af0dd3225db41ec82662 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 23 七月 2025 15:42:02 +0800
Subject: [PATCH] #输送线重读
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 44 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index facc3d0..57266a5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -518,20 +518,52 @@
OperateResult write = null;
OperateResult write1 = null;
+ boolean flag1 = false;
+ boolean flag2 = false;
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
do {
- write = siemensS7Net.Write("DB100." + offset, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
- Thread.sleep(200);
- write1 = siemensS7Net.Write("DB100." + (offset+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
- if(write.IsSuccess && write1.IsSuccess){
+ if (!flag1) {
+ write = siemensS7Net.Write("DB100." + offset, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ if (write.IsSuccess) {
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100." + offset, (short) 2);
+ if (result.IsSuccess) {
+ if (staProtocol.getWorkNo().equals(siemensS7Net.getByteTransform().TransInt16(result.Content, (short) 0))) {
+ flag1 = true;
+ }
+ }
+ }
+ }
+ if (!flag2) {
+ Thread.sleep(200);
+ write1 = siemensS7Net.Write("DB100." + (offset+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+ if (write1.IsSuccess) {
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100." + (offset+4), (short) 2);
+ if (result2.IsSuccess) {
+ if (staProtocol.getStaNo().equals(siemensS7Net.getByteTransform().TransInt16(result2.Content, (short) 0))) {
+ flag2 = true;
+ }
+ }
+ }
+ }
+ if (flag1 && flag2) {
log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
break;
- }
- else {
+ } else {
writeCount++;
log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
}
+// write = siemensS7Net.Write("DB100." + offset, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+// Thread.sleep(200);
+// write1 = siemensS7Net.Write("DB100." + (offset+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+// if(write.IsSuccess && write1.IsSuccess){
+// log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+// break;
+// }
+// else {
+// writeCount++;
+// log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+// }
}while (writeCount<5);
if (!write.IsSuccess) {
--
Gitblit v1.9.1