| | |
| | | && crnProtocol.getForkPos() == 0) { |
| | | |
| | | CrnSlave.CrnStn crnStn = null; |
| | | CrnSlave.CrnStn crnStn2 = null; |
| | | for (CrnSlave.CrnStn crnStn1 : crn.getCrnOutStn()){ |
| | | if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){ |
| | | crnStn = crnStn1; |
| | | break; |
| | | } |
| | | } |
| | | if(Cools.isEmpty(crnStn)){ |
| | | for (CrnSlave.CrnStn crnStn1 : crn.getCrnInStn()){ |
| | | if(crnStn1.getStaNo().equals(wrkMast.getSourceStaNo())){ |
| | | crnStn2 = crnStn1; |
| | | break; |
| | | } |
| | | } |
| | | if(Cools.isEmpty(crnStn) || Cools.isEmpty(crnStn2)){ |
| | | continue; |
| | | } |
| | | |
| | |
| | | crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号 |
| | | crnCommand.setAckFinish((short) 0); // 任务完成确认位 |
| | | crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式: 库位移转 |
| | | //crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 源库位排 |
| | | //crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 源库位列 |
| | | //crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 源库位层 |
| | | crnCommand.setSourcePosX(crnStn2.getRow().shortValue()); // 源库位排 |
| | | crnCommand.setSourcePosY(crnStn2.getBay().shortValue()); // 源库位列 |
| | | crnCommand.setSourcePosZ(crnStn2.getLev().shortValue()); // 源库位层 |
| | | crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 目标库位排 |
| | | crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 目标库位列 |
| | | crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 目标库位层 |
| | | crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue()); // 源库位排 |
| | | // crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue()); // 源库位排 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { |
| | | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); |
| | | } else { |