#
lsh
2023-03-04 e4e648039069464f96b3e4abacae167e3a0b3be3
#
2个文件已修改
69 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SteThread.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2556,7 +2556,7 @@
                    }
                    // 处于充电库位组
                    if (steProtocol.getRow().intValue() == Utils.getRow(chargeLocNo)
                    if ( 0<steProtocol.getRow().intValue() && steProtocol.getRow().intValue()<=4
                            && steProtocol.getBay().intValue() == Utils.getBay(chargeLocNo)
                            && steProtocol.getLev().intValue() == Utils.getLev(chargeLocNo)) {
                        // 修改工作档状态 21.准备充电 => 24.小车到达
@@ -2583,10 +2583,22 @@
     */
    public synchronized void executeSteCharge() {
        WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
        if (null == wrkCharge) { return; }
        Integer steNo = wrkCharge.getSteNo();
        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, 1);
        SteProtocol steProtocol = steThread.getSteProtocol();
        if (null == wrkCharge) {
            if (steProtocol.getChargeStatus()==(short)0 && steProtocol.isBrushConnect()){
                SteCommand steCommand = new SteCommand();
                steCommand.setSteNo(1); // 穿梭车编号
                steCommand.setTaskNo(10060); // 工作号
                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 任务模式: 断开充电
                if (!MessageQueue.offer(SlaveType.Ste, 1, new Task(2, steCommand))) {
                    News.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
                }
            }
            return;
        }
        Integer steNo = wrkCharge.getSteNo();
        BasSte basSte = basSteService.selectById(steNo);
        if (Cools.isEmpty(steProtocol, basSte)) { return; }
        if (steProtocol.getMode() == 0
@@ -2600,10 +2612,35 @@
        if (!steProtocol.isEnable()) {
            return;
        }
        if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//充电标记
        if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())+40) {
            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//中断充电标记
            wrkCharge.setWrkSts(30L);
            wrkChargeMapper.updateById(wrkCharge);
            if (!wrkChargeService.updateById(wrkCharge)) {
                News.error("修改充电任务状态 29.开始充电 ===>> 30.完成充电 失败!!,工作号={}", wrkCharge.getWrkNo());
            }else {
                SteCommand steCommand = new SteCommand();
                steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号
                steCommand.setTaskNo(wrkCharge.getWrkNo()); // 工作号
                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 任务模式: 断开充电
                if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
                    News.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
                }
            }
            return;
        }else if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine()) && steProtocol.getChargeStatus()==(short)0 && steProtocol.isBrushConnect()) {
            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//中断充电标记
            wrkCharge.setWrkSts(30L);
            if (!wrkChargeService.updateById(wrkCharge)) {
                News.error("修改充电任务状态 29.开始充电 ===>> 30.完成充电 失败!!,工作号={}", wrkCharge.getWrkNo());
            }else {
                SteCommand steCommand = new SteCommand();
                steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号
                steCommand.setTaskNo(wrkCharge.getWrkNo()); // 工作号
                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 任务模式: 断开充电
                if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
                    News.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
                }
            }
            return;
        }
        try {
@@ -2683,6 +2720,7 @@
                    }
                }
            } else if (wrkCharge.getWrkSts() == 26) {
                //26.等待充电 ===>
                // 穿梭车下发充电任务
                SteCommand steCommand = new SteCommand();
                steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号
@@ -2702,12 +2740,20 @@
                String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(1).getChargeLine();
                if (idle2<(Float.parseFloat(chargeLine)+2)){
                    MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 666));//充电标记
                }else if (idle2 > 70f){
                    MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//充电标记
                }else if (idle2 >= 100f){
                    MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//中断充电标记
                    // 29.开始充电 ===>> 30.完成充电
                    wrkCharge.setWrkSts(30L);
                    if (!wrkChargeService.updateById(wrkCharge)) {
                        News.error("修改充电任务状态 29.开始充电 ===>> 30.完成充电 失败!!,工作号={}", wrkCharge.getWrkNo());
                    }else {
                        SteCommand steCommand = new SteCommand();
                        steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号
                        steCommand.setTaskNo(wrkCharge.getWrkNo()); // 工作号
                        steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 任务模式: 断开充电
                        if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
                            News.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
                        }
                    }
                }
            }
src/main/java/com/zy/core/thread/SteThread.java
@@ -179,13 +179,13 @@
                steProtocol.setCrnStopRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 38));
                steProtocol.setCrnStopFork(siemensS7Net.getByteTransform().TransInt16(result.Content, 40));
                steProtocol.setCrnAllowRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 42));
//                steProtocol.setCrnAllowRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 44));
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                if (!devpThread.charge0 || devpThread.charge1){
                    steProtocol.setChargeStatus((short)1);
                }else {
                    steProtocol.setChargeStatus((short)0);
                }
                OutputQueue.STE.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));
@@ -220,6 +220,9 @@
                    steProtocol.setForcedTravel(status[68]);
                    steProtocol.setDemoMode(status[69]);
                    steProtocol.setBrushConnect(status[70]);
//                    if (status[70]){
//                        steProtocol.setChargeStatus((short)1);
//                    }
                    steProtocol.setTaskManualForbid(status[71]);
                    steProtocol.setOnlineManualForbid(status[72]);
                    steProtocol.setDevpEmergency(status[73]);