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 |  117 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 86 insertions(+), 31 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 6f18c01..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
@@ -7,6 +7,7 @@
 import java.io.*;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class PlcParameter2 extends Thread {
@@ -61,13 +62,13 @@
   public void run() {
     while (this != null) {
       try {
-        Thread.sleep(500);
+        Thread.sleep(1000);
 
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
 
-
+     //  鎵嬪姩鐘舵�佸湴鍧�
       List<String> addressList1 = new ArrayList<>();
 
       addressList1.add("DB103.44");//D01
@@ -86,7 +87,7 @@
       List<String> paramlist = S7control.getinstance().readStrings(addressList1);
 
 
-
+   //娓呴櫎ID鍦板潃
       List<String> addresses = new ArrayList<>();
       addresses.add("DB103.0");
       addresses.add("DB103.2");
@@ -100,6 +101,8 @@
       addresses.add("DB103.6");
       List<Short> data = S7control.getinstance().readWords(addresses);
 
+
+      //id
       List<String> addressList0 = new ArrayList<>();
 
       addressList0.add("DB101.9.2");
@@ -114,28 +117,47 @@
       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");
 
-      List<Short> data4 = S7control.getinstance().readWords(addresses4);
+    List<Short> data4 = S7control.getinstance().readWords(addresses4);
 
-//
+//      List<Long> TIME2 = Collections.singletonList(S7control.getinstance().readtime("DB100.194"));
+//      System.out.println("addressList锛�" + TIME2);
+
+
+      //
+
+
+
+
 //      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));
@@ -150,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");
@@ -184,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