From 0417fafe757f09bfb166b1dd1d9f096e966a30d8 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期六, 11 五月 2024 09:38:43 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java | 167 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 101 insertions(+), 66 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
index 7c9c446..4e3cd54 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
@@ -1,85 +1,120 @@
package com.example.springboot.component;
+import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Arrays;
+@Slf4j
public class Plcsign extends Thread {
+ String name = "";
+ Integer count = 0;
+
+ public void readValue() {
+ String str = "";
+ BufferedReader bufferedReader = null;
+ FileInputStream fileInputStream;
+ try {
+ // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
+ fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/Sign.json");
+ // 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
+ InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
+ // 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
+ bufferedReader = new BufferedReader(inputStreamReader);
+ String line = null;
+ // 灏� bufferedReader 鍐呭涓�琛屼竴琛岃祴鍊肩粰str
+ while ((line = bufferedReader.readLine()) != null) {
+ str += line;
+ }
+
+ // 灏唖tr瀛楃涓叉牸寮忚浆涓簀son
+ JSONObject jsonObject = new JSONObject(str);
+
+ // 鑾峰彇json涓殑鍊�
+ JSONArray address = jsonObject.getJSONArray("address");
+ for (int i = 0; i < address.size(); i++) {
+ JSONObject ress = (JSONObject) address.get(i);
+
+ this.name = ress.getStr("name");
+ this.count = ress.getInt("count");
+
+ }
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
@Override
public void run() {
while (this != null) {
try {
- Thread.sleep(10000);
+ Thread.sleep(1000);
+ // this.readValue();
+ // String PlcAddress = this.name;
+ // Integer Plccount = this.count;
+ // System.out.println(PlcAddress);
+
+ // List<Boolean> plclist = S7control.getinstance().ReadBits(PlcAddress,
+ // Plccount);
+ List<Boolean> plclist = S7control.getinstance().ReadBits("DB102.0.0", 112);
+
+ // Boolean[] values = { true, true, true, true, true, false, true, false,
+ // true, false, true, false, true, false,
+ // true, false, true, false, true, false, true, false, true, false, true, false,
+ // true, false, true, false, true,
+ // false, true, false, true, false,
+ // true, false, true, false, true, false, true, false, null,
+ // true, false,
+ // true, false, true, false, true, false,
+ // true, false, true, false, true, };
+ // List<Boolean> plclist = new ArrayList<>(Arrays.asList(values));
+
+ if (plclist != null) {
+ // 灏嗚幏鍙栫殑甯冨皵绫诲瀷杞崲涓烘暣鏁扮被鍨�
+ List<Integer> Intlist = new ArrayList<>();
+ for (Boolean value : plclist) {
+ if (value != null) {
+ Intlist.add(value == true ? 0 : 1);
+ }
+
+ }
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sig", Intlist);
+ // WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign");
+ // if (sendwServer3 != null) {
+ // sendwServer3.sendMessage(jsonObject.toString());
+ // }
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Sign");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null && webserver.session.isOpen()) {
+ webserver.sendMessage(jsonObject.toString());
+ }else{
+ log.info("Sign is closed");
+ }
+
+ }
+ }
+ }
} catch (InterruptedException e) {
e.printStackTrace();
}
- List<Short> paramlist = S7control.getinstance().ReadWord("DB100.DBW", 12);
-
- // JSONObject jsonObject = new JSONObject();
- // // jsonObject.append("params", paramlist);
- // jsonObject.append("params", new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- // 11, });
- // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
- // if (sendwServer != null) {
- // sendwServer.sendMessage(jsonObject.toString());
- // }
-
- JSONObject jsonObject3 = new JSONObject();
- jsonObject3.append("sig",
- new short[] { 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
- 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, });
- WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign");
- if (sendwServer3 != null) {
- sendwServer3.sendMessage(jsonObject3.toString());
- }
-
- WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Sign");
- if (webSocketServer != null) {
- List<String> messages = webSocketServer.getMessages();
-
- String addressList = "DB100.DBW0";
- // addressList.add("DB100.DBW0");
- // addressList.add("DB100.DBW2");
- // addressList.add("DB100.DBW4");
- // addressList.add("DB100.DBW6");
- // addressList.add("DB100.DBW8");
- // addressList.add("DB100.DBW10");
- // addressList.add("DB100.DBW12");
- // addressList.add("DB100.DBW14");
- // addressList.add("DB100.DBW16");
- // addressList.add("DB100.DBW18");
- // addressList.add("DB100.DBW20");
- // addressList.add("DB100.DBW22");
-
- if (!messages.isEmpty()) {
- // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
- String lastMessage = messages.get(messages.size() - 1);
- System.out.println("messages锛�" + messages);
- String[] parts = lastMessage.split(",");
- List<Short> messageValues = new ArrayList<>();
- for (String part : parts) {
- try {
- // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃
- String cleanedPart = part.replaceAll("[^0-9-]", "");
- short value = Short.parseShort(cleanedPart.trim());
- messageValues.add(value);
- } catch (NumberFormatException e) {
- // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-
- e.printStackTrace();
- }
- }
-
- // 灏嗘秷鎭�煎啓鍏� PLC
- // S7control.getinstance().WriteWord(addressList, messageValues);
- System.out.println("messageValues锛�" + messageValues);
- System.out.println("addressList锛�" + addressList);
- // 娓呯┖娑堟伅鍒楄〃
- webSocketServer.clearMessages();
- }
- }
}
}
}
--
Gitblit v1.8.0