From 54c7981d6f05ce0e3b59df3c4e23cd06a81a059b Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期四, 14 十二月 2023 09:15:01 +0800
Subject: [PATCH] 后端代码改为大部分使用消息处理对象写入

---
 CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue                                         |    4 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java        |  413 +++-----
 springboot-vue3/src/main/resources/config.properties                                             |    9 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java                |  332 ++----
 CanadaMes-ui/src/configuration/Positioning1.json                                                 |    4 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java              |   52 -
 CanadaMes-ui/.env                                                                                |    2 
 CanadaMes-ui/src/views/Electrical/ManualonePosition.vue                                          |    4 
 CanadaMes-ui/src/views/Electrical/Parameter2.vue                                                 |    2 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java              |   46 -
 springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java                 |  176 +--
 springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java                     |    7 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java            |  353 +++----
 CanadaMes-ui/src/configuration/AutomaticParameterSetting.json                                    |  100 +
 CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue                                  |   18 
 springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java               |   22 
 CanadaMes-ui/src/views/login/index.vue                                                           |    2 
 springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java |  135 --
 CanadaMes-ui/src/views/Electrical/ManualJog.vue                                                  |    4 
 CanadaMes-ui/src/views/Electrical/ServoManualone.vue                                             |  131 --
 springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java         |  592 ++++--------
 springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java                |  274 ++---
 22 files changed, 1,029 insertions(+), 1,653 deletions(-)

diff --git a/CanadaMes-ui/.env b/CanadaMes-ui/.env
index a5fd3e6..a8d4e88 100644
--- a/CanadaMes-ui/.env
+++ b/CanadaMes-ui/.env
@@ -1 +1 @@
-VUE_APP_BASE_API=/api
\ No newline at end of file
+VUE_APP_BASE_API=/api
diff --git a/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json b/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
index 87ec239..57ad2f0 100644
--- a/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
+++ b/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
@@ -8,7 +8,9 @@
       "address": "DB100.0",
       "count": 3,
       "unit": "掳",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A01琛岃蛋浣庨�熻搴�",
@@ -17,7 +19,9 @@
       "address": "DB100.0",
       "unit": "掳",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A01杈撻�佹帴鐗囪搴�",
@@ -26,7 +30,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A01绗煎瓙瑙掑害",
@@ -35,7 +41,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     }
   ],
   [
@@ -47,7 +55,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "count": 3,
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A02琛岃蛋浣庨�熻搴�",
@@ -56,7 +66,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A02杈撻�佹帴鐗囪搴�",
@@ -65,7 +77,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     },
     {
       "name": "A02绗煎瓙瑙掑害",
@@ -74,7 +88,9 @@
       "unit": "掳",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     }
   ],
   [
@@ -86,7 +102,9 @@
       "unit": "m/min",
       "address": "DB100.0",
       "count": 3,
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     }
   ],
   [
@@ -97,7 +115,9 @@
       "unit": "m/min",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     }
   ],
   [
@@ -108,7 +128,9 @@
       "unit": "m/min",
       "address": "DB100.0",
       "type": "0",
-      "value": ""
+      "value": "",
+      "min": 0,
+      "max": 100
     }
   ],
   [
@@ -125,7 +147,9 @@
     "type": "0",
     "unit": "m/min",
     "count":3,
-    "value":0
+    "value":0,
+    "min": 0,
+    "max": 1000
   },
   {
     "name": "楂橀�熺嚎閫熷害",
@@ -133,7 +157,9 @@
     "sending": 0,
     "type": "0",
     "unit": "m/min",
-    "value":0
+    "value":0,
+    "min": 0,
+    "max": 100
   },
   {
     "name": "浣庨�熺嚎閫熷害",
@@ -141,7 +167,9 @@
     "sending": 0,
     "type": "0",
     "unit": "m/min",
-    "value":0
+    "value":0,
+    "min": 0,
+    "max": 100
   },
   {
     "name": "鎵嬪姩閫熷害",
@@ -149,7 +177,9 @@
     "sending": 0,
     "type": "0",
     "unit": "m/min",
-    "value":0
+    "value":0,
+    "min": 0,
+    "max": 100
   }
   
  
@@ -169,7 +199,9 @@
   "type": "0",
   "unit": "m/min",
   "count":3,
-  "value":0
+  "value":0,
+  "min": 0,
+  "max": 100
 },
 {
   "name": "楂橀�熺嚎閫熷害",
@@ -177,7 +209,9 @@
   "sending": 0,
   "unit": "m/min",
   "type": "0",
-  "value":0
+  "value":0,
+  "min": 0,
+  "max": 100
 },
 {
   "name": "浣庨�熺嚎閫熷害",
@@ -185,7 +219,9 @@
   "sending": 0,
   "unit": "m/min",
   "type": "0",
-  "value":0
+  "value":0,
+  "min": 0,
+  "max": 100
 },
 {
   "name": "鎵嬪姩閫熷害",
@@ -193,7 +229,9 @@
   "sending": 0,
   "unit": "m/min",
   "type": "0",
-  "value":0
+  "value":0,
+  "min": 0,
+  "max": 100
 }
 
 
@@ -211,7 +249,9 @@
 "type": "0",
 "unit": "m/min",
 "count":3,
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 },
 {
 "name": "楂橀�熺嚎閫熷害",
@@ -219,7 +259,9 @@
 "sending": 0,
 "type": "0",
 "unit": "m/min",
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 },
 {
 "name": "浣庨�熺嚎閫熷害",
@@ -227,7 +269,9 @@
 "sending": 0,
 "type": "0",
 "unit": "m/min",
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 },
 {
 "name": "鎵嬪姩閫熷害",
@@ -235,7 +279,9 @@
 "sending": 0,
 "type": "0",
 "unit": "m/min",
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 }
 
 
@@ -250,7 +296,9 @@
 "unit": "mm/S",
 
 "count":3,
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 }
 
 
@@ -264,7 +312,9 @@
 "sending": 0,
 "unit": "mm/S",
 "type": "0",
-"value":0
+"value":0,
+"min": 0,
+"max": 100
 }
 
 
diff --git a/CanadaMes-ui/src/configuration/Positioning1.json b/CanadaMes-ui/src/configuration/Positioning1.json
index 0a4f289..c39530e 100644
--- a/CanadaMes-ui/src/configuration/Positioning1.json
+++ b/CanadaMes-ui/src/configuration/Positioning1.json
@@ -5,7 +5,9 @@
     "sending": 0,
     "type": "0",
     "unit": "mm",
