#
lsh
2024-06-27 438ef01503b8e9e0e51bcf6655136839c0b81c15
#
6个文件已修改
106 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/BasJarMast.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/cache/MessageQueue.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensCrnThread.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console-old.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasJarMast.java
@@ -223,32 +223,52 @@
        return null;
        /*
                statusList.add(15);//完成  输送线存在工作号《===》转历史档案
            case 5://小车移动至冷却槽任务  //出冷却槽任务 //开出料门任务
               default:
                statusList.add(17);//完成  输送线存在工作号《===》转历史档案
            case 7://出冷却槽任务
            case 6://小车移动至冷却槽任务
            case 5://开出料门任务
                statusList.add(10);//入冷却槽完成
            case 4://出硫化罐任务
                statusList.add(11);//冷却中
                if (type!=5){
                if (type!=6){
                    statusList.add(12);//冷却完成
                }
                statusList.add(13);//出冷却槽中
                statusList.add(14);//出冷却槽完成
                statusList.add(13);//冷却完成调小车任务
            case 3://关进料门任务  //生成初始任务
                statusList.add(4);//入硫化罐完成
            case 2://关进料门任务  //生成初始任务
                statusList.add(0);//初始
            case 1://开进料门任务
                statusList.add(2);//进料门打开
            case 0://入硫化罐任务
                statusList.add(1);//开进料门中
                statusList.add(3);//入硫化罐中
                statusList.add(5);//硫化中《===》关门完成
                if (type!=4){
                if (type!=5){
                    statusList.add(6);//硫化完成
                }
                statusList.add(7);//开出料门中
                statusList.add(8);//出料门打开
                if (type!=4){
                    statusList.add(8);//出料门打开
                }
                statusList.add(9);//出硫化罐中《===》入冷却槽中
                statusList.add(15);//出冷却槽中
                statusList.add(16);//出冷却槽完成
                if (type!=7){
                    statusList.add(14);//小车到达冷却槽
                }
        * */
    }
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5840,7 +5840,8 @@
                return false;
            }
            if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
