From 09402133807b1e774e658a13ad365b2e6efca25b Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 21 四月 2025 16:06:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 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
new file mode 100644
index 0000000..cf7b7c0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcEdgTask.java
@@ -0,0 +1,77 @@
+package com.mes.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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 lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/10/10 8:05
+ * @Description:
+ */
+@Component
+@Slf4j
+public class OpcEdgTask {
+
+
+ @Autowired(required = false)
+ MiloService miloService;
+
+ @Resource
+ GlassInfoService glassInfoService;
+
+
+ @Scheduled(fixedDelay = 2000)
+ public void startOneEdgTask() throws Exception {
+ startEdgTaskChild("01");
+ }
+
+ @Scheduled(fixedDelay = 2000)
+ public void startTwoEdgTask() throws Exception {
+ startEdgTaskChild("02");
+ }
+
+ private void startEdgTaskChild(String cell) throws Exception {
+ ReadWriteEntity request = miloService.readFromOpcUa("MB04.MB04.request" + cell);
+ if (null == request || "0".equals(request.getValue() + "")) {
+ log.info("鏈敹鍒扮幓鐠冭姹傦紝缁撴潫鏈浠诲姟");
+ return;
+ }
+ ReadWriteEntity glassIdEntity = miloService.readFromOpcUa("MB04.MB04.plc_glass_id_" + cell);
+
+ if (null == glassIdEntity || StringUtils.isEmpty(glassIdEntity.getValue() + "")) {
+ log.info("鏈夎姹備絾鐜荤拑id涓虹┖锛岀粨鏉熸湰娆′换鍔�");
+ return;
+ }
+ String glassId = glassIdEntity.getValue() + "";
+ log.info("鑾峰彇鍒皗}绾跨殑鐜荤拑id:{}", cell, glassId);
+ GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId).last("limit 1"));
+
+ List<ReadWriteEntity> ualist = new ArrayList<>();
+ miloService.writeToOpcUa(generateReadWriteEntity("MB04.MB04.mes_glass_Id_" + cell, glassId));
+ 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);
+ }
+
+ private ReadWriteEntity generateReadWriteEntity(String identifier, Object value) {
+ return ReadWriteEntity.builder()
+ .identifier(identifier)
+ //Kep涓槸Long绫诲瀷锛屽嵆锛欼nt32锛孞ava涓殑int绫诲瀷
+ .value(value)
+ .build();
+ }
+
+}
--
Gitblit v1.8.0