-    "value":"0"
+    "value":"0",
+    "min": 0,
+     "max": 100
     
   }],
     [{
diff --git a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
index 88ca078..217c7eb 100644
--- a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
+++ b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -60,9 +60,16 @@
           <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container">
             <div class="item-row">
               <span class="name" style="width:250px;">{{ item.name }}</span>
-              <el-input v-if="item.type === '0'" v-model="item.value" class="input-box"
-                @keyup.enter.native="submitDataToBackend"></el-input>
-                <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
+              <el-input v-if="item.type === '0'"
+            v-model="item.value"
+            class="input-box"
+            :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"
+            @keyup.enter.native="submitDataToBackend">
+  </el-input>
+
+                <span v-if="item.unit" :name="item.unit"  >{{ item.unit }}</span>
+
+
 
             </div>
           </div>
@@ -108,6 +115,11 @@
     updateButtonValue (dataGroup, itemIndex) {
       this.$set(dataGroup[itemIndex].button, 'value', 1); // 鐐瑰嚮鎸夐挳鍚庡皢鍊兼敼涓�1
     },
+    checkInputValue() {
+      if (this.item.value < this.item.min || this.item.value > this.item.max) {
+        this.item.value = ''; // 娓呯┖杈撳叆妗嗙殑鍊�
+      }
+    },
     submitDataToBackend () {
       const inputData = this.jsonData.map(dataGroup => {
         return dataGroup.map(item => {
diff --git a/CanadaMes-ui/src/views/Electrical/ManualJog.vue b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
index 6cfa63b..2506b90 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualJog.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -50,12 +50,12 @@
     </el-breadcrumb>
 
     <el-row :gutter="40" >
-      <el-col :span="16" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
+      <el-col :span="26" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
         <el-card class="json-block" style="width:100%;">
 
           <div class="button-row" style="display: flex; justify-content: flex-start;flex-wrap:wrap;">
             <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" style="margin: 10px;">
-              <el-button v-if="item.button" :name="item.button.name"
+              <el-button v-if="item.button" :name="item.button.name" style='width:200px;'
  :class="{ 'dow': false, 'op': item.button.value === 1 }" class="action-button"
  @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend();">{{
  item.button.name
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
index 5df7ed7..48cd9cb 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -378,11 +378,11 @@
 
       }
 
-      if (currentButtonName === '鍥為浂' || currentButtonName === 'Zero') {
+      if (currentButtonName === '鍥為浂' || currentButtonName === 'Home') {
 
         const data2 = [];
         const resetButtonValues = this.jsonData.map(item => {
-          const buttonItem = item.find(subItem => subItem.button && ['鍥為浂', 'Zero'].includes(subItem.button.name));
+          const buttonItem = item.find(subItem => subItem.button && ['鍥為浂', 'Home'].includes(subItem.button.name));
 
           return buttonItem ? buttonItem.button.value : null;
         }).filter(value => value !== null);
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index 85925a8..5186048 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -269,11 +269,11 @@
 
       }
 
-      if (currentButtonName === '鍥為浂' || currentButtonName === 'Zero') {
+      if (currentButtonName === '鍥為浂' || currentButtonName === 'Home') {
 
         const data2 = [];
         const resetButtonValues = this.jsonData.map(item => {
-          const buttonItem = item.find(subItem => subItem.button && ['鍥為浂', 'Zero'].includes(subItem.button.name));
+          const buttonItem = item.find(subItem => subItem.button && ['鍥為浂', 'Home'].includes(subItem.button.name));
 
           return buttonItem ? buttonItem.button.value : null;
         }).filter(value => value !== null);
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter2.vue b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
index 9a388f6..406b45d 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter2.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -358,7 +358,7 @@
 
           const parms = obj.params;
 
-          console.log(obj);
+         // console.log(obj);
 
           // const handleMouseMove = throttle(function(event) {
           // const inputBox = document.querySelectorAll('.id');
diff --git a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
index 148a9ca..10525dd 100644
--- a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
+++ b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -213,84 +213,36 @@
 
 },
 submitDataToBackend(currentButtonName) {
+  const data = [];
+  let jsonObject;
 
-//A01鍗婅嚜鍔ㄥ惎鍔ㄦ彁浜�
-  if (currentButtonName === 'A01鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A01 Semi-Auto Start') {
-    const data = [];
-
-
-  const values = [this.jsonData[0][10].button.value]
-
-  data.push(values);
- 
-
-data.unshift([], [],[],[], [],[],[], []);
-
-
-const jsonObject = { data };
-
-// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
-
-  }
-  //A02鍗婅嚜鍔ㄥ惎鍔� 鎻愪氦
-
-  if (currentButtonName === 'A02鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A02 Semi-Auto Start') {
-    const data2 = [];
-
-    const values2 = [this.jsonData[1][8].button.value]
-
-  data2.push(values2);
-
-  data2.unshift([],[], [],[],[], [],[],[], []);
-
-
-
-
-
-const jsonObject = { data:data2 };
-
-// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
-
+  if (currentButtonName === 'A01鍗婅嚜鍔ㄥ惎鍔�' || currentButtonName === 'A01 Semi-Auto Start') {
+    const values = [this.jsonData[0][10].button.value];
+    data.push(values);
+    data.unshift([], [],[],[], [],[],[], []);
+    jsonObject = { data };
   }
 
-  //澶嶄綅鎻愪氦
+  if (currentButtonName === 'A02鍗婅嚜鍔ㄥ惎鍔�' || currentButtonName === 'A02 Semi-Auto Start') {
+    const values2 = [this.jsonData[1][8].button.value];
+    data.push(values2);
+    data.unshift([],[], [],[],[], [],[],[], []);
+    jsonObject = { data };
+  }
 
   if (currentButtonName === '澶嶄綅' || currentButtonName === 'Reset') {
-  const data2 = [];
-  const resetButtonValues = this.jsonData.map(item => {
-    const buttonItem = item.find(subItem => subItem.button && ['澶嶄綅', 'Reset'].includes(subItem.button.name));
+    const resetButtonValues = this.jsonData
+      .map(item => item.find(subItem => subItem.button && ['澶嶄綅', 'Reset'].includes(subItem.button.name)))
+      .filter(value => value !== null)
+      .map(item => item.button.value);
 
-    
-    return buttonItem ? buttonItem.button.value : null;
-  }).filter(value => value !== null);
+    data.push(resetButtonValues.flat());
+    data.unshift([], []);
+    data.push([], [], [], [], []);
+    jsonObject = { data };
+  }
 
-  // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
-  data2.push(resetButtonValues.flat());
-
-  // 鍦� data2 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
-  data2.unshift([], []);
-  data2.push([], [], [], [], []);
-
-  // 鍒涘缓 jsonObject2 瀵硅薄锛屽苟娣诲姞 data2 灞炴��
-  const jsonObject2 = { data: data2 };
-
-  // 鎻愪氦鏁版嵁鍒板悗绔�
-  const jsonString2 = JSON.stringify(jsonObject2);
-  console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString2);
-  socket?.send(jsonString2);
-  // setTimeout(()=>
-  //   window.location.reload(),2000
-  // )
- 
-}
-////鍥為浂鎻愪氦
-if (currentButtonName === '鍥為浂' || currentButtonName === 'Home') {
+  if (currentButtonName === '鍥為浂' || currentButtonName === 'Home') {
   const data3 = [];
   const resetButtonValues3 = this.jsonData.map(item => {
     const buttonItem3 = item.find(subItem => subItem.button && ['鍥為浂', 'Home'].includes(subItem.button.name));
@@ -306,22 +258,10 @@
   data3.push([], [], [], []);
 
   // 鍒涘缓 jsonObject3 瀵硅薄锛屽苟娣诲姞 data3 灞炴��
-  const jsonObject3 = { data: data3 };
+   jsonObject = { data: data3 };
 
-  // 鎻愪氦鏁版嵁鍒板悗绔�
-  const jsonString3 = JSON.stringify(jsonObject3);
-  console.log('鍥為浂:', jsonString3);
-  socket?.send(jsonString3);
-  // setTimeout(()=>
-  //   window.location.reload(),2000
-  // )
+
 }
-
-
-
-
-//A01鍗婅嚜鍔ㄦ彁浜�
-
   if (currentButtonName === 'A01鍗婅嚜鍔�' || currentButtonName === 'A01 Semi-Auto' ) {
     const elements = document.getElementsByClassName('special-class');
     const data = [];
@@ -379,12 +319,9 @@
 
 
 
-const jsonObject = { data };
+ jsonObject = { data };
 
 // 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
 
   }
 
@@ -449,20 +386,18 @@
     data.unshift([],[],[],[],[],[],[]);
 
 
-const jsonObject = { data };
+ jsonObject = { data };
 
-// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
 
-  }
 
  
+}
 
-  
+const jsonString = JSON.stringify(jsonObject);
+  console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+  socket?.send(jsonString);
+
 },
-
 
     initWebSocket () {
  
@@ -493,7 +428,7 @@
   }
 
   let obj = JSON.parse(msg.data);
-   console.log(obj)
+  // console.log(obj)
 const weihuiling=obj.weihuiling;
   const jsonData2 = this.jsonData;
 
diff --git a/CanadaMes-ui/src/views/login/index.vue b/CanadaMes-ui/src/views/login/index.vue
index 2ae5618..cf85e17 100644
--- a/CanadaMes-ui/src/views/login/index.vue
+++ b/CanadaMes-ui/src/views/login/index.vue
@@ -83,7 +83,7 @@
           // 璁剧疆token
           setToken(res.data.Authorization);
           this.$router.push('/layout')
-          this.$message.success('鐧诲綍鎴愬姛');
+          this.$message.success(this.$t('loginSuccess'));
         });
       })
     },
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 c380a42..ae39320 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
@@ -66,7 +66,7 @@
         }
     }
 
-    //鍐欏叆Word
+    //涓嶈繛缁湴鍧� 鍐欏叆Word
     public void WriteWordToPLC(JSONArray messageArray, List<String> addresses, int index) {
         try {
             if (messageArray.getJSONArray(index).size() > 0) {
@@ -95,6 +95,26 @@
         }
     }
 
+
+
+    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);
+                }
+            }
+        }
+    }
+
+
     //鍐欏叆String
     public void writeStringToPLC(JSONArray messageArray, String addresses, int index) {
         try {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java
index 9bd4e04..d6f44b4 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java
@@ -10,53 +10,9 @@
 import java.util.List;
 
 public class PLCAutomaticParameterSetting extends Thread {
-  String name = "";
-  Integer count = 0;
 
-  public static String readFileToString(String filePath) throws IOException {
-    File file = new File(filePath);
-    return FileUtils.readFileToString(file, "UTF-8");
-  }
-
-  public void readValue() {
-    String str = "";
-    BufferedReader bufferedReader = null;
-    FileInputStream fileInputStream;
-    try {
-      // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-      fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.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();
-    }
-  }
-
+  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+  MessageHandler customS7Control = new MessageHandler();
   @Override
   public void run() {
     while (this != null) {
@@ -66,9 +22,7 @@
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
-      // this.readValue();
-      // String PlcAddress = this.name;
-      // Integer Plccount = this.count;
+
 
       // System.out.println(stt);
       List<Short> arraylist = S7control.getinstance().ReadWord("DB100.120", 8);
@@ -161,55 +115,15 @@
               }
               System.out.println(messageArray);
               // 鍐欏叆绗竴涓湴鍧�
-              if (messageArray.getJSONArray(2).size() > 0) {
-                Object value = messageArray.getJSONArray(2).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(addressList2, Arrays.asList(sValue));
-                    System.out
-                            .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList2);
-                  } catch (NumberFormatException e) {
-                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                    System.err.println("Could not parse value: " + value);
-                  }
-                }
-              }
+              customS7Control.WriteWordsToPLC(messageArray, addressList2,2);
 
               // 鍐欏叆绗簩涓湴鍧�
-              if (messageArray.getJSONArray(3).size() > 0) {
-                Object value = messageArray.getJSONArray(3).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(addressList3, Arrays.asList(sValue));
-                    System.out
-                            .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList3);
-                  } catch (NumberFormatException e) {
-                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                    System.err.println("Could not parse value: " + value);
-                  }
-                }
-              }
+              customS7Control.WriteWordsToPLC(messageArray, addressList3,3);
+
 
               // 鍐欏叆绗笁涓湴鍧�
-              if (messageArray.getJSONArray(4).size() > 0) {
-                Object value = messageArray.getJSONArray(4).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(addressList4, Arrays.asList(sValue));
-                    System.out
-                            .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList4);
-                  } catch (NumberFormatException e) {
-                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                    System.err.println("Could not parse value: " + value);
-                  }
-                }
-              }
+              customS7Control.WriteWordsToPLC(messageArray, addressList4,4);
+
 
               // 鍐欏叆绗洓涓湴鍧�
               if (!mergedList.isEmpty()) {
@@ -259,38 +173,11 @@
                 }
 
                 // 鍐欏叆绗紞涓湴鍧�
-                if (messageArray.getJSONArray(8).size() > 0) {
-                  Object value = messageArray.getJSONArray(8).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(addressList22, Arrays.asList(sValue));
-                      System.out
-                              .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList2);
-                    } catch (NumberFormatException e) {
-                      // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                      System.err.println("Could not parse value: " + value);
-                    }
-                  }
-                }
+                customS7Control.WriteWordsToPLC(messageArray, addressList22,8);
+
 
                 // 鍐欏叆绗叚涓湴鍧�
-                if (messageArray.getJSONArray(9).size() > 0) {
-                  Object value = messageArray.getJSONArray(9).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(addressList33, Arrays.asList(sValue));
-                      System.out
-                              .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList3);
-                    } catch (NumberFormatException e) {
-                      // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                      System.err.println("Could not parse value: " + value);
-                    }
-                  }
-                }
+                customS7Control.WriteWordsToPLC(messageArray, addressList33,9);
 
                 // 鍐欏叆绗竷涓湴鍧�
                 if (!mergedList2.isEmpty()) {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
index baccc4d..896be4c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
@@ -12,63 +12,58 @@
 public class PLCManualJog extends Thread {
 
 
-  // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-  private Configuration config;
+    // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+    private Configuration config;
 
-  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
-  MessageHandler customS7Control = new MessageHandler();
+    // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+    MessageHandler customS7Control = new MessageHandler();
 
 
-  public PLCManualJog() throws IOException {
-    config = new Configuration("config.properties");
-  }
+    public PLCManualJog() throws IOException {
+        config = new Configuration("config.properties");
+    }
 
 
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(500);
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            // this.readValue();
+            // String PlcAddress = this.name;
+            // Integer Plccount = this.count;
+
+            // System.out.println(stt);
 
 
-  @Override
-  public void run() {
-    while (this != null) {
-      try {
-        Thread.sleep(500);
-
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-      // this.readValue();
-      // String PlcAddress = this.name;
-      // Integer Plccount = this.count;
-
-      // System.out.println(stt);
+            List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
 
 
-      List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
+            List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
+
+            // Boolean[] values1 = { false, true, true, true, false, false, true, false,
+            // false, true, true, true, false, false,
+            // true, false };
+            // List<Boolean> arraylist = new ArrayList<>(Arrays.asList(values1));
+            // Boolean[] values2 = { false, true, true, true, false, false, true, false };
+            // List<Boolean> arraylist2 = new ArrayList<>(Arrays.asList(values2));
+            // Boolean[] values3 = { false, false };
+            // List<Boolean> arraylist3 = new ArrayList<>(Arrays.asList(values3));
 
 
+            JSONObject jsonObject = new JSONObject();
 
+            short[] params = new short[arraylist.size()];
+            for (int i = 0; i < arraylist.size(); i++) {
+                boolean value = arraylist.get(i);
+                params[i] = value ? (short) 1 : (short) 0;
+            }
 
-      List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
-
-      // Boolean[] values1 = { false, true, true, true, false, false, true, false,
-      // false, true, true, true, false, false,
-      // true, false };
-      // List<Boolean> arraylist = new ArrayList<>(Arrays.asList(values1));
-      // Boolean[] values2 = { false, true, true, true, false, false, true, false };
-      // List<Boolean> arraylist2 = new ArrayList<>(Arrays.asList(values2));
-      // Boolean[] values3 = { false, false };
-      // List<Boolean> arraylist3 = new ArrayList<>(Arrays.asList(values3));
-
-
-
-      JSONObject jsonObject = new JSONObject();
-
-      short[] params = new short[arraylist.size()];
-      for (int i = 0; i < arraylist.size(); i++) {
-        boolean value = arraylist.get(i);
-        params[i] = value ? (short) 1 : (short) 0;
-      }
-
-      jsonObject.append("params", params);
+            jsonObject.append("params", params);
 
 //      System.out.println("messageValue锛�" + arraylist +"messageValue2锛�" + arraylist2 );
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualJog");
@@ -76,62 +71,61 @@
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
 
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualJog");
-      if (sendwServer != null) {
-        for (WebSocketServer webserver : sendwServer) {
-          webserver.sendMessage(jsonObject.toString());
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualJog");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
 
 //      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualJog");
 
-          if (webserver != null) {
+                    if (webserver != null) {
 
 
+                        List<String> messages = webserver.getMessages();
+                        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();
+                                }
 
-            List<String> messages = webserver.getMessages();
-            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();
+                            }
+                            // 灏嗘秷鎭�艰浆鎹负甯冨皵鍒楄〃
+                            List<Boolean> messageBooleans = new ArrayList<>();
+                            for (Integer value : messageValues) {
+                                messageBooleans.add(value == 1 ? true : false);
+                            }
+                            // System.out.println(messageBooleans);
+                            List<Boolean> bolList = new ArrayList<>();
+
+
+                            for (int i = 0; i < 26 && i < messageBooleans.size(); i++) {
+                                bolList.add(messageBooleans.get(i));
+                            }
+
+
+                            if (!bolList.isEmpty()) {
+                                S7control.getinstance().WriteBit(addressList21, bolList);
+                                System.out.println("messageValue锛�" + bolList + " written to PLC at address " + addressList21);
+                            }
+
+                            webserver.clearMessages();
+                        }
+                    }
                 }
 
-              }
-              // 灏嗘秷鎭�艰浆鎹负甯冨皵鍒楄〃
-              List<Boolean> messageBooleans = new ArrayList<>();
-              for (Integer value : messageValues) {
-                messageBooleans.add(value == 1 ? true : false);
-              }
-              // System.out.println(messageBooleans);
-              List<Boolean> bolList = new ArrayList<>();
-
-
-              for (int i = 0; i < 26 && i < messageBooleans.size(); i++) {
-                bolList.add(messageBooleans.get(i));
-              }
-
-
-              if (!bolList.isEmpty()) {
-                S7control.getinstance().WriteBit(addressList21, bolList);
-                System.out.println("messageValue锛�" + bolList + " written to PLC at address " + addressList21);
-              }
-
-              webserver.clearMessages();
             }
-          }
+
         }
