|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 入出库  ===>>  堆垛机入出库作业下发 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public synchronized void crnIoExecuteTwoExecute() { | 
|---|
|  |  |  | public synchronized void crnIoExecuteTwoExecute(Integer i) { | 
|---|
|  |  |  | for (CrnSlave crn : slaveProperties.getCrn()) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | switch (crn.getId()){ | 
|---|
|  |  |  | case 3: | 
|---|
|  |  |  | case 4: | 
|---|
|  |  |  | case 5: | 
|---|
|  |  |  | crnWrkMastSplitTwinExecute(crn); | 
|---|
|  |  |  | crnWrkMastSplitTwinExecute(crn,i); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn){ | 
|---|
|  |  |  | public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn,Integer i){ | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | // 获取堆垛机信息 | 
|---|
|  |  |  | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 只有当堆垛机自动时才继续执行 | 
|---|
|  |  |  | if (crnProtocol.getModeType() == CrnModeType.AUTO) { | 
|---|
|  |  |  | // 只有当堆垛机工位1取货或者有物 并且 工位2无任务时才继续执行 | 
|---|
|  |  |  | if (crnProtocol.getStatusType() == CrnStatusType.IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoaded() == 0 | 
|---|
|  |  |  | && crnProtocol.getForkPos() == 0) { | 
|---|
|  |  |  | sign[0] = 1; | 
|---|
|  |  |  | sign[1] = 1; | 
|---|
|  |  |  | } else if (crnProtocol.getStatusType() == CrnStatusType.SEPARATE_IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoaded() == 1 | 
|---|
|  |  |  | && crnProtocol.getForkPos() == 0) { | 
|---|
|  |  |  | sign[0] = 2; | 
|---|
|  |  |  | sign[1] = 1; | 
|---|
|  |  |  | } else if (crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNoTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoadedTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getForkPosTwo() == 0){ | 
|---|
|  |  |  | sign[0] = 1; | 
|---|
|  |  |  | sign[1] = 2; | 
|---|
|  |  |  | } else if (crnProtocol.getStatusTypeTwo() == CrnStatusType.SEPARATE_IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNoTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoadedTwo() == 1 | 
|---|
|  |  |  | && crnProtocol.getForkPosTwo() == 0){ | 
|---|
|  |  |  | sign[0] = 2; | 
|---|
|  |  |  | sign[1] = 2; | 
|---|
|  |  |  | switch (i){ | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | if (crnProtocol.getStatusType() == CrnStatusType.IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoaded() == 0 | 
|---|
|  |  |  | && crnProtocol.getForkPos() == 0) { | 
|---|
|  |  |  | sign[0] = 1; | 
|---|
|  |  |  | sign[1] = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 2: | 
|---|
|  |  |  | if (crnProtocol.getStatusType() == CrnStatusType.SEPARATE_IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoaded() == 1 | 
|---|
|  |  |  | && crnProtocol.getForkPos() == 0) { | 
|---|
|  |  |  | sign[0] = 2; | 
|---|
|  |  |  | sign[1] = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 3: | 
|---|
|  |  |  | if (crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNoTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoadedTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getForkPosTwo() == 0){ | 
|---|
|  |  |  | sign[0] = 1; | 
|---|
|  |  |  | sign[1] = 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 4: | 
|---|
|  |  |  | if (crnProtocol.getStatusTypeTwo() == CrnStatusType.SEPARATE_IDLE | 
|---|
|  |  |  | && crnProtocol.getTaskNoTwo() == 0 | 
|---|
|  |  |  | && crnProtocol.getLoadedTwo() == 1 | 
|---|
|  |  |  | && crnProtocol.getForkPosTwo() == 0){ | 
|---|
|  |  |  | sign[0] = 2; | 
|---|
|  |  |  | sign[1] = 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|