ZengTao
2025-06-26 849442e4f63a5fd7ae154ef6bc77c967a82f40b8
删除改S7通讯时注释的原opc代码
18个文件已修改
489 ■■■■■ 已修改文件
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcHollowRemoveTask.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/application-yw.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
@@ -87,32 +87,25 @@
    @Qualifier("s7SerializerMBTwo")
    private S7Serializer s7SerializerMBTwo;
    //    @Value("${mes.threshold}")
    private int threshold;
    //    @Value("${mes.cellLength}")
    private int cellLength;
    //    @Value("${mes.ratio}")
    private int ratio;
    //    @Value("${mes.min.one.firstLength}")
    private int minOneFirstLength;
    //
//    @Value("${mes.min.one.secondLength}")
    private int minOneSecondLength;
    //
//    @Value("${mes.min.two.firstLength}")
    private int minTwoFirstLength;
    //
//    @Value("${mes.min.two.secondLength}")
    private int minTwoSecondLength;
    //
//    @Value("${mes.max.firstLength}")
    private int maxTwoFirstLength;
    //
//    @Value("${mes.max.secondLength}")
    private int maxTwoSecondLength;
    //
//    @Value("${mes.maxThickness}")
    private int maxThickness;
    private String glassInIdOne = "";
@@ -126,13 +119,10 @@
        S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
        log.info("一线卧理: {}", s7DataWLOne);
        //获取第二条线路的卧式理片笼状态
//        ReadWriteEntity twoInkageEntity = miloService.readFromOpcUa("WL2.WL2.deviceState");
        Boolean twoInkageEntity = s7DataWLTwo.getDeviceState();
//        Boolean twoInkageEntity = Boolean.FALSE;
        //默认只跑一台卧式理片,两条线路都可以走
        int cellFlag = 1;
        //如果两条线都启动则只能跑一条线
//        if (twoInkageEntity != null && !Boolean.parseBoolean(twoInkageEntity.getValue() + "")) {
        if (twoInkageEntity != null && !twoInkageEntity) {
            cellFlag = 2;
        }
@@ -144,17 +134,14 @@
        S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
        S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
        log.info("二线卧理: {}", s7DataWLTwo);
//        ReadWriteEntity oneInkageEntity = miloService.readFromOpcUa("WL1.WL1.deviceState");
        Boolean oneInkageEntity = s7DataWLOne.getDeviceState();
        int cellFlag = 1;
//        if (oneInkageEntity != null && !Boolean.parseBoolean(oneInkageEntity.getValue() + "")) {
        if (oneInkageEntity != null && !oneInkageEntity) {
            cellFlag = 2;
        }
        startOneOpcTaskChild(s7DataWLTwo, 2, cellFlag);
    }
    //    private void startOneOpcTaskChild(String tableName, int device, int cellFlag) throws Exception {
    private void startOneOpcTaskChild(S7DataWL task, int device, int cellFlag) throws Exception {
        threshold = sysConfigService.queryConfigValue(ConstSysConfig.CACHE_THRESHOLD);
        cellLength = sysConfigService.queryConfigValue(ConstSysConfig.CACHE_CELL_LENGTH);
@@ -167,7 +154,6 @@
        maxTwoSecondLength = sysConfigService.queryConfigValue(ConstSysConfig.CACHE_MAX_SECOND_LENGTH);
        maxThickness = sysConfigService.queryConfigValue(ConstSysConfig.CACHE_MAX_THICKNESS);
//        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName);
        if (task == null) {
            log.info("任务表基础数据录入失败,请检查数据是否录入成功");
@@ -200,8 +186,6 @@
        } else if (request == 4) {
            log.info("设备:{}状态:{}", device, request);
            log.info("将启动子改为4");
//            task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING);
//            edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
            if (device == 2) {
                task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING);
                s7SerializerWLTwo.write(S7DataWL.builder().taskRunning(Const.GLASS_CACHE_TYPE_RUNNING).build());
@@ -217,22 +201,12 @@
            log.info("玻璃异常处理");
            damageTask(task, "", device);
        }
//    } catch(Exception e)
//
//    {
//        log.info("执行任务过程中发生异常,任务字{},{}", task.getTaskState(), e.getMessage());
//        log.info("将启动字改为0");
//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
//    }
    }
    @Scheduled(fixedDelay = 1000)
    public void edgOneOpcTask() throws Exception {
//        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(EDG_STORAGE_DEVICE_ONE_TASK);
//        String glassId = task.getGlassId();
        S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
        String glassId = s7DataWLOne.getGlassId();
        log.info("1号线玻璃id{},历史id{}", glassId, glassIdOne);
@@ -245,11 +219,7 @@
    @Scheduled(fixedDelay = 1000)
    public void edgTwoOpcTask() throws Exception {
//        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(EDG_STORAGE_DEVICE_TWO_TASK);
//        String glassId = task.getGlassId();
        S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
//        S7DataMB s7DataMB = s7SerializerMBOne.read(S7DataMB.class);
//        log.info("磨边数据{}", s7DataMB);
        String glassId = s7DataWLTwo.getGlassId();
        log.info("2号线玻璃id{},历史id{}", glassId, glassIdTwo);
        if (StringUtils.isBlank(glassId) || glassId.equals(glassIdTwo)) {
@@ -267,16 +237,6 @@
            return;
        }
        String toEndingId = glassInfo.getTemperingLayoutId() + "" + glassInfo.getTemperingFeedSequence();
//        List<ReadWriteEntity> list = new ArrayList<>();
////        list.add(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".mesControl", true));
//        list.add(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".glassId", Integer.parseInt(toEndingId)));
//        list.add(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".toEdingId", Integer.parseInt(toEndingId)));
//        list.add(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".width", (int) Math.max(glassInfo.getWidth() * ratio, glassInfo.getHeight() * ratio)));
//        list.add(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".height", (int) Math.min(glassInfo.getWidth() * ratio, glassInfo.getHeight() * ratio)));
//
//        miloService.writeToOpcUa(list);
//        miloService.writeToOpcWord(generateReadWriteEntity("MB" + cell + ".MB" + cell + ".thickness", (int) glassInfo.getThickness() * ratio));
        S7DataMB s7DataMB = new S7DataMB();
        s7DataMB.setToEdingId(Integer.parseInt(toEndingId));
        s7DataMB.setGlassId(Integer.parseInt(toEndingId));
@@ -342,7 +302,6 @@
            log.info("结束进片任务设备为{},结束时间为:{},共耗时:{}ms", deviceId, endDate, endDate.getTime() - startDate.getTime());
            return Boolean.FALSE;
        }
//        EdgStorageCage edgStorageCage = edgStorageCageService.selectNearestEmpty(task.getCurrentCell(), deviceId, Boolean.FALSE);
        EdgStorageCage edgStorageCage = edgStorageCageService.selectNearestEmpty(Integer.parseInt(task.getCurrentCell().toString()), deviceId, Boolean.FALSE);
        Assert.isTrue(null != edgStorageCage, "格子已满");
        log.info("4、将玻璃信息插入卧式理片笼,当前玻璃信息:{}", glassInfo);
@@ -354,9 +313,6 @@
        edgStorageCageDetailsService.save(details);
        //更新任务信息
//        task.setStartCell(edgStorageCage.getSlot());
//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN);
//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
        task.setStartCell(edgStorageCage.getSlot());
        task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN);
        if (deviceId == 1) {
@@ -385,9 +341,6 @@
    private boolean outTask(S7DataWL task, String tableName, int deviceId, int cellFlag) throws Exception {
        Date startDate = new Date();
        //获取对应的设备状态信息
//        ReadWriteEntity oneOutStateEntity = miloService.readFromOpcUa("WL1.WL1.slotState");
//        ReadWriteEntity twoOutStateEntity = miloService.readFromOpcUa("WL2.WL2.slotState");
//        ReadWriteEntity d06OutStateEntity = miloService.readFromOpcUa("WL2.WL2.d06SlotState");
        S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
        S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
        S7DataWLExtra s7DataWLExtraTwo = s7SerializerWLTwo.read(S7DataWLExtra.class);
@@ -395,32 +348,11 @@
        Integer twoOutState = s7DataWLTwo.getSlotState();
        Integer d06OutState = s7DataWLExtraTwo.getD06SlotState();
        //状态有3中情况:0空闲 1忙碌 2禁用
//        int oneOutState = Const.OUT_DISABLE;
//        int twoOutState = Const.OUT_DISABLE;
//        int d06OutState = Const.OUT_DISABLE;
//        if (null != oneOutStateEntity && null != oneOutStateEntity.getValue()) {
//            oneOutState = oneOutStateEntity.getValue().toString();
//        }
//        if (null != oneOutStateEntity) {
//            oneOutState = oneOutStateEntity.toString();
//        }
//        if (null != twoOutStateEntity && null != twoOutStateEntity.getValue()) {
//            twoOutState = twoOutStateEntity.getValue().toString();
//        }
//        if (null != twoOutStateEntity) {
//            twoOutState = twoOutStateEntity.toString();
//        }
        //两条线都为禁用则不出玻璃
        if (Const.OUT_DISABLE.equals(oneOutState) && Const.OUT_DISABLE.equals(twoOutState)) {
            log.info("A09、A10为{},{}非自动状态,无法出片", oneOutState, oneOutState);
            return Boolean.FALSE;
        }
//        if (null != d06OutStateEntity && null != d06OutStateEntity.getValue()) {
//            d06OutState = d06OutStateEntity.getValue().toString();
//        }
//        if (null != d06OutStateEntity) {
//            d06OutState = d06OutStateEntity.toString();
//        }
        //获取d06片台状态
        // 1:一对一的情况下不需要判断d06状态
        // 2:一号线一对多的情况下,获取二号线磨边前片台D07的状态,D07非禁用时,二号线将按照D06片台状态觉得出片
@@ -428,16 +360,10 @@
        if (cellFlag == 2) {
            if (deviceId == 1) {
//                twoOutState = Const.OUT_DISABLE.equals(twoOutState) ? Const.OUT_DISABLE : d06OutState;
                twoOutState = twoOutState & d06OutState;
            } else {
                oneOutState = oneOutState & d06OutState;
//                oneOutState = Const.OUT_DISABLE.equals(oneOutState) ? Const.OUT_DISABLE : d06OutState;
            }
//            if (Const.OUT_BUSY.equals(oneOutState) && Const.OUT_BUSY.equals(twoOutState)) {
//                log.info("A09、A10为{},{}非自动状态,无法出片", oneOutState, oneOutState);
//                return Boolean.FALSE;
//            }
        }
        log.info("开始执行出片/直通任务,任务信息为:{},表名为:{},设备id:{},开始时间:{},一号线状态:{},二号线状态:{}",
@@ -655,10 +581,6 @@
        }
        Date startDate = new Date();
        log.info("开始执行完成任务后清除动作,任务信息为:{},表名为:{},开始时间:{}", task, tableName, startDate);
//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
//        task.setGlassIdOut("");
//        task.setStartCell(0);
//        task.setEndCell(0);
        EdgStorageDeviceTaskHistory taskHistory = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
                .eq(EdgStorageDeviceTaskHistory::getDeviceId, device)
@@ -676,12 +598,6 @@
            );
        }
        //最后更新任务,保证任务前的动作都做完
