From c2c26a11ab68ffda8587bebfb789bfc8fe6c034f Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 05 六月 2024 15:24:50 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 44 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 3990184..ca18898 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -38,6 +38,7 @@ private CrnSlave slave; private CrnProtocol crnProtocol; private boolean resetFlag = false; + private boolean resetFlagTwo = false; public Long sign = System.currentTimeMillis(); @@ -204,12 +205,16 @@ crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52)); - //宸ヤ綅2鏁版嵁 鏃犲垯鏃犻渶渚嬩細 - crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 56)); - crnProtocol.setStatusTwo(siemensNet.getByteTransform().TransInt16(result.Content, 56)); - crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 58)); - crnProtocol.setLiftPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 60)); - crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 64)); + //宸ヤ綅2鏁版嵁 鏃犲垯鏃犻渶鐞嗕細 + try{ + crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 56)); + crnProtocol.setStatusTwo(siemensNet.getByteTransform().TransInt16(result.Content, 56)); + crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 58)); + crnProtocol.setLiftPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 60)); + crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 64)); + }catch (Exception e){ + + } OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); @@ -224,6 +229,16 @@ CrnCommand crnCommand = new CrnCommand(); crnCommand.setAckFinish((short)1); if (write(crnCommand)) { + resetFlag = false; + } + } + if (resetFlagTwo) { + if(crnProtocol.getTaskNo()==9999){ + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short)1); + if (write5(crnCommand)) { resetFlag = false; } } @@ -285,12 +300,29 @@ // array[9] = command.getSourceStaNo(); // array[10] = command.getDestinationStaNo(); array[9] = command.getCommand(); + OperateResult result18 = siemensNet.Write("DB100.18", (short)0); OperateResult result = siemensNet.Write("DB100.0", array); if (command.getAckFinish() == 0) { short commandFinish = 1; Thread.sleep(100L); result = siemensNet.Write("DB100.18", commandFinish); + int signFinish = 1; + while (signFinish<5){ + OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2); + short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0); + if (transInt16 != commandFinish){ + log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "commandFinish:"+commandFinish); + log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array)); + result = siemensNet.Write("DB100.18", commandFinish); + signFinish++; + }else { + log.info("涓嬪彂DB100.18" + "commandFinish:"+commandFinish); + log.info("涓嬪彂DB100.18" + "array:"+ JSON.toJSONString(array)); + break; + } + + } } try { -- Gitblit v1.9.1