From 733aaaac3ed6a41b78f74c0bcb4d5de7725d788c Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 15 一月 2024 16:32:02 +0800
Subject: [PATCH] 更新已有未完成任务提示

---
 springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java |  261 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 194 insertions(+), 67 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
index adde27f..36e26f5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
@@ -10,84 +10,88 @@
 public class MessageHandler {
     //鍐欏叆byte
     public void outmesid(String glassid,String address) {
-        //System.out.println("outmesid:" + glassid);
-        List<Byte> glassidlist = new ArrayList();
-        char ds[]=glassid.toCharArray();
-        for (char iditem : ds) {
-            glassidlist.add((byte)iditem);
+        try {
+            List<Byte> glassidlist = new ArrayList<>();
+            char ds[]=glassid.toCharArray();
+            for (char iditem : ds) {
+                glassidlist.add((byte)iditem);
+            }
+            byte[] bytes = Bytes.toArray(glassidlist);
+            System.out.println("outmesidbytes:" + bytes.length);
+            S7control.getinstance().WriteByte(address, bytes);
+        } catch (Exception e) {
+            System.err.println("An error occurred while writing byte to PLC: " + e.getMessage());
         }
-        byte[] bytes = Bytes.toArray(glassidlist);
-        System.out.println("outmesidbytes:" + bytes.length);
-        S7control.getinstance().WriteByte(address, bytes);
     }
+
     //鍐欏叆bit
-    public void writeBitToPLC( JSONArray messageArray,List<String> addresses, int index) {
-        if (messageArray.getJSONArray(index).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(index);
-            List<Boolean> sValue = new ArrayList<>();
-            for (int i = 0; i < jsonArray.size(); i++) {
-                Object value = jsonArray.get(i);
-                if (value != null && !value.toString().equals("null")) {
-                    try {
-                        String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
-                        boolean val = "1".equals(cleanedValue.trim());
-                        sValue.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);
+    public void writeBitToPLC(JSONArray messageArray, List<String> addresses, int index) {
+        try {
+            // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+            if (messageArray.getJSONArray(index).size() > 0) {
+                // 鑾峰彇娑堟伅鏁扮粍
+                JSONArray jsonArray = messageArray.getJSONArray(index);
+                // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+                List<Boolean> sValue = new ArrayList<>();
+                // 閬嶅巻娑堟伅鏁扮粍
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+                    Object value = jsonArray.get(i);
+                    // 妫�鏌ュ�兼槸鍚︽湁鏁�
+                    if (value != null && !value.toString().equals("null")) {
+                        try {
+                            // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+                            String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                            // 瑙f瀽涓哄竷灏斿��
+                            boolean val = "1".equals(cleanedValue.trim());
+                            // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+                            sValue.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 (!sValue.isEmpty()) {
-                // 杩欓噷鍋囪 S7control.getinstance().WriteBit 鏂规硶鍙互姝g‘鍐欏叆 sValue 鍒板湴鍧�鍒楄〃 addresses
-              S7control.getinstance().WriteBit(addresses, sValue);
-                System.out.println("Values " + sValue + " written to PLC at address " + addresses);
-            }
-        }
-    }
+                // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+                if (!sValue.isEmpty()) {
 
-
-
-    //鍐欏叆Word
-    public void WriteWordToPLC( JSONArray messageArray,List<String> addresses, int index) {
-        if (messageArray.getJSONArray(index).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(index);
-            List<Short> sValues = new ArrayList<>();
-
-            for (int i = 0; i < jsonArray.size(); i++) {
-                Object value = jsonArray.get(i);
-
-                if (value != null && !value.toString().equals("null")) {
-                    try {
-                        String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
-                        short val = Short.parseShort(cleanedValue.trim());
-                        sValues.add(val);
-                        System.out.println("messageValue锛�" + Arrays.asList(val) + " added to the list");
-                    } catch (NumberFormatException e) {
-                        // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                        System.err.println("Could not parse value: " + value);
-                    }
+                    // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+                    S7control.getinstance().WriteBit(addresses, sValue);
+                    System.out.println("Values " + sValue + " written to PLC at address " + addresses);
                 }
             }
-
-            if (!sValues.isEmpty()) {
-                S7control.getinstance().WriteWord(addresses.get(index), sValues);
-                System.out.println("Values " + sValues + " written to PLC at address " + addresses.get(index));
-            }
+        } catch (Exception e) {
+            System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
         }
     }
 
-//鍐欏叆String
-    public void writeStringToPLC( JSONArray messageArray, String addresses,int index) {
-        if (messageArray.getJSONArray(index).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(index);
-
-            if (!jsonArray.isEmpty()) {
-                String value = (String) jsonArray.get(0);
-                outmesid(value.trim(), addresses);
-                System.out.println("Value " + value + " written to PLC at address " + addresses);
+    //涓嶈繛缁湴鍧� 鍐欏叆Word
+    public void WriteWordToPLC(JSONArray messageArray, List<String> addresses, int index) {
+        try {
+            if (messageArray.getJSONArray(index).size() > 0) {
+                JSONArray jsonArray = messageArray.getJSONArray(index);
+                List<Short> sValues = new ArrayList<>();
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    Object value = jsonArray.get(i);
+                    if (value != null && !value.toString().equals("null")) {
+                        try {
+                            String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                            short val = Short.parseShort(cleanedValue.trim());
+                            sValues.add(val);
+                            System.out.println("messageValue锛�" + Arrays.asList(val) + " added to the list");
+                        } catch (NumberFormatException e) {
+                            System.err.println("Could not parse value: " + value);
+                        }
+                    }
+                }
+                if (!sValues.isEmpty()) {
+                    S7control.getinstance().WriteWord(addresses, sValues);
+                    System.out.println("Values " + sValues + " written to PLC at address " + addresses);
+                }
             }
+        } catch (Exception e) {
+            System.err.println("An error occurred while writing word to PLC: " + e.getMessage());
         }
     }
 
@@ -95,4 +99,127 @@
 
 
 
-}
\ No newline at end of file
+
+
+    public void WriteWordsToPLC(JSONArray jsonArray,  String address,int index) {
+        if (jsonArray.getJSONArray(index).size() > 0) {
+            Object value = jsonArray.getJSONArray(index).get(0);
+            if (value != null && !value.toString().equals("null")) {
+                try {
+                    String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                    short sValue = Short.parseShort(cleanedValue.trim());
+                    S7control.getinstance().WriteWord(address, Arrays.asList(sValue));
+                    System.out.println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + address);
+                } catch (NumberFormatException e) {
+                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+                    System.err.println("Could not parse value: " + value);
+                }
+            }
+        }
+    }
+
+
+    public void Writetime(JSONArray jsonArray,  String address,int index) {
+        if (jsonArray.getJSONArray(index).size() > 0) {
+            Object value = jsonArray.getJSONArray(index).get(0);
+            if (value != null && !value.toString().equals("null")) {
+                try {
+                    long cleanedValue = Long.parseLong(value.toString().replaceAll("[^0-9-]", ""));
+
+                    S7control.getinstance().writetime(address, cleanedValue);
+                    System.out.println("messageValue锛�" + Arrays.asList(cleanedValue) + " written to PLC at address " + address);
+                } catch (NumberFormatException e) {
+                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+                    System.err.println("Could not parse value: " + value);
+                }
+            }
+        }
+    }
+
+
+    //鍐欏叆String
+    public void writeStringToPLC(JSONArray messageArray, String addresses, int index) {
+        try {
+            if (messageArray.getJSONArray(index).size() > 0) {
+                JSONArray jsonArray = messageArray.getJSONArray(index);
+                if (!jsonArray.isEmpty()) {
+                    String value = (String) jsonArray.get(0);
+                    outmesid(value.trim(), addresses);
+                    System.out.println("Value " + value + " written to PLC at address " + addresses);
+                }
+            }
+        } catch (Exception e) {
+            System.err.println("An error occurred while writing string to PLC: " + e.getMessage());
+        }
+    }
+
+
+
+    public void writeBitandrenwuToPLC(JSONArray messageArray, List<String> addresses, int index) {
+        try {
+            // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+            if (messageArray.getJSONArray(index).size() > 0) {
+                // 鑾峰彇娑堟伅鏁扮粍
+                JSONArray jsonArray = messageArray.getJSONArray(index);
+                // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+                List<Boolean> sValue = new ArrayList<>();
+                // 閬嶅巻娑堟伅鏁扮粍
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+                    Object value = jsonArray.get(i);
+                    // 妫�鏌ュ�兼槸鍚︽湁鏁�
+                    if (value != null && !value.toString().equals("null")) {
+                        try {
+                            // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+                            String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                            // 瑙f瀽涓哄竷灏斿��
+                            boolean val = "1".equals(cleanedValue.trim());
+                            // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+                            sValue.add(val);
+                            System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
+                       if(sValue.get(1)){
+
+                       }
+
+
+
+                        } catch (NumberFormatException e) {
+                            // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+                            System.err.println("Could not parse value: " + value);
+                        }
+                    }
+                }
+                // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+                if (!sValue.isEmpty()) {
+
+                    // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+                    S7control.getinstance().WriteBit(addresses, sValue);
+                    System.out.println("Values " + sValue + " written to PLC at address " + addresses);
+                }
+            }
+        } catch (Exception e) {
+            System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
+        }
+    }
+
+
+
+    public short[] convertBooleanListToShortArray(List<Boolean> booleanList) {
+        short[] shortArray = new short[booleanList.size()];
+        for (int i = 0; i < booleanList.size(); i++) {
+            boolean value = booleanList.get(i);
+            shortArray[i] = value ? (short) 1 : (short) 0;
+        }
+        return shortArray;
+    }
+
+
+
+
+
+
+
+
+
+
+}

--
Gitblit v1.8.0