From 565f82be8402eb5a6e8a70347b119f937c0d0488 Mon Sep 17 00:00:00 2001 From: TQS <56479841@qq.com> Date: 星期一, 17 四月 2023 09:10:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 44 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index d95b86c..a308273 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -228,6 +228,22 @@ return false; } + //涓嬪彂鍓嶅厠闅嗕竴浠� + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(command.getCrnNo()); + crnCommand.setAckFinish(command.getAckFinish()); + crnCommand.setTaskNo(command.getTaskNo()); + crnCommand.setTaskMode(command.getTaskMode()); + crnCommand.setSourcePosX(command.getSourcePosX()); + crnCommand.setSourcePosY(command.getSourcePosY()); + crnCommand.setSourcePosZ(command.getSourcePosZ()); + crnCommand.setDestinationPosX(command.getDestinationPosX()); + crnCommand.setDestinationPosY(command.getDestinationPosY()); + crnCommand.setDestinationPosZ(command.getDestinationPosZ()); + crnCommand.setSourceStaNo(command.getSourceStaNo()); + crnCommand.setDestinationStaNo(command.getDestinationStaNo()); + crnCommand.setCommand(command.getCommand()); + // convertRow(command); command.setCrnNo(slave.getId()); short[] array = new short[10]; @@ -242,6 +258,14 @@ array[8] = command.getDestinationPosZ(); array[9] = command.getCommand(); OperateResult result = siemensNet.Write("DB100.0", array); + + if(!result.IsSuccess){ + log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(crnCommand)); + MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand)); + Thread.sleep(100); + readStatus(); + return false; + } //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� Thread.sleep(200); @@ -262,6 +286,13 @@ || command.getDestinationPosY()!=one.getDestinationPosY() || command.getDestinationPosZ()!=one.getDestinationPosZ() ){ News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); + News.error("鍫嗗灈鏈哄懡浠ゅ洖璇诲け璐ュ悗锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(crnCommand)); + MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand)); + Thread.sleep(100); + readStatus(); + return false; + }else{ + News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); } } @@ -270,7 +301,19 @@ short commandFinish = 1; Thread.sleep(300); News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鎴愬姛锛屽紑濮嬪啓纭浣峓id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); - result = siemensNet.Write("DB100.18", commandFinish); + Integer counts = 0; + while(true) { + result = siemensNet.Write("DB100.18", commandFinish); + if(result.IsSuccess){ + break; + } else { + counts++; + if(counts>5){ + break; + } + } + Thread.sleep(300); + } } } -- Gitblit v1.9.1