From d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 11 十月 2024 08:39:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
new file mode 100644
index 0000000..f63bc63
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
@@ -0,0 +1,61 @@
+package com.mes.common;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.device.PlcParameterObject;
+import com.mes.tools.InitUtil;
+import com.mes.tools.S7control;
+
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 15:13
+ * @Description:
+ */
+public class S7object extends Thread {
+    public S7control plccontrol; // PLC閫氳绫诲疄渚�
+    private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
+    private String ip = "192.168.10.11"; // plc ip鍦板潃
+    private int port = 102; // plc 绔彛鍙�
+
+
+    public PlcParameterObject PlcMesObject;
+    private static volatile S7object instance = null;
+
+    private S7object() {
+        if (plccontrol == null) {
+            plccontrol = new S7control(plcType, ip, port, 0, 0);
+            String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheGlass.json";
+//            String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheGlass.json").getPath();
+            PlcMesObject = InitUtil.initword(PlcLoadGlass);
+        }
+    }
+
+    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+    public static S7object getinstance() {
+        if (instance == null) {
+            synchronized (S7object.class) {
+                if (instance == null) {
+                    instance = new S7object();
+                }
+            }
+        }
+        return instance;
+    }
+
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(100);
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
+            if (getplcvlues != null) {
+                PlcMesObject.setPlcParameterList(getplcvlues);
+            }
+        }
+    }
+}

--
Gitblit v1.8.0