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