|  |  |  | 
|---|
|  |  |  | vo.setRgvPos1(rgvProtocol.getRgvPosI2()); | 
|---|
|  |  |  | vo.setWalkPos(Objects.equals(rgvProtocol.getWalkPos(), 1) ? "在定位" : "不在定位"); | 
|---|
|  |  |  | vo.setPakMk(rgvThread.isPakMk() ? "无锁" : "锁定"); | 
|---|
|  |  |  | //            vo.setPakIn(rgvThread.isPakIn() ? "可入" : "不可入"); | 
|---|
|  |  |  | //            vo.setPakOut(rgvThread.isPakOut() ? "可出" : "不可出"); | 
|---|
|  |  |  | //            vo.setPakRgv(rgvThread.isPakRgv() ? "无锁" : "锁定"); | 
|---|
|  |  |  | vo.setPaking(rgvThread.isPaking()? "无锁" : "锁定"); | 
|---|
|  |  |  | //            vo.setPakAll(rgvThread.isPakAll() ? "无锁" : "锁定"); | 
|---|
|  |  |  | //            vo.setPakToCrn(rgvThread.isPakToCrn() ? "无锁" : "锁定"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vo.setWorkNo2(rgvProtocol.getTaskNo2());      // 工位2任务号 | 
|---|
|  |  |  | //            vo.setStatus2(rgvProtocol.getStatusType2().desc); // 工位2状态 | 
|---|
|  |  |  | vo.setLoading2(rgvProtocol.getLoaded2() ? "有物" : "无物"); // 工位2有物 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | RgvCommand command = new RgvCommand(); | 
|---|
|  |  |  | command.setRgvNo(param.getRgvNo()); // RGV编号 | 
|---|
|  |  |  | command.setAckFinish1(true);  // 任务完成确认位 | 
|---|
|  |  |  | //        command.setTaskNo1( 0); // 工作号 | 
|---|
|  |  |  | command.setTaskMode1(RgvTaskModeType.NONE); // 任务模式 | 
|---|
|  |  |  | command.setSourceStaNo1((short) 0); // 源站 | 
|---|
|  |  |  | command.setDestinationStaNo1((short) 0);  // 目标站 | 
|---|
|  |  |  | command.setAckFinish2(true);  // 任务完成确认位 | 
|---|
|  |  |  | command.setTaskNo2(0); // 工作号 | 
|---|
|  |  |  | command.setTaskMode2(RgvTaskModeType.NONE); // 任务模式 | 
|---|
|  |  |  | command.setSourceStaNo2((short) 0); // 源站 | 
|---|
|  |  |  | command.setDestinationStaNo2((short) 0);  // 目标站 | 
|---|
|  |  |  | command.setCommand(true); | 
|---|
|  |  |  | command.setWrkTaskPri(0);  //执行工位 | 
|---|
|  |  |  | command.setTaskNo(Math.toIntExact(0)); // 工作号 | 
|---|
|  |  |  | command.setTaskStatus((short)0); // 任务模式: 取货 | 
|---|
|  |  |  | command.setTargetPosition(0);  // 目标站 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return rgvControl(command)? R.ok(): R.error(); | 
|---|
|  |  |  | return rgvClear(command)? R.ok(): R.error(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ManagerAuth(memo = "手动复位") | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private boolean rgvClear(RgvCommand command){ | 
|---|
|  |  |  | if (command.getRgvNo() == null) { | 
|---|
|  |  |  | throw new CoolException("请选择RGV"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (RgvSlave rgv : slaveProperties.getRgv()) { | 
|---|
|  |  |  | // 获取RGV信息 | 
|---|
|  |  |  | if (command.getRgvNo().equals(rgv.getId())) { | 
|---|
|  |  |  | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); | 
|---|
|  |  |  | if (rgvThread == null) { | 
|---|
|  |  |  | throw new CoolException("RGV不在线"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); | 
|---|
|  |  |  | if (rgvProtocol == null) { | 
|---|
|  |  |  | throw new CoolException("RGV不在线"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(3, command))) { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("命令下发失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|