-
-      }
-
     }
-  }
 }
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 819e14e..741e727 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
@@ -10,417 +10,267 @@
 import java.util.List;
 
 public class PlcManualonePosition extends Thread {
-  private Configuration config;
+    private Configuration config;
 
-  public PlcManualonePosition() throws IOException {
-    config = new Configuration("config.properties");
-  }
-
-
-
-  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
-  MessageHandler customS7Control = new MessageHandler();
-
-
-
-
-  public static class PLCBooleanConverter {
-
-    public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
-      // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
-      int totalSize = 0;
-      for (List<Boolean> list : lists) {
-        totalSize += list.size();
-      }
-
-      // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
-      short[] binaryShortArray = new short[totalSize];
-
-      // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
-      int currentIndex = 0;
-
-      // 閬嶅巻鎵�鏈夌殑鍒楄〃
-      for (List<Boolean> list : lists) {
-        // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
-        for (Boolean value : list) {
-          binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
-        }
-      }
-
-      return binaryShortArray;
+    public PlcManualonePosition() throws IOException {
+        config = new Configuration("config.properties");
     }
-  }
 
 
+    // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+    MessageHandler customS7Control = new MessageHandler();
 
 
-  @Override
-  public void run() {
-    while (this != null) {
-      try {
-        Thread.sleep(500);
+    public static class PLCBooleanConverter {
 
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-      // this.readValue();
-      // String PlcAddress = this.name;
-      // Integer Plccount = this.count;
+        public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+            // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+            int totalSize = 0;
+            for (List<Boolean> list : lists) {
+                totalSize += list.size();
+            }
 
-      List<String> addresses = new ArrayList<>();
-      addresses.add("DB100.108");
-      addresses.add("DB100.20");
-      addresses.add("DB103.32");
-      List<Short> arraylist = S7control.getinstance().readWords(addresses);
-      // System.out.println(arraylist);
+            // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+            short[] binaryShortArray = new short[totalSize];
 
-      List<String> addresses2 = new ArrayList<>();
-      addresses2.add("DB100.110");
-      addresses2.add("DB100.176");
-      addresses2.add("DB103.34");
-      List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
+            // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+            int currentIndex = 0;
 
-      List<String> addresses3 = new ArrayList<>();
-      addresses3.add("DB100.112");
-      addresses3.add("DB100.24");
-      addresses3.add("DB103.36");
-      List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
+            // 閬嶅巻鎵�鏈夌殑鍒楄〃
+            for (List<Boolean> list : lists) {
+                // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+                for (Boolean value : list) {
+                    binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+                }
+            }
 
-      List<String> addresses4 = new ArrayList<>();
-      addresses4.add("DB100.114");
-      addresses4.add("DB100.178");
-      addresses4.add("DB103.40");
-      List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
+            return binaryShortArray;
+        }
+    }
 
-      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<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<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(500);
 
-      //A01鍚姩鍦板潃
-      List<String> A01start = Arrays.asList(config.getProperty("mlp.A01start"));
-      //A02鍚姩鍦板潃
-      List<String> A02start = Arrays.asList(config.getProperty("mlp.A02start"));
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            // this.readValue();
+            // String PlcAddress = this.name;
+            // Integer Plccount = this.count;
 
-      List<String> B01start = Arrays.asList(config.getProperty("mlp.B01start"));
+            List<String> addresses = new ArrayList<>();
+            addresses.add("DB100.108");
+            addresses.add("DB100.20");
+            addresses.add("DB103.32");
+            List<Short> arraylist = S7control.getinstance().readWords(addresses);
+            // System.out.println(arraylist);
 
-      List<String> B02start = Arrays.asList(config.getProperty("mlp.B02start"));
+            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<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
-      List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
-      List<Boolean> B01readstart = S7control.getinstance().readBits(B01start);
-      List<Boolean> B02readstart = S7control.getinstance().readBits(B02start);
+            List<String> addresses3 = new ArrayList<>();
+            addresses3.add("DB100.112");
+            addresses3.add("DB100.24");
+            addresses3.add("DB103.36");
+            List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
 
-      short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
-              A01readstart,  A02readstart,B01readstart, B02readstart
-      );
+            List<String> addresses4 = new ArrayList<>();
+            addresses4.add("DB100.114");
+            addresses4.add("DB100.178");
+            addresses4.add("DB103.40");
+            List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
 
-      // Short[] values1 = { 1, 2, 3 };
-      // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
-      // Short[] values2 = { 1, 2, 3 };
-      // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
-      // Short[] values3 = { 1, 2, 3 };
-      // List<Short> arraylist3 = new ArrayList<>(Arrays.asList(values3));
-      // Short[] values4 = { 1, 2, 3 };
-      // List<Short> arraylist4 = new ArrayList<>(Arrays.asList(values4));
-      // Short[] values5 = { 5 };
-      // List<Short> arraylist5 = new ArrayList<>(Arrays.asList(values5));
-      // Short[] values6 = { 6 };
-      // List<Short> arraylist6 = new ArrayList<>(Arrays.asList(values6));
-      // Short[] values7 = { 7 };
-      // List<Short> arraylist7 = new ArrayList<>(Arrays.asList(values7));
-      // Short[] values8 = { 8 };
-      // List<Short> arraylist8 = new ArrayList<>(Arrays.asList(values8));
-      // Boolean[] values9 = { false, false, true, true };
-      // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
-      short[] params2 = new short[arraylist9.size()];
-      for (int i = 0; i < arraylist9.size(); i++) {
-        boolean value = arraylist9.get(i);
-        params2[i] = value ? (short) 1 : (short) 0;
-      }
+            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<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
 
-      // Boolean[] values10 = { false, false, true, true };
-      // List<Boolean> arraylist10 = new ArrayList<>(Arrays.asList(values10));
-      short[] params3 = new short[arraylist10.size()];
-      for (int i = 0; i < arraylist10.size(); i++) {
-        boolean value = arraylist10.get(i);
-        params3[i] = value ? (short) 1 : (short) 0;
-      }
-      // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9);
-      arraylist5.addAll(arraylist6);
-      arraylist5.addAll(arraylist7);
-      arraylist5.addAll(arraylist8);
+            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<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
 
-      JSONObject jsonObject = new JSONObject();
-      // System.out.println(arraylist6);
-      jsonObject.append("zuhe1", arraylist);
-      jsonObject.append("zuhe2", arraylist2);
-      jsonObject.append("zuhe3", arraylist3);
-      jsonObject.append("zuhe4", arraylist4);
-      jsonObject.append("shishi1", arraylist5);
-      jsonObject.append("guzhang", params2);
-      jsonObject.append("weihuiling", params3);
-      jsonObject.append("qidong", combinedBinaryShortArray);
+            //A01鍚姩鍦板潃
+            List<String> A01start = Arrays.asList(config.getProperty("mlp.A01start"));
+            //A02鍚姩鍦板潃
+            List<String> A02start = Arrays.asList(config.getProperty("mlp.A02start"));
+
+            List<String> B01start = Arrays.asList(config.getProperty("mlp.B01start"));
+
+            List<String> B02start = Arrays.asList(config.getProperty("mlp.B02start"));
+
+            List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
+            List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
+            List<Boolean> B01readstart = S7control.getinstance().readBits(B01start);
+            List<Boolean> B02readstart = S7control.getinstance().readBits(B02start);
+
+            short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
+                    A01readstart, A02readstart, B01readstart, B02readstart
+            );
+
+            // Short[] values1 = { 1, 2, 3 };
+            // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
+            // Short[] values2 = { 1, 2, 3 };
+            // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
+            // Short[] values3 = { 1, 2, 3 };
+            // List<Short> arraylist3 = new ArrayList<>(Arrays.asList(values3));
+            // Short[] values4 = { 1, 2, 3 };
+            // List<Short> arraylist4 = new ArrayList<>(Arrays.asList(values4));
+            // Short[] values5 = { 5 };
+            // List<Short> arraylist5 = new ArrayList<>(Arrays.asList(values5));
+            // Short[] values6 = { 6 };
+            // List<Short> arraylist6 = new ArrayList<>(Arrays.asList(values6));
+            // Short[] values7 = { 7 };
+            // List<Short> arraylist7 = new ArrayList<>(Arrays.asList(values7));
+            // Short[] values8 = { 8 };
+            // List<Short> arraylist8 = new ArrayList<>(Arrays.asList(values8));
+            // Boolean[] values9 = { false, false, true, true };
+            // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
+            short[] params2 = new short[arraylist9.size()];
+            for (int i = 0; i < arraylist9.size(); i++) {
+                boolean value = arraylist9.get(i);
+                params2[i] = value ? (short) 1 : (short) 0;
+            }
+
+            // Boolean[] values10 = { false, false, true, true };
+            // List<Boolean> arraylist10 = new ArrayList<>(Arrays.asList(values10));
+            short[] params3 = new short[arraylist10.size()];
+            for (int i = 0; i < arraylist10.size(); i++) {
+                boolean value = arraylist10.get(i);
+                params3[i] = value ? (short) 1 : (short) 0;
+            }
+            // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9);
+            arraylist5.addAll(arraylist6);
+            arraylist5.addAll(arraylist7);
+            arraylist5.addAll(arraylist8);
+
+            JSONObject jsonObject = new JSONObject();
+            // System.out.println(arraylist6);
+            jsonObject.append("zuhe1", arraylist);
+            jsonObject.append("zuhe2", arraylist2);
+            jsonObject.append("zuhe3", arraylist3);
+            jsonObject.append("zuhe4", arraylist4);
+            jsonObject.append("shishi1", arraylist5);
+            jsonObject.append("guzhang", params2);
+            jsonObject.append("weihuiling", params3);
+            jsonObject.append("qidong", combinedBinaryShortArray);
 
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
 //      if (sendwServer != null) {
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
 
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
-      if (sendwServer != null) {
-        for (WebSocketServer webserver : sendwServer) {
-          webserver.sendMessage(jsonObject.toString());
+            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) {
-        List<String> messages = webserver.getMessages();
-        List<String> waddresses1 = new ArrayList<>();
-        waddresses1.add("DB100.108");
-        waddresses1.add("DB100.20");
-        waddresses1.add("DB103.32");
+                    if (webserver != null) {
+                        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> 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> 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> 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> 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> 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<>();
+                        // 鍥為浂鍦板潃
+                        List<String> waddresses7 = new ArrayList<>();
 
-        waddresses7.add("DB101.4.5");
-        waddresses7.add("DB101.4.7");
+                        waddresses7.add("DB101.4.5");
+                        waddresses7.add("DB101.4.7");
 
 
-        // System.out.println(messages.isEmpty());
-        if (!messages.isEmpty()) {
-          // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-          String lastMessage = messages.get(messages.size() - 1);
-          // System.out.println("lastMessage锛�" + lastMessage);
-          JSONArray messageArray = new JSONArray(lastMessage);
-          // 鍐欏叆A01
-          if (messageArray.getJSONArray(0).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(0);
-            List<Short> 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-]", "");
-                  short val = Short.parseShort(cleanedValue.trim());
-                  sValue.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);
+                        // System.out.println(messages.isEmpty());
+                        if (!messages.isEmpty()) {
+                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
+                            String lastMessage = messages.get(messages.size() - 1);
+                            // System.out.println("lastMessage锛�" + lastMessage);
+                            JSONArray messageArray = new JSONArray(lastMessage);
+                            // 鍐欏叆A01
+                            customS7Control.WriteWordToPLC(messageArray, waddresses1, 0);
+
+
+                            // 鍐欏叆A02
+                            customS7Control.WriteWordToPLC(messageArray, waddresses2, 1);
+
+
+                            // 鍐欏叆B01
+                            customS7Control.WriteWordToPLC(messageArray, waddresses3, 2);
+
+                            // 鍐欏叆B02
+                            customS7Control.WriteWordToPLC(messageArray, waddresses4, 3);
+
+
+                            // 鍐欏叆鏁呴殰鍦板潃
+
+                            customS7Control.writeBitToPLC(messageArray, waddresses5, 4);
+
+
+                            // 鍐欏叆澶嶄綅鍦板潃
+                            customS7Control.writeBitToPLC(messageArray, waddresses6, 5);
+
+                            // 鍐欏叆鍥為浂鍦板潃
+
+                            customS7Control.writeBitToPLC(messageArray, waddresses7, 6);
+                            //A01鍚姩
+                            customS7Control.writeBitToPLC(messageArray, A01start, 7);
+                            //A02鍚姩
+                            customS7Control.writeBitToPLC(messageArray, A02start, 8);
+                            //B01鍚姩
+                            customS7Control.writeBitToPLC(messageArray, B01start, 9);
+                            //B02鍚姩
+                            customS7Control.writeBitToPLC(messageArray, B02start, 10);
+
+                            // 娓呯┖娑堟伅鍒楄〃
+                            webserver.clearMessages();
+                        }
+                    }
                 }
-              }
             }
