| | |
| | | // 所属线程 |
| | | private Thread thread; |
| | | private Thread armThread; |
| | | private Thread agvThread; |
| | | // 频率 |
| | | private int i = 0; |
| | | private int k = 0; |
| | |
| | | |
| | | armThread = new Thread(this::roboticArmDispatch); |
| | | armThread.start(); |
| | | |
| | | agvThread = new Thread(this::agvDispatch); |
| | | agvThread.start(); |
| | | } |
| | | private void crnAndDevRun() { |
| | | while (!Thread.currentThread().isInterrupted()) { |
| | |
| | | |
| | | // mainService.outOfDevp(11); |
| | | |
| | | if (i>2){ |
| | | if (i>10){ |
| | | //空托盘自动出库 |
| | | // mainService.autoEmptyOut(); |
| | | mainService.autoEmptyOut(); |
| | | //空托盘自动入库 |
| | | mainService.autoEmptyIn(); |
| | | i=0; |
| | | } |
| | | i++; |
| | | |
| | | // 其他 ===>> 入出库模式切换 |
| | | // i++; |
| | | // if (i > 1) { |
| | | // mainService.ioConvert(); |
| | | // i = 0; |
| | | // } |
| | | |
| | | /////////////////////////////////////RGV调度///////////////////////////////////// |
| | | // |
| | | //完成小车任务 |
| | | // mainService.rgvCompleteWrkMastSta(); |
| | | |
| | | // //执行小车空板搬运任务 |
| | | // mainService.rgvRunWrkMastEmptyStaPut();//放 |
| | | // mainService.rgvRunWrkMastEmptyStaTake();//取 |
| | | // if (rgcWrk){ |
| | | // //执行小车货物搬运任务 |
| | | // mainService.rgvRunWrkMastFullSta(); |
| | | // rgcWrk = false; |
| | | // }else { |
| | | // mainService.rgvRunWrkMastEmptyStaAvoidance();//避让 |
| | | // rgcWrk = true; |
| | | // } |
| | | |
| | | |
| | | /////////////////////////////////////RGV调度///////////////////////////////////// |
| | | /////////////////////////////////////RGV调度///////////////////////////////////// |
| | | k++; |
| | | |
| | |
| | | // //完成小车任务 |
| | | mainService.rgvTaskComplete(); |
| | | |
| | | //工位移动 |
| | | // mainService.rgvStaMove(); |
| | | /////////////////////////////////////RGV调度///////////////////////////////////// |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | try { |
| | | |
| | | // 间隔 |
| | | Thread.sleep(500); |
| | | Thread.sleep(400); |
| | | |
| | | // 系统运行状态判断 |
| | | if (!SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | |
| | | } |
| | | |
| | | //arm任务完成 |
| | | mainService.armMissionAccomplished(); |
| | | mainService.armMissionAccomplishedScanToCheckIn(); |
| | | mainService.armMissionAccomplished();//4==>5 |
| | | mainService.armMissionAccomplishedScanToCheckIn();//3===》4 |
| | | |
| | | //arm任务下发 |
| | | mainService.armTaskAssignment(); |
| | | mainService.armTaskAssignment();//0===》1 |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void agvDispatch() { |
| | | while (!Thread.currentThread().isInterrupted()) { |
| | | try { |
| | | |
| | | // 间隔 |
| | | Thread.sleep(400); |
| | | |
| | | // 系统运行状态判断 |
| | | if (!SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | continue; |
| | | } |
| | | //agv任务下发 |
| | | mainService.agvTaskAssignment0();//0===》1 AGV库位==》输送线站点 0 |
| | | mainService.agvTaskAssignment1();//0===》1 AGV库位==》AGV库位 1 |
| | | mainService.agvTaskAssignment2();//0===》1 输送线站点==》AGV库位 2 |
| | | mainService.agvTaskAssignment3();//0===》1 输送线站点==》输送线站点 3 |
| | | |
| | | |
| | | mainService.agvTaskCreateFull();//任务生成 出库口==》AGV库位 |
| | | mainService.agvTaskCreateEmpty();//任务生成 出库口==》AGV库位 |
| | | mainService.agvTaskCreateR();//任务生成 AGV库位==》入库口 |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |