| | |
| | | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 四向穿梭车编号 |
| | | assignCommand.setTaskMode(ShuttleTaskModeType.TRANSPORT.id);//小车移库任务 |
| | | assignCommand.setTaskNo(wrkMast.getWrkNo());//任务号 |
| | | assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//源库位 |
| | | assignCommand.setLocNo(wrkMast.getLocNo());//目标库位 |
| | | assignCommand.setAuto(true);//自动模式 |
| | | |
| | | //获取小车到输送站点行走命令 |
| | | //获取小车到目标库位命令 |
| | | List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(liftSta.getLocNo(), wrkMast.getLocNo(), NavigationMapType.getDfxWithDevice(), assignCommand, shuttleThread); |
| | | if (commands == null) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}小车,路径计算失败", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); |
| | |
| | | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 四向穿梭车编号 |
| | | assignCommand.setTaskMode(ShuttleTaskModeType.TRANSPORT.id);//小车移库任务 |
| | | assignCommand.setTaskNo(wrkMast.getWrkNo());//任务号 |
| | | assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//源库位 |
| | | assignCommand.setLocNo(liftSta.getLocNo());//目标库位 |
| | | assignCommand.setAuto(true);//自动模式 |
| | | |
| | | //获取小车到输送站点行走命令 |
| | |
| | | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 四向穿梭车编号 |
| | | assignCommand.setTaskMode(ShuttleTaskModeType.TRANSPORT.id);//小车移库任务 |
| | | assignCommand.setTaskNo(wrkMast.getWrkNo());//任务号 |
| | | assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//源库位 |
| | | assignCommand.setLocNo(wrkMast.getLocNo());//目标库位 |
| | | assignCommand.setAuto(true);//自动模式 |
| | | assignCommand.setLocNo(wrkMast.getLocNo()); |
| | | |
| | | //获取小车到输送站点行走命令 |
| | | List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.DFX), assignCommand, shuttleThread); |
| | |
| | | |
| | | //1.生成入库任务 ==> 3.提升机搬运中 |
| | | if (wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) { |
| | | //获取源输送站 |
| | | LiftStaProtocol sourceLiftSta = LiftUtils.getLiftStaByStaNo(wrkMast.getSourceStaNo()); |
| | | if (sourceLiftSta == null) { |
| | | return false;//找不到站点 |
| | | } |
| | | |
| | | if (!sourceLiftSta.getHasTray()) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,源站无托盘", wrkMast.getWrkNo()); |
| | | return false; |
| | | } |
| | | |
| | | //获取目标输送站 |
| | | LiftStaProtocol liftSta = LiftUtils.getLiftStaByStaNo(wrkMast.getStaNo()); |
| | | if (liftSta == null) { |
| | |
| | | return false; |
| | | } |
| | | |
| | | //获取小车待机位 |
| | | String standbyLocNo = Utils.getShuttleStandbyLocNo(liftSta.getLocNo()); |
| | | if (standbyLocNo == null) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,获取小车待机位失败", wrkMast.getWrkNo()); |
| | | String targetLocNo = navigateUtils.calcEndLocation(wrkMast.getLocNo(), liftSta.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), null, null, 2); |
| | | if (targetLocNo == null) {//出输送线站点计算失败 |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,调度小车去入库层近点计算失败", wrkMast.getWrkNo()); |
| | | return false; |
| | | } |
| | | |
| | | //调度小车去待机位 |
| | | boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), standbyLocNo); |
| | | boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), targetLocNo); |
| | | if (!dispatchShuttle) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,调度小车失败", wrkMast.getWrkNo()); |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,调度小车去入库层失败", wrkMast.getWrkNo()); |
| | | return false; |
| | | } |
| | | return false; |
| | |
| | | continue; |
| | | } |
| | | |
| | | if (!liftThread.isDeviceIdle()) { |
| | | continue; |
| | | } |
| | | |
| | | //提升机为等待确认且空闲 |
| | | if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id |
| | | && liftProtocol.getTaskNo() != 0 |