-            if (!sValue.isEmpty()) {
-              S7control.getinstance().WriteWord(waddresses1, sValue);
-
-
-              System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
-            }
-          }
-
-          // 鍐欏叆A02
-
-          if (messageArray.getJSONArray(1).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(1);
-            List<Short> sValue2 = 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());
-                  sValue2.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);
-                }
-              }
-            }
-            if (!sValue2.isEmpty()) {
-              S7control.getinstance().WriteWord(waddresses2, sValue2);
-
-
-
-              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
-            }
-          }
-
-          // 鍐欏叆B01
-          if (messageArray.getJSONArray(2).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(2);
-            List<Short> sValue2 = 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());
-                  sValue2.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);
-                }
-              }
-            }
-            if (!sValue2.isEmpty()) {
-              S7control.getinstance().WriteWord(waddresses3, sValue2);
-
-              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3);
-            }
-          }
-
-          // 鍐欏叆B02
-          if (messageArray.getJSONArray(3).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(3);
-            List<Short> sValue2 = 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());
-                  sValue2.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);
-                }
-              }
-            }
-            if (!sValue2.isEmpty()) {
-              S7control.getinstance().WriteWord(waddresses4, sValue2);
-
-              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4);
-            }
-          }
-
-          // 鍐欏叆鏁呴殰鍦板潃
-          if (messageArray.getJSONArray(4).size() > 0) {
-            JSONArray jsonArray = messageArray.getJSONArray(4);
-            List<Short> sValue2 = 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());
-                  sValue2.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);
-                }
-              }
-            }
-            if (!sValue2.isEmpty()) {
-              S7control.getinstance().WriteWord(waddresses5, sValue2);
-              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses5);
-            }
-          }
-
-          // 鍐欏叆澶嶄綅鍦板潃
-          if (messageArray.getJSONArray(5).size() > 0) {
-            JSONArray jsonArray3 = messageArray.getJSONArray(5);
-            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(waddresses6, sValue3);
-              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses6);
-            }
-          }
-
-          // 鍐欏叆鍥為浂鍦板潃
-          if (messageArray.getJSONArray(6).size() > 0) {
-            JSONArray jsonArray3 = messageArray.getJSONArray(6);
-            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(waddresses7, sValue3);
-              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses7);
-            }
-          }
-
-          customS7Control.writeBitToPLC( messageArray, A01start,7);
-          customS7Control.writeBitToPLC( messageArray, A02start,8);
-          customS7Control.writeBitToPLC( messageArray,B01start,9);
-          customS7Control.writeBitToPLC( messageArray, B02start,10);
-
-          // 娓呯┖娑堟伅鍒楄〃
-          webserver.clearMessages();
         }
-      }}
-      }
     }
