From d8d90a246ce19dc9249ea7f0ffe1b8caf0462cc2 Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期六, 31 八月 2024 12:47:22 +0800 Subject: [PATCH] 对照协议调整 --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 86 +++++++++++++++++++++++++++++------------- 1 files changed, 59 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 626656a..5139256 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -187,19 +187,53 @@ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); - // 澶嶄綅淇″彿 - if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { - if (resetFlag) { - if (crnProtocol.getTaskNo() == 9999) { - backHpFlag = false; + if (crnProtocol.getMode() == 1) { + // 澶嶄綅淇″彿 + if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { + System.out.println(crnProtocol); + if (resetFlag) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + resetFlag = false; + } } - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setAckFinish((short) 1); - if (write(crnCommand)) { - resetFlag = false; + } + } else if (crnProtocol.getMode() == 2) { + // 澶嶄綅淇″彿 + if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) { + + if (resetFlag) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + resetFlag = false; + } + } + } + } else if (crnProtocol.getMode() == 3) { + // 澶嶄綅淇″彿 + if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && !Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) { + System.out.println(crnProtocol); + if (resetFlag) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + resetFlag = false; + } } } } + try { // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� @@ -243,9 +277,6 @@ News.error("SiemensCrn" + " - 6" + " - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�"); return false; } - command.setCommand((short) 1); - System.out.println("------------------"); - System.out.println(command); // convertRow(command); command.setCrnNo(slave.getId()); short[] array = new short[16]; @@ -289,21 +320,20 @@ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 32); if (resultRead.IsSuccess) { CrnCommand one = new CrnCommand(); - one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2)); - one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4)); - one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6)); - one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); - one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10)); - one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12)); - one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); - one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16)); - one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18)); - one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20)); - one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22)); - one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24)); - one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26)); - one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28)); - one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30)); + one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0)); + one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2)); + one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4)); + one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6)); + one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); + one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10)); + one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12)); + one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); + one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16)); + one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18)); + one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20)); + one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22)); + one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24)); + one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26)); if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode()) || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY()) || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX()) @@ -312,6 +342,8 @@ || !command.getSourcePosZTwo().equals(one.getSourcePosZTwo()) || !command.getDestinationPosXTwo().equals(one.getDestinationPosXTwo()) || !command.getDestinationPosYTwo().equals(one.getDestinationPosYTwo()) || !command.getDestinationPosZTwo().equals(one.getDestinationPosZTwo()) ) { + System.out.println(command.getTaskNo().equals(one.getTaskNo())); + System.out.println(one); try { log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command), JSON.toJSONString(one)); } catch (Exception e) { -- Gitblit v1.9.1