//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
//        task.setGlassIdOut("");
//        task.setStartCell(0);
//        task.setEndCell(0);
//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
        if (device == 1) {
            s7SerializerWLOne.write(
                    S7DataWL.builder()
@@ -741,12 +657,6 @@
                    .set(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_FAILURE)
            );
        }
        //最后更新任务,保证任务前的动作都做完
//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
//        task.setGlassIdOut("");
//        task.setStartCell(0);
//        task.setEndCell(0);
//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
        if (device == 1) {
            s7SerializerWLOne.write(
                    S7DataWL.builder()
@@ -780,7 +690,6 @@
     */
    public String queryAndChangeGlass(String glassId) {
        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
//                .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
        Assert.isFalse(null == glassInfo, "玻璃信息不存在");        //按照玻璃尺寸
        LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
                .eq(GlassInfo::getWidth, glassInfo.getWidth())
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
@@ -64,25 +64,21 @@
    @Resource
    DamageService damageService;
//    @Value("${mes.glassGap}")
    private int glassGap;
    //    @Value("${mes.threshold}")
    private int threshold;
    //    @Value("${mes.cellLength}")
    private int cellLength;
    //    @Value("${mes.ratio}")
    private int ratio;
    //    @Value("${mes.min.one.firstLength}")
    private int minOneFirstLength;
    //    @Value("${mes.min.one.secondLength}")
    private int minOneSecondLength;
    //    @Value("${mes.min.two.firstLength}")
    private int minTwoFirstLength;
    //    @Value("${mes.min.two.secondLength}")
    private int minTwoSecondLength;
    private String glassInIdOne = "";
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java
@@ -51,8 +51,6 @@
    private void startEdgTaskChild(String cell) throws Exception {
        S7DataMBExtra s7DataMBExtra = s7SerializerMBExtra.read(S7DataMBExtra.class);
        log.info("MB04读取数据{}", s7DataMBExtra);
//        ReadWriteEntity request = miloService.readFromOpcUa("MB04.MB04.request" + cell);
//        if (null == request || "0".equals(request.getValue() + "")) {
        String request = "";
        String glassIdEntity = "";
        if ("01".equals(cell)) {
@@ -66,23 +64,14 @@
            log.info("未收到玻璃请求,结束本次任务");
            return;
        }
//        ReadWriteEntity glassIdEntity = miloService.readFromOpcUa("MB04.MB04.plc_glass_id_" + cell);
//        if (null == glassIdEntity || StringUtils.isEmpty(glassIdEntity.getValue() + "")) {
        if (null == glassIdEntity || StringUtils.isEmpty(glassIdEntity)) {
            log.info("有请求但玻璃id为空,结束本次任务");
            return;
        }
//        String glassId = glassIdEntity.getValue() + "";
        String glassId = glassIdEntity;
        log.info("获取到{}线的玻璃id:{}", cell, glassId);
        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId).last("limit 1"));
//        List<ReadWriteEntity> ualist = new ArrayList<>();
//        ualist.add(generateReadWriteEntity("MB04.MB04.width" + cell, (int) Math.max(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10)));
//        ualist.add(generateReadWriteEntity("MB04.MB04.height" + cell, (int) Math.min(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10)));
//        ualist.add(generateReadWriteEntity("MB04.MB04.thickness" + cell, (int) glassInfo.getThickness() * 10));
//        miloService.writeToOpcWord(ualist);
//        miloService.writeToOpcUa(generateReadWriteEntity("MB04.MB04.mes_glass_Id_" + cell, glassId));
        log.info("{}线发送尺寸信息宽:{},高:{},厚度:{}", cell, Math.max(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10), Math.min(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10), glassInfo.getThickness() * 10);
        if ("01".equals(cell)) {
            s7SerializerMBExtra.write(
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-yw.yml
@@ -32,7 +32,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -102,23 +102,17 @@
    @Scheduled(fixedDelay = 1000)
    public void inBigStorageTask() throws Exception {
        S7DataDLPOne s7DataDLPOne = s7SerializerDLPOne.read(S7DataDLPOne.class);
        log.info("进片任务开始{}",s7DataDLPOne);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        log.info("进片任务开始{}", s7DataDLPOne);
        Boolean inkageEntity = s7DataDLPOne.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束进片任务");
            return;
        }
//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP1A.DLP1A.RequestMes");
//        if (!"1".equals(requestEntity.getValue() + "")) {
        String requestEntity = s7DataDLPOne.getRequestMes().toString();
        if (!"1".equals(requestEntity)) {
            log.info("当前未收到进片请求,结束进片任务");
            return;
        }
//        ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP1A.DLP1A.MesReply");
//        if ("1".equals(mesReplyEntity.getValue() + "")) {
        String mesReplyEntity = s7DataDLPOne.getMesReply().toString();
        if ("1".equals(mesReplyEntity)) {
            log.info("有正在执行的任务,结束进片任务");
@@ -126,23 +120,17 @@
        }
        //获取进片任务信息
        List<BigStorageCageTask> inTaskList = new ArrayList();
//        ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
        String fromOpcUa = s7DataDLPOne.getFrom1().toString();
        List<String> ids = s7DataDLPOne.getIds();
        List<String> glassIdList = new ArrayList<>();
        for (int i = 0; i < 6; i++) {
//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
            String requestWord = ids.get(i);
//            if (null != requestWord.getValue()) {
            if (null != requestWord && !requestWord.isEmpty()) {
                BigStorageCageTask task = new BigStorageCageTask();
//                task.setGlassId(requestWord.getValue() + "");
                task.setGlassId(requestWord);
//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                task.setStartSlot(Integer.parseInt(fromOpcUa));
                inTaskList.add(task);
//                glassIdList.add(requestWord.getValue() + "");
                glassIdList.add(requestWord);
                continue;
            }
@@ -152,13 +140,10 @@
            return;
        }
        log.info("获取任务的玻璃id:{}", glassIdList);
//        ReadWriteEntity countEntity = miloService.readFromOpcUa("DLP1A.DLP1A.glassCount");
        String countEntity = s7DataDLPOne.getGlassCount().toString();
//        if (null == countEntity.getValue() || Integer.parseInt(countEntity.getValue() + "") != glassIdList.size()) {
        if (null == countEntity || Integer.parseInt(countEntity) != glassIdList.size()) {
            log.info("当前大车进片玻璃数量{}与mes读取到的数量{}不匹配,结束进片任务", countEntity, glassIdList.size());
            //向plc发送报警:当前大车进片玻璃数量与mes读取到的数量不匹配
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 1));
            s7DataDLPOne = new S7DataDLPOne();
            s7DataDLPOne.setAlarmSignal(1);
            s7SerializerDLPOne.write(s7DataDLPOne);
@@ -169,7 +154,6 @@
            if (entry.getValue() > 1) {
                log.info("进片玻璃{}存在相同,结束本次任务", entry.getKey());
                //向plc发送报警:同一车进片玻璃存在相同
//                miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 2));
                s7DataDLPOne = new S7DataDLPOne();
                s7DataDLPOne.setAlarmSignal(2);
                s7SerializerDLPOne.write(s7DataDLPOne);
@@ -181,7 +165,6 @@
        if (CollectionUtil.isNotEmpty(detailsList)) {
            log.info("理片笼存在相同的进片玻璃{},结束本次任务", detailsList);
            //向plc发送报警:理片笼存在相同的进片玻璃
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 4));
            s7DataDLPOne = new S7DataDLPOne();
            s7DataDLPOne.setAlarmSignal(4);
            s7SerializerDLPOne.write(s7DataDLPOne);
@@ -192,7 +175,6 @@
        if (glassInfoList.size() != inTaskList.size()) {
            log.info("进片任务数量{}与玻璃数量{}不匹配,结束本次进片", inTaskList.size(), glassInfoList.size());
            //向plc发送报警:进片任务数量与系统查询到的玻璃数量不匹配
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 8));
            s7DataDLPOne = new S7DataDLPOne();
            s7DataDLPOne.setAlarmSignal(8);
            s7SerializerDLPOne.write(s7DataDLPOne);
@@ -254,7 +236,6 @@
                GlassInfo info = glassListMap.get(task.getGlassId()).get(0);
                BigStorageDTO bigStorageDTO = bigStorageGlassInfoService.queryBigStorageTargetSlot(info.getEngineerId(), info.getTemperingLayoutId(), info.getTemperingFeedSequence());
                //获取目标格子信息
//            BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlotByTempering(info);
//            临时更新格子的剩余尺寸:防止相邻玻璃进同一格子造成剩余尺寸不足,玻璃越界的情况,任务完成后再次更新大理片笼表剩余宽度(按照笼内玻璃数量更新大理片笼剩余尺寸)
                bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>()
                        .set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - Math.max(info.getWidth(), info.getHeight()) - glassGap)
@@ -284,7 +265,6 @@
        } else {
            BigStorageCageTask task = inTaskList.get(0);
            task.setTargetSlot(THROUGH_SLOT);
//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
            //存放历史任务
            BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
            BeanUtils.copyProperties(task, historyTask);
@@ -308,12 +288,6 @@
        //历史数据入库
        bigStorageCageHistoryTaskService.saveBatch(historyTasks);
        //向opc发送启动信号
//        List<ReadWriteEntity> list = new ArrayList<>();
//        for (int i = 1; i <= inTaskList.size(); i++) {
//            list.add(generateReadWriteEntity("DLP1A.DLP1A.TO" + i, inTaskList.get(i - 1).getTargetSlot()));
//        }
//        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 1));
//        miloService.writeToOpcWord(list);
        s7DataDLPOne = new S7DataDLPOne();
        for (int i = 0; i < inTaskList.size(); i++) {
            Integer value = Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
@@ -348,16 +322,12 @@
    public void outBigStorageTask() throws Exception {
        Date startDate = new Date();
        S7DataDLPTwo s7DataWLTwo = s7SerializerDLPTwo.read(S7DataDLPTwo.class);
        log.info("出片任务开始{}",s7DataWLTwo);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        log.info("出片任务开始{}", s7DataWLTwo);
        Boolean inkageEntity = s7DataWLTwo.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束进片任务");
            return;
        }
//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP1B.DLP1B.RequestMes");
//        if (!"1".equals(requestEntity.getValue() + "")) {
        String requestEntity = s7DataWLTwo.getRequestMes().toString();
        if (!"1".equals(requestEntity)) {
            log.info("当前未收到出片请求,结束出片任务");
@@ -365,7 +335,6 @@
        }
        //获取出片任务表
        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
        if (CollectionUtil.isNotEmpty(outTaskList)) {
            log.info("有正在执行的出片任务,结束本次出片任务");
            return;
@@ -481,30 +450,21 @@
    @Scheduled(fixedDelay = 1000)
    public void finishInBigStorageTask() throws Exception {
        S7DataDLPOne s7DataDLPOne = s7SerializerDLPOne.read(S7DataDLPOne.class);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataDLPOne.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束完成进片任务");
            return;
        }
        //获取进片任务表
//        List<BigStorageCageTask> inTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_in_one_task");
        List<BigStorageCageTask> inTaskList = new ArrayList();
        List<String> glassIdList = new ArrayList<>();
//        ReadWriteEntity toWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO1");
//        if ("0".equals(toWord.getValue() + "")) {
        String toWord = s7DataDLPOne.getTo1().toString();
        if ("0".equals(toWord)) {
            log.info("完成任务已执行,结束本次完成进片任务");
            return;
        }
        for (int i = 0; i < 6; i++) {
//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
//            ReadWriteEntity statetWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i);
//            ReadWriteEntity toOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i);
//            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM" + i);
            String requestWord = "";
            String statetWord = "";
            String toOpcUa = "";
@@ -548,19 +508,13 @@
                    break;
            }
//            if (null != requestWord.getValue()) {
            if (!requestWord.isEmpty()) {
                BigStorageCageTask task = new BigStorageCageTask();
//                task.setGlassId(requestWord.getValue() + "");
//                task.setTargetSlot(Integer.parseInt(toOpcUa.getValue() + ""));
//                task.setTaskState(Integer.parseInt(statetWord.getValue() + ""));
//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                task.setGlassId(requestWord);
                task.setTargetSlot(Integer.parseInt(toOpcUa));
                task.setTaskState(Integer.parseInt(statetWord));
                task.setStartSlot(Integer.parseInt(fromOpcUa));
                inTaskList.add(task);
//                glassIdList.add(requestWord.getValue() + "");
                glassIdList.add(requestWord);
                continue;
            }
@@ -607,17 +561,9 @@
                    .eq(BigStorageCageHistoryTask::getGlassId, item.getGlassId()));
            item.setTargetSlot(0);
            //清空任务表数据
//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
        }
        //清空启动状态
        //向opc发送启动信号
        //向opc发送启动信号
//        List<ReadWriteEntity> list = new ArrayList<>();
//        for (int i = 1; i <= 6; i++) {
//            list.add(generateReadWriteEntity("DLP1A.DLP1A.TO" + i, 0));
//        }
//        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 0));
//        miloService.writeToOpcWord(list);
        s7DataDLPOne = new S7DataDLPOne();
        s7DataDLPOne.setTo1(0);
        s7DataDLPOne.setTo2(0);
@@ -632,8 +578,6 @@
    @Scheduled(fixedDelay = 1000)
    public void finishOutBigStorageTask() throws Exception {
        S7DataDLPTwo s7DataWLTwo = s7SerializerDLPTwo.read(S7DataDLPTwo.class);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataWLTwo.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束完成出片任务");
@@ -641,7 +585,6 @@
        }
        //获取出片任务表
        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
        if (CollectionUtil.isEmpty(outTaskList)) {
            log.info("当前大车无出片玻璃,结束完成出片任务");
            return;
@@ -725,11 +668,9 @@
            }
        }
