From 1ac37f17a1e674337ea924e9f930725575cee15d Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期一, 20 五月 2024 13:47:44 +0800 Subject: [PATCH] 修改A01手动格子范围 ,A02翻转启动按钮 --- springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java index 82a5217..2694358 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java +++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java @@ -2,10 +2,11 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; +import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; -import java.util.List; import java.util.Arrays; +import java.util.List; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -15,6 +16,8 @@ import java.io.UnsupportedEncodingException; import org.apache.commons.io.FileUtils; + +@Slf4j public class PlcPositioning1 extends Thread { @@ -28,6 +31,11 @@ config = new Configuration("config.properties"); } + + + + + @Override public void run() { while (this != null) { @@ -35,6 +43,16 @@ Thread.sleep(1000); // System.out.println(stt); // 瀛樼墖鏍� 鍑虹墖鏍艰鍙� + List<String> PLCOriginmarking = Arrays.asList(config.getProperty("PLCOriginmarking").split(",")); + + + List<Boolean> PLCOriginmarkingarraylist = S7control.getinstance().readBits(PLCOriginmarking); + + short[] params = new short[PLCOriginmarkingarraylist.size()]; + for (int i = 0; i < PLCOriginmarkingarraylist.size(); i++) { + boolean value = PLCOriginmarkingarraylist.get(i); + params[i] = value ? (short) 1 : (short) 0; + } String address = config.getProperty("PlcPositioning1.address"); List<Short> arraylist = S7control.getinstance().ReadWord(address, 33); @@ -54,7 +72,7 @@ jsonObject.append("params", arraylist); jsonObject.append("shishi1", arraylist5); - + jsonObject.append("PLCOriginmarkingarraylist", params); // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1"); // if (sendwServer != null) { // sendwServer.sendMessage(jsonObject.toString()); @@ -65,9 +83,10 @@ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Positioning1"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { - webserver.sendMessage(jsonObject.toString()); + - if (webserver != null) { + if (webserver != null&&webserver.session.isOpen()) { + webserver.sendMessage(jsonObject.toString()); List<String> messages = webserver.getMessages(); // 瀛樼墖鏍� 鍑虹墖鏍煎湴鍧� @@ -103,9 +122,13 @@ "messageValue锛�" + mergedList + " written to PLC at address " + address); } + customS7Control.writeBitToPLC(messageArray, PLCOriginmarking, 7); + // 娓呯┖娑堟伅鍒楄〃 webserver.clearMessages(); } + }else{ + log.info("Positioning1 is closed"); } } -- Gitblit v1.8.0