From 405a34a73ddad9367c1a40b03a5f8cec914ad683 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 03 七月 2023 13:30:22 +0800 Subject: [PATCH] 命令下发保存二进制报文 --- src/main/java/com/zy/core/thread/ShuttleThread.java | 45 ++++++++++++++++++++++++--------------------- 1 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java index 3f5bacd..7b303b0 100644 --- a/src/main/java/com/zy/core/thread/ShuttleThread.java +++ b/src/main/java/com/zy/core/thread/ShuttleThread.java @@ -279,7 +279,6 @@ News.error("鍥涘悜绌挎杞﹀啓鍏ュ懡浠や负绌�"); return false; } - BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class); if (shuttleService == null) { News.error("绯荤粺閿欒"); @@ -291,8 +290,27 @@ News.error("鍥涘悜绌挎杞︿笉瀛樺湪"); return false; } - command.setShuttleNo(slave.getId().shortValue()); + short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃 + OperateResult result = modbusTcpNet.Write("0", array);; + if (result != null && result.IsSuccess) { + try { + Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); + return true; + } else { + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); + News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); + return false; + } + } + + //鑾峰彇鍛戒护鎶ユ枃 + private short[] getCommandArr(ShuttleCommand command) { // 寮�濮嬩换鍔� short[] array = new short[17]; //鎺у埗鎸囦护瀛� @@ -326,7 +344,6 @@ array[7] = middleToDistDistances[1]; } - array[8] = basShuttle.getRunSpeed().shortValue();//鍥涘悜绌挎杞﹁繍琛岄�熷害锛屼粠绯荤粺鏁版嵁搴撹鍑� if (command.getRunDirection() != null) { //灏忚溅杩愯鏂瑰悜 array[8] = command.getRunDirection(); @@ -363,25 +380,9 @@ //灏忚溅闆疯揪澶囩敤 array[15] = command.getRadarTmp(); } - //鎸囦护缁撴潫浣� array[16] = command.getCommandEnd(); - - OperateResult result = modbusTcpNet.Write("0", array);; - if (result != null && result.IsSuccess) { - try { - Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); - OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); - return true; - } else { - OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); - News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - return false; - } + return array; } /** @@ -834,6 +835,7 @@ //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘� BasShuttleOptService shuttleOptService = SpringUtils.getBean(BasShuttleOptService.class); if (shuttleOptService != null) { + short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃 BasShuttleOpt opt = new BasShuttleOpt( assignCommand.getTaskNo().intValue(), assignCommand.getShuttleNo().intValue(), @@ -844,7 +846,8 @@ null, null, null, - JSON.toJSONString(command) + JSON.toJSONString(command), + JSON.toJSONString(commandArr) ); shuttleOptService.insert(opt); } -- Gitblit v1.9.1