-  }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
index 2947528..3ab528a 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
@@ -10,307 +10,200 @@
 import java.util.List;
 
 public class PlcManualonePosition2 extends Thread {
-  private Configuration config;
+    private Configuration config;
 
-  public PlcManualonePosition2() throws IOException {
-    config = new Configuration("config.properties");
-  }
-
-
-  MessageHandler customS7Control = new MessageHandler();
-  public static class PLCBooleanConverter {
-
-    public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
-      // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
-      int totalSize = 0;
-      for (List<Boolean> list : lists) {
-        totalSize += list.size();
-      }
-
-      // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
-      short[] binaryShortArray = new short[totalSize];
-
-      // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
-      int currentIndex = 0;
-
-      // 閬嶅巻鎵�鏈夌殑鍒楄〃
-      for (List<Boolean> list : lists) {
-        // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
-        for (Boolean value : list) {
-          binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
-        }
-      }
-
-      return binaryShortArray;
+    public PlcManualonePosition2() throws IOException {
+        config = new Configuration("config.properties");
     }
-  }
 
 
+    MessageHandler customS7Control = new MessageHandler();
+
+    public static class PLCBooleanConverter {
+
+        public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+            // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+            int totalSize = 0;
+            for (List<Boolean> list : lists) {
+                totalSize += list.size();
+            }
+
+            // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+            short[] binaryShortArray = new short[totalSize];
+
+            // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+            int currentIndex = 0;
+
+            // 閬嶅巻鎵�鏈夌殑鍒楄〃
+            for (List<Boolean> list : lists) {
+                // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+                for (Boolean value : list) {
+                    binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+                }
+            }
+
+            return binaryShortArray;
+        }
+    }
 
 
-  @Override
-  public void run() {
-    while (this != null) {
-      try {
-        Thread.sleep(500);
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(500);
 
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-      // this.readValue();
-      // String PlcAddress = this.name;
-      // Integer Plccount = this.count;
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            // this.readValue();
+            // String PlcAddress = this.name;
+            // Integer Plccount = this.count;
 
-      List<String> addresses = new ArrayList<>();
-      addresses.add("DB100.116");
-      addresses.add("DB100.16");
+            List<String> addresses = new ArrayList<>();
+            addresses.add("DB100.116");
+            addresses.add("DB100.16");
 
-      addresses.add("DB103.20");
-      List<Short> arraylist = S7control.getinstance().readWords(addresses);
-      // System.out.println(arraylist);
+            addresses.add("DB103.20");
+            List<Short> arraylist = S7control.getinstance().readWords(addresses);
+            // System.out.println(arraylist);
 
-      List<String> addresses2 = new ArrayList<>();
-      addresses2.add("DB100.118");
-      addresses2.add("DB100.192");
+            List<String> addresses2 = new ArrayList<>();
+            addresses2.add("DB100.118");
+            addresses2.add("DB100.192");
 
-      addresses2.add("DB103.22");
-      List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
+            addresses2.add("DB103.22");
+            List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
 
-      List<String> addresses9 = new ArrayList<>();
+            List<String> addresses9 = new ArrayList<>();
 
-      addresses9.add("DB104.1.2");
-      addresses9.add("DB104.1.3");
-      List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
-      short[] params2 = new short[arraylist9.size()];
-      for (int i = 0; i < arraylist9.size(); i++) {
-        boolean value = arraylist9.get(i);
-        params2[i] = value ? (short) 1 : (short) 0;
-      }
+            addresses9.add("DB104.1.2");
+            addresses9.add("DB104.1.3");
+            List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
+            short[] params2 = new short[arraylist9.size()];
+            for (int i = 0; i < arraylist9.size(); i++) {
+                boolean value = arraylist9.get(i);
+                params2[i] = value ? (short) 1 : (short) 0;
+            }
 
-      // Short[] values1 = { 1, 2, 3 };
-      // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
-      // Short[] values2 = { 1, 2, 3 };
-      // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
-      // Boolean[] values9 = { false, true };
-      // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
-      // short[] params2 = new short[arraylist9.size()];
-      // for (int i = 0; i < arraylist9.size(); i++) {
-      // boolean value = arraylist9.get(i);
-      // params2[i] = value ? (short) 1 : (short) 0;
-      // }
+            // Short[] values1 = { 1, 2, 3 };
+            // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
+            // Short[] values2 = { 1, 2, 3 };
+            // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
+            // Boolean[] values9 = { false, true };
+            // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
+            // short[] params2 = new short[arraylist9.size()];
+            // for (int i = 0; i < arraylist9.size(); i++) {
+            // boolean value = arraylist9.get(i);
+            // params2[i] = value ? (short) 1 : (short) 0;
+            // }
 
-      // Boolean[] values10 = { false, true };
-      List<String> addresses10 = new ArrayList<>();
+            // Boolean[] values10 = { false, true };
+            List<String> addresses10 = new ArrayList<>();
 
-      addresses10.add("DB104.9.0");
-      addresses10.add("DB104.9.1");
-      List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
-      short[] params3 = new short[arraylist10.size()];
-      for (int i = 0; i < arraylist10.size(); i++) {
-        boolean value = arraylist10.get(i);
-        params3[i] = value ? (short) 1 : (short) 0;
-      }
+            addresses10.add("DB104.9.0");
+            addresses10.add("DB104.9.1");
+            List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
+            short[] params3 = new short[arraylist10.size()];
+            for (int i = 0; i < arraylist10.size(); i++) {
+                boolean value = arraylist10.get(i);
+                params3[i] = value ? (short) 1 : (short) 0;
+            }
 
 
-
-      //A01鍚姩鍦板潃
-      List<String> A01start = Arrays.asList(config.getProperty("mlp2.A01start"));
-      //A02鍚姩鍦板潃
-      List<String> A02start = Arrays.asList(config.getProperty("mlp2.A02start"));
+            //A01鍚姩鍦板潃
+            List<String> A01start = Arrays.asList(config.getProperty("mlp2.A01start"));
+            //A02鍚姩鍦板潃
+            List<String> A02start = Arrays.asList(config.getProperty("mlp2.A02start"));
 
 
-
-      List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
-      List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
+            List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
+            List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
 
 
-      short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
-              A01readstart,  A02readstart
-      );
+            short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
+                    A01readstart, A02readstart
+            );
 
-      JSONObject jsonObject = new JSONObject();
+            JSONObject jsonObject = new JSONObject();
 
-      jsonObject.append("zuhe1", arraylist);
-      jsonObject.append("zuhe2", arraylist2);
-      jsonObject.append("guzhang", params2);
-      jsonObject.append("weihuiling", params3);
-      jsonObject.append("qidong", combinedBinaryShortArray);
-      // System.out.println(jsonObject);
+            jsonObject.append("zuhe1", arraylist);
+            jsonObject.append("zuhe2", arraylist2);
+            jsonObject.append("guzhang", params2);
+            jsonObject.append("weihuiling", params3);
+            jsonObject.append("qidong", combinedBinaryShortArray);
+            // System.out.println(jsonObject);
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
 //      if (sendwServer != null) {
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
-      if (sendwServer != null) {
-        for (WebSocketServer webserver : sendwServer) {
-          webserver.sendMessage(jsonObject.toString());
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
 
 //      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition2");
-          if (webserver != null) {
-            List<String> messages = webserver.getMessages();
-            List<String> waddresses1 = new ArrayList<>();
-            waddresses1.add("DB100.116");
-            waddresses1.add("DB100.16");
+                    if (webserver != null) {
+                        List<String> messages = webserver.getMessages();
+                        List<String> waddresses1 = new ArrayList<>();
+                        waddresses1.add("DB100.116");
+                        waddresses1.add("DB100.16");
 
 
-            List<String> waddresses2 = new ArrayList<>();
-            waddresses2.add("DB100.118");
-            waddresses2.add("DB100.192");
+                        List<String> waddresses2 = new ArrayList<>();
+                        waddresses2.add("DB100.118");
+                        waddresses2.add("DB100.192");
 
 
-            // 鏁呴殰鍦板潃
-            List<String> waddresses3 = new ArrayList<>();
-            waddresses3.add("DB103.242");
-            waddresses3.add("DB103.248");
+                        // 鏁呴殰鍦板潃
+                        List<String> waddresses3 = new ArrayList<>();
+                        waddresses3.add("DB103.242");
+                        waddresses3.add("DB103.248");
 
-            // 澶嶄綅鍦板潃
-            List<String> waddresses4 = new ArrayList<>();
-            waddresses4.add("DB101.3.6");
-            waddresses4.add("DB101.4.1");
+                        // 澶嶄綅鍦板潃
+                        List<String> waddresses4 = new ArrayList<>();
+                        waddresses4.add("DB101.3.6");
+                        waddresses4.add("DB101.4.1");
 
-            // 鍥為浂鍦板潃
-            List<String> waddresses5 = new ArrayList<>();
-            waddresses5.add("DB101.3.7");
-            waddresses5.add("DB101.4.2");
+                        // 鍥為浂鍦板潃
+                        List<String> waddresses5 = new ArrayList<>();
+                        waddresses5.add("DB101.3.7");
+                        waddresses5.add("DB101.4.2");
 
-            if (!messages.isEmpty()) {
-              // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-              String lastMessage = messages.get(messages.size() - 1);
-              // System.out.println("lastMessage锛�" + lastMessage);
-              JSONArray messageArray = new JSONArray(lastMessage);
+                        if (!messages.isEmpty()) {
+                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
+                            String lastMessage = messages.get(messages.size() - 1);
+                            // System.out.println("lastMessage锛�" + lastMessage);
+                            JSONArray messageArray = new JSONArray(lastMessage);
 
-              // A01涓嬪彂
-              if (messageArray.getJSONArray(0).size() > 0) {
-                JSONArray jsonArray = messageArray.getJSONArray(0);
-                List<Short> 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-]", "");
-                      short val = Short.parseShort(cleanedValue.trim());
-                      sValue.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);
+                            // A01涓嬪彂
+                            customS7Control.WriteWordToPLC(messageArray, waddresses1, 0);
+
+
+                            // A02涓嬪彂
+                            customS7Control.WriteWordToPLC(messageArray, waddresses2, 1);
+
+
+                            // 鍐欏叆鏁呴殰鍦板潃
+                            customS7Control.WriteWordToPLC(messageArray, waddresses3, 2);
+
+
+                            // 鍐欏叆澶嶄綅鍦板潃
+                            customS7Control.writeBitToPLC(messageArray, waddresses4, 3);
+
+
+                            // 鍐欏叆鍥為浂鍦板潃
+                            customS7Control.writeBitToPLC(messageArray, waddresses5, 4);
+
+                            customS7Control.writeBitToPLC(messageArray, A01start, 5);
+                            customS7Control.writeBitToPLC(messageArray, A02start, 6);
+
+                            // 娓呯┖娑堟伅鍒楄〃
+                            webserver.clearMessages();
+                        }
                     }
-                  }
                 }
-                if (!sValue.isEmpty()) {
-                  S7control.getinstance().WriteWord(waddresses1, sValue);
-
-                  System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
-                }
-              }
-
-              // A02涓嬪彂
-              if (messageArray.getJSONArray(1).size() > 0) {
-                JSONArray jsonArray = messageArray.getJSONArray(1);
-                List<Short> sValue2 = 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());
-                      sValue2.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);
-                    }
-                  }
-                }
-                if (!sValue2.isEmpty()) {
-                  S7control.getinstance().WriteWord(waddresses2, sValue2);
-
-                  System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
-                }
-              }
-
-              // 鍐欏叆鏁呴殰鍦板潃
-              if (messageArray.getJSONArray(2).size() > 0) {
-                JSONArray jsonArray = messageArray.getJSONArray(2);
-                List<Short> sValue2 = 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());
-                      sValue2.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);
-                    }
-                  }
-                }
-                if (!sValue2.isEmpty()) {
-                  S7control.getinstance().WriteWord(waddresses3, sValue2);
-                  System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3);
-                }
-              }
-
-              // 鍐欏叆澶嶄綅鍦板潃
-              if (messageArray.getJSONArray(3).size() > 0) {
-                JSONArray jsonArray3 = messageArray.getJSONArray(3);
-                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(waddresses4, sValue3);
-                  System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses4);
-                }
-              }
-
-              // 鍐欏叆鍥為浂鍦板潃
-              if (messageArray.getJSONArray(4).size() > 0) {
-                JSONArray jsonArray3 = messageArray.getJSONArray(4);
-                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(waddresses5, sValue3);
-                  System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses5);
-                }
-              }
-
-
-              customS7Control.writeBitToPLC( messageArray, A01start,5);
-              customS7Control.writeBitToPLC( messageArray, A02start,6);
-
-              // 娓呯┖娑堟伅鍒楄〃
-              webserver.clearMessages();
             }
-          }
         }
-      }
     }
-  }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java
index 739f205..56947cc 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java
@@ -10,202 +10,130 @@
 import java.util.List;
 
 public class PlcParameter1 extends Thread {
-  String name = "";
-  Integer count = 0;
 
-  public static String readFileToString(String filePath) throws IOException {
-    File file = new File(filePath);
-    return FileUtils.readFileToString(file, "UTF-8");
-  }
+    MessageHandler customS7Control = new MessageHandler();
 
-  public void readValue() {
-    String str = "";
-    BufferedReader bufferedReader = null;
-    FileInputStream fileInputStream;
-    try {
-      // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-      fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.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;
-      }
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(1000);
 
-      // 灏唖tr瀛楃涓叉牸寮忚浆涓簀son
-      JSONObject jsonObject = new JSONObject(str);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
 
-      // 鑾峰彇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(1000);
-
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-      // this.readValue();
-      // String PlcAddress = this.name;
-      // Integer Plccount = this.count;
-
-      // System.out.println(stt);
-      List<String> addresses = new ArrayList<>();
-      addresses.add("DB100.0");
-      addresses.add("DB100.2");
-      addresses.add("DB100.4");
-      addresses.add("DB100.6");
-      addresses.add("DB100.26");
-      addresses.add("DB100.28");
-      addresses.add("DB100.30");
-      addresses.add("DB100.32");
-      addresses.add("DB100.34");
-      addresses.add("DB100.36");
-      addresses.add("DB100.38");
-      addresses.add("DB100.40");
-      List<Short> arraylist = S7control.getinstance().readWords(addresses);
+            // System.out.println(stt);
+            List<String> addresses = new ArrayList<>();
+            addresses.add("DB100.0");
+            addresses.add("DB100.2");
+            addresses.add("DB100.4");
+            addresses.add("DB100.6");
+            addresses.add("DB100.26");
+            addresses.add("DB100.28");
+            addresses.add("DB100.30");
+            addresses.add("DB100.32");
+            addresses.add("DB100.34");
+            addresses.add("DB100.36");
+            addresses.add("DB100.38");
+            addresses.add("DB100.40");
+            List<Short> arraylist = S7control.getinstance().readWords(addresses);
 //缈昏浆
-    List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.8", 1);
-    List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.12", 1);
-      // Short[] values1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
-      // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
-      // Short[] fanzhuan = { 4 };
-      // List<Short> fanzhuan1 = new ArrayList<>(Arrays.asList(fanzhuan));
-      // Short[] xiaoche = {5};
-      // List<Short> xiaoche1 = new ArrayList<>(Arrays.asList(xiaoche));
+            List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.8", 1);
+            List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.12", 1);
+            // Short[] values1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
+            // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
+            // Short[] fanzhuan = { 4 };
+            // List<Short> fanzhuan1 = new ArrayList<>(Arrays.asList(fanzhuan));
+            // Short[] xiaoche = {5};
+            // List<Short> xiaoche1 = new ArrayList<>(Arrays.asList(xiaoche));
 
-      JSONObject jsonObject = new JSONObject();
-      // new short[]{1,1, 1, 1, 1, 1, 2, 33, 2,3, 4, 5}
-      // new short[]{0,0, 0, 0, 0, 0, 0, 0, 0, 0}
+            JSONObject jsonObject = new JSONObject();
+            // new short[]{1,1, 1, 1, 1, 1, 2, 33, 2,3, 4, 5}
+            // new short[]{0,0, 0, 0, 0, 0, 0, 0, 0, 0}
 
-      jsonObject.append("params", arraylist);
-     jsonObject.append("fanzhuan", fanzhuan1);
-     jsonObject.append("xiaoche", xiaoche1);
+            jsonObject.append("params", arraylist);
+            jsonObject.append("fanzhuan", fanzhuan1);
+            jsonObject.append("xiaoche", xiaoche1);
 
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter1");
 //      if (sendwServer != null) {
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
 
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter1");
-      if (sendwServer != null) {
-        for (WebSocketServer webserver : sendwServer) {
-          webserver.sendMessage(jsonObject.toString());
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter1");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
 
 
-          if (webserver != null) {
-            List<String> messages = webserver.getMessages();
-            List<String> waddresses1 = new ArrayList<>();
-            waddresses1.add("DB100.0");
-            waddresses1.add("DB100.2");
-            waddresses1.add("DB100.4");
-            waddresses1.add("DB100.6");
-            waddresses1.add("DB100.26");
-            waddresses1.add("DB100.28");
-            waddresses1.add("DB100.30");
-            waddresses1.add("DB100.32");
-            waddresses1.add("DB100.34");
-            waddresses1.add("DB100.36");
-            waddresses1.add("DB100.38");
-            waddresses1.add("DB100.40");
+                    if (webserver != null) {
+                        List<String> messages = webserver.getMessages();
+                        List<String> waddresses1 = new ArrayList<>();
+                        waddresses1.add("DB100.0");
+                        waddresses1.add("DB100.2");
+                        waddresses1.add("DB100.4");
+                        waddresses1.add("DB100.6");
+                        waddresses1.add("DB100.26");
+                        waddresses1.add("DB100.28");
+                        waddresses1.add("DB100.30");
+                        waddresses1.add("DB100.32");
+                        waddresses1.add("DB100.34");
+                        waddresses1.add("DB100.36");
+                        waddresses1.add("DB100.38");
+                        waddresses1.add("DB100.40");
 
-            String addressList2 = "DB100.8";
-            String addressList3 = "DB100.12";
+                        String addressList2 = "DB100.8";
+                        String addressList3 = "DB100.12";
 
-            if (!messages.isEmpty()) {
-              // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-              String lastMessage = messages.get(messages.size() - 1);
-              // System.out.println("lastMessage锛�" + lastMessage);
-              JSONArray messageArray = new JSONArray(lastMessage);
+                        if (!messages.isEmpty()) {
+                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
+                            String lastMessage = messages.get(messages.size() - 1);
+                            // System.out.println("lastMessage锛�" + lastMessage);
+                            JSONArray messageArray = new JSONArray(lastMessage);
 
-              // 鏁村悎绗� 1 鍒� 3 涓暟缁勫苟鍘绘帀 null 鍏冪礌
-              List<Short> mergedList = new ArrayList<>();
-              for (int i = 0; i < 3; i++) {
-                JSONArray sublist = messageArray.getJSONArray(i);
-                for (int j = 0; j < sublist.size(); j++) {
-                  Object value = sublist.get(j);
-                  if (value != null && !value.toString().equals("null")) {
-                    try {
-                      String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
-                      short sValue = Short.parseShort(cleanedValue.trim());
-                      mergedList.add(sValue);
-                    } catch (NumberFormatException e) {
-                      // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                      System.err.println("Could not parse value: " + value);
+                            // 鏁村悎绗� 1 鍒� 3 涓暟缁勫苟鍘绘帀 null 鍏冪礌
+                            List<Short> mergedList = new ArrayList<>();
+                            for (int i = 0; i < 3; i++) {
+                                JSONArray sublist = messageArray.getJSONArray(i);
+                                for (int j = 0; j < sublist.size(); j++) {
+                                    Object value = sublist.get(j);
+                                    if (value != null && !value.toString().equals("null")) {
+                                        try {
+                                            String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                                            short sValue = Short.parseShort(cleanedValue.trim());
+                                            mergedList.add(sValue);
+                                        } catch (NumberFormatException e) {
+                                            // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+                                            System.err.println("Could not parse value: " + value);
+                                        }
+                                    }
+                                }
+                            }
+
+                            // 鍐欏叆绗竴涓湴鍧�
+                            customS7Control.WriteWordsToPLC(messageArray, addressList2, 3);
+
+
+                            // 鍐欏叆绗簩涓湴鍧�
+                            customS7Control.WriteWordsToPLC(messageArray, addressList3, 4);
+
+
+                            // 鍐欏叆绗笁涓湴鍧�
+                            if (!mergedList.isEmpty()) {
+                                S7control.getinstance().WriteWord(waddresses1, mergedList);
+                                System.out.println("messageValue锛�" + mergedList + " written to PLC at address " + waddresses1);
+                            }
+
+                            // 娓呯┖娑堟伅鍒楄〃
+                            webserver.clearMessages();
+                        }
                     }
-                  }
                 }
-              }
 
-              // 鍐欏叆绗竴涓湴鍧�
-              if (messageArray.getJSONArray(3).size() > 0) {
-                Object value = messageArray.getJSONArray(3).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(addressList2, Arrays.asList(sValue));
-                    System.out
-                            .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList2);
-                  } catch (NumberFormatException e) {
-                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                    System.err.println("Could not parse value: " + value);
-                  }
-                }
-              }
-
-              // 鍐欏叆绗簩涓湴鍧�
-              if (messageArray.getJSONArray(4).size() > 0) {
-                Object value = messageArray.getJSONArray(4).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(addressList3, Arrays.asList(sValue));
-                    System.out
-                            .println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + addressList3);
-                  } catch (NumberFormatException e) {
-                    // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                    System.err.println("Could not parse value: " + value);
-                  }
-                }
-              }
-
-              // 鍐欏叆绗笁涓湴鍧�
-              if (!mergedList.isEmpty()) {
-                S7control.getinstance().WriteWord(waddresses1, mergedList);
-                System.out.println("messageValue锛�" + mergedList + " written to PLC at address " + waddresses1);
-              }
-
-              // 娓呯┖娑堟伅鍒楄〃
-              webserver.clearMessages();
             }
