From 1ddefcdadd90f100df509369ea520bebd6d206ce Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 24 七月 2025 09:42:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzglwcs' into tzglwcs
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 46 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 627bb17..57266a5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -388,7 +388,7 @@
for (int i = 0; i < staNosInSize; i++) {
Integer siteId = staNosIns.get(i);
StaProtocol staProtocol = station.get(siteId);
- staProtocol.setStamp(siemensS7Net.getByteTransform().TransInt32(result.Content, i*6));
+ staProtocol.setStamp( siemensS7Net.getByteTransform().TransInt16(resultIn.Content, i*6));
}
}
@@ -484,21 +484,23 @@
if(resultIn.IsSuccess){
for (int i = 0; i < staNosInSize; i++) {
Integer siteId = staNosIns.get(i);
- if(staProtocol.getSiteId() == siteId){
- offset = i;
+ if(staProtocol.getSiteId().equals(siteId)){
+ offset = i*6 + 2;
+ break;
}
}
}
do {
- write = siemensS7Net.Write("DB1000." + offset*6 + 2,staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ write = siemensS7Net.Write("DB1000.0" + offset,staProtocol.getWorkNo()); // 宸ヤ綔鍙�
if(write.IsSuccess ){
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ log.error("鍐欏叆宸ヤ綔鍙穥}",staProtocol.getWorkNo());
+ log.error("鍐欏叆杈撳懡浠ゆ垚鍔熴�傝緭閫佺嚎plc缂栧彿={}锛屽啓鍏ユ鏁�={}", slave.getId(), writeCount);
break;
}
else {
writeCount++;
- log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ log.error("鍐欏叆鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
}
}while (writeCount<5);
}
@@ -516,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