ZengTao
2025-12-08 44b3fa1452e1e52746f5037caa673a8e8d1bfbcf
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 + "版面信息尝试下发");
        }
    }