#
zjj
2025-05-08 b44b85a4d7512615b8c19c95dc21e537a15a0d5b
#
4个文件已修改
84 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -49,6 +49,7 @@
import java.io.IOException;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.zy.common.utils.RandomValidateCodeUtil.code;
@@ -239,6 +240,7 @@
                        param.setSourceStaNo(inSta.getStaNo());
                        param.setLocType1(locTypeDto.getLocType1());
                        String response = new HttpHandler.Builder()
                                .setTimeout(30, TimeUnit.SECONDS)
                                .setUri(wmsUrl)
                                .setPath("/rpc/pakin/loc/v1")
                                .setJson(JSON.toJSONString(param))
@@ -277,6 +279,11 @@
                            }
                        } else {
                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                            if (ledThread != null) {
                                String errorMsg = barcode + jsonObject.get("msg");
                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                            }
                        }
                    } catch (Exception e) {
@@ -483,6 +490,7 @@
                        param.setSourceStaNo(inSta.getStaNo());
                        param.setLocType1(locTypeDto.getLocType1());
                        String response = new HttpHandler.Builder()
                                .setTimeout(30,TimeUnit.SECONDS)
                                .setUri(wmsUrl)
                                .setPath("/rpc/pakin/loc/v1")
                                .setJson(JSON.toJSONString(param))
@@ -520,6 +528,11 @@
                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                            }
                        } else {
                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                            if (ledThread != null) {
                                String errorMsg = jsonObject.getString("msg");
                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                            }
                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                        }
@@ -1620,6 +1633,11 @@
                                throw new CoolException("更新plc站点信息失败");
                            }
                        } else {
                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed());
                            if (ledThread != null) {
                                String errorMsg = jsonObject.getString("msg");
                                MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errorMsg));
                            }
                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                        }
                    } catch (Exception e) {
@@ -3089,26 +3107,10 @@
                    command.setWeight2(weight2);
                    if (workNo1 == 0 && workNo2 !=0){
                        if("0".equals(matnr2) || "".equals(batch2) ){
                            log.error("源站"+souSta2+"工位一任务缺少信息,物料代码:"+matnr+",batch:"+batch);
                            continue;
                        }
                        command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 任务模式: 2取放货
                    } else if (workNo1 != 0 && workNo2 ==0) {
                        if("0".equals(matnr) || "".equals(batch) ){
                            log.error("源站"+souSta1+"工位二任务缺少信息,物料代码:"+matnr+",batch:"+batch);
                            continue;
                        }
                        command.setTaskMode(RgvTaskModeType.FETCH_PUT1); // 任务模式: 1取放货
                    }else {
                        if("0".equals(matnr) || "".equals(batch) ){
                            log.error("源站"+souSta1+"工位一任务缺少信息,物料代码:"+matnr+",batch:"+batch);
                            continue;
                        }
                        if("0".equals(matnr2) || "".equals(batch2) ){
                            log.error("源站"+souSta2+"工位二任务缺少信息,物料代码:"+matnr+",batch:"+batch);
                            continue;
                        }
                        command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 任务模式: all取放货
                    }
                    command.setCommand(false);
@@ -3657,6 +3659,7 @@
                                param.setSourceStaNo(inSta.getStaNo());
                                param.setLocType1(locTypeDto.getLocType1());
                                String response = new HttpHandler.Builder()
                                        .setTimeout(30,TimeUnit.SECONDS)
                                        .setUri(wmsUrl)
                                        .setPath("/rpc/process/in/loc/v1")
                                        .setJson(JSON.toJSONString(param))
@@ -3685,6 +3688,11 @@
                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                    }
                                } else {
                                    ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                                    if (ledThread != null) {
                                        String errorMsg = jsonObject.getString("msg");
                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                    }
                                    log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/process/in/loc/v1", JSON.toJSONString(param), response);
                                }
@@ -3724,7 +3732,7 @@
                            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                            if (jsonObject.getInteger("code").equals(200)) {
                                StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                                log.error(barcode + "生成任务成功,"+dto);
                                barcodeThread.setBarcode("");
                                staProtocol.setWorkNo(dto.getWorkNo().shortValue());
                                staProtocol.setStaNo(dto.getStaNo().shortValue());
@@ -3743,6 +3751,11 @@
                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                }
                            } else {
                                ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                                if (ledThread != null) {
                                    String errorMsg = jsonObject.getString("msg");
                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                }
                                log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                            }
@@ -3841,6 +3854,13 @@
//        MatnrCode matnrCode = matnrCodeService.selectByCode(code);
        Mat mat = matService.selectByCode(code);
        if (Cools.isEmpty(mat)){
            //zc 添加显示屏信息,输出物料无法或别等情况
            // led 异常显示
            LedThread   ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
            if (ledThread != null) {
                String errorMsg = code + "未找到对应的物料信息!";
                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
            }
            throw new  CoolException("未找到对应的物料信息");
        }
        CombParam combParam = new CombParam();
src/main/java/com/zy/core/MainProcess.java
@@ -90,6 +90,8 @@
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -768,11 +768,11 @@
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
//                short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
                short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6);
                String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8");
                String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8").trim();
                short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28);
                Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 30);
                String orderNo = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 34,22, "UTF-8");
                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8");
                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8").trim();
                StaProtocol staProtocol = station.get(siteId);
@@ -843,7 +843,7 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号
            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue());    // 工作号
            Thread.sleep(200);
            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站
            if(write.IsSuccess && write1.IsSuccess){
@@ -885,12 +885,18 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号
             write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue());    // 工作号
            Thread.sleep(100);
            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站
             write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo());    // 目标站
            Thread.sleep(100);
            write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站
            if(write.IsSuccess && write1.IsSuccess){
             write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站
//            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号
//            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站
//            write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站
            if(write.IsSuccess && write1.IsSuccess && write2.IsSuccess){
                log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                break;
            }
src/main/resources/application.yml
@@ -230,11 +230,11 @@
      staNo: 2106
      barcode: ${wcs-slave.barcode[2].id}
      backSta: 2105
      led: ${wcs-slave.led[0].id}
      led: ${wcs-slave.led[4].id}
    # 空板入库口1
    emptyInSta[0]:
      staNo: 2106
      led: ${wcs-slave.led[0].id}
      led: ${wcs-slave.led[4].id}
    # 输送线3
  devp[2]:
    id: 3
@@ -433,8 +433,8 @@
    id: 5
    ip: 10.10.10.206
    port: 5005
    devpPlcId: ${wcs-slave.devp[6].id}
    staArr: 3007
    devpPlcId: ${wcs-slave.devp[1].id}
    staArr: 2106
  # LED6
  led[5]:
    id: 6