自动化立体仓库 - WCS系统
#
whycq
2023-03-02 6697e99226c38fef91e1cf28a7b89c127705c55b
#
3个文件已修改
91 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/DevpSlave.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -110,7 +110,7 @@
                //101站有3个扫码器,当0扫码器没有数据时,获取9、10两个扫码器数据
                    if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){
                if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){
                    BarcodeThread barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode1());
                    if (barcodeThread1 != null) {
                        barcode = barcodeThread1.getBarcode();
@@ -125,12 +125,19 @@
                    }
                }
                if (!Cools.isEmpty(barcode)) {
                    log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode);
                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                        continue;
                    }
                } else {
                    // led 异常显示
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                    if (ledThread != null) {
                        String errorMsg = "扫码失败,请重试";
                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                    }
                    continue;
                }
@@ -222,6 +229,8 @@
                                .build()
                                .doPost();
                        JSONObject jsonObject = JSON.parseObject(response);
                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                        Integer code = jsonObject.getInteger("code");
                        if (jsonObject.getInteger("code").equals(200)) {
                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
@@ -229,12 +238,32 @@
                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            ledThread.errorReset();
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            if (!result) {
                                throw new CoolException("更新plc站点信息失败");
                            }
                        } else {
                        } else if(code == 500){
                            if (ledThread != null) {
                                String errorMsg = jsonObject.getString("msg");
                                if (!Cools.isEmpty(errorMsg)) {
                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                }
                            }
                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                        } else if (code == 700) {
                            staProtocol.setWorkNo((short) 9995);
                            staProtocol.setStaNo(inSta.getBackSta().shortValue());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            // led 异常显示
                            if (ledThread != null) {
                                String errorMsg = barcode + "托盘识别异常,请先进行组托!";
                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                            }
                        }
@@ -418,10 +447,6 @@
                        }
                    }
//                    if("NoRead".equals(barcode) || Cools.isEmpty(barcode)) {
//                        barcode = "";
//                        continue;
//                    }
                }
                if (!Cools.isEmpty(barcode) && "NoRead".equals(barcode)) {
@@ -442,33 +467,29 @@
                    staProtocol = staProtocol.clone();
                }
//                // 入出库模式判断
//                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
//                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                    if (wrkMast == null) {
                        wrkMast = wrkMastMapper.selectPickStep(barcode);
                    }
                    if (wrkMast == null) {
                        // 无拣料数据
                        if (ledThread != null) {
                            String errorMsg = "暂无拣料信息!!!";
                            MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
                        }
                        continue;
                    }
                    if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
                            || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
                        continue;
                    }
                    ledThread.errorReset();
                    // 拣、盘、并 作业站转换
//                    int stnNo = 0;
//                    if (wrkMast.getStaNo() == 109) {
//                        stnNo = 127;
//                    } else if (wrkMast.getStaNo() == 113) {
//                        stnNo = 128;
//                    } else {
//                        log.error("{}号任务数据异常!", wrkMast.getWrkNo());
//                    }
                    // 获取目标站
                    Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                            .eq("type_no", wrkMast.getIoType() - 50)
src/main/java/com/zy/core/model/DevpSlave.java
@@ -38,6 +38,10 @@
        private Integer barcode2;
        private Integer backSta;
        private Integer led;
    }
}
src/main/resources/application.yml
@@ -190,12 +190,16 @@
      barcode: ${wcs-slave.barcode[6].id}
      barcode1: ${wcs-slave.barcode[7].id}
      barcode2: ${wcs-slave.barcode[8].id}
      backSta: 100
      led: ${wcs-slave.led[0].id}
    # 入库口2
    inSta[1]:
      staNo: 104
      barcode: ${wcs-slave.barcode[9].id}
      barcode1: ${wcs-slave.barcode[10].id}
      barcode2: ${wcs-slave.barcode[11].id}
      backSta: 103
      led: ${wcs-slave.led[0].id}
    # 空板入库口1
    emptyInSta[0]:
      staNo: 101
@@ -214,12 +218,16 @@
      barcode: ${wcs-slave.barcode[6].id}
      barcode1: ${wcs-slave.barcode[7].id}
      barcode2: ${wcs-slave.barcode[8].id}
      backSta: 100
      led: ${wcs-slave.led[0].id}
    # 拣料入库口2
    pickSta[1]:
      staNo: 104
      barcode: ${wcs-slave.barcode[9].id}
      barcode1: ${wcs-slave.barcode[10].id}
      barcode2: ${wcs-slave.barcode[11].id}
      backSta: 103
      led: ${wcs-slave.led[0].id}
  # 输送线2
  devp[1]:
    id: 2
@@ -231,26 +239,38 @@
    inSta[0]:
      staNo: 111
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 110
      led: ${wcs-slave.led[0].id}
    # 入库口2
    inSta[1]:
      staNo: 114
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 113
      led: ${wcs-slave.led[0].id}
    # 入库口3
    inSta[2]:
      staNo: 201
      barcode: ${wcs-slave.barcode[2].id}
      backSta: 200
      led: ${wcs-slave.led[0].id}
    # 入库口4
    inSta[3]:
      staNo: 204
      barcode: ${wcs-slave.barcode[3].id}
      backSta: 203
      led: ${wcs-slave.led[0].id}
    # 入库口5
    inSta[4]:
      staNo: 301
      barcode: ${wcs-slave.barcode[4].id}
      backSta: 300
      led: ${wcs-slave.led[0].id}
    # 入库口6
    inSta[5]:
      staNo: 304
      barcode: ${wcs-slave.barcode[5].id}
      backSta: 303
      led: ${wcs-slave.led[0].id}
    # 空板入库口1
    emptyInSta[0]:
      staNo: 111
@@ -291,26 +311,38 @@
    pickSta[0]:
      staNo: 111
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 110
      led: ${wcs-slave.led[0].id}
    # 拣料入库口2
    pickSta[1]:
      staNo: 114
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 113
      led: ${wcs-slave.led[0].id}
    # 拣料入库口3
    pickSta[2]:
      staNo: 201
      barcode: ${wcs-slave.barcode[2].id}
      backSta: 200
      led: ${wcs-slave.led[0].id}
    # 拣料入库口4
    pickSta[3]:
      staNo: 204
      barcode: ${wcs-slave.barcode[3].id}
      backSta: 203
      led: ${wcs-slave.led[0].id}
    # 拣料入库口5
    pickSta[4]:
      staNo: 301
      barcode: ${wcs-slave.barcode[4].id}
      backSta: 300
      led: ${wcs-slave.led[0].id}
    # 拣料入库口6
    pickSta[5]:
      staNo: 304
      barcode: ${wcs-slave.barcode[5].id}
      backSta: 303
      led: ${wcs-slave.led[0].id}
  # 条码扫描仪1 左下 1楼开始,111