#
野心家
2023-07-18 41dda7ced4e6864ce494106d666ff74b10fec35c
#
4个文件已修改
124 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/MelsecCrnThread.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service.impl;
import HslCommunication.Core.Types.OperateResultExOne;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -89,7 +91,6 @@
    private BasCrnErrorMapper basCrnErrorMapper;
    @Autowired
    private WrkMastService wrkMastService;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -146,9 +147,44 @@
//                        continue;
//                    }
//                }
                //超宽超高没扫到条码报警
                boolean fig=false;
                for(int i=0;i<8;i++){
                    switch (i){
                        case 0: if(devpThread.startSignal[i]){
                            log.error("前超报警");
                            fig=true;
                        };
                        case 1: if(devpThread.startSignal[i]){
                            log.error("后超报警");
                            fig=true;
                        };
                        case 2: if(devpThread.startSignal[i]){
                            log.error("高超报警");
                            fig=true;
                        };
                        case 3: if(devpThread.startSignal[i]){
                            log.error("左超报警");
                            fig=true;
                        };
                        case 4: if(devpThread.startSignal[i]){
                            log.error("右超报警");
                            fig=true;
                        };
                        case 5: if(devpThread.startSignal[i]){
                            log.error("超重报警");
                            fig=true;
                        };
                        case 6: if(devpThread.startSignal[i]){
                            log.error("未扫到码报警");
                            fig=true;
                        };
                    }
                }
                if (staProtocol.isAutoing() && staProtocol.isInEnable()
                        && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
                        && staProtocol.isPakMk()) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
                        && staProtocol.isPakMk() && !fig) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
                    News.warnNoLog(""+mark+" - 0"+" - 开始执行");
//                    try {
//                        Thread.sleep(300);
@@ -2237,4 +2273,64 @@
            }
        }
    }
    /**
     *  接收超宽超高没扫到条码报警
     * @param mark
     */
    public synchronized void DevpCallThePolice(Integer mark){
        // 根据输送线plc遍历
        for (DevpSlave devp : slaveProperties.getDevp()) { //遍历输送线
            // 遍历入库口
            for (DevpSlave.Sta inSta : devp.getInSta()) {  // 遍历入库口
                // 获取入库站信息
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                if(null != devpThread){
                    boolean fig=false;
                    for (int i=0;i<8;i++){
                        switch (i){
                            case 0: if(devpThread.startSignal[i]){
                                        log.error("前超报警");
                                        fig=true;
                                    };
                            case 1: if(devpThread.startSignal[i]){
                                log.error("后超报警");
                                fig=true;
                            };
                            case 2: if(devpThread.startSignal[i]){
                                log.error("高超报警");
                                fig=true;
                            };
                            case 3: if(devpThread.startSignal[i]){
                                log.error("左超报警");
                                fig=true;
                            };
                            case 4: if(devpThread.startSignal[i]){
                                log.error("右超报警");
                                fig=true;
                            };
                            case 5: if(devpThread.startSignal[i]){
                                log.error("超重报警");
                                fig=true;
                            };
                            case 6: if(devpThread.startSignal[i]){
                                log.error("未扫到码报警");
                                fig=true;
                            };
                        }
                    }
                    //发生报警,退回入库口
                    if(fig){
                        staProtocol.setWorkNo((short)9991);
                        staProtocol.setStaNo((short)100);
                        devpThread.setPakMk(staProtocol.getSiteId(), false);
                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    }
                }
            }
        }
    }
}
src/main/java/com/zy/core/MainProcess.java
@@ -72,6 +72,10 @@
                    mainService.outOfDevp(11);
                    //mainService.DevpCallThePolice(12);
                    //空托盘自动出库
//                    mainService.autoEmptyOut();
//                    //空托盘自动入库
src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -473,4 +473,13 @@
    }
    @Override
    public void setCmdFlag(boolean flag) {
    }
    @Override
    public boolean isCmdFlag() {
        return false;
    }
}
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -41,6 +41,8 @@
    private DevpSlave slave;
    private SiemensS7Net siemensS7Net;
    public boolean[] startSignal = new boolean[8];
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
//    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
@@ -212,7 +214,7 @@
//        }
        //条码扫描器
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.33",(short)(8));
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.26",(short)(8));
        if (result2.IsSuccess) {
            if (slave.getId()==1){
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,0,8, "UTF-8");
@@ -226,6 +228,13 @@
        }
        //接收超宽超高没扫到条码报警
        Thread.sleep(200);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.34",(short)(1));
        if (result4.IsSuccess) {
            startSignal = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 2));
        if (result1.IsSuccess) {