From fed17b9162273d70043f7d5e9061bc7afd17c6ef Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 27 七月 2023 16:36:19 +0800 Subject: [PATCH] 地图显示 --- src/main/java/com/zy/core/thread/ShuttleThread.java | 136 +++++++++++++++++++++++---------------------- 1 files changed, 70 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java index 5a9cec5..8a43bc3 100644 --- a/src/main/java/com/zy/core/thread/ShuttleThread.java +++ b/src/main/java/com/zy/core/thread/ShuttleThread.java @@ -190,61 +190,61 @@ shuttleProtocol.setPakMk(true); } - //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴� - BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class); - BasShuttle basShuttle = shuttleService.selectById(slave.getId()); - if (basShuttle == null) { - basShuttle = new BasShuttle(); - //鍥涘悜绌挎杞﹀彿 - basShuttle.setShuttleNo(slave.getId()); - shuttleService.insert(basShuttle); - } - //灏忚溅蹇欑姸鎬佷綅 - basShuttle.setBusyStatus(shuttleProtocol.getBusyStatus().intValue()); - //褰撳墠浜岀淮鐮� - basShuttle.setCurrentCode(shuttleProtocol.getCurrentCode().intValue()); - //鐢垫睜鐢甸噺鐧惧垎姣� - basShuttle.setBatteryPower(shuttleProtocol.getBatteryPower().intValue()); - //鐢垫睜娓╁害 - basShuttle.setBatteryTemp(shuttleProtocol.getBatteryTemp().intValue()); - //閿欒缂栧彿 - basShuttle.setErrorCode(shuttleProtocol.getErrorCode().intValue()); - //Plc杈撳嚭鐘舵�両O - basShuttle.setPlcOutputStatusIo(shuttleProtocol.getPlcOutputStatusIO().intValue()); - //閿欒淇℃伅鐮� - basShuttle.setStatusErrorCode(shuttleProtocol.getStatusErrorCode().intValue()); - //PLC杈撳叆鐘舵�� - basShuttle.setPlcInputStatus(shuttleProtocol.getPlcInputStatus().intValue()); - //褰撳墠鎴栬�呬箣鍓嶈鍒扮殑浜岀淮鐮佸�� - basShuttle.setCurrentOrBeforeCode(shuttleProtocol.getCurrentOrBeforeCode().intValue()); - //璇诲埌鐨勪簩缁寸爜X鏂瑰悜鍋忕Щ閲� - basShuttle.setCodeOffsetX(shuttleProtocol.getCodeOffsetX().intValue()); - //璇诲埌鐨勪簩缁寸爜Y鏂瑰悜鍋忕Щ閲� - basShuttle.setCodeOffsetY(shuttleProtocol.getCodeOffsetY().intValue()); - //褰撳墠鐨勭數鍘嬪�� - basShuttle.setCurrentVoltage(shuttleProtocol.getCurrentVoltage().intValue()); - //褰撳墠鐨勬ā鎷熼噺鍊� - basShuttle.setCurrentAnalogValue(shuttleProtocol.getCurrentAnalogValue().intValue()); - //褰撳墠鐨勫崌闄嶄己鏈嶉�熷害 - basShuttle.setCurrentLiftServoSpeed(shuttleProtocol.getCurrentLiftServoSpeed().intValue()); - //褰撳墠鐨勮璧颁己鏈嶉�熷害 - basShuttle.setCurrentMoveServoSpeed(shuttleProtocol.getCurrentMoveServoSpeed().intValue()); - //褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼 - basShuttle.setCurrentLiftServoLoad(shuttleProtocol.getCurrentLiftServoLoad().intValue()); - //褰撳墠鐨勮璧颁己鏈嶈礋杞界巼 - basShuttle.setCurrentMoveServoLoad(shuttleProtocol.getCurrentMoveServoLoad().intValue()); - //褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛� - basShuttle.setShuttleStatus(shuttleProtocol.getProtocolStatus()); - //浠诲姟鍙� - basShuttle.setWrkNo(shuttleProtocol.getTaskNo().intValue()); - //淇敼鏃堕棿 - basShuttle.setUpdateTime(new Date()); - //浣滀笟鏍囪 - basShuttle.setPakMk(shuttleProtocol.getPakMk()); - if (shuttleService.updateById(basShuttle)) { - OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); -// log.info(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); - } +// //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴� +// BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class); +// BasShuttle basShuttle = shuttleService.selectById(slave.getId()); +// if (basShuttle == null) { +// basShuttle = new BasShuttle(); +// //鍥涘悜绌挎杞﹀彿 +// basShuttle.setShuttleNo(slave.getId()); +// shuttleService.insert(basShuttle); +// } +// //灏忚溅蹇欑姸鎬佷綅 +// basShuttle.setBusyStatus(shuttleProtocol.getBusyStatus().intValue()); +// //褰撳墠浜岀淮鐮� +// basShuttle.setCurrentCode(shuttleProtocol.getCurrentCode().intValue()); +// //鐢垫睜鐢甸噺鐧惧垎姣� +// basShuttle.setBatteryPower(shuttleProtocol.getBatteryPower().intValue()); +// //鐢垫睜娓╁害 +// basShuttle.setBatteryTemp(shuttleProtocol.getBatteryTemp().intValue()); +// //閿欒缂栧彿 +// basShuttle.setErrorCode(shuttleProtocol.getErrorCode().intValue()); +// //Plc杈撳嚭鐘舵�両O +// basShuttle.setPlcOutputStatusIo(shuttleProtocol.getPlcOutputStatusIO().intValue()); +// //閿欒淇℃伅鐮� +// basShuttle.setStatusErrorCode(shuttleProtocol.getStatusErrorCode().intValue()); +// //PLC杈撳叆鐘舵�� +// basShuttle.setPlcInputStatus(shuttleProtocol.getPlcInputStatus().intValue()); +// //褰撳墠鎴栬�呬箣鍓嶈鍒扮殑浜岀淮鐮佸�� +// basShuttle.setCurrentOrBeforeCode(shuttleProtocol.getCurrentOrBeforeCode().intValue()); +// //璇诲埌鐨勪簩缁寸爜X鏂瑰悜鍋忕Щ閲� +// basShuttle.setCodeOffsetX(shuttleProtocol.getCodeOffsetX().intValue()); +// //璇诲埌鐨勪簩缁寸爜Y鏂瑰悜鍋忕Щ閲� +// basShuttle.setCodeOffsetY(shuttleProtocol.getCodeOffsetY().intValue()); +// //褰撳墠鐨勭數鍘嬪�� +// basShuttle.setCurrentVoltage(shuttleProtocol.getCurrentVoltage().intValue()); +// //褰撳墠鐨勬ā鎷熼噺鍊� +// basShuttle.setCurrentAnalogValue(shuttleProtocol.getCurrentAnalogValue().intValue()); +// //褰撳墠鐨勫崌闄嶄己鏈嶉�熷害 +// basShuttle.setCurrentLiftServoSpeed(shuttleProtocol.getCurrentLiftServoSpeed().intValue()); +// //褰撳墠鐨勮璧颁己鏈嶉�熷害 +// basShuttle.setCurrentMoveServoSpeed(shuttleProtocol.getCurrentMoveServoSpeed().intValue()); +// //褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼 +// basShuttle.setCurrentLiftServoLoad(shuttleProtocol.getCurrentLiftServoLoad().intValue()); +// //褰撳墠鐨勮璧颁己鏈嶈礋杞界巼 +// basShuttle.setCurrentMoveServoLoad(shuttleProtocol.getCurrentMoveServoLoad().intValue()); +// //褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛� +// basShuttle.setShuttleStatus(shuttleProtocol.getProtocolStatus()); +// //浠诲姟鍙� +// basShuttle.setWrkNo(shuttleProtocol.getTaskNo().intValue()); +// //淇敼鏃堕棿 +// basShuttle.setUpdateTime(new Date()); +// //浣滀笟鏍囪 +// basShuttle.setPakMk(shuttleProtocol.getPakMk()); +// if (shuttleService.updateById(basShuttle)) { +// OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); +//// log.info(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); +// } }else { OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆憑1}鍥涘悜绌挎杞lc鐘舵�佷俊鎭け璐�", DateUtils.convert(new Date()), slave.getId())); @@ -300,7 +300,7 @@ News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {},娆℃暟锛歿}", slave.getId(), JSON.toJSON(command), i); OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2},娆℃暟锛歿}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command), i)); try { - Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪� + Thread.sleep(300);//鍛戒护涓嬪彂鍚庝紤鐪� } catch (InterruptedException e) { throw new RuntimeException(e); } @@ -414,12 +414,12 @@ //鑾峰彇灏忚溅绉诲姩閫熷害 BasShuttle basShuttle = shuttleService.selectById(slave.getId()); Integer runSpeed = 1000; - if (basShuttle != null) { - Integer runSpeed1 = basShuttle.getRunSpeed(); - if (runSpeed1 != null) { - runSpeed = runSpeed1; - } - } +// if (basShuttle != null) { +// Integer runSpeed1 = basShuttle.getRunSpeed(); +// if (runSpeed1 != null) { +// runSpeed = runSpeed1; +// } +// } LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1); LiftProtocol liftProtocol = liftThread.getLiftProtocol(); @@ -445,7 +445,7 @@ //鐩爣璺緞 NavigateNode endPath = nodes.get(nodes.size() - 1); Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� - Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� //姝e父绉诲姩鍛戒护 Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜 @@ -481,7 +481,7 @@ //鐩爣璺緞 NavigateNode endPath = nodes.get(nodes.size() - 1); Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� - Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� //姝e父绉诲姩鍛戒护 Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜 @@ -570,7 +570,7 @@ //鐩爣璺緞 NavigateNode endPath = nodes.get(nodes.size() - 1); Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� - Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜 Short middleCode = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());//涓棿浜岀淮鐮� Short distCode = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ());//鐩爣浜岀淮鐮� @@ -607,7 +607,7 @@ //鐩爣璺緞 NavigateNode endPath = nodes.get(nodes.size() - 1); Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� - Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜 Short middleCode = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());//涓棿浜岀淮鐮� Short distCode = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ());//鐩爣浜岀淮鐮� @@ -951,6 +951,10 @@ } } + if (commands.size() == 0) { + return false; + } + //褰撳墠绛夊緟鎵ц鐨勬寚浠� ShuttleCommand command = commands.get(commandStep); -- Gitblit v1.9.1