自动化立体仓库 - WCS系统
#
LSH
2024-06-08 a4fdbb852841fcc9bcc78676e4551efcff384494
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -6236,14 +6236,14 @@
    /**
     * 入出库  ===>>  堆垛机入出库作业下发
     */
    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;
@@ -6255,7 +6255,7 @@
    }
    public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn){
    public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn,Integer i){
        try{
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
@@ -6274,30 +6274,44 @@
            // 只有当堆垛机自动时才继续执行
            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:
                }
            }