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