From b0c9f61dfb6330f2e3ef59995a92cd14719cd8ba Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期四, 07 十二月 2023 11:31:41 +0800 Subject: [PATCH] 报警json文件存放在resources --- springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java | 86 ++++++++++++++++++++++++++++++++---------- 1 files changed, 65 insertions(+), 21 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 81ad490..6a4a0e7 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 @@ -122,6 +122,17 @@ List<String> addressList3 = new ArrayList<>(); addressList3.add("DB103.256"); addressList3.add("DB103.270"); + + + + + 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<>(); @@ -161,11 +172,18 @@ 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"); @@ -195,31 +213,57 @@ 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(); } -- Gitblit v1.8.0