From 7ae7bcc0245afa4d94516feddc2b8bd60e4253c6 Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期一, 11 十二月 2023 10:25:02 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes --- springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java | 128 +++++++++++++++++++++++++++++------------- 1 files changed, 88 insertions(+), 40 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java index 81522f1..eb37fda 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java +++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java @@ -10,6 +10,7 @@ import java.util.Collections; import java.util.List; + public class PlcParameter2 extends Thread { String name = ""; Integer count = 0; @@ -68,7 +69,7 @@ e.printStackTrace(); } - // 鎵嬪姩鐘舵�佸湴鍧� + // 鎵嬪姩鐘舵�佸湴鍧� List<String> addressList1 = new ArrayList<>(); addressList1.add("DB103.44");//D01 @@ -117,18 +118,29 @@ addressList0.add("DB101.10.2"); addressList0.add("DB101.10.3"); - + // 鎵爜鏋� List<Boolean> data2 = S7control.getinstance().readBits(addressList0); List<String> addressList3 = new ArrayList<>(); addressList3.add("DB103.256"); addressList3.add("DB103.270"); - List<String> data3 = S7control.getinstance().readStrings(addressList3); + + + + List<String> niuanaddressList3 = new ArrayList<>(); + + niuanaddressList3.add("DB101.10.4"); + List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3); + + + + List<String> data3 = S7control.getinstance().readStrings(addressList3); +// A01 A02 B01 B02 List<String> addresses4 = new ArrayList<>(); - addresses4.add("DB103.52"); - addresses4.add("DB103.54"); - addresses4.add("DB103.56"); - addresses4.add("DB103.60"); + addresses4.add("DB103.32"); + addresses4.add("DB103.34"); + addresses4.add("DB103.36"); + addresses4.add("DB103.40"); List<Short> data4 = S7control.getinstance().readWords(addresses4); @@ -143,10 +155,10 @@ // String[] values6 = { ".x1 ","x2 ","x3",";;x4","x5","x6","x7","x8","x9","x10","x11"}; // List<String> paramlist = new ArrayList<>(Arrays.asList(values6)); -// Short[] values1 = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; +// Short[] values1 = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // List<Short> data = new ArrayList<>(Arrays.asList(values1)); -// Boolean[] value4 = { true, true, true, true, true, true, true, true, true, -// true}; +// Boolean[] value4 = { false, false, false, false, false, false, false, false, false, +// false}; // List<Boolean> data2 = new ArrayList<>(Arrays.asList(value4)); // String[] values3 = { ".x11 ","x21 "}; // List<String> data3 = new ArrayList<>(Arrays.asList(values3)); @@ -161,22 +173,30 @@ params[i] = value ? (short) 1 : (short) 0; } + short[] anniuparams = new short[anniuread.size()]; + for (int i = 0; i < anniuread.size(); i++) { + boolean value = anniuread.get(i); + anniuparams[i] = value ? (short) 1 : (short) 0; + } + jsonObject.append("params", params); jsonObject.append("params", paramlist); jsonObject.append("params", data); jsonObject.append("params", data3); jsonObject.append("params", data4); + jsonObject.append("jiting", anniuparams); - WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter2"); - if (sendwServer != null) { - sendwServer.sendMessage(jsonObject.toString()); - } - WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter2"); - if (webSocketServer != null) { + ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2"); + if (sendwServer != null) { + for (WebSocketServer webserver : sendwServer) { + webserver.sendMessage(jsonObject.toString()); - List<String> messages = webSocketServer.getMessages(); + + + + List<String> messages = webserver.getMessages(); List<String> addressList = new ArrayList<>(); addressList.add("DB101.9.2"); @@ -195,35 +215,63 @@ if (!messages.isEmpty()) { // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛� String lastMessage = messages.get(messages.size() - 1); - System.out.println("messages锛�" + messages); - String[] parts = lastMessage.split(","); - List<Integer> messageValues = new ArrayList<>(); - for (String part : parts) { - try { - // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃 - String cleanedPart = part.replaceAll("[^0-9-]", ""); - Integer value = Integer.parseInt(cleanedPart.trim()); - messageValues.add(value); - } catch (NumberFormatException e) { - // 濡傛灉鏃犳硶瑙f瀽涓烘暣鏁扮被鍨嬶紝鍒欏拷鐣ヨ閮ㄥ垎 -// e.printStackTrace(); +// System.out.println("lastMessage锛�" + lastMessage); + JSONArray messageArray = new JSONArray(lastMessage); + + if (messageArray.getJSONArray(0).size() > 0) { + JSONArray jsonArray3 = messageArray.getJSONArray(0); + List<Boolean> sValue3 = new ArrayList<>(); + for (int i = 0; i < jsonArray3.size(); i++) { + Object value = jsonArray3.get(i); + if (value != null && !value.toString().equals("null")) { + try { + String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); + boolean val = "1".equals(cleanedValue.trim()); + sValue3.add(val); + System.out.println("messageValue: " + Arrays.asList(val) + " added to the list"); + } catch (NumberFormatException e) { + // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒� + System.err.println("Could not parse value: " + value); + } + } + } + if (!sValue3.isEmpty()) { + S7control.getinstance().WriteBit(addressList, sValue3); + System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3); + } + } + // 灏嗗竷灏斿垪琛ㄥ啓鍏� PLC + if (messageArray.getJSONArray(1).size() > 0) { + JSONArray jsonArray3 = messageArray.getJSONArray(1); + List<Boolean> sValue3 = new ArrayList<>(); + for (int i = 0; i < jsonArray3.size(); i++) { + Object value = jsonArray3.get(i); + if (value != null && !value.toString().equals("null")) { + try { + String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); + boolean val = "1".equals(cleanedValue.trim()); + sValue3.add(val); + System.out.println("messageValue: " + Arrays.asList(val) + " added to the list"); + } catch (NumberFormatException e) { + // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒� + System.err.println("Could not parse value: " + value); + } + } + } + if (!sValue3.isEmpty()) { + S7control.getinstance().WriteBit(niuanaddressList3, sValue3); + + System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3); } } - // 灏嗘秷鎭�艰浆鎹负甯冨皵鍒楄〃 - List<Boolean> messageBooleans = new ArrayList<>(); - for (Integer value : messageValues) { - messageBooleans.add(value == 1 ? true : false); - } - // 灏嗗竷灏斿垪琛ㄥ啓鍏� PLC -// S7control.getinstance().WriteBit(addressList, messageBooleans); - System.out.println("messageValues锛�" + messageBooleans); - System.out.println("addressList锛�" + addressList); // 娓呯┖娑堟伅鍒楄〃 - webSocketServer.clearMessages(); + webserver.clearMessages(); } } + } + } } } -} + -- Gitblit v1.8.0