From b454340c14d789c5fe41350d092ea2f14d6454b3 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 06 五月 2024 10:21:45 +0800
Subject: [PATCH] 添加plc连接不上时报警,主界面后端推送数据超时提示

---
 springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java |  128 ++++++++++++++++++------------------------
 1 files changed, 54 insertions(+), 74 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
index 741e727..1047d50 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -2,13 +2,15 @@
 
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.io.FileUtils;
 
 import java.io.*;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
+@Slf4j
 public class PlcManualonePosition extends Thread {
     private Configuration config;
 
@@ -54,55 +56,45 @@
         while (this != null) {
             try {
                 Thread.sleep(500);
-
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            // this.readValue();
+                // this.readValue();
             // String PlcAddress = this.name;
             // Integer Plccount = this.count;
 
-            List<String> addresses = new ArrayList<>();
-            addresses.add("DB100.108");
-            addresses.add("DB100.20");
-            addresses.add("DB103.32");
+
+            //B01缁勫悎涓湴鍧�
+           // String b01Address = config.getProperty("B01.address");
+            List<String> addresses = Arrays.asList(config.getProperty("PlcManualonePosition.addresses").split(","));
+
             List<Short> arraylist = S7control.getinstance().readWords(addresses);
             // System.out.println(arraylist);
+            List<String> addresses2 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses2").split(","));
 
-            List<String> addresses2 = new ArrayList<>();
-            addresses2.add("DB100.110");
-            addresses2.add("DB100.176");
-            addresses2.add("DB103.34");
             List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
 
-            List<String> addresses3 = new ArrayList<>();
-            addresses3.add("DB100.112");
-            addresses3.add("DB100.24");
-            addresses3.add("DB103.36");
+            List<String> addresses3 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses3").split(","));
+
             List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
 
-            List<String> addresses4 = new ArrayList<>();
-            addresses4.add("DB100.114");
-            addresses4.add("DB100.178");
-            addresses4.add("DB103.40");
+
+            List<String> addresses4 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses4").split(","));
+
             List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
+
 
             List<Short> arraylist5 = S7control.getinstance().ReadWord("DB106.0", 1);
             List<Short> arraylist6 = S7control.getinstance().ReadWord("DB106.12", 1);
             List<Short> arraylist7 = S7control.getinstance().ReadWord("DB106.40", 1);
             List<Short> arraylist8 = S7control.getinstance().ReadWord("DB106.50", 1);
-            List<String> addresses9 = new ArrayList<>();
-            addresses9.add("DB104.1.2");
-            addresses9.add("DB104.1.3");
-            addresses9.add("DB104.1.6");
-            addresses9.add("DB104.1.7");
+            //鏁呴殰
+
+            List<String> addresses9 = Arrays.asList(config.getProperty("PlcManualonePosition.fault").split(","));
+
             List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
 
-            List<String> addresses10 = new ArrayList<>();
-            addresses10.add("DB104.9.4");
-            addresses10.add("DB104.9.5");
-            addresses10.add("DB104.9.4");
-            addresses10.add("DB104.9.5");
+           //鏈洖闆�
+
+            List<String> addresses10 = Arrays.asList(config.getProperty("PlcManualonePosition.Notzero").split(","));
+
             List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
 
             //A01鍚姩鍦板潃
@@ -113,6 +105,20 @@
             List<String> B01start = Arrays.asList(config.getProperty("mlp.B01start"));
 
             List<String> B02start = Arrays.asList(config.getProperty("mlp.B02start"));
+
+            // 鏁呴殰鍦板潃
+            List<String> waddresses5 = Arrays.asList(config.getProperty("PlcManualonePosition.fault2").split(","));
+
+
+            // 澶嶄綅鍦板潃
+            List<String> waddresses6 = Arrays.asList(config.getProperty("PlcManualonePosition.Reset").split(","));
+            List<Boolean> readreast = S7control.getinstance().readBits(waddresses6);
+            short[] reast6 = PLCBooleanConverter.convertListsToBinaryShortArray(readreast);
+
+            // 鍥為浂鍦板潃
+            List<String> waddresses7 = Arrays.asList(config.getProperty("PlcManualonePosition.Zero").split(","));
+            List<Boolean> readhuiling = S7control.getinstance().readBits(waddresses7);
+            short[] huiling7 = PLCBooleanConverter.convertListsToBinaryShortArray(readhuiling);
 
             List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
             List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
@@ -169,6 +175,8 @@
             jsonObject.append("guzhang", params2);
             jsonObject.append("weihuiling", params3);
             jsonObject.append("qidong", combinedBinaryShortArray);
+            jsonObject.append("fuwei", reast6);
+            jsonObject.append("huiling", huiling7);
 
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
 //      if (sendwServer != null) {
@@ -178,50 +186,16 @@
             ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
             if (sendwServer != null) {
                 for (WebSocketServer webserver : sendwServer) {
-                    webserver.sendMessage(jsonObject.toString());
+                    
 
 //      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition");
-                    if (webserver != null) {
+                    if (webserver != null&&webserver.session.isOpen()) {
+                        webserver.sendMessage(jsonObject.toString());
                         List<String> messages = webserver.getMessages();
-                        List<String> waddresses1 = new ArrayList<>();
-                        waddresses1.add("DB100.108");
-                        waddresses1.add("DB100.20");
-                        waddresses1.add("DB103.32");
 
-                        List<String> waddresses2 = new ArrayList<>();
-                        waddresses2.add("DB100.110");
-                        waddresses2.add("DB100.176");
-                        waddresses2.add("DB103.34");
 
-                        List<String> waddresses3 = new ArrayList<>();
-                        waddresses3.add("DB100.112");
-                        waddresses3.add("DB100.24");
-                        waddresses3.add("DB103.36");
 
-                        List<String> waddresses4 = new ArrayList<>();
-                        waddresses4.add("DB100.114");
-                        waddresses4.add("DB100.178");
-                        waddresses4.add("DB103.40");
 
-                        // 鏁呴殰鍦板潃
-                        List<String> waddresses5 = new ArrayList<>();
-                        // waddresses5.add("DB103.244");
-                        // waddresses5.add("DB103.250");
-                        waddresses5.add("DB103.252");
-                        waddresses5.add("DB103.254");
-
-                        // 澶嶄綅鍦板潃
-                        List<String> waddresses6 = new ArrayList<>();
-                        waddresses6.add("DB101.4.0");
-                        waddresses6.add("DB101.4.3");
-                        waddresses6.add("DB101.4.4");
-                        waddresses6.add("DB101.4.6");
-
-                        // 鍥為浂鍦板潃
-                        List<String> waddresses7 = new ArrayList<>();
-
-                        waddresses7.add("DB101.4.5");
-                        waddresses7.add("DB101.4.7");
 
 
                         // System.out.println(messages.isEmpty());
@@ -231,18 +205,17 @@
                             // System.out.println("lastMessage锛�" + lastMessage);
                             JSONArray messageArray = new JSONArray(lastMessage);
                             // 鍐欏叆A01
-                            customS7Control.WriteWordToPLC(messageArray, waddresses1, 0);
+                            customS7Control.WriteWordToPLC(messageArray, addresses, 0);
 
 
                             // 鍐欏叆A02
-                            customS7Control.WriteWordToPLC(messageArray, waddresses2, 1);
-
+                            customS7Control.WriteWordToPLC(messageArray, addresses2, 1);
 
                             // 鍐欏叆B01
-                            customS7Control.WriteWordToPLC(messageArray, waddresses3, 2);
+                            customS7Control.WriteWordToPLC(messageArray, addresses3, 2);
 
                             // 鍐欏叆B02
-                            customS7Control.WriteWordToPLC(messageArray, waddresses4, 3);
+                            customS7Control.WriteWordToPLC(messageArray, addresses4, 3);
 
 
                             // 鍐欏叆鏁呴殰鍦板潃
@@ -268,9 +241,16 @@
                             // 娓呯┖娑堟伅鍒楄〃
                             webserver.clearMessages();
                         }
+                    }else{
+                        log.info("ManualonePosition is closed");
                     }
                 }
             }
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            
         }
     }
 }

--
Gitblit v1.8.0