From 10610f52857314807b054d16e81b7fcda0137f58 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期日, 30 三月 2025 12:49:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jxjdzwcs' into jxjdzwcs
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 30 ++++++------------------------
1 files changed, 6 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 783e791..0fa8c85 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -584,31 +584,12 @@
plcAddressStaNo = "DB73." + (4 * 6 + 4);
break;
}
-// String plcAddressWorkNo = "DB100." + index * 6;
-// String plcAddressStaNo = "DB100." + (index * 6 + 4);
- while (writeCount < 5) {
- // **璇诲彇褰撳墠PLC鐘舵�侊紝閬垮厤涓嶅繀瑕佺殑鍐欏叆**
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read(plcAddressWorkNo, (short) 6);
- if (readResult.IsSuccess) {
- int currentWorkNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
- short currentStaNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
- if (currentWorkNo == staProtocol.getWorkNo().intValue() && currentStaNo == staProtocol.getStaNo()) {
- log.info("绔欑偣 {} 褰撳墠鐘舵�佸凡鍖归厤锛屾棤闇�閲嶅鍐欏叆", staProtocol.getSiteId());
- return;
- }
- }
-
- // **鍐欏叆鏂颁换鍔�**
- if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) {
- writeFlag = true;
- log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- break;
- }
-
- log.warn("杈撻�佺嚎鍛戒护鍐欏叆澶辫触锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- writeCount++;
+ // **鍐欏叆鏂颁换鍔�**
+ if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) {
+ writeFlag = true;
+ log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
}
// **鍐欏叆澶辫触澶勭悊**
@@ -640,9 +621,10 @@
* 鍐欏叆鏂颁换鍔″埌 PLC 骞堕獙璇佹槸鍚︽垚鍔�
*/
private boolean writeTaskToPLC(String plcAddressWorkNo, String plcAddressStaNo, StaProtocol staProtocol) throws InterruptedException {
- OperateResult writeResult1 = siemensS7Net.Write(plcAddressWorkNo, staProtocol.getWorkNo().intValue());
OperateResult writeResult2 = siemensS7Net.Write(plcAddressStaNo, staProtocol.getStaNo());
+ OperateResult writeResult1 = siemensS7Net.Write(plcAddressWorkNo, staProtocol.getWorkNo().intValue());
+
if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
Thread.sleep(200); // 绛夊緟 PLC 璇嗗埆鏂板��
OperateResultExOne<byte[]> readResult = siemensS7Net.Read(plcAddressWorkNo, (short) 6);
--
Gitblit v1.9.1