自动化立体仓库 - WCS系统
#
yxFwq
2024-11-29 0bb1ee03b4faa39d83b2ba1911fff3ac1b126ae6
#
4个文件已修改
50 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/CrnController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -120,6 +120,10 @@
            vo.setStatusType(crnProtocol.modeType.desc);   //  模式状态
            vo.setStatus(crnProtocol.getStatusType().desc);     //  状态
            vo.setLoading(crnProtocol.getLoaded()==1?"有物":"无物");  //  有物
            if (crnProtocol.getCrnNo()>=3 && crnProtocol.getCrnNo()<=5){
                vo.setStatus(crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE)? crnProtocol.getStatusTypeTwo().desc:crnProtocol.getStatusType().desc);     //  状态
                vo.setLoading(crnProtocol.getLoaded()==0? crnProtocol.getLoadedTwo()==1?"有物":"无物" : "有物");  //  有物
            }
            vo.setBay(crnProtocol.getBay());    //  列
            vo.setLev(crnProtocol.getLevel());  //  层
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.LedErrorAreaType;
import com.zy.asrs.domain.enums.WorkNoType;
@@ -62,6 +63,7 @@
//    private static final Integer jarMaxLoc1 = 7;
    private static  Integer jarMaxLoc = 0;
//    private static  Integer trunBig = 0;
//    private static  Integer signBigTurn = 0;
//    private static  Integer signSmallTurn = 0;
    private static final Float jarTemperature = 50F;
@@ -3098,13 +3100,20 @@
                continue;
            }
            Integer turnBigInt = 0;
            if (wrkMast.booleanStaNoSign()){
                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
                if (Cools.isEmpty(rgvOneSign)){
                    continue;
                }
                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",12L));
                if (wrkCount+rgvOneSign.getRgvOneSign()>=3){
                RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig");
                if (Cools.isEmpty(trunBig)){
                    continue;
                }
                turnBigInt = trunBig.getRgvOneSign();
                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
                if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
                    continue;
                }
//                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
@@ -3267,6 +3276,9 @@
                    crnCommand.setDestinationPosX((short)0);     // 目标库位排
                    crnCommand.setDestinationPosY((short)0);     // 目标库位列
                    crnCommand.setDestinationPosZ((short)0);     // 目标库位层
                    if (!Cools.isEmpty(wrkMast.getStaNo()) && (wrkMast.getStaNo().equals(312) || wrkMast.getStaNo().equals(310))){
                        updateRgvOneSign("TrunBig",turnBigInt+1);
                    }
                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
                        log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
                    } else {
@@ -3348,6 +3360,24 @@
//            signBigTurn = 0;
//        }
    }
    public void updateRgvOneSign(String signType,Integer oneSign){
        RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class);
        try{
            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
            if (!Cools.isEmpty(rgvOneSign)){
                rgvOneSign.setRgvOneSign(oneSign);
                rgvOneSignMapper.updateById(rgvOneSign);
            }
        } catch (Exception e){
            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
            if (!Cools.isEmpty(rgvOneSign)){
                rgvOneSign.setRgvOneSign(999);
                rgvOneSignMapper.updateById(rgvOneSign);
            }
        }
    }
    /**
@@ -8421,6 +8451,10 @@
    /**
     *  ste充电任务创建   //完成
     */
    public synchronized void signTrunBig() {
        updateRgvOneSign("TrunBig",0);
    }
    public synchronized boolean jarChargeGenerate() {
        try{
            //80%电量 无任务  充电  >50电量  有任务  断电
src/main/java/com/zy/core/MainProcess.java
@@ -121,12 +121,10 @@
                    //Jar充电任务创建
                    mainService.jarChargeGenerate();
                    /************************************JAR调度************************************/
                    mainService.signTrunBig();
                } catch (Exception e) {
                    e.printStackTrace();
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -1011,7 +1011,7 @@
                    writeCount++;
                    continue;
                }
                OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 1);
                OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("DB500.0", (byte) 1);
                if (resultRead1.IsSuccess) {
                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
                    if (status[devNo-1]){