#
lsh
2024-01-26 bfe18b8eaa127d34286ef29b89066f5053cb3aee
#
5个文件已修改
117 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/StaProtocol.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -140,6 +140,47 @@
                    staProtocol = staProtocol.clone();
                }
                // 尺寸检测异常
                boolean back = false;
                String errMsg = "异常:";
                if (staProtocol.isFrontErr()) {
                    errMsg = errMsg+"前超限;";
                    back = true;
                }
                if (staProtocol.isBackErr()) {
                    errMsg = errMsg+"后超限";
                    back = true;
                }
                if (staProtocol.isHighErr()) {
                    errMsg = errMsg+"高超限";
                    back = true;
                }
                if (staProtocol.isLeftErr()) {
                    errMsg = errMsg+"左超限";
                    back = true;
                }
                if (staProtocol.isRightErr()) {
                    errMsg = errMsg+"右超限";
                    back = true;
                }
                if (staProtocol.isWeightErr()) {
                    errMsg = errMsg+"超重";
                    back = true;
                }
                if (staProtocol.isBarcodeErr()) {
                    errMsg = errMsg+"扫码失败";
                    back = true;
                }
                // 退回
                if (back) {
                    // led 异常显示
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                    if (ledThread != null) {
                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
                    }
                    continue;
                }
                // 入出库模式判断
//                if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
//                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
@@ -3084,7 +3125,8 @@
                    if (!result) {
                        throw new CoolException("更新plc站点信息失败==>驱动码垛位托盘前进失败!");
                    }
                    wrkMast.setWrkSts(52L);
//                    wrkMast.setWrkSts(52L);
                    wrkMast.setWrkSts(57L);
                    wrkMastMapper.updateById(wrkMast);
                    Thread.sleep(100);
@@ -3548,6 +3590,8 @@
                        default:
                            break;
                    }
                }else {
                }
                for (int signCount = 1;!signWork && signCount<7;signCount++){
                    switch (signCount){
@@ -3577,11 +3621,11 @@
                    rgvIoExecuteSign = signWork;
                }
            }
            if (!rgvIoExecuteSign){
                if (sign>6){
                    rgvRunWrkMastEmptyStaAvoidance();//避让
                }
            }
//            if (!rgvIoExecuteSign){
//                if (sign>6){
//
//                }
//            }
        }catch (Exception e){
            log.error("RGV小车任务下发报错"+e);
        }
src/main/java/com/zy/core/MainProcess.java
@@ -27,6 +27,7 @@
    // 频率
    private int i = 0;
    private int j = 0;
    private int k = 0;
    /**
     * =====>>  开始工作
@@ -74,12 +75,16 @@
                    /////////////////////////////////////RGV调度/////////////////////////////////////
                    i++;
                    if (i<8) {
                    k++;
                    if (i<7) {
                        // RGV  ===>>  小车任务作业下发
                        try{
                            boolean rgvIoExecuteSign = mainService.rgvIoExecute(i);
                            if (rgvIoExecuteSign && (i==6)){
                                i = 0;
                            if (rgvIoExecuteSign){
                                k = 0;
                            } else if (k>7){
                                k = 0;
                                mainService.rgvRunWrkMastEmptyStaAvoidance();//避让
                            }
                        }catch (Exception e){
                            log.error("RGV  ===>>  小车任务作业下发异常"+e);
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -55,6 +55,29 @@
    // 隔壁站点(台车位置)
    private String nearbySta;
    // 外形检测 ------------------------------------------------------------------------
    // 前超限
    private boolean frontErr;
    // 后超限
    private boolean backErr;
    // 高超限
    private boolean highErr;
    // 左超限
    private boolean leftErr;
    // 右超限
    private boolean rightErr;
    // 超重
    private boolean weightErr;
    // 扫码失败
    private boolean barcodeErr;
    public BasDevp toSqlModel(){
        BasDevp basDevp = new BasDevp();
        basDevp.setDevNo(siteId);
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -209,6 +209,29 @@
                }
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> resultError = siemensS7Net.Read("DB101.800", (short) (8));
        if (resultError.IsSuccess && staNoSize==staNos2.size()) {
            ArrayList<Integer> staNoError = new ArrayList<Integer>() {{ add(217);add(221); }};
            for (int i = 0; i < staNoError.size(); i++) {
                Integer siteId = staNoError.get(i); // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultError.Content, i*4 + 2, 1);
                staProtocol.setFrontErr(status[0]);// 前超限
                staProtocol.setBackErr(status[1]);// 后超限
                staProtocol.setHighErr(status[2]);// 高超限
                staProtocol.setLeftErr(status[3]);// 左超限
                staProtocol.setRightErr(status[4]);// 右超限
                staProtocol.setWeightErr(status[5]); // 超重
                staProtocol.setBarcodeErr(status[6]);// 扫码失败
            }
        }
//        Thread.sleep(200);
//        OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186);
//        if (result0.IsSuccess) {
src/main/resources/application.yml
@@ -423,12 +423,12 @@
    inSta[0]:
      staNo: 217
      barcode: ${wcs-slave.barcode[0].id}
      led: ${wcs-slave.led[1].id}
      led: ${wcs-slave.led[2].id}
    # 入库口1
    inSta[1]:
      staNo: 221
      barcode: ${wcs-slave.barcode[1].id}
      led: ${wcs-slave.led[2].id}
      led: ${wcs-slave.led[1].id}
    # WMS入库口1
    inWmsSta[0]:
      staNo: 212