From a62131e24ab38d0446127dec6e3f6fa48d95caba Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期四, 24 十月 2024 09:21:21 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 82 ++++++++++++++++++++++++----------------- 1 files changed, 48 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index aad4505..5fd4565 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -187,47 +187,57 @@ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); - if (crnProtocol.getMode() == 1) { + if (!Cools.isEmpty(crnProtocol.getTaskNo()) && crnProtocol.getStatusType() == CrnStatusType.WAITING_ONE) { // 澶嶄綅淇″彿 - if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING_ONE)) { - if (resetFlag) { - if (crnProtocol.getTaskNo() == 9999) { - backHpFlag = false; - } - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setAckFinish((short) 1); - if (write(crnCommand)) { - resetFlag = false; - } + if (resetFlag) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 涓�宸ヤ綅澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); + resetFlag = false; + } else { + News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 涓�宸ヤ綅澶嶄綅resetFlag鏍囪澶辫触{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); } } - } else if (crnProtocol.getMode() == 2) { + } else if (!Cools.isEmpty(crnProtocol.getTaskNo()) && crnProtocol.getStatusTypeTwo() == CrnStatusType.WAITING_TWO) { // 澶嶄綅淇″彿 - if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING_TWO)) { - if (resetFlagTwo) { - if (crnProtocol.getTaskNo() == 9999) { - backHpFlag = false; - } - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setAckFinish((short) 1); - if (write(crnCommand)) { - resetFlagTwo = false; - } + if (resetFlagTwo) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 浜屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); + resetFlagTwo = false; + } else { + News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 浜屽伐浣嶅浣峳esetFlag鏍囪澶辫触{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); + } + } - } else if (crnProtocol.getMode() == 3) { + } else if (!Cools.isEmpty(crnProtocol.getTaskNo()) && crnProtocol.getStatusType() == CrnStatusType.WAITING_All && crnProtocol.getStatusTypeTwo() == CrnStatusType.WAITING_All) { // 澶嶄綅淇″彿 - if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING_All)) { - if (resetFlag && resetFlagTwo) { - if (crnProtocol.getTaskNo() == 9999) { - backHpFlag = false; - } - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setAckFinish((short) 1); - if (write(crnCommand)) { - resetFlag = false; - resetFlagTwo = false; - } + if (resetFlag && resetFlagTwo) { + if (crnProtocol.getTaskNo() == 9999) { + backHpFlag = false; + } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setAckFinish((short) 1); + if (write(crnCommand)) { + News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鍙屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); + resetFlag = false; + resetFlagTwo = false; + } else { + News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鍙屽伐浣嶅浣峳esetFlag鏍囪澶辫触{}锛侊紒", + slave.getId(), crnProtocol.getTaskNo(), resetFlag); } } } @@ -332,11 +342,14 @@ one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22)); one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24)); one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26)); + one.setCommand(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28)); + one.setAckFinish(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30)); if (command.getTaskMode() != 2) { 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()) || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ()) + || !command.getCommand().equals(one.getCommand()) || !command.getAckFinish().equals(one.getAckFinish()) ) { try { log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command), JSON.toJSONString(one)); @@ -365,6 +378,7 @@ || !command.getSourcePosXTwo().equals(one.getSourcePosXTwo()) || !command.getSourcePosYTwo().equals(one.getSourcePosYTwo()) || !command.getSourcePosZTwo().equals(one.getSourcePosZTwo()) || !command.getDestinationPosXTwo().equals(one.getDestinationPosXTwo()) || !command.getDestinationPosYTwo().equals(one.getDestinationPosYTwo()) || !command.getDestinationPosZTwo().equals(one.getDestinationPosZTwo()) + || !command.getCommand().equals(one.getCommand()) || !command.getAckFinish().equals(one.getAckFinish()) ) { try { log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command), JSON.toJSONString(one)); -- Gitblit v1.9.1