From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 21 十月 2025 19:32:59 +0800 Subject: [PATCH] 侧面输送线出库码盘信息对接 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index f7a97a0..baec76c 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -159,6 +159,11 @@ write((StaProtocol) task.getData()); read(); break; + // 鍑哄叆搴撳啓鐮佺洏淇℃伅 + case 3: + write3((StaProtocol) task.getData()); + read(); + break; default: break; } @@ -653,6 +658,48 @@ } + private void write3(StaProtocol staProtocol){ + + int lx = 0,mp = 0,lev = 0; + + switch (staProtocol.getSiteId()) { + case 205: lx = 16;mp = 18;lev=344;break; + case 207: lx = 24;mp = 26;lev=348;break; + case 210: lx = 36;mp = 38;lev=354;break; + case 212: lx = 44;mp = 46;lev=358;break; + default: + log.error("鍐欑爜鐩樹俊鎭珯鐐规湁璇細{}" , staProtocol.getSiteId()); + return; + } + + String addressPre = "DB79."; + + //浠诲姟涓嬪彂娆℃暟 + int writeCount = 0; + //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 + boolean writeFlag = false; + while (writeCount < 5) { + OperateResult writeResult1 = siemensS7Net.Write(addressPre + lx, staProtocol.getLx()); // 宸ヨ绫诲瀷 + OperateResult writeResult2 = siemensS7Net.Write(addressPre + mp, staProtocol.getMp()); // 鏄惁鐮佺洏 + OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 鐮佺洏灞傛暟 + if (writeResult1.IsSuccess && writeResult2.IsSuccess && writeResult3.IsSuccess) { + writeFlag = true; + log.info("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); + break; + } else { + writeCount++; + log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); + } + } + + //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡 + if (!writeFlag) { + //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒� + MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol)); + log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ラ噸鏂版帹閫侀槦鍒椼�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); + } + } + // /** // * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� // */ -- Gitblit v1.9.1