-          }
+
         }
-
-      }
-
     }
-  }
 }
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 361b818..e4889b3 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
@@ -12,144 +12,99 @@
 
 
 public class PlcParameter2 extends Thread {
-  String name = "";
-  Integer count = 0;
-
-  public static String readFileToString(String filePath) throws IOException {
-    File file = new File(filePath);
-    return FileUtils.readFileToString(file, "UTF-8");
-  }
-
-  public void readValue() {
-    String str = "";
-    BufferedReader bufferedReader = null;
-    FileInputStream fileInputStream;
-    try {
-      // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-      fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.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("Positioning1");
-      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(1000);
-
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-
-     //  鎵嬪姩鐘舵�佸湴鍧�
-      List<String> addressList1 = new ArrayList<>();
-
-      addressList1.add("DB103.44");//D01
-      addressList1.add("DB103.58");//D02
-      addressList1.add("DB103.72");//D03
-      addressList1.add("DB103.86");//D04
-      addressList1.add("DB103.100");//D05
-      addressList1.add("DB103.114");//D06
-      addressList1.add("DB103.128");//A01
-      addressList1.add("DB103.142");//A01 2
-      addressList1.add("DB103.156");//A02
-      addressList1.add("DB103.184");//B01
-      addressList1.add("DB103.212");//B02
 
 
-      List<String> paramlist = S7control.getinstance().readStrings(addressList1);
+    // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+    MessageHandler customS7Control = new MessageHandler();
 
 
-   //娓呴櫎ID鍦板潃
-      List<String> addresses = new ArrayList<>();
-      addresses.add("DB103.0");
-      addresses.add("DB103.2");
-      addresses.add("DB103.12");
-      addresses.add("DB103.14");
-      addresses.add("DB103.16");
-      addresses.add("DB103.18");
-      addresses.add("DB103.8");
-      addresses.add("DB103.10");
-      addresses.add("DB103.4");
-      addresses.add("DB103.6");
-      List<Short> data = S7control.getinstance().readWords(addresses);
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(1000);
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            //  id
+            List<String> addressList1 = new ArrayList<>();
+
+            addressList1.add("DB103.44");//D01
+            addressList1.add("DB103.58");//D02
+            addressList1.add("DB103.72");//D03
+            addressList1.add("DB103.86");//D04
+            addressList1.add("DB103.100");//D05
+            addressList1.add("DB103.114");//D06
+            addressList1.add("DB103.128");//A01
+            addressList1.add("DB103.142");//A01 2
+            addressList1.add("DB103.156");//A02
+            addressList1.add("DB103.184");//B01
+            addressList1.add("DB103.212");//B02
 
 
-      //id
-      List<String> addressList0 = new ArrayList<>();
-
-      addressList0.add("DB101.9.2");
-      addressList0.add("DB101.9.3");
-      addressList0.add("DB101.9.4");
-      addressList0.add("DB101.9.5");
-      addressList0.add("DB101.9.6");
-      addressList0.add("DB101.9.7");
-
-      addressList0.add("DB101.10.0");
-      addressList0.add("DB101.10.1");
-      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> paramlist = S7control.getinstance().readStrings(addressList1);
 
 
+            //鎵嬪姩鐘舵��
+            List<String> addresses = new ArrayList<>();
+            addresses.add("DB103.0");
+            addresses.add("DB103.2");
+            addresses.add("DB103.12");
+            addresses.add("DB103.14");
+            addresses.add("DB103.16");
+            addresses.add("DB103.18");
+            addresses.add("DB103.8");
+            addresses.add("DB103.10");
+            addresses.add("DB103.4");
+            addresses.add("DB103.6");
+            List<Short> data = S7control.getinstance().readWords(addresses);
 
 
-      List<String> niuanaddressList3 = new ArrayList<>();
+            //娓呴櫎id
+            List<String> addressList0 = new ArrayList<>();
 
-      niuanaddressList3.add("DB101.10.4");
-      List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
+            addressList0.add("DB101.9.2");
+            addressList0.add("DB101.9.3");
+            addressList0.add("DB101.9.4");
+            addressList0.add("DB101.9.5");
+            addressList0.add("DB101.9.6");
+            addressList0.add("DB101.9.7");
+
+            addressList0.add("DB101.10.0");
+            addressList0.add("DB101.10.1");
+            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> niuanaddressList3 = new ArrayList<>();
 
-      List<String> data3 = S7control.getinstance().readStrings(addressList3);
+            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.32");
-      addresses4.add("DB103.34");
-      addresses4.add("DB103.36");
-      addresses4.add("DB103.40");
+            List<String> addresses4 = new ArrayList<>();
+            addresses4.add("DB103.32");
+            addresses4.add("DB103.34");
+            addresses4.add("DB103.36");
+            addresses4.add("DB103.40");
 
-    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);
 
 
-      //
-
+            //
 
 
 //
@@ -166,25 +121,25 @@
 //      List<Short> data4 = new ArrayList<>(Arrays.asList(values4));
 //
 //
-      JSONObject jsonObject = new JSONObject();
-      short[] params = new short[data2.size()];
-      for (int i = 0; i < data2.size(); i++) {
-        boolean value = data2.get(i);
-        params[i] = value ? (short) 1 : (short) 0;
-      }
+            JSONObject jsonObject = new JSONObject();
+            short[] params = new short[data2.size()];
+            for (int i = 0; i < data2.size(); i++) {
+                boolean value = data2.get(i);
+                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;
-      }
+            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);
+            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.getWebSocketServer("Parameter2");
@@ -194,92 +149,49 @@
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
 
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2");
- if (sendwServer != null) {
-     for (WebSocketServer webserver : sendwServer) {
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
 
-         webserver.sendMessage(jsonObject.toString());
+                    webserver.sendMessage(jsonObject.toString());
 
 
-         if (webserver != null) {
+                    if (webserver != null) {
 
 
-             List<String> messages = webserver.getMessages();
-             List<String> addressList = new ArrayList<>();
+                        List<String> messages = webserver.getMessages();
+                        List<String> addressList = new ArrayList<>();
 
-             addressList.add("DB101.9.2");
-             addressList.add("DB101.9.3");
-             addressList.add("DB101.9.4");
-             addressList.add("DB101.9.5");
-             addressList.add("DB101.9.6");
-             addressList.add("DB101.9.7");
-             addressList.add("DB101.10.0");
-             addressList.add("DB101.10.1");
-             addressList.add("DB101.10.2");
-             addressList.add("DB101.10.3");
+                        addressList.add("DB101.9.2");
+                        addressList.add("DB101.9.3");
+                        addressList.add("DB101.9.4");
+                        addressList.add("DB101.9.5");
+                        addressList.add("DB101.9.6");
+                        addressList.add("DB101.9.7");
+                        addressList.add("DB101.10.0");
+                        addressList.add("DB101.10.1");
+                        addressList.add("DB101.10.2");
+                        addressList.add("DB101.10.3");
 
 
-             if (!messages.isEmpty()) {
-                 // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-                 String lastMessage = messages.get(messages.size() - 1);
+                        if (!messages.isEmpty()) {
+                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                            String lastMessage = messages.get(messages.size() - 1);
 //        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 " + addressList);
-                     }
-                 }
-                 // 灏嗗竷灏斿垪琛ㄥ啓鍏� 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);
-                     }
-                 }
+                            JSONArray messageArray = new JSONArray(lastMessage);
+                            //娓呴櫎ID
+                            customS7Control.writeBitToPLC(messageArray, addressList, 0);
+                            //鎬ュ仠
+                            customS7Control.writeBitToPLC(messageArray, niuanaddressList3, 1);
 
 
-                 // 娓呯┖娑堟伅鍒楄〃
-                 webserver.clearMessages();
-             }
-         }
-     }
- }
-      }
+                            // 娓呯┖娑堟伅鍒楄〃
+                            webserver.clearMessages();
+                        }
+                    }
+                }
+            }
+        }
     }
