From 116ab17ceb0c77aef99fa10b8a88fc055bb839f0 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期一, 23 六月 2025 19:35:53 +0800 Subject: [PATCH] # --- 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