| | |
| | | import com.zy.asrs.service.StaDescService; |
| | | import com.zy.asrs.service.WrkDetlService; |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.core.Slave; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.CrnStatusType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.CrnSlave; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.protocol.CrnProtocol; |
| | |
| | | * 入出库 ===>> 堆垛机站到库位 堆垛机入出库作业下发 |
| | | */ |
| | | public void crnIoExecute(){ |
| | | for (Slave crn : slaveProperties.getCrn()) { |
| | | for (CrnSlave crn : slaveProperties.getCrn()) { |
| | | // 获取堆垛机信息 |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | |
| | | // 如果最近一次是入库模式 |
| | | if (crnProtocol.getLastIo().equals("I")) { |
| | | if (basCrnp.getInEnable().equals("Y")) { |
| | | this.crnStnToLoc(); // 入库 |
| | | this.crnStnToLoc(crn); // 入库 |
| | | crnProtocol.setLastIo("O"); |
| | | } else if (basCrnp.getOutEnable().equals("Y")) { |
| | | this.locToCrnStn(); // 出库 |
| | | this.locToCrnStn(crn); // 出库 |
| | | crnProtocol.setLastIo("I"); |
| | | } |
| | | } |
| | | // 如果最近一次是出库模式 |
| | | else if (crnProtocol.getLastIo().equals("O")) { |
| | | if (basCrnp.getOutEnable().equals("Y")) { |
| | | this.locToCrnStn(); // 出库 |
| | | this.locToCrnStn(crn); // 出库 |
| | | crnProtocol.setLastIo("I"); |
| | | } else if (basCrnp.getInEnable().equals("Y")) { |
| | | this.crnStnToLoc(); // 入库 |
| | | this.crnStnToLoc(crn); // 入库 |
| | | crnProtocol.setLastIo("O"); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 入库 ===>> 堆垛机站到库位 |
| | | */ |
| | | private void crnStnToLoc(){ |
| | | private void crnStnToLoc(CrnSlave slave){ |
| | | for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) { |
| | | // 获取堆垛机入库站信息 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 出库 ===>> 库位到堆垛机站 |
| | | */ |
| | | private void locToCrnStn(){ |
| | | private void locToCrnStn(CrnSlave slave){ |
| | | for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { |
| | | // 获取堆垛机出库站信息 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * 执行对工作档的入库完成 |
| | | */ |
| | | public void storeFinished() { |
| | | for (Slave crn : slaveProperties.getCrn()) { |
| | | for (CrnSlave crn : slaveProperties.getCrn()) { |
| | | // 获取堆垛机信息 |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | |
| | | * 更新堆垛机移动时工作档状态 |
| | | */ |
| | | public void updateCrnMove() { |
| | | for (Slave crn : slaveProperties.getCrn()) { |
| | | for (CrnSlave crn : slaveProperties.getCrn()) { |
| | | // 获取堆垛机信息 |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |