| | |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); |
| | | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | if (rgvProtocol == null) { |
| | | |
| | | continue; |
| | | } |
| | | BasRgv basRgv = basRgvService.selectById(rgv.getId()); |
| | |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | //目标站 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | //源站 |
| | | Integer sourceStaNo = wrkMast.getSourceStaNo(); |
| | | //通过目标站搜索rgv号 |
| | | Integer rgvNo = this.searchRgvNo(staNo); |
| | | if (rgvNo == null) {//未找到可用的rgv |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 其他 ===>> 码垛位自动补充空板:驱动拆盘机输出托盘 |
| | | */ |
| | | public synchronized void dischargingMachineOutputTray() { |
| | | try { |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectDischargingMachineOutputTray(); |
| | | if (Cools.isEmpty(wrkMasts) || wrkMasts.size()>3){ |
| | | return; |
| | | } |
| | | |
| | | // 获取入库站信息 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); |
| | | StaProtocol staProtocol = devpThread.getStation().get(213); |
| | | if (staProtocol == null) { |
| | | log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点查询失败"); |
| | | return; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | |
| | | if (!staProtocol.isLoading()){ |
| | | log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点无物,正在自动调出空板!"); |
| | | int i = wrkMastMapper.selectConfigCount10468N(); |
| | | if (i==1){ |
| | | wrkMastMapper.updateConfig10468Y(); |
| | | } |
| | | return; |
| | | }else { |
| | | int i = wrkMastMapper.selectConfigCount10468N(); |
| | | if (i==0){ |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // 判断是否满足入库条件 |
| | | if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { |
| | | staProtocol.setWorkNo((short)9999); |
| | | staProtocol.setStaNo((short)214); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); |
| | | if (!result) { |
| | | throw new CoolException("更新plc站点信息失败==>码垛位自动补充空板:驱动拆盘机输出托盘!"); |
| | | } |
| | | log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发成功:工作号9999、目标站214!"); |
| | | }else { |
| | | log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点状态不符合!"); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 其他 ===>> 拆盘机处空板扫码,驱动托盘向码垛位,不入库 |
| | | */ |
| | | public synchronized void scanBarcodeEmptyBoard() { |
| | | try { |
| | | |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 其他 ===>> 码垛完成驱动托盘下一步扫码入库 |
| | | */ |
| | | public synchronized void stackingCompletionDriveTray() { |
| | | try { |
| | | |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | } |
| | | } |