#
lsh
2024-06-22 d4daea691450958841e393fe56ae20472c9a9382
#
4个文件已修改
153 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/JarSlave.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/StaProtocol.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4627,9 +4627,9 @@
                                break;
                            }
                        case 3:
//                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
//                                break;
//                            }
                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
                                break;
                            }
                    }
                }
            } catch (Exception e){
@@ -4653,54 +4653,87 @@
                add(2);
            }});
            for (BasJarMast basJarMast : basJarMastList){
                // 获取硫化罐信息
                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
                JarProtocol jarProtocol = jarThread.getJarProtocol();
                if (jarProtocol == null) {
                    return false;
                JarSlave.StaStn staStn = null;
                for (JarSlave.StaStn staStn1 : jarSlave.getJarInSta()){
                    if (staStn1.getStaNo().equals(basJarMast.getEnterStaNo())){
                        staStn = staStn1;
                    }
                }
                if (jarProtocol.modeType != JarModeType.AUTO){
                    return false;
                if (Cools.isEmpty(staStn)){
                    continue;
                }
                //检测站点状态
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId());
                StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo());
                if (staProtocol == null) {
                    continue;
                } else {
                    staProtocol = staProtocol.clone();
                }
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()==basJarMast.getWrkNo().intValue()){
                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
                if (jarOtherProtocol == null) {
                    return false;
                }
                    //检测RGV状态
                    StaProtocol staProtocolRGV = devpThread.getStation().get(staStn.getRgvNo());
                    if (staProtocolRGV == null) {
                        continue;
                    } else {
                        staProtocolRGV = staProtocolRGV.clone();
                    }
                    if (staProtocolRGV.isRGV1() && !staProtocolRGV.isRGV2() && !staProtocolRGV.isRGV3() && !staProtocolRGV.isRGV4() && !staProtocolRGV.isRGV5() && !staProtocolRGV.isRGV6()){
                        // 获取硫化罐信息
                        JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
                        JarProtocol jarProtocol = jarThread.getJarProtocol();
                        if (jarProtocol == null) {
                            return false;
                        }
                        if (jarProtocol.modeType != JarModeType.AUTO){
                            return false;
                        }
                        JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
                        JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
                        if (jarOtherProtocol == null) {
                            return false;
                        }
//                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
//                        continue;
//                    }
                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                if (Cools.isEmpty(basJar)){
                    log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo());
                    return false;
                }
                        BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                        if (Cools.isEmpty(basJar)){
                            log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo());
                            return false;
                        }
                //门作业  无
                //自动、空闲、右门关闭、   Other左门关闭
                if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
                        && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
                    if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
                        //生成开门任务 OpenTheDoor
                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
                            log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        //门作业  无
                        //自动、空闲、右门关闭、   Other左门关闭
                        if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
                                && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
                                && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
                            if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
                                //生成开门任务 OpenTheDoor
                                if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
                                    log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                                }
                                return true;
                            } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
                                //生成入硫化罐任务
                                if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
                                    log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                                }
                                return true;
                            } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
                                log.error("JarWrkMastExecute任务创建===>执行异常===》硫化罐空闲但是门未关===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                            }
                        }
                        return true;
                    } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
                        //生成入硫化罐任务
                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
                            log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        }
                        return true;
                    } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
                        log.error("JarWrkMastExecute任务创建===>执行异常===》硫化罐空闲但是门未关===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        return false;
                    } else {
                        log.error("JarWrkMastExecute任务创建===>执行异常===》RGV不满足条件,等待===》异常数据:BasJar:"+ JSON.toJSONString(staProtocolRGV)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        return false;
                    }
                }
                return false;
            }
        } catch (Exception e){
            log.error("{}号硫化罐JarWrkMastExecute任务创建异常,异常原因={}",jarSlave.getId(),e.getMessage());
        }
src/main/java/com/zy/core/model/JarSlave.java
@@ -48,6 +48,8 @@
        // 穿梭车站点编号
        private Integer staNo;
        private Integer rgvNo;
        private Integer steNo;
        // 排
        private Integer row;
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -83,8 +83,8 @@
    private boolean RGV1;//小车无货空闲
    private boolean RGV2;//小车输送线取货到位
    private boolean RGV3;//小车运行中
    private boolean RGV4;//小车改左侧货物目标站
    private boolean RGV5;//小车改右侧货物目标站
    private boolean RGV4;//小车改左侧货物目标站   取1(左)货物
    private boolean RGV5;//小车改右侧货物目标站   取2(右)货物
    private boolean RGV6;//上位机清除平移车资料
    public BasDevp toSqlModel(){
src/main/resources/application.yml
@@ -372,36 +372,42 @@
    jarInSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 101
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库站点
    jarInSta[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐出库站点
    jarOutSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库RGV
    jarInRgv[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      rgvNo: 173
      rgvNo: 623
      row: 1
    # 硫化罐出库RGV
    jarOutRgv[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      rgvNo: 173
      rgvNo: 625
      row: 2
    # 硫化罐入库穿梭板
    jarInSte[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      steNo: 173
      steNo: 1
      row: 1
    # 硫化罐出库穿梭板
    jarOutSte[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      steNo: 173
      steNo: 3
      row: 2
  # JAR2
  jar[1]:
@@ -413,21 +419,27 @@
    jarInSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 101
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库站点
    jarInSta[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐出库站点
    jarOutSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 202
      staNo: 623
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库RGV
    jarInRgv[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      rgvNo: 173
      rgvNo: 625
      row: 1
    # 硫化罐出库RGV
    jarOutRgv[0]:
@@ -454,16 +466,22 @@
    jarInSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 101
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库站点
    jarInSta[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐出库站点
    jarOutSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库RGV
    jarInRgv[0]:
@@ -495,16 +513,22 @@
    jarInSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 101
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库站点
    jarInSta[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐出库站点
    jarOutSta[0]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 102
      rgvNo: 102
      steNo: 102
      row: 1
    # 硫化罐入库RGV
    jarInRgv[0]: