| | |
| | | return R.error("线程不存在"); |
| | | } |
| | | |
| | | CrnCommand command = crnThread.getResetCommand(crnNo); |
| | | CrnCommand command = crnThread.getResetCommand(crnNo, 9999); |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | return R.ok(); |
| | | } |
| | |
| | | PAKIN(1), // 入库 |
| | | PAKOUT(2), // 出库 |
| | | LOC_MOVE(3), // 库位移转 |
| | | X_MOVE(4), // 站位移转 |
| | | Y_MOVE(5), // 站位移转 |
| | | XY_MOVE(6), // 站位移转 |
| | | CRN_MOVE(7), // 堆垛机移动XYZ |
| | | CRN_MOVE(4), // 堆垛机移动XYZ |
| | | BACK_ORIGIN(8), // 回反原点 |
| | | CLEAR(9), // 清错 |
| | | RESET(5), // 复位 |
| | | ; |
| | | |
| | | public Integer id; |
| | |
| | | import com.zy.asrs.entity.DeviceConfig; |
| | | import com.zy.core.News; |
| | | import com.zy.core.cache.OutputQueue; |
| | | import com.zy.core.enums.CrnTaskModeType; |
| | | import com.zy.core.model.CommandResponse; |
| | | import com.zy.core.model.command.CrnCommand; |
| | | import com.zy.core.network.api.ZyCrnConnectApi; |
| | |
| | | return response; |
| | | } |
| | | |
| | | Integer commandTaskNo = command.getTaskNo(); |
| | | Integer commandTaskMode = command.getTaskMode(); |
| | | if (commandTaskMode.equals(CrnTaskModeType.RESET.id)) { |
| | | commandTaskNo = 0; |
| | | commandTaskMode = 0; |
| | | } |
| | | |
| | | short[] array = new short[9]; |
| | | array[0] = command.getAckFinish().shortValue(); |
| | | array[1] = command.getTaskNo().shortValue(); |
| | | array[2] = command.getTaskMode().shortValue(); |
| | | array[1] = commandTaskNo.shortValue(); |
| | | array[2] = commandTaskMode.shortValue(); |
| | | array[3] = command.getSourcePosX().shortValue(); |
| | | array[4] = command.getSourcePosY().shortValue(); |
| | | array[5] = command.getSourcePosZ().shortValue(); |
| | |
| | | wrkMast.setWeight(Cools.isEmpty(crnProtocol.getWeight()) ? 11.11 : crnProtocol.getWeight()); |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo()); |
| | | CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo(), crnProtocol.getTaskNo()); |
| | | MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, resetCommand)); |
| | | News.info("堆垛机任务状态更新成功,堆垛机号={},工作号={}", basCrnp.getCrnNo(), crnProtocol.getTaskNo()); |
| | | } |
| | |
| | | |
| | | CrnCommand getMoveCommand(String targetLocNo, Integer taskNo, Integer crnNo);//移动 |
| | | |
| | | CrnCommand getResetCommand(Integer crnNo);//复位 |
| | | CrnCommand getResetCommand(Integer taskNo, Integer crnNo);//复位 |
| | | |
| | | CommandResponse sendCommand(CrnCommand command);//下发命令 |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public CrnCommand getResetCommand(Integer crnNo) { |
| | | public CrnCommand getResetCommand(Integer taskNo, Integer crnNo) { |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setCrnNo(crnNo); // 堆垛机编号 |
| | | crnCommand.setTaskNo(0); // 工作号 |
| | | crnCommand.setTaskNo(taskNo); // 工作号 |
| | | crnCommand.setAckFinish(1); // 任务完成确认位 |
| | | crnCommand.setTaskMode(CrnTaskModeType.NONE.id); // 任务模式 |
| | | crnCommand.setTaskMode(CrnTaskModeType.RESET.id); // 任务模式 |
| | | crnCommand.setSourcePosX(0); // 源库位排 |
| | | crnCommand.setSourcePosY(0); // 源库位列 |
| | | crnCommand.setSourcePosZ(0); // 源库位层 |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | wrkMast.setWeight(crnProtocol.getWeight()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo()); |
| | | CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo(), crnProtocol.getTaskNo()); |
| | | if (i>-1){ |
| | | resetCommand.setLocNo(locNo); |
| | | resetCommand.setIndex(i); |