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 | 89 ++++++++++++++++++++++++++++---------------- 1 files changed, 57 insertions(+), 32 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 e62345d..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; @@ -16,6 +17,8 @@ import org.apache.commons.io.FileUtils; +@Slf4j + public class PlcPositioning1 extends Thread { // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭� @@ -24,59 +27,73 @@ // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄 MessageHandler customS7Control = new MessageHandler(); - public PlcPositioning1() throws IOException { config = new Configuration("config.properties"); } + + + + + + @Override public void run() { while (this != null) { try { Thread.sleep(1000); - - } catch (InterruptedException e) { - e.printStackTrace(); - } + // System.out.println(stt); + // 瀛樼墖鏍� 鍑虹墖鏍艰鍙� + List<String> PLCOriginmarking = Arrays.asList(config.getProperty("PLCOriginmarking").split(",")); - // System.out.println(stt); - //瀛樼墖鏍� 鍑虹墖鏍艰鍙� + 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); -// System.out.println(arraylist); + List<Short> arraylist = S7control.getinstance().ReadWord(address, 33); + // System.out.println(arraylist); - -// Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 }; -// List<Short> arraylist = new ArrayList<>(Arrays.asList(values1)); - - + // Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, + // 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 }; + // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1)); + List<Short> arraylist5 = S7control.getinstance().ReadWord("DB106.0", 1); + List<Short> arraylist6 = S7control.getinstance().ReadWord("DB106.12", 1); + List<Short> arraylist7 = S7control.getinstance().ReadWord("DB106.40", 1); + List<Short> arraylist8 = S7control.getinstance().ReadWord("DB106.50", 1); + arraylist5.addAll(arraylist6); + arraylist5.addAll(arraylist7); + arraylist5.addAll(arraylist8); JSONObject jsonObject = new JSONObject(); - 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()); + // } - -// WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1"); -// if (sendwServer != null) { -// sendwServer.sendMessage(jsonObject.toString()); -// } - -// WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Positioning1"); + // WebSocketServer webSocketServer = + // WebSocketServer.sessionMap.get("Positioning1"); 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(); - //瀛樼墖鏍� 鍑虹墖鏍煎湴鍧� - + // 瀛樼墖鏍� 鍑虹墖鏍煎湴鍧� if (!messages.isEmpty()) { // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛� String lastMessage = messages.get(messages.size() - 1); -// System.out.println("lastMessage锛�" + lastMessage); + // System.out.println("lastMessage锛�" + lastMessage); JSONArray messageArray = new JSONArray(lastMessage); // 鏁村悎绗� 1 鍒� 3 涓暟缁勫苟鍘绘帀 null 鍏冪礌 @@ -98,21 +115,29 @@ } } - - // 鍐欏叆瀛樼墖鏍� 鍑虹墖鏍间綅缃瀹氭暟鎹� + // 鍐欏叆瀛樼墖鏍� 鍑虹墖鏍间綅缃瀹氭暟鎹� if (!mergedList.isEmpty()) { S7control.getinstance().WriteWord(address, mergedList); - System.out.println("messageValue锛�" + mergedList + " written to PLC at address " + address); + System.out.println( + "messageValue锛�" + mergedList + " written to PLC at address " + address); } + + customS7Control.writeBitToPLC(messageArray, PLCOriginmarking, 7); // 娓呯┖娑堟伅鍒楄〃 webserver.clearMessages(); } + }else{ + log.info("Positioning1 is closed"); } } - } + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } } } -- Gitblit v1.8.0