From 725d7512b15a1e303d89e409f3f6a11cbcd0f5e9 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 03 九月 2025 08:54:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 47 +++++++++++++++++++++++++++++++++++++++++------
1 files changed, 41 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..c6498dd 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -387,6 +387,9 @@
if(resultIn.IsSuccess){
for (int i = 0; i < staNosInSize; i++) {
Integer siteId = staNosIns.get(i);
+ if(siteId == 202){
+ StaProtocol staProtocol1 = station.get(siteId);
+ }
StaProtocol staProtocol = station.get(siteId);
staProtocol.setStamp( siemensS7Net.getByteTransform().TransInt16(resultIn.Content, i*6));
}
@@ -518,20 +521,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