-  }
+}
 
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
index 6c3299a..250a8a2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
@@ -17,53 +17,7 @@
 import org.apache.commons.io.FileUtils;
 
 public class PlcPositioning1 extends Thread {
-    String name = "";
-    Integer count = 0;
 
-    public static String readFileToString(String filePath) throws IOException {
-        File file = new File(filePath);
-        return FileUtils.readFileToString(file, "UTF-8");
-    }
-
-    public void readValue() {
-        String str = "";
-        BufferedReader bufferedReader = null;
-        FileInputStream fileInputStream;
-        try {
-            // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-            fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.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("Positioning1");
-            for (int i = 0; i < address.size(); i++) {
-                JSONObject ress = (JSONObject) address.get(i);
-
-                this.name = ress.getStr("name");
-                this.count = ress.getInt("count");
-                System.out.println("messageValues锛�" + this.name);
-                System.out.println("messageValues锛�" + this.count);
-            }
-
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
 
     @Override
     public void run() {
@@ -74,13 +28,11 @@
             } catch (InterruptedException e) {
                 e.printStackTrace();
             }
-//        this.readValue();
-//            String PlcAddress = this.name;
-//            Integer Plccount = this.count;
+
 
             // System.out.println(stt);
             //瀛樼墖鏍�  鍑虹墖鏍艰鍙�
-  List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 33);
+            List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 33);
 //            System.out.println(arraylist);
 //            Short[] 瀛樼墖 = { 1 };
 //            List<Short> 瀛樼墖1 = new ArrayList<>(Arrays.asList(瀛樼墖));
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java
index 2182ee9..fbc5c1c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java
@@ -10,53 +10,7 @@
 import java.util.List;
 
 public class PlcPositioning2 extends Thread {
-    String name = "";
-    Integer count = 0;
 
-    public static String readFileToString(String filePath) throws IOException {
-        File file = new File(filePath);
-        return FileUtils.readFileToString(file, "UTF-8");
-    }
-
-    public void readValue() {
-        String str = "";
-        BufferedReader bufferedReader = null;
-        FileInputStream fileInputStream;
-        try {
-            // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-            fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.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("Positioning2");
-            for (int i = 0; i < address.size(); i++) {
-                JSONObject ress = (JSONObject) address.get(i);
-
-                this.name = ress.getStr("name");
-                this.count = ress.getInt("count");
-                System.out.println("messageValues锛�" + this.name);
-                System.out.println("messageValues锛�" + this.count);
-            }
-
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
 
     @Override
     public void run() {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
index 7d5e20e..1388c26 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
@@ -13,171 +13,167 @@
 public class PlcServoManualone extends Thread {
 
 
-  // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-  private Configuration config;
+    // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+    private Configuration config;
 
-  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
-  MessageHandler customS7Control = new MessageHandler();
+    // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+    MessageHandler customS7Control = new MessageHandler();
 
 
-  public PlcServoManualone() throws IOException {
-    config = new Configuration("config.properties");
-  }
+    public PlcServoManualone() throws IOException {
+        config = new Configuration("config.properties");
+    }
 
-//灏嗗竷灏斿垪琛ㄨ浆鎹负浜岃繘鍒剁殑 short 鏁扮粍
-  public static class PLCBooleanConverter {
+    //灏嗗竷灏斿垪琛ㄨ浆鎹负浜岃繘鍒剁殑 short 鏁扮粍
+    public static class PLCBooleanConverter {
 
-    public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
-      // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
-      int totalSize = 0;
-      for (List<Boolean> list : lists) {
-        totalSize += list.size();
-      }
+        public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+            // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+            int totalSize = 0;
+            for (List<Boolean> list : lists) {
+                totalSize += list.size();
+            }
 
-      // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
-      short[] binaryShortArray = new short[totalSize];
+            // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+            short[] binaryShortArray = new short[totalSize];
 
-      // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
-      int currentIndex = 0;
+            // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+            int currentIndex = 0;
 
-      // 閬嶅巻鎵�鏈夌殑鍒楄〃
-      for (List<Boolean> list : lists) {
-        // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
-        for (Boolean value : list) {
-          binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+            // 閬嶅巻鎵�鏈夌殑鍒楄〃
+            for (List<Boolean> list : lists) {
+                // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+                for (Boolean value : list) {
+                    binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+                }
+            }
+
+            return binaryShortArray;
         }
-      }
-
-      return binaryShortArray;
     }
-  }
 
-//璇诲彇id
-  public StringBuilder queGlassid(String address,int count) {
-    StringBuilder writedstrIdOut = new StringBuilder();
-    byte[] writedglassidbytesOut = S7control.getinstance().ReadByte(address, count);
-    if (writedglassidbytesOut != null) {
-      // 鑾峰彇鐜荤拑id
-      for (byte iditem : writedglassidbytesOut) {
-        writedstrIdOut.append((char) iditem);
-      }
+    //璇诲彇id
+    public StringBuilder queGlassid(String address, int count) {
+        StringBuilder writedstrIdOut = new StringBuilder();
+        byte[] writedglassidbytesOut = S7control.getinstance().ReadByte(address, count);
+        if (writedglassidbytesOut != null) {
+            // 鑾峰彇鐜荤拑id
+            for (byte iditem : writedglassidbytesOut) {
+                writedstrIdOut.append((char) iditem);
+            }
+        }
+        return writedstrIdOut;
     }
-    return writedstrIdOut;
-  }
 
 
-  @Override
-  public void run() {
-    while (this != null) {
-      try {
-        Thread.sleep(1000);
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(1000);
 
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
 
 
 //A01缁勫悎涓湴鍧�琛ㄩ泦鍚�
-      List<String> addresses = Arrays.asList(config.getProperty("A01.addresses").split(","));
-      //System.out.println(addresses);
+            List<String> addresses = Arrays.asList(config.getProperty("A01.addresses").split(","));
+            //System.out.println(addresses);
 
-      List<Short> arraylist = S7control.getinstance().readWords(addresses);
+            List<Short> arraylist = S7control.getinstance().readWords(addresses);
 
 //A02缁勫悎涓湴鍧�琛ㄩ泦鍚�
-      List<String> addresses2 = Arrays.asList(config.getProperty("A02.addresses").split(","));
-      List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
+            List<String> addresses2 = Arrays.asList(config.getProperty("A02.addresses").split(","));
+            List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
 
-      //A01缈昏浆鍦板潃
-      List<String> addresses3 = Arrays.asList(config.getProperty("A01.flipAddress"));
-      List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
+            //A01缈昏浆鍦板潃
+            List<String> addresses3 = Arrays.asList(config.getProperty("A01.flipAddress"));
+            List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
 
-      //A02缈昏浆鍦板潃
-      List<String> addresses4 = Arrays.asList(config.getProperty("A02.flipAddress"));
+            //A02缈昏浆鍦板潃
+            List<String> addresses4 = Arrays.asList(config.getProperty("A02.flipAddress"));
 
-      List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
-     //B01缁勫悎涓湴鍧�
-      String b01Address = config.getProperty("B01.address");
-      List<Short> arraylist5 = S7control.getinstance().ReadWord(b01Address, 2);
-      //B02缁勫悎鍦板潃
-      String b02Address = config.getProperty("B02.address");
-      List<Short> arraylist6 = S7control.getinstance().ReadWord(b02Address, 2);
+            List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
+            //B01缁勫悎涓湴鍧�
+            String b01Address = config.getProperty("B01.address");
+            List<Short> arraylist5 = S7control.getinstance().ReadWord(b01Address, 2);
+            //B02缁勫悎鍦板潃
+            String b02Address = config.getProperty("B02.address");
+            List<Short> arraylist6 = S7control.getinstance().ReadWord(b02Address, 2);
 //      System.out.println(b02Address);
-     // 鎵�鏈夋晠闅滄寜閽湴鍧�
-      List<String> addresses7 = Arrays.asList(config.getProperty("faultButtonAddresses").split(","));
-      List<Boolean> arraylist7 = S7control.getinstance().readBits(addresses7);
+            // 鎵�鏈夋晠闅滄寜閽湴鍧�
+            List<String> addresses7 = Arrays.asList(config.getProperty("faultButtonAddresses").split(","));
+            List<Boolean> arraylist7 = S7control.getinstance().readBits(addresses7);
 
-      //A01鍚姩鍦板潃
-      List<String> A01start = Arrays.asList(config.getProperty("A01start"));
-      //A02鍚姩鍦板潃
-      List<String> A02start = Arrays.asList(config.getProperty("A02start"));
+            //A01鍚姩鍦板潃
+            List<String> A01start = Arrays.asList(config.getProperty("A01start"));
+            //A02鍚姩鍦板潃
+            List<String> A02start = Arrays.asList(config.getProperty("A02start"));
 //A01鍗婅嚜鍔ㄥ湴鍧�
-      List<String> A01Bstart = Arrays.asList(config.getProperty("A01Bstart"));
-      //A02鍗婅嚜鍔ㄥ湴鍧�
-      List<String> A02Bstart = Arrays.asList(config.getProperty("A02Bstart"));
-      //
-      List<String> abortresumeTasks = Arrays.asList(config.getProperty("abortresumeTasks"));
-      //鍥為浂鎸夐挳鍦板潃
-      List<String> waddresses4 = Arrays.asList(config.getProperty("HomedButtonAddresses").split(","));
-      // 鎵�鏈夊浣嶆寜閽湴鍧�
-      List<String> Reset = Arrays.asList(config.getProperty("resetButtonAddresses").split(","));
+            List<String> A01Bstart = Arrays.asList(config.getProperty("A01Bstart"));
+            //A02鍗婅嚜鍔ㄥ湴鍧�
+            List<String> A02Bstart = Arrays.asList(config.getProperty("A02Bstart"));
+            //
+            List<String> abortresumeTasks = Arrays.asList(config.getProperty("abortresumeTasks"));
+            //鍥為浂鎸夐挳鍦板潃
+            List<String> waddresses4 = Arrays.asList(config.getProperty("HomedButtonAddresses").split(","));
+            // 鎵�鏈夊浣嶆寜閽湴鍧�
+            List<String> Reset = Arrays.asList(config.getProperty("resetButtonAddresses").split(","));
 //      System.out.println(Reset);
-      // 鎵�鏈夋湭鍥為浂鎸夐挳鍦板潃
-      List<String> addresses8 = Arrays.asList(config.getProperty("notHomedButtonAddresses").split(","));
-      // 杩涚墖id鍦板潃
-      String inputGlassIdAddress = config.getProperty("inputGlassIdAddress");
-      String outputGlassIdAddress = config.getProperty("outputGlassIdAddress");
-      StringBuilder queueid1 = queGlassid(inputGlassIdAddress, 14);
-      // 瀛樼墖id鍦板潃
-      StringBuilder queueid2 = queGlassid(outputGlassIdAddress, 14);
+            // 鎵�鏈夋湭鍥為浂鎸夐挳鍦板潃
+            List<String> addresses8 = Arrays.asList(config.getProperty("notHomedButtonAddresses").split(","));
+            // 杩涚墖id鍦板潃
+            String inputGlassIdAddress = config.getProperty("inputGlassIdAddress");
+            String outputGlassIdAddress = config.getProperty("outputGlassIdAddress");
+            StringBuilder queueid1 = queGlassid(inputGlassIdAddress, 14);
+            // 瀛樼墖id鍦板潃
+            StringBuilder queueid2 = queGlassid(outputGlassIdAddress, 14);
 //A01 A02鍚姩   鍗婅嚜鍔ㄥ惎鍔�
-      List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
-      List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
-      List<Boolean> A01readBstart = S7control.getinstance().readBits(A01Bstart);
-      List<Boolean> A02readsBtart = S7control.getinstance().readBits(A02Bstart);
+            List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
+            List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
+            List<Boolean> A01readBstart = S7control.getinstance().readBits(A01Bstart);
+            List<Boolean> A02readsBtart = S7control.getinstance().readBits(A02Bstart);
 
-      List<Boolean> resumeTasks = S7control.getinstance().readBits(abortresumeTasks);
+            List<Boolean> resumeTasks = S7control.getinstance().readBits(abortresumeTasks);
 
-      short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
-              A01readBstart, A01readstart,   A02readsBtart,A02readstart
-      );
+            short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
+                    A01readBstart, A01readstart, A02readsBtart, A02readstart
+            );
 
 //      System.out.println(A01readBstart);
 
 // 鎵�鏈夋晠闅滄寜閽浆鎹负1鍜�0
-      short[] params2 = new short[arraylist7.size()];
-      for (int i = 0; i < arraylist7.size(); i++) {
-        boolean value = arraylist7.get(i);
-        params2[i] = value ? (short) 1 : (short) 0;
-      }
+            short[] params2 = new short[arraylist7.size()];
+            for (int i = 0; i < arraylist7.size(); i++) {
+                boolean value = arraylist7.get(i);
+                params2[i] = value ? (short) 1 : (short) 0;
+            }
 
 //鎬ュ仠涓鎸夐挳
-      short[] resumeTask = new short[resumeTasks.size()];
-      for (int i = 0; i < resumeTasks.size(); i++) {
-        boolean value = resumeTasks.get(i);
-        resumeTask[i] = value ? (short) 1 : (short) 0;
-      }
+            short[] resumeTask = new short[resumeTasks.size()];
+            for (int i = 0; i < resumeTasks.size(); i++) {
+                boolean value = resumeTasks.get(i);
+                resumeTask[i] = value ? (short) 1 : (short) 0;
+            }
 
-      List<Boolean> Reset1 = S7control.getinstance().readBits(Reset);
-    //  System.out.println(Reset1);
+            List<Boolean> Reset1 = S7control.getinstance().readBits(Reset);
+            //  System.out.println(Reset1);
 // 鎵�鏈夋晠闅滄寜閽浆鎹负1鍜�0
-      short[] rReset = new short[Reset1.size()];
-      for (int i = 0; i < Reset1.size(); i++) {
-        boolean value = Reset1.get(i);
-        rReset[i] = value ? (short) 1 : (short) 0;
-      }
+            short[] rReset = new short[Reset1.size()];
+            for (int i = 0; i < Reset1.size(); i++) {
+                boolean value = Reset1.get(i);
+                rReset[i] = value ? (short) 1 : (short) 0;
+            }
 
 
 //鎵�鏈夋湭鍥為浂鎸夐挳杞崲涓�1鍜�0
-      List<Boolean> arraylist8 = S7control.getinstance().readBits(addresses8);
-      short[] params = new short[arraylist8.size()];
-      for (int i = 0; i < arraylist8.size(); i++) {
-        boolean value = arraylist8.get(i);
-        params[i] = value ? (short) 1 : (short) 0;
-      }
-
-
-
+            List<Boolean> arraylist8 = S7control.getinstance().readBits(addresses8);
+            short[] params = new short[arraylist8.size()];
+            for (int i = 0; i < arraylist8.size(); i++) {
+                boolean value = arraylist8.get(i);
+                params[i] = value ? (short) 1 : (short) 0;
+            }
 
 
 //      Short[] values1 = { 1, 2, 3, 4, 5, 6, 7};
@@ -214,22 +210,21 @@
 //        params[i] = value ? (short) 1 : (short) 0;
 //      }
 
-      JSONObject jsonObject = new JSONObject();
+            JSONObject jsonObject = new JSONObject();
 
-      jsonObject.append("zuhe1", arraylist);
-      jsonObject.append("zuhe2", arraylist2);
-      jsonObject.append("zuhe3", arraylist3);
-      jsonObject.append("zuhe4", arraylist4);
-      jsonObject.append("zuhe5", arraylist5);
-      jsonObject.append("zuhe6", arraylist6);
-      jsonObject.append("guzhang", params2);
-   jsonObject.append("weihuiling", params);
-      jsonObject.append("jinpianid", queueid1);
-      jsonObject.append("qupianid", queueid2);
-      jsonObject.append("fuwei", rReset);
-      jsonObject.append("qidong", combinedBinaryShortArray);
-      jsonObject.append("resumeTasks", resumeTask);
-
+            jsonObject.append("zuhe1", arraylist);
+            jsonObject.append("zuhe2", arraylist2);
+            jsonObject.append("zuhe3", arraylist3);
+            jsonObject.append("zuhe4", arraylist4);
+            jsonObject.append("zuhe5", arraylist5);
+            jsonObject.append("zuhe6", arraylist6);
+            jsonObject.append("guzhang", params2);
+            jsonObject.append("weihuiling", params);
+            jsonObject.append("jinpianid", queueid1);
+            jsonObject.append("qupianid", queueid2);
+            jsonObject.append("fuwei", rReset);
+            jsonObject.append("qidong", combinedBinaryShortArray);
+            jsonObject.append("resumeTasks", resumeTask);
 
 
 //      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
@@ -237,63 +232,59 @@
 //        sendwServer.sendMessage(jsonObject.toString());
 //      }
 
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
-      if (sendwServer != null) {
-        for (WebSocketServer webserver : sendwServer) {
-          webserver.sendMessage(jsonObject.toString());
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
 
 
-          if (webserver != null) {
-            List<String> messages = webserver.getMessages();
+                    if (webserver != null) {
+                        List<String> messages = webserver.getMessages();
 
 
-            if (!messages.isEmpty()) {
-              // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-              String lastMessage = messages.get(messages.size() - 1);
+                        if (!messages.isEmpty()) {
+                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
+                            String lastMessage = messages.get(messages.size() - 1);
 //        System.out.println("lastMessage锛�" + lastMessage);
-              JSONArray messageArray = new JSONArray(lastMessage);
+                            JSONArray messageArray = new JSONArray(lastMessage);
 
 
-              // 鍐欏叆AO1缁勫悎
-              customS7Control.WriteWordToPLC(messageArray, addresses,0);
-
-              //A01鍗婅嚜鍔ㄥ惎鍔�
-              customS7Control.writeBitToPLC( messageArray, A01start,8);
+                            // 鍐欏叆AO1缁勫悎
+                            customS7Control.WriteWordToPLC(messageArray, addresses, 0);
 
 
-              // 鍐欏叆AO2缁勫悎
-              customS7Control.WriteWordToPLC(messageArray, addresses2,1);
-              //A02鍗婅嚜鍔ㄥ惎鍔�
+                            // 鍐欏叆AO2缁勫悎
+                            customS7Control.WriteWordToPLC(messageArray, addresses2, 1);
 
-              customS7Control.writeBitToPLC( messageArray, A02start,9);
+
+                            // 澶嶄綅鎸夐挳鍐欏叆
+                            customS7Control.writeBitToPLC(messageArray, Reset, 2);
+
+                            //鍥為浂鎸夐挳鍐欏叆
+                            customS7Control.writeBitToPLC(messageArray, waddresses4, 3);
+
+                            // 杩涚墖ID鍐欏叆
+                            customS7Control.writeStringToPLC(messageArray, inputGlassIdAddress, 4);
+                            //鍙栫墖ID鍐欏叆
+                            customS7Control.writeStringToPLC(messageArray, outputGlassIdAddress, 5);
+
+                            //A01鍗婅嚜鍔�
+                            customS7Control.writeBitToPLC(messageArray, A01Bstart, 6);
+                            //A02鍗婅嚜鍔�
+                            customS7Control.writeBitToPLC(messageArray, A02Bstart, 7);
+                          //A01鍗婅嚜鍔ㄥ惎鍔�
+                          customS7Control.writeBitToPLC(messageArray, A01start, 8);
+                          //A02鍗婅嚜鍔ㄥ惎鍔�
+                          customS7Control.writeBitToPLC(messageArray, A02start, 9);
 
 
 
-              // 澶嶄綅鎸夐挳鍐欏叆
-              customS7Control.writeBitToPLC( messageArray, Reset,2);
-
-              //鍥為浂鎸夐挳鍐欏叆
-              customS7Control.writeBitToPLC( messageArray, waddresses4,3);
-
-              // 杩涚墖ID鍐欏叆
-              customS7Control.writeStringToPLC(  messageArray,inputGlassIdAddress,4);
-              //鍙栫墖ID鍐欏叆
-              customS7Control.writeStringToPLC(  messageArray,outputGlassIdAddress,5);
-
-              //A01鍗婅嚜鍔�
-              customS7Control.writeBitToPLC( messageArray, A01Bstart,6);
-
-            //A02鍗婅嚜鍔�
-              customS7Control.writeBitToPLC( messageArray, A02Bstart,7);
-
-
-
-              // 娓呯┖娑堟伅鍒楄〃
-              webserver.clearMessages();
+                          // 娓呯┖娑堟伅鍒楄〃
+                            webserver.clearMessages();
+                        }
+                    }
+                }
             }
-          }
         }
-      }
     }
-  }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
index a9045d0..2d0c98d 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -106,7 +106,9 @@
           for (WebSocketServer webserver : sendwServer) {
             webserver.sendMessage(jsonObject.toString());
 
+          }
 
+        }
             // 灏嗚幏鍙栫殑甯冨皵绫诲瀷杞崲涓烘暣鏁扮被鍨�
             List<Integer> Intlist = new ArrayList<>();
             for (Boolean value : plclist) {
@@ -128,7 +130,7 @@
               // 鏌ヨ瀵瑰簲鎶ヨ淇℃伅缁撴潫鏃堕棿涓簄ull鐨勬潯鏁�
               short result = alarmMapper.selectnullti(array1[i]);
               // 璇诲彇鍒癙LC鐨勫�间负1骞朵笖瀵瑰簲鎶ヨ淇℃伅缁撴潫鏃堕棿涓簄ull鐨勬潯鏁扮殑鏉℃暟涓�0
-              // System.out.println(result);
+    //System.out.println(result);
               if (shuzu1[i] == 1 && result == 0) {
                 // 濉姞涓�鏉℃姤璀︿俊鎭�,鏈夊紑濮嬫椂闂�
                 alarmMapper.Insertalarm(array1[i]);
@@ -141,5 +143,4 @@
         }
       }
     }
-  }
-}
\ No newline at end of file
+
diff --git a/springboot-vue3/src/main/resources/config.properties b/springboot-vue3/src/main/resources/config.properties
index 296a448..7bbde96 100644
--- a/springboot-vue3/src/main/resources/config.properties
+++ b/springboot-vue3/src/main/resources/config.properties
@@ -53,7 +53,6 @@
 
 
 
-#PLCManualJog--------------------------
 
 
 
@@ -62,19 +61,15 @@
 #id
 Parameter2.id=DB103.44,DB103.58,DB103.72,DB103.86,DB103.100,DB103.114,DB103.128,DB103.142,DB103.156,DB103.184,DB103.212
 
-#娓呴櫎id
+#state
 Parameter2.state=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
 
-
-
-#鎵嬪姩鐘舵��
+#娓呴櫎id
 Parameter2.cleanid=DB101.9.2,DB101.9.3,DB101.9.4,DB101.9.5,DB101.9.6,DB101.9.7,DB101.10.0,DB101.10.1,DB101.10.2,DB101.10.3
 #鎵爜鏋�
 Parameter2.scanner=DB103.256,DB103.270
-
 #鎬ュ仠
 Parameter2.stop=DB101.10.4
-
 #褰撳墠鏍煎瓙
 Parameter2.Currentcell=DB103.32,DB103.34,DB103.36,DB103.40
 

--
Gitblit v1.8.0