自动化立体仓库 - WCS系统
#
luxiaotao1123
2020-08-10 f66d87fdf407780926f961039b5ecd4203770b2a
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,11 +12,11 @@
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;
@@ -294,7 +294,7 @@
     * 入出库  ===>>  堆垛机站到库位 堆垛机入出库作业下发
     */
    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();
@@ -307,20 +307,20 @@
                // 如果最近一次是入库模式
                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");
                    }
                }
@@ -334,15 +334,29 @@
    /**
     * 入库  ===>>  堆垛机站到库位
     */
    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());
        }
    }
    /**
@@ -356,7 +370,7 @@
     * 执行对工作档的入库完成
     */
    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();
@@ -368,7 +382,7 @@
     * 更新堆垛机移动时工作档状态
     */
    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();