| | |
| | | if (crnThread == null) { |
| | | return R.error("线程不存在"); |
| | | } |
| | | DualCrnCommand command = crnThread.getResetCommand(crnNo, station); |
| | | DualCrnCommand command = crnThread.getResetCommand(9999, crnNo, station); |
| | | MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(3, command)); |
| | | return R.ok(); |
| | | } |
| | |
| | | confirmAddress = "DB100.34"; |
| | | } |
| | | |
| | | short sendTaskNo = command.getTaskNo().shortValue(); |
| | | if(command.getTaskMode().equals(DualCrnTaskModeType.CONFIRM.id)) { |
| | | sendTaskNo = 0; |
| | | } |
| | | |
| | | short[] array = new short[9]; |
| | | array[0] = command.getTaskNo().shortValue(); |
| | | array[0] = sendTaskNo; |
| | | array[1] = command.getTaskMode().shortValue(); |
| | | array[2] = command.getSourcePosX().shortValue(); |
| | | array[3] = command.getSourcePosY().shortValue(); |
| | |
| | | |
| | | DualCrnCommand getMoveCommand(String targetLocNo, Integer taskNo, Integer crnNo);//移动 |
| | | |
| | | DualCrnCommand getResetCommand(Integer crnNo, Integer station);//复位 |
| | | DualCrnCommand getResetCommand(Integer taskNo, Integer crnNo, Integer station);//复位 |
| | | |
| | | CommandResponse sendCommand(DualCrnCommand command);//下发命令 |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public DualCrnCommand getResetCommand(Integer crnNo, Integer station) { |
| | | public DualCrnCommand getResetCommand(Integer taskNo, Integer crnNo, Integer station) { |
| | | DualCrnCommand crnCommand = new DualCrnCommand(); |
| | | crnCommand.setCrnNo(crnNo); // 堆垛机编号 |
| | | crnCommand.setTaskNo(0); // 工作号 |
| | | crnCommand.setTaskNo(taskNo); // 工作号 |
| | | crnCommand.setTaskMode(DualCrnTaskModeType.CONFIRM.id); // 任务模式: 确认 |
| | | crnCommand.setSourcePosX(0); // 源库位排 |
| | | crnCommand.setSourcePosY(0); // 源库位列 |
| | |
| | | return; |
| | | } |
| | | |
| | | DualCrnCommand resetCommand = dualCrnThread.getResetCommand(dualCrnProtocol.getCrnNo(), station); |
| | | DualCrnCommand resetCommand = dualCrnThread.getResetCommand(taskNo, dualCrnProtocol.getCrnNo(), station); |
| | | boolean offer = MessageQueue.offer(SlaveType.DualCrn, dualCrnProtocol.getCrnNo(), new Task(3, resetCommand)); |
| | | if (offer) { |
| | | wrkMast.setWrkSts(updateWrkSts); |
| | |
| | | redisUtil.set(RedisKeyType.DUAL_CRN_IO_EXECUTE_FINISH_LIMIT.key + basDualCrnp.getCrnNo() + "_" + taskNo, "lock", 10); |
| | | } |
| | | }else { |
| | | DualCrnCommand resetCommand = dualCrnThread.getResetCommand(dualCrnProtocol.getCrnNo(), station); |
| | | DualCrnCommand resetCommand = dualCrnThread.getResetCommand(taskNo, dualCrnProtocol.getCrnNo(), station); |
| | | MessageQueue.offer(SlaveType.DualCrn, dualCrnProtocol.getCrnNo(), new Task(3, resetCommand)); |
| | | News.info("双工位堆垛机命令完成确认成功,堆垛机号={},工作号={}", basDualCrnp.getCrnNo(), taskNo); |
| | | } |