From 31101f632c27c05d15f30ca3084e3ed3da2a29af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 08 十二月 2023 11:42:08 +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 |   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