//            if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
            if (staProtocolRGV.rgvBoolean(2)){
                if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                    //移走  == > 2
                    if (!jarRgvMoveTake(wrkMastExecute,2)){
@@ -6638,11 +6639,15 @@
    public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete){
        try {
            SteCommand steCommand = new SteCommand();
            steCommand.setTaskNo(wrkMastExecute.getWrkNo().intValue());
            steCommand.setSteNo(wrkMastExecute.getSteId());
            steCommand.setStartLoad(startLoad);
            steCommand.setEndLoad(endLoad);
            steCommand.setTaskModeType(steTaskModeType);
            steCommand.setComplete(complete);
            if (!complete){
                steCommand.setTaskMode(steTaskModeType.id.shortValue());
            }
            steCommand.setJarNo(wrkMastExecute.getJarId().shortValue());
            if (!MessageQueue.offer(SlaveType.Ste, steCommand.getSteNo(), new Task(2, steCommand))) {
                log.error("穿梭车Ste命令下发失败,堆垛机号={},任务数据={},下发数据={},complete={}", steCommand.getSteNo(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steCommand),complete);
@@ -6727,9 +6732,9 @@
                    continue;
                }
                if (steProtocol.getMode()==(short)1 && steProtocol.taskNo!=0 && steProtocol.getChargeStatus()==0){
                    if (steProtocol.statusType.equals(SteStatusType.WAITING)){
                    }
//                    if (steProtocol.statusType.equals(SteStatusType.WAITING)){
//
//                    }
                    WrkMastExecute wrkMastExecute = wrkMastExecuteService.getWrkMastExecuteByWrkNo(steProtocol.getTaskNo().longValue());
                    if (!Cools.isEmpty(wrkMastExecute)){
                        switch (wrkMastExecute.getIoType()){
@@ -6756,24 +6761,19 @@
                                if (wrkMastExecute.getWrkSts()==5){
                                    //1:RGV小车移动、2:RGV小车到位、3:rgv取货、4:rgv取货完成、5:Ste穿梭版入硫化罐、6:入罐完成、7:更新完成   //io_type = 5
                                    //ste任务完成
                                    if (wrkMastExecute.getWrkSts()==3){//==>4
                                        //1:RGV小车移动、2:RGV小车到位、3:Ste穿梭版取货、4:取货完成等待下一步、5:Ste穿梭版放货至冷却池、6:放货完成、7:更新完成   //io_type = 6
                                        //ste任务等待完成
                                        if (steProtocol.statusType.equals(SteStatusType.WAITING)){
                                            //ste任务完成
                                            if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                                wrkMastExecute.setWrkSts(6);
                                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                    log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}",
                                                            wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                                }
                                                return true;
                                    if (steProtocol.statusType.equals(SteStatusType.WAITING)){
                                        //ste任务完成
                                        if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                            wrkMastExecute.setWrkSts(6);
                                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}",
                                                        wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                            }
                                            return true;
                                        }
                                        log.error("穿梭车Ste命令下发失败===>下发异常,jar号={},任务数据={},穿梭车数据={},sign={}",
                                                wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                        return true;
                                    }
                                    log.error("穿梭车Ste命令下发失败===>下发异常,jar号={},任务数据={},穿梭车数据={},sign={}",
                                            wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                    return true;
                                }
                                return false;
src/main/java/com/zy/core/cache/MessageQueue.java
@@ -32,6 +32,8 @@
    private static final Map<Integer, ConcurrentLinkedQueue<Task>> JAR_EXCHANGE = new ConcurrentHashMap<>();
    private static final Map<Integer, ConcurrentLinkedQueue<Task>> STE_EXCHANGE = new ConcurrentHashMap<>();
    /**
     * mq 交换机初始化
     */
@@ -61,6 +63,9 @@
            case Jar:
                JAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
                break;
            case Ste:
                STE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
                break;
            default:
                break;
        }
@@ -88,6 +93,8 @@
                return CAR_EXCHANGE.get(id).offer(task);
            case Jar:
                return JAR_EXCHANGE.get(id).offer(task);
            case Ste:
                return STE_EXCHANGE.get(id).offer(task);
            default:
                return false;
        }
@@ -115,6 +122,8 @@
                return CAR_EXCHANGE.get(id).poll();
            case Jar:
                return JAR_EXCHANGE.get(id).poll();
            case Ste:
                return STE_EXCHANGE.get(id).poll();
            default:
                return null;
        }
@@ -141,6 +150,8 @@
                return CAR_EXCHANGE.get(id).peek();
            case Jar:
                return JAR_EXCHANGE.get(id).peek();
            case Ste:
                return STE_EXCHANGE.get(id).peek();
            default:
                return null;
        }
@@ -172,6 +183,9 @@
            case Jar:
                JAR_EXCHANGE.get(id).clear();
                break;
            case Ste:
                STE_EXCHANGE.get(id).clear();
                break;
            default:
                break;
        }
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -194,6 +194,9 @@
     */
    private void readStatus(){
        try {
            if (true){
                return;
            }
            OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>();
            if (slave.getId()>2 && slave.getId()<6){
                result = siemensNet.Read("DB101.0", (short) 66);
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -316,23 +316,30 @@
                    try{
                        staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0));     // 小车目标位
                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 0));   // 当前位置
                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));   // 当前位置
                        boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1);
                        staProtocol.setRGV1(status[0]);  // 小车无货空闲
                        staProtocol.setRGV2(status[1]);  // 小车输送线取货到位
                        staProtocol.setRGV3(status[2]); // 小车运行中
//                        staProtocol.setRGV11(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));  // 小车无货空闲
//                        staProtocol.setRGV22(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));  // 小车输送线取货到位
//                        staProtocol.setRGV33(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2)); //小车运行中
//                        staProtocol.setRGV1(false);  // 小车无货空闲
//                        staProtocol.setRGV2(true);  // 小车输送线取货到位
//                        staProtocol.setRGV3(false); // 小车运行中
                        staProtocol.setRGV44(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 2));//小车改左侧货物目标站
                        staProtocol.setRGV55(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 4));  //小车改右侧货物目标站
                        staProtocol.setRGV66(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 6));  // 上位机清除平移车资料
//
//                        staProtocol.setRGV44((short) 0);//小车改左侧货物目标站
//                        staProtocol.setRGV55((short) 0);  //小车改右侧货物目标站
//                        staProtocol.setRGV66((short) 0);  // 上位机清除平移车资料
                        staProtocol.setRGV4(staProtocol.getRGV44() != 0 && staProtocol.getRGV44() != 2);//小车改左侧货物目标站
                        staProtocol.setRGV5(staProtocol.getRGV55() != 0 && staProtocol.getRGV55() != 2);  //小车改右侧货物目标站
                        staProtocol.setRGV6(staProtocol.getRGV66() != 0 && staProtocol.getRGV66() != 2);  // 上位机清除平移车资料
                    }catch (Exception e){
                        log.error("读取RGV信息失败"+e.getMessage());
                    }
src/main/webapp/views/console-old.html
@@ -22,7 +22,7 @@
            <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
        </div>
        <div class="head-right">
            <img src="../static/images/zy-logo.png" alt="徐工汉云" height="44" width="80">
            <img src="../static/images/zy-logo.png" alt="浙江中扬立库技术有限公司" height="44" width="80">
        </div>
    </div>