From b4ff04d7dd22f0e48bf386cd422e885aef08fed7 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 22 五月 2025 15:03:10 +0800
Subject: [PATCH] OPC通讯修改为S7通讯

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java
index ec3ade9..902f06a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java
@@ -1,12 +1,15 @@
 package com.mes.job;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.s7.entity.S7DataMBExtra;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -28,6 +31,10 @@
     @Autowired(required = false)
     MiloService miloService;
 
+    @Autowired
+    @Qualifier("s7SerializerMBExtra")
+    private S7Serializer s7SerializerMBExtra;
+
     @Resource
     GlassInfoService glassInfoService;
 
@@ -43,27 +50,64 @@
     }
 
     private void startEdgTaskChild(String cell) throws Exception {
-        ReadWriteEntity request = miloService.readFromOpcUa("MB04.MB04.request" + cell);
-        if (null == request || "0".equals(request.getValue() + "")) {
+        S7DataMBExtra s7DataMBExtra = s7SerializerMBExtra.read(S7DataMBExtra.class);
+
+//        ReadWriteEntity request = miloService.readFromOpcUa("MB04.MB04.request" + cell);
+//        if (null == request || "0".equals(request.getValue() + "")) {
+        String request = "";
+        String glassIdEntity = "";
+        if ("01".equals(cell)) {
+            request = s7DataMBExtra.getRequestOne().toString();
+            glassIdEntity = s7DataMBExtra.getPlcGlassIdOne();
+        } else {
+            request = s7DataMBExtra.getRequestTwo().toString();
+            glassIdEntity = s7DataMBExtra.getPlcGlassIdTwo();
+        }
+        if (null == request || "0".equals(request)) {
             log.info("鏈敹鍒扮幓鐠冭姹傦紝缁撴潫鏈浠诲姟");
             return;
         }
-        ReadWriteEntity glassIdEntity = miloService.readFromOpcUa("MB04.MB04.plc_glass_id_" + cell);
-
-        if (null == glassIdEntity || StringUtils.isEmpty(glassIdEntity.getValue() + "")) {
+//        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.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));
+//        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));
+
+        if ("01".equals(cell)) {
+            s7SerializerMBExtra.write(
+                    S7DataMBExtra.builder()
+                            .widthOne((short) Math.max(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10))
+                            .heightOne((short) Math.min(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10))
+                            .thicknessOne((short) (glassInfo.getThickness() * 10))
+                            .build()
+            );
+            s7SerializerMBExtra.write(
+                    S7DataMBExtra.builder().mesGlassIdOne(glassId).build()
+            );
+        } else {
+            s7SerializerMBExtra.write(
+                    S7DataMBExtra.builder()
+                            .widthTwo((short) Math.max(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10))
+                            .heightTwo((short) Math.min(glassInfo.getWidth() * 10, glassInfo.getHeight() * 10))
+                            .thicknessTwo((short) (glassInfo.getThickness() * 10))
+                            .build()
+            );
+            s7SerializerMBExtra.write(
+                    S7DataMBExtra.builder().mesglassIdTwo(glassId).build()
+            );
+        }
     }
 
     private ReadWriteEntity generateReadWriteEntity(String identifier, Object value) {

--
Gitblit v1.8.0