//       重置任务表数据
//        bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
        resetOutTask();
        //清空启动状态
        //向opc发送启动信号
//        miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 0));
        S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
        s7DataDLPTwo.setMesReply(0);
        s7SerializerDLPTwo.write(s7DataDLPTwo);
@@ -911,8 +852,6 @@
            }
        }
        s7SerializerDLPTwo.write(s7DataDLPTwo);
//        bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
//        bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
        List<BigStorageCageHistoryTask> historyList = bigStorageCageTaskList.stream().filter(e -> StringUtils.isNotBlank(e.getGlassId())).map(e -> {
            BigStorageCageHistoryTask history = new BigStorageCageHistoryTask();
            BeanUtils.copyProperties(e, history);
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-yw.yml
@@ -30,7 +30,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -89,39 +89,24 @@
    @Scheduled(fixedDelay = 1000)
    public void rawStorageTask() throws Exception {
        S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class);
        log.info("仓储通讯读取{}",S7DataCCOne);
        log.info("仓储通讯读取{}", S7DataCCOne);
        String requestWord = S7DataCCOne.getRequest().toString();
        String confireWord = S7DataCCOne.getConfirmation().toString();
        String reportWord = S7DataCCOne.getReportWord().toString();
        String taskWord = S7DataCCOne.getTaskWord().toString();
        String requestValue = requestWord;
//        ReadWriteEntity requestWord = miloService.readFromOpcUa("CC.CC.request");
//        ReadWriteEntity confireWord = miloService.readFromOpcUa("CC.CC.confirmation");
//        ReadWriteEntity reportWord = miloService.readFromOpcUa("CC.CC.reportWord");
//        ReadWriteEntity taskWord = miloService.readFromOpcUa("CC.CC.taskWord");
//        String requestValue = requestWord.getValue() + "";
        if ("0".equals(requestValue)) {
            if ("1".equals(confireWord) && "0".equals(reportWord)) {
//            if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) {
                S7DataCC s7Data = new S7DataCC();
                s7Data.setConfirmation(0);
                s7SerializerCC.write(s7Data);
//                List<ReadWriteEntity> list = new ArrayList<>();
//                list.add(generateReadWriteEntity("CC.CC.confirmation", 0));
//                miloService.writeToOpcWord(list);
            }
            if ("1".equals(taskWord)) {
//          if ("1".equals(taskWord.getValue() + "")) {
                S7DataCC s7Data = new S7DataCC();
                s7Data.setTaskWord(0);
                s7Data.setStartSlot(0);
                s7Data.setEndSlot(0);
                s7SerializerCC.write(s7Data);
//                List<ReadWriteEntity> list = new ArrayList<>();
//                list.add(generateReadWriteEntity("CC.CC.taskWord", 0));
//                list.add(generateReadWriteEntity("CC.CC.startSlot", 0));
//                list.add(generateReadWriteEntity("CC.CC.endSlot", 0));
//                miloService.writeToOpcWord(list);
            }
            return;
        }
@@ -163,8 +148,6 @@
    public void rawStorageInCar() throws Exception {
        S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class);
        String value = S7DataCCOne.getInCar().toString();
//        ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.inCar");
//        String value = entity.getValue() + "";
        if (!"1".equals(value)) {
            log.info("大车上没有架子");
            return;
@@ -184,8 +167,6 @@
    public void rawStorageFinish() throws Exception {
        S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class);
        String value = S7DataCCOne.getReportWord().toString();
//        ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.reportWord");
//        String value = entity.getValue() + "";
        if ("0".equals(value)) {
            log.info("当前任务未汇报,结束本次任务");
            return;
@@ -251,9 +232,6 @@
        S7DataCC s7Data = new S7DataCC();
        s7Data.setConfirmation(1);
        s7SerializerCC.write(s7Data);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(generateReadWriteEntity("CC.CC.confirmation", 1));
//        miloService.writeToOpcWord(list);
    }
    private boolean isHasRunningTask() {
@@ -310,13 +288,6 @@
        //生成出库任务
        rawGlassStorageDetailsService.generateTask(startSlot, lefting, startSlot, rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
//        list.add(generateReadWriteEntity("CC.CC.taskSending", 1));
//        list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot));
//        list.add(generateReadWriteEntity("CC.CC.endSlot", lefting));
//        miloService.writeToOpcWord(list);
        //修改出片任务状态
        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
@@ -338,15 +309,6 @@
            return Boolean.FALSE;
        }
        //生成复位任务
//        rawGlassStorageDetailsService.generatask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
//        list.add(generateReadWriteEntity("CC.CC.taskSending", 1));
//        list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot));
//        list.add(generateReadWriteEntity("CC.CC.endSlot", lefting));
//        miloService.writeToOpcWord(list);
        //修改复位任务状态
        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
@@ -375,12 +337,6 @@
        RawGlassStorageDetails details = rawGlassList.get(0);
        rawGlassStorageDetailsService.generateTask(details.getSlot(), details.getShelf(), details.getShelf(),
                details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_IN);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
//        list.add(generateReadWriteEntity("CC.CC.taskSending", 1));
//        list.add(generateReadWriteEntity("CC.CC.startSlot", details.getSlot()));
//        list.add(generateReadWriteEntity("CC.CC.endSlot", details.getShelf()));
//        miloService.writeToOpcWord(list);
        //生成工位任务,将吊装位的玻璃状态改位进笼中
        //修改吊装位的原片状态为103 出片中
        //修改出片任务状态
@@ -500,7 +456,6 @@
                    RawGlassStorageDetails twoLoadStation = loadStationList.stream().filter(e -> e.getSlot().equals(loadStation.get(1))).findFirst().orElse(null);
                    if (null == twoLoadStation) {
                        //按照尺寸生成二号位上片任务信息
//                        LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName);
                        S7DataSP loadTask = new S7DataSP();
                        if (stationCell == 5) {
                            loadTask = s7SerializerSPOne.read(S7DataSP.class);
@@ -532,7 +487,6 @@
                    } else {
                        //todo:当二号为的尺寸大于0时,是否执行调度任务,更换当前原片的尺寸,等待下一次任务的直接执行;还是继续等待,当尺寸不一样,等待一号工位的进出库调度任务。
                        if (twoLoadStation.getRemainQuantity() > 0) {
//                            LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName);
                            S7DataSP loadTask = new S7DataSP();
                            if (stationCell == 5) {
                                loadTask = s7SerializerSPOne.read(S7DataSP.class);
@@ -570,7 +524,6 @@
                            return Boolean.TRUE;
                        }
                    }
//                    return Boolean.FALSE;
                } else {
                    log.info("2号上片位仅剩空架子,1号上片位生成出库调度任务");
                    rawGlassStorageDetailsService.generateTask(loadStation.get(0), oneLoadStation.getShelf(), oneLoadStation.getShelf(), oneLoadStation.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-yw.yml
@@ -23,7 +23,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -136,21 +136,11 @@
        }
        //任务暂停
        S7DataSP task = new S7DataSP();
//        if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
//            s7SerializerSPOne.read(S7DataSP.class);
//        } else {
//            s7SerializerSPTwo.read(S7DataSP.class);
//        }
//        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
        ;
        if ("0".equals(s7DataSP.getInkageState().toString())) {
            log.info("{}上片线,处于离线状态:{},结束本地上片请求", deviceId, s7DataSP.getInkageState().toString());
//        if (0 == task.getInkageState()) {
//            log.info("{}上片线,处于离线状态:{},结束本地上片请求", deviceId, task.getInkageState());
            return;
        }
        if (s7DataSP.getTaskRunning()) {
//        if (task.getTaskRunning().equals(Const.ENGINEERING_RUNNING)) {
            log.info("{}上片线,有正在执行的任务,结束本地上片请求", deviceId);
            return;
        }
@@ -189,7 +179,6 @@
            task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
            task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
            task.setSlot(loadStation.get(1));
//            loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
            S7DataSP s7DataSPWrite = new S7DataSP();
            s7DataSPWrite.setTotalCount(number);
            s7DataSPWrite.setTaskRunning(Boolean.TRUE);
@@ -216,7 +205,6 @@
        task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
        task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
        task.setSlot(loadStation.get(0));
//        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
        S7DataSP s7DataSPWrite = new S7DataSP();
        s7DataSPWrite.setTotalCount(number);
        s7DataSPWrite.setTaskRunning(Boolean.TRUE);
@@ -239,14 +227,11 @@
            s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
        }
        log.info("{}上片线,当前上片位信息:{}", deviceId, s7DataSP);
//        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
        if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_NEW)) {
//        if (task.getTaskRunning().equals(Const.ENGINEERING_NEW)) {
            log.info("无任务,结束");
            return;
        }
        if (Integer.parseInt(s7DataSP.getTaskState().toString()) <= 1) {
//        if (task.getTaskState() <= 1) {
            log.info("任务正在执行,结束");
            return;
        }
@@ -255,8 +240,6 @@
        Integer finishCount = Integer.parseInt(s7DataSP.getFinishCount().toString());
        Integer damageCount = Integer.parseInt(s7DataSP.getDamageCount().toString());
        Integer slot = Integer.parseInt(s7DataSP.getSlot().toString());
//        Integer finishCount = task.getFinishCount();
//        Integer damageCount = task.getDamageCount();
        //更新当前架子上的原片剩余情况
        rawGlassStorageDetailsService.update(new UpdateWrapper<RawGlassStorageDetails>()
@@ -274,12 +257,6 @@
                    .set(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
        }
        //任务表数据情况
//        task.setTaskRunning(0);
//        task.setTotalCount(0);
//        task.setRawGlassWidth(0);
//        task.setRawGlassHeight(0);
//        task.setSlot(0);
//        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
        S7DataSP s7DataSPWrite = new S7DataSP();
        s7DataSPWrite.setTaskRunning(Boolean.FALSE);
        s7DataSPWrite.setTotalCount(0);
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-yw.yml
@@ -33,7 +33,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
@@ -59,14 +59,9 @@
    public void requestTemperingTask() throws Exception {
        S7DataGHOne s7DataGHOne = s7SerializerGHOne.read(S7DataGHOne.class);
        log.info("读取到的GH1S7.GH1S7数据:{}", s7DataGHOne);
//        ReadWriteEntity requestInTempering = miloService.readFromOpcUa("GH1S7.GH1S7.requestInTempering");//请求进片
//        ReadWriteEntity requestTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.requestTemperingId");//请求进片 炉号ID
//        Integer request = Integer.parseInt(requestInTempering.getValue().toString());
//        Integer id = Integer.parseInt(requestTemperingId.getValue().toString());
        Integer request = (int) s7DataGHOne.getRequestInTempering();
        Integer id = (int) s7DataGHOne.getRequestTemperingId();
        if (request == 0) {
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 0));//允许送片清零
            s7SerializerGHOne.write(
                    S7DataGHOne.builder().responseInTempering(0).build()
            );
@@ -75,17 +70,13 @@
                log.info("炉号不能为0");
                return;
            }
//            ReadWriteEntity placedNumber = miloService.readFromOpcUa("GH1S7.GH1S7.placedNumber");//已摆片数量
            String placedNumber = s7DataGHOne.getPlacedNumber().toString();//已摆片数量
            List<TemperingGlassInfo> glassList = temperingAgoService.selectGlassInfoById(id);
//            if (Integer.parseInt(placedNumber.getValue().toString()) == glassList.size()) {
            if (Integer.parseInt(placedNumber) == glassList.size()) {
//                miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 1));//写入允许送片
                s7SerializerGHOne.write(
                        S7DataGHOne.builder().responseInTempering(1).build()
                );
            } else {
//                miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 2));//不满足进炉条件
                s7SerializerGHOne.write(
                        S7DataGHOne.builder().responseInTempering(2).build()
                );
@@ -104,9 +95,6 @@
        log.info("读取到的GH1S7.GH1S7数据:{}", s7DataGHOne);
        Integer loadTemperingId = s7DataGHOne.getLoadTemperingId();//进片完成 炉号ID
        getNewTemperingID(loadTemperingId);//进片完成 下发参数
//      ReadWriteEntity loadTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.loadTemperingId");//进片完成 炉号ID
//      getNewTemperingID(Integer.parseInt(loadTemperingId.getValue().toString()));//进片完成 下发参数
//        getNewTemperingID(19);
    }
    /**
@@ -119,9 +107,6 @@
        int furanchiIdEntity = tempModbusTcp.readUInt16(40461 - offset);
        if (StringUtils.isNotBlank(furanchiIdEntity + "")) {
            int temperingid = furanchiIdEntity;
//        ReadWriteEntity furanchiIdEntity = miloService.readFromOpcUa("GH1.GH1.Furanch1Id");//进片完成 炉号ID
//        if (StringUtils.isNotBlank(furanchiIdEntity.getValue()+"")){
//            int temperingid = Integer.parseInt(furanchiIdEntity.getValue().toString());
            temperingAgoService.update(new LambdaUpdateWrapper<TemperingGlassInfo>().set(TemperingGlassInfo::getState, Const.TEMPERING_START)
                    .in(TemperingGlassInfo::getState, Const.TEMPERING_OUT, Const.TEMPERING_DROP).eq(TemperingGlassInfo::getTemperingLayoutId, temperingid));
        }
@@ -133,17 +118,12 @@
    private void getNewTemperingID(Integer temperingid) throws Exception {
        int autoStatus = tempModbusTcp.readUInt16(40451 - offset);
        if (1 != autoStatus) {
//        ReadWriteEntity autoStatus = miloService.readFromOpcUa("GH1.GH1.AutoStatus");
//        if (1 != Integer.parseInt(autoStatus.getValue().toString())) {
            log.info("当前为非联机状态,结束钢化下发参数任务");
            return;
        }
        int QandA = tempModbusTcp.readUInt16(40422 - offset);
        int RecipeStatus = tempModbusTcp.readUInt16(40456 - offset);
        if (1 == QandA && 2 == RecipeStatus) {
//        ReadWriteEntity QandA = miloService.readFromOpcUa("GH1.GH1.QandA");
//        ReadWriteEntity RecipeStatus = miloService.readFromOpcUa("GH1.GH1.RecipeStatus");
//        if (1 == Integer.parseInt(QandA.getValue().toString()) && 2 == Integer.parseInt(RecipeStatus.getValue().toString())) {
            log.info("版面信息已经下发,并且已经匹配参数,结束钢化下发参数任务");
            return;
        }
@@ -180,14 +160,6 @@
            tempModbusTcp.writeUInt16(40415 - offset, workmode);
            tempModbusTcp.writeUInt16(40416 - offset, furmode);
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.TemperingId", temperingid));//写入炉号
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.GlassType", glasstype));//写入玻璃类型
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.Process", process));//写入钢化类型 全钢 半钢 防火
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.Thickness", thiness));//写入厚度
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.LoadingRate", loadingRate));//写入装载率
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.Shape", shape));//写入大片比例
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.WorkMode", workmode));//写入工位数
//            miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.FurnaceMode", furmode));//写入炉体工作方式
            log.info("炉号" + temperingid + "版面信息尝试下发");
        }
    }
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -52,14 +52,9 @@
            S7DataGHTwo s7DataGHTwo = s7SerializerGHTwo.read(S7DataGHTwo.class);
            String engineerEntity = s7DataGHTwo.getF09EngineerId();
            Integer temperingLayoutIdEntity = s7DataGHTwo.getF09TemperingLayoutId();
//            ReadWriteEntity engineerEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F09_ENGINEER_ID");
//            ReadWriteEntity temperingLayoutIdEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F09_TEMPERING_LAYOUT_ID");
            if (null == engineerEntity || null == temperingLayoutIdEntity) {
                engineerEntity = s7DataGHTwo.getF08EngineerId();
                temperingLayoutIdEntity = s7DataGHTwo.getF08TemperingLayoutId();
//                engineerEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F08_ENGINEER_ID");
//                temperingLayoutIdEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F08_TEMPERING_LAYOUT_ID");
                if (null == engineerEntity || null == temperingLayoutIdEntity) {
                    log.info("获取参数异常,结束本次任务");
                    return new ArrayList<>();
@@ -79,7 +74,6 @@
        JSONObject jsonObject = new JSONObject();
        //正在等待进片的玻璃
        List<TemperingGlassInfo> waitingGlass = selectWaitingGlassByOpc();
//        List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlassByOpc();
        if (waitingGlass != null) {
            jsonObject.append("waitingGlass", waitingGlass);
        }
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-yw.yml
@@ -37,7 +37,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -252,7 +252,7 @@
        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
//        Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_GLASS_GAP);
        Integer glassGap = getGlassGapByThickness(tempGlassList.get(0).getThickness());
        Integer glassGap = getGlassGapByThickness(glassInfo.getThickness());
        Integer outCarMaxSize = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_OUT_CAR_SIZE);
        List<HollowGlassRelationInfo> relationInfoList = new ArrayList();
        List<List<HollowGlassRelationInfo>> tempHollowList = new ArrayList<>();
@@ -323,16 +323,17 @@
            if (null != orderDetails) {
                BeanUtils.copyProperties(orderDetails, hollowAllFlowCardVO);
                hollowAllFlowCardVO.setFlowCardId(e);
                if (cageDetails.getHollowSequence() == 0) {
                    hollowAllFlowCardVO.setIsThroughSlot(Boolean.TRUE);
                } else {
                    hollowAllFlowCardVO.setIsThroughSlot(Boolean.FALSE);
                }
                List<FlowCardGlassInfoDTO> flowCardInfoList = hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE);
                hollowAllFlowCardVO.setFlowCardGlassInfoDTOList(flowCardInfoList);
                pairTotalCount.addAndGet(flowCardInfoList.get(0).getPairCount());
                log.info("获取到的流程卡信息为:{}", flowCardInfoList);
                if(CollectionUtil.isNotEmpty(flowCardInfoList)){
                    hollowAllFlowCardVO.setFlowCardGlassInfoDTOList(flowCardInfoList);
                    pairTotalCount.addAndGet(flowCardInfoList.get(0).getPairCount());
                }
                resultList.add(hollowAllFlowCardVO);
            }
        });
@@ -417,11 +418,6 @@
        }
        return sysConfigService.queryConfigValue(sysKey);
    }
    //    @Override
//    public List<LackDetailsDTO> queryLackByFlowCard(String flowCardId) {
//        List<LackDetailsDTO> lackDetailsList = this.baseMapper.queryLackByFlowCard(flowCardId);
//        return lackDetailsList;
//    }
    private void sortFlowCardIdList(List<HollowAllFlowCardVO> list) {
        Pattern pattern = Pattern.compile("^NG(\\d+)([A-Za-z]+)(\\d+)$");
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcHollowRemoveTask.java
@@ -119,23 +119,11 @@
        }
        String glassIdEntitys = readString(modbusTcp, 42003 - offset);
        log.info("除膜{}获取当前的玻璃id:{}", cell, glassIdEntitys);
//        byte[] res = CMJ1ModbusTcp.readHoldRegister(1, 42003, 14);
//        String glassId1 = ByteReadBuff.newInstance(res, 0, false, EByteBuffFormat.CD_AB).getString(10);
//        String glassId2 = ByteReadBuff.newInstance(res, 0, false, EByteBuffFormat.AB_CD).getString(10);
//        String glassId3 = ByteReadBuff.newInstance(res, 0, false, EByteBuffFormat.BA_DC).getString(10);
//        String glassId4 = ByteReadBuff.newInstance(res, 0, false, EByteBuffFormat.DC_BA).getString(10);
//        log.info("获取{}当前的玻璃id1:{}", cell, glassId1);
//        log.info("获取{}当前的玻璃id2:{}", cell, glassId2);
//        log.info("获取{}当前的玻璃id3:{}", cell, glassId3);
//        log.info("获取{}当前的玻璃id4:{}", cell, glassId4);
        Integer requestEntity = modbusTcp.readUInt16(42001 - offset);
//        ReadWriteEntity requestEntity = miloService.readFromOpcUa(cell + "mesControl");
//        if ("0".equals(requestEntity.getValue() + "")) {
        if (0 == requestEntity) {
            log.info("当前除膜机为单机状态");
            return;
        }
//        int request = Integer.parseInt(requestEntity.getValue() + "");
        int request = requestEntity;
        int flagRequest = request & 3;
        if (flagRequest != 3) {
@@ -143,24 +131,12 @@
            return;
        }
//        String glassIdEntity = modbusTcp.readString(42003 - offset, 20);
        String glassIdEntity = readString(modbusTcp, 42003 - offset);
//        String glassIdEntity = ByteReadBuff.newInstance(res, 0, false, EByteBuffFormat.CD_AB).getString(10);
        //你删了?
        log.info("除膜{}获取当前的信号为:{},玻璃id:{}", cell, flagRequest, glassIdEntity);
        if (null == glassIdEntity || StringUtils.isBlank(glassIdEntity)) {
//        ReadWriteEntity glassIdEntity = miloService.readFromOpcUa(cell + "glassId");
//        if (null == glassIdEntity.getValue() || StringUtils.isBlank(glassIdEntity.getValue() + "")) {
            log.info("当前未收到玻璃id数据,结束任务");
            return;
        }
//        log.info("除膜{}获取当前的玻璃id:{}", cell, glassIdEntity);
//        if (null == glassIdEntity.getValue() || StringUtils.isBlank(glassIdEntity.getValue() + "")) {
//            log.info("当前未收到玻璃id数据,结束任务");
//            return;
//        }
        log.info("当前需要除膜的玻璃id为:{}", glassIdEntity);
        //按照玻璃id获取对应的任务id
        HollowGlassFormulaVO detailsVO = hollowFormulaDetailsService.queryFormulaDetailsByGlassId(glassIdEntity, null, null);
@@ -170,14 +146,11 @@
        }
        //按照任务id获取对应的配方信息
        int Id = 0;
        List<ReadWriteEntity> ualist = new ArrayList<>();
        List<ReadWriteEntity> wordlist = new ArrayList<>();
        log.info("除膜{}获取玻璃{},是否除膜:{}", cell, requestEntity, detailsVO.getFilmRemove());
        if (detailsVO.getFilmRemove() == 0) {
            // 10111011
            int sendId = request & 63;
            Id = sendId + 4;
//            wordlist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "mesControl", sendId));
            modbusTcp.writeUInt16(42001 - offset, sendId);
        } else {
            // 先将对应的位置为0,获得请求的玻璃数据, 然后将对应位值     110111011
@@ -188,21 +161,11 @@
            modbusTcp.writeUInt32(42021 - offset, detailsVO.getTopRemove());
            modbusTcp.writeUInt32(42023 - offset, detailsVO.getTopRemove());
            modbusTcp.writeUInt32(42025 - offset, detailsVO.getTopRemove());
//            wordlist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "mesControl", sendId));
//            ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "glassTop", detailsVO.getTopRemove()));
//            ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "glassBottom", detailsVO.getBottomRemove()));
//            ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "glassLeft", detailsVO.getLeftRemove()));
//            ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "glassRight", detailsVO.getRightRemove()));
        }
        modbusTcp.writeUInt32(42013 - offset, (int) (detailsVO.getThickness() * 10));
        modbusTcp.writeUInt32(42015 - offset, (int) (Math.max(detailsVO.getWidth(), detailsVO.getHeight())) * 10);
        modbusTcp.writeUInt32(42017 - offset, (int) (Math.min(detailsVO.getWidth(), detailsVO.getHeight())) * 10);
        modbusTcp.writeUInt16(42001 - offset, Id);
//        ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "thickness", (int) (detailsVO.getThickness() * 10)));
//        ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "firstLength", (int) (Math.max(detailsVO.getWidth(), detailsVO.getHeight())) * 10));
//        ualist.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "secondLength", (int) (Math.min(detailsVO.getWidth(), detailsVO.getHeight())) * 10));
//        miloService.writeToOpcWord(wordlist);
//        miloService.writeToOpcUa(ualist);
        return;
    }
@@ -243,9 +206,6 @@
        //向电气发送清楚信号
        int sendId = request & 251;
        log.info("{}收到除膜机ID接收完成信号,将写入数据完成置0,发送数据为:{}", cell, sendId);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(opcPlcStorageCageHollowTask.generateReadWriteEntity(cell + "mesControl", sendId));
//        miloService.writeToOpcWord(list);
        modbusTcp.writeUInt16(42001 - offset, sendId);
    }
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -112,43 +112,20 @@
    @Resource
    private RedisUtil redisUtil;
//    @Value("${mes.slotWidth}")
//    private Integer slotWidth;
//
//    @Value("${mes.glassGap}")
//    private Integer glassGap;
//
//    @Value("${mes.carWidth}")
//    private Integer carWidth;
//
//    @Value("${mes.outCarMaxSize}")
//    private Integer outCarMaxSize;
//
//    @Value("${mes.slotMaxHeight}")
//    private Integer slotMaxHeight;
//    @Value("${mes.slotMaxthickness}")
//    private Integer slotMaxthickness;
    @Scheduled(fixedDelay = 1000)
    public void inBigStorageTask() throws Exception {
        S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class);
        log.info("进片任务读取s7DataZKDLPOne:{}", s7DataZKDLPOne);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataZKDLPOne.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束进片任务");
            return;
        }
//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes");
//        if (!"1".equals(requestEntity.getValue() + "")) {
        String requestEntity = s7DataZKDLPOne.getRequestMes().toString();
        if (!"1".equals(requestEntity)) {
            log.info("当前未收到进片请求,结束进片任务");
            return;
        }
//        ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply");
//        if ("1".equals(mesReplyEntity.getValue() + "")) {
        String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString();
        if ("1".equals(mesReplyEntity)) {
            log.info("有正在执行的任务,结束进片任务");
@@ -156,23 +133,17 @@
        }
        List<BigStorageCageTask> inTaskList = new ArrayList();
//        ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1");
        String fromOpcUa = s7DataZKDLPOne.getFrom1().toString();
        List<String> glassIdList = new ArrayList<>();
        List<String> requestWords = s7DataZKDLPOne.getIds();
        for (int i = 1; i <= 6; i++) {
//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i);
            String requestWord = requestWords.get(i - 1);
//            if (null != requestWord.getValue()) {
            if (null != requestWord && !requestWord.isEmpty()) {
                BigStorageCageTask task = new BigStorageCageTask();
//                task.setGlassId(requestWord.getValue() + "");
                task.setGlassId(requestWord.toString());
//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                task.setGlassId(requestWord);
                task.setStartSlot(Integer.parseInt(fromOpcUa));
                inTaskList.add(task);
//                glassIdList.add(requestWord.getValue() + "");
                glassIdList.add(requestWord.toString());
                glassIdList.add(requestWord);
                continue;
            }
        }
@@ -186,7 +157,6 @@
            if (entry.getValue() > 1) {
                log.info("进片玻璃{}存在相同,结束本次任务", entry.getKey());
                //向plc发送报警:同一车进片玻璃存在相同
//                miloService.writeToOpcWord(generateReadWriteEntity("DLP2A.DLP2A.alarmSignal", 2));
                s7DataZKDLPOne = new S7DataZKDLPOne();
                s7DataZKDLPOne.setAlramSignal(2);
                s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -198,7 +168,6 @@
        if (CollectionUtil.isNotEmpty(detailsList)) {
            log.info("理片笼存在相同的进片玻璃{},结束本次任务", detailsList);
            //向plc发送报警:理片笼存在相同的进片玻璃
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP2A.DLP2A.alarmSignal", 4));
            s7DataZKDLPOne = new S7DataZKDLPOne();
            s7DataZKDLPOne.setAlramSignal(4);
            s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -209,7 +178,6 @@
        if (glassInfoList.size() != inTaskList.size()) {
            log.info("进片任务数量{}与玻璃数量{}不匹配,结束本次进片", inTaskList.size(), glassInfoList.size());
            //向plc发送报警:进片任务数量与系统查询到的玻璃数量不匹配
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP2A.DLP2A.alarmSignal", 8));
            s7DataZKDLPOne = new S7DataZKDLPOne();
            s7DataZKDLPOne.setAlramSignal(8);
            s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -227,7 +195,6 @@
            if (count < entry.getValue()) {
                log.info("笼内格子剩余数量不足,结束本次进片");
                //向plc发送报警:笼内格子剩余数量不足
//                miloService.writeToOpcWord(generateReadWriteEntity("DLP2A.DLP2A.alarmSignal", 16));
                s7DataZKDLPOne = new S7DataZKDLPOne();
                s7DataZKDLPOne.setAlramSignal(16);
                s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -244,7 +211,6 @@
            if (count > 0) {
                log.info("直通片台存在玻璃,结束本次进片");
                //向plc发送报警:直通片台存在玻璃,无法继续直通
//                miloService.writeToOpcWord(generateReadWriteEntity("DLP2A.DLP2A.alarmSignal", 64));
                s7DataZKDLPOne = new S7DataZKDLPOne();
                s7DataZKDLPOne.setAlramSignal(64);
                s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -268,6 +234,7 @@
        Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_GLASS_GAP);
        try {
            log.info("开始计算目标格子,玻璃id有:{}", inTaskList);
            if (slotMaxHeight > Math.min(glassInfoList.get(0).getWidth(), glassInfoList.get(0).getHeight()) && glassInfoList.get(0).getThickness() < slotMaxthickness) {
                for (BigStorageCageTask task : inTaskList) {
                    GlassInfo info = glassListMap.get(task.getGlassId()).get(0);
@@ -279,7 +246,6 @@
                            .eq(HollowBigStorageCage::getSlot, bigStorageDTO.getSlot()));
                    task.setTargetSlot(bigStorageDTO.getSlot());
                    task.setGlassId(info.getGlassId());
//                    bigStorageCageTaskService.updateTaskMessage(BIG_STORAGE_CAGE_IN_TWO_TASK, task);
                    //存放历史任务
                    HollowBigStorageCageHistoryTask historyTask = new HollowBigStorageCageHistoryTask();
                    BeanUtils.copyProperties(task, historyTask);
@@ -312,7 +278,6 @@
            } else {
                BigStorageCageTask task = inTaskList.get(0);
                task.setTargetSlot(THROUGH_SLOT);
//                bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_two_task", task);
                //存放历史任务
                HollowBigStorageCageHistoryTask historyTask = new HollowBigStorageCageHistoryTask();
                BeanUtils.copyProperties(task, historyTask);
@@ -347,12 +312,6 @@
        //历史数据入库
        hollowBigStorageCageHistoryTaskService.saveBatch(historyTasks);
        //向opc发送启动信号
//        List<ReadWriteEntity> list = new ArrayList<>();
//        for (int i = 1; i <= inTaskList.size(); i++) {
//            list.add(generateReadWriteEntity("DLP2A.DLP2A.TO" + i, inTaskList.get(i - 1).getTargetSlot()));
//        }
//        list.add(generateReadWriteEntity("DLP2A.DLP2A.MesReply", 1));
//        miloService.writeToOpcWord(list);
        s7DataZKDLPOne = new S7DataZKDLPOne();
        for (int i = 0; i < inTaskList.size() && i < 6; i++) {
            Integer value = inTaskList.get(i).getTargetSlot();
@@ -388,23 +347,17 @@
        Date startDate = new Date();
        S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class);
        log.info("出片任务读取s7DataZKDLPTwo:{}", s7DataZKDLPTwo);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataZKDLPTwo.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束进片任务");
            return;
        }
//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes");
//        if (!"1".equals(requestEntity.getValue() + "")) {
        String requestEntity = s7DataZKDLPTwo.getRequestMes().toString();
        if (!"1".equals(requestEntity)) {
            log.info("当前未收到出片请求,结束出片任务");
            return;
        }
        //获取出片任务表
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage(BIG_STORAGE_CAGE_OUT_TWO_TASK);
        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataZKDLPTwo);
        if (CollectionUtil.isNotEmpty(outTaskList)) {
@@ -441,7 +394,6 @@
            if (null == hollowGlassOutRelationInfo) {
                Boolean entity = map.get(i);
                cell = i;
//                if (null != entity.getValue() && ("1".equals(entity.getValue() + "") || Boolean.parseBoolean(entity.getValue() + ""))) {
                if (null != entity && entity) {
                    hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService
                            .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
@@ -490,7 +442,6 @@
                        .set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_SUCCESS));
            }
        }
//        redisUtil.setCacheObject("dispatchHollowSwitch",true);
        //是否存在需要内部调度的格子:执行内部调度任务
        if (redisUtil.getCacheObject("dispatchHollowSwitch")) {
            //todo:获取笼内单格已经到齐的玻璃格子信息
@@ -533,8 +484,6 @@
    @Scheduled(fixedDelay = 1000)
    public void finishInBigStorageTask() throws Exception {
        S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataZKDLPOne.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束完成进片任务");
@@ -543,18 +492,12 @@
        //获取进片任务表
        List<BigStorageCageTask> inTaskList = new ArrayList();
        List<String> glassIdList = new ArrayList<>();
//        ReadWriteEntity toWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO1");
//        if ("0".equals(toWord.getValue() + "")) {
        String toWord = s7DataZKDLPOne.getTo1().toString();
        if ("0".equals(toWord)) {
            log.info("完成任务已执行,结束本次完成进片任务");
            return;
        }
        for (int i = 1; i <= 6; i++) {
//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i);
//            ReadWriteEntity statetWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i);
//            ReadWriteEntity toOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i);
//            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM" + i);
            String requestWord = "";
            String statetWord = "";
            String toOpcUa = "";
@@ -601,16 +544,11 @@
//            if (null != requestWord.getValue()) {
            if (null != requestWord && !requestWord.isEmpty()) {
                BigStorageCageTask task = new BigStorageCageTask();
//                task.setGlassId(requestWord.getValue() + "");
//                task.setTargetSlot(Integer.parseInt(toOpcUa.getValue() + ""));
//                task.setTaskState(Integer.parseInt(statetWord.getValue() + ""));
//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                task.setGlassId(requestWord);
                task.setTargetSlot(Integer.parseInt(toOpcUa));
                task.setTaskState(Integer.parseInt(statetWord));
                task.setStartSlot(Integer.parseInt(fromOpcUa));
                inTaskList.add(task);
//                glassIdList.add(requestWord.getValue() + "");
                glassIdList.add(requestWord);
                continue;
            }
@@ -687,13 +625,6 @@
        }
        //清空启动状态
        //向opc发送启动信号
        //向opc发送启动信号
//        List<ReadWriteEntity> list = new ArrayList<>();
//        for (int i = 1; i <= 6; i++) {
//            list.add(generateReadWriteEntity("DLP2A.DLP2A.TO" + i, 0));
//        }
//        list.add(generateReadWriteEntity("DLP2A.DLP2A.MesReply", 0));
//        miloService.writeToOpcWord(list);
        s7DataZKDLPOne = new S7DataZKDLPOne();
        s7DataZKDLPOne.setTo1(0);
        s7DataZKDLPOne.setTo2(0);
@@ -710,15 +641,12 @@
    @Scheduled(fixedDelay = 1000)
    public void finishOutBigStorageTask() throws Exception {
        S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class);
//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl");
//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
        Boolean inkageEntity = s7DataZKDLPTwo.getMesControl();
        if (true != inkageEntity) {
            log.info("当前为非联机状态,结束完成出片任务");
            return;
        }
        //获取出片任务表
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage(BIG_STORAGE_CAGE_OUT_TWO_TASK);
        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataZKDLPTwo);
        if (CollectionUtil.isEmpty(outTaskList)) {
            log.info("当前大车无出片玻璃,结束完成出片任务");
@@ -837,11 +765,9 @@
        }
//       重置任务表数据
//        bigStorageCageTaskService.updateOutTaskMessage(BIG_STORAGE_CAGE_OUT_TWO_TASK);
        resetOutTask();
        //清空启动状态
        //向opc发送启动信号
//        miloService.writeToOpcWord(generateReadWriteEntity("DLP2B.DLP2B.MesReply", 0));
        s7DataZKDLPTwo = new S7DataZKDLPTwo();
        s7DataZKDLPTwo.setMesReply(0);
        s7SerializerZKDLPTwo.write(s7DataZKDLPTwo);
@@ -1060,13 +986,8 @@
        for (T t : baseInfoList) {
            bigStorageCageTaskList.add(new BigStorageCageTask(t.getGlassId(), t.getSlot(), targetSlot, 0));
        }
//        while (bigStorageCageTaskList.size() < 6) {
//            bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
//        }
        //清空任务表数据
        resetOutTask();
//        bigStorageCageTaskService.removeAll(tableName);
//        bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
        log.info("生成出片任务数据{}", bigStorageCageTaskList);
        S7DataZKDLPTwo s7DataZKDLPTwo = new S7DataZKDLPTwo();
        for (int i = 0; i < bigStorageCageTaskList.size() && i < 6; i++) {
@@ -1128,8 +1049,6 @@
                .ne(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
                .in(HollowBigStorageCageDetails::getGlassId, glassIds));
        try {
//            miloService.writeToOpcWord(generateReadWriteEntity("DLP2B.DLP2B.MesReply", 1));
            s7DataZKDLPTwo = new S7DataZKDLPTwo();
            s7DataZKDLPTwo.setMesReply(1);
            s7SerializerZKDLPTwo.write(s7DataZKDLPTwo);
@@ -1149,9 +1068,6 @@
        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
        if (CollectionUtils.isNotEmpty(inSlotGlassList)) {
            //存在  将格子内的玻璃分别进行更新
//            List<HollowBigStorageCage> hollowBigStorageCageList = hollowBigStorageCageService.list(new LambdaQueryWrapper<HollowBigStorageCage>()
//                    .lt(HollowBigStorageCage::getRemainWidth, 0).in(HollowBigStorageCage::getSlot, slotList));
//            List<Integer> resultSlotList = hollowBigStorageCageList.stream().map(HollowBigStorageCage::getSlot).collect(Collectors.toList());
            slotRemainMap = inSlotGlassList.stream()
                    .collect(Collectors.groupingBy(HollowBigStorageCageDetails::getSlot, Collectors.summingDouble(item -> Math.max(item.getWidth(), item.getHeight()) + glassGap)));
            slotRemainMap.forEach((e, v) -> {
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -124,7 +124,6 @@
        }
        try {
//            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa(isFreeTag);
            jsonObject.append("freeRequest", isFreeTag);
        } catch (Exception e) {
            log.error("opc存在异常", e);
@@ -182,12 +181,8 @@
        try {
            //进片任务数据
            List<BigStorageTaskVO> inTaskList = new ArrayList();
//            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1");
            String fromOpcUa = s7DataZKDLPOne.getFrom1().toString();
            for (int i = 0; i < 6; i++) {
//                ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i);
//                ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i);
//                ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i);
                String requestWord = "";
                String stateWord = "";
                String targetSlotWord = "";
@@ -223,10 +218,8 @@
                        targetSlotWord = s7DataZKDLPOne.getTo6().toString();
                        break;
                }
//                if (null != requestWord.getValue()) {
                if (null != requestWord) {
                    BigStorageTaskVO task = new BigStorageTaskVO();
//                    task.setGlassId(requestWord.getValue() + "");
                    task.setGlassId(requestWord);
                    int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId())
                            .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL));
@@ -235,9 +228,6 @@
                    } else {
                        task.setIsSame(0);
                    }
//                    task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
//                    task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + ""));
//                    task.setTaskState(Integer.parseInt(stateWord.getValue() + ""));
                    task.setStartSlot(Integer.parseInt(fromOpcUa));
                    task.setTargetSlot(Integer.parseInt(targetSlotWord));
                    task.setTaskState(Integer.parseInt(stateWord));
@@ -251,49 +241,31 @@
        }
        try {
            //进片联机
//            ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl");
//            jsonObject.append("inkageEntity", inkageEntity.getValue());
            Boolean inkageEntity = s7DataZKDLPOne.getMesControl();
            jsonObject.append("inkageEntity", inkageEntity);
            //进片请求
//            ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes");
//            jsonObject.append("requestEntity", requestEntity.getValue());
            String requestEntity = s7DataZKDLPOne.getRequestMes().toString();
            jsonObject.append("requestEntity", requestEntity);
            //启动命令
//            ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply");
//            jsonObject.append("mesReplyEntity", mesReplyEntity.getValue());
            String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString();
            jsonObject.append("mesReplyEntity", mesReplyEntity);
            //出片联机
//            ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl");
//            jsonObject.append("outInkageEntity", outInkageEntity.getValue());
            String outInkageEntity = s7DataZKDLPTwo.getMesControl().toString();
            jsonObject.append("outInkageEntity", outInkageEntity);
            //出片请求
//            ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes");
//            jsonObject.append("outRequestEntity", outRequestEntity.getValue());
            String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString();
            jsonObject.append("outInkageEntity", outInkageEntity);
            //930空闲信号
//            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
//            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
            jsonObject.append("freeOneRequestEntity", CMJ1ModbusTcp.readUInt16(42027 - offset));
            //931空闲信号
//            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
//            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
            jsonObject.append("freeTwoRequestEntity", s7DataZKExtra.getIsFree());
            //932空闲信号
//            ReadWriteEntity freeThreeRequestEntity = miloService.readFromOpcUa("ZKQ3.ZKQ3.isFree");
//            jsonObject.append("freeThreeRequestEntity", freeThreeRequestEntity.getValue());
            jsonObject.append("freeThreeRequestEntity", s7DataZKExtra.getIsFree());
        } catch (Exception e) {
            //todo:不做任务处理
        }
        //出片任务数据
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_two_task");
//        jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        List<BigStorageCageTask> outTaskList = new ArrayList<>();
        for (int i = 0; i < 6; i++) {
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/application-yw.yml
@@ -30,7 +30,7 @@
    password: 123456
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default: