From fb32fb5bb4be336171dca41e62d3d6c6c5803f34 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期二, 12 十二月 2023 17:02:55 +0800
Subject: [PATCH] A01启动 B01启动 增加plc地址 单独写入

---
 CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue                                  |  126 ++++++--
 springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java |   30 -
 springboot-vue3/src/main/resources/config.properties                                      |    8 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java       |    2 
 CanadaMes-ui/src/views/Electrical/ManualonePosition.vue                                   |  238 +++++++++++-----
 CanadaMes-ui/public/index.html                                                            |    2 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java     |   37 -
 /dev/null                                                                                 |  164 -----------
 CanadaMes-ui/src/views/Electrical/Positioning1.vue                                        |    2 
 springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java          |    2 
 CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue                           |    2 
 CanadaMes-ui/src/lang/locales/en-US.json                                                  |   10 
 CanadaMes-ui/src/views/Electrical/ServoManualone.vue                                      |  132 ++++++--
 springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java  |   62 +---
 14 files changed, 391 insertions(+), 426 deletions(-)

diff --git a/CanadaMes-ui/public/index.html b/CanadaMes-ui/public/index.html
index 07e4763..d406ff3 100644
--- a/CanadaMes-ui/public/index.html
+++ b/CanadaMes-ui/public/index.html
@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>2.ico">
-    <title>鍖楃幓mes绯荤粺</title>
+    <title>NorthGlass-MES-System</title>
   </head>
   <body>
     <noscript>
diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index 4390cf7..a315b89 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -446,7 +446,7 @@
                 "B01褰撳墠鏍煎瓙": "B01 Current Grid",
                 "B01鍚姩": "B01 Start",
                 "澶嶄綅": "Reset",
-                "鍥為浂": "Zero",
+                "鍥為浂": "Home",
                 "鏈洖闆�": "NotZero",
                 "B02鎵嬪姩鏍煎瓙": "B02 Target grid(Manual)",
                 "B02瀹氫綅閫熷害": "B02 TRAVEL POS Velocity manual",
@@ -466,14 +466,14 @@
                 "鏁呴殰": "Fault",
                 "澶嶄綅": "Reset",
                 "鏈洖闆�": "NotZero",
-                "鍥為浂": "Zero",
+                "鍥為浂": "Home",
                 "A02鎵嬪姩浣嶇疆": "A02 turn Target Angle(Manual)",
                 "A02瀹氫綅閫熷害": "A02 TURN POS Velocity manual",
                 "A02缈昏浆瀹炴椂浣嶇疆": "A02 turn Actual angle",
                 "A02缈昏浆鍚姩": "A02 SERVE TURN",
-                "A02澶嶄綅": "Reset",
-                "鏈洖闆�": "NotZero",
-                "鍥為浂": "Zero"
+                "A02澶嶄綅": "Reset"
+            
+               
               },
               "AutomaticParameterSettinglang": {
                 "A01琛岃蛋楂橀�熻搴�": "A01 turn Angle1",
diff --git a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
index 9ed3145..88ca078 100644
--- a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
+++ b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -172,7 +172,7 @@
           // console.log(obj);
           const handleMouseMove = throttle(function (event) {
 
-            const inputBox = document.querySelectorAll('.el-card__body');
+            const inputBox = document.querySelectorAll('.input-box');
             const target = event.target;
             if (inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
               const parms = obj.params;
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
index 4845706..3a20c2c 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -54,7 +54,16 @@
           <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container">
             <div class="item-row">
               <span class="name" style="width:300px;">{{ item.name }}</span>
-              <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0'" v-model="item.value"
+
+                <el-input style="width:250px;"  v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value"  @keyup.enter.native="A01start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;"  v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value"  @keyup.enter.native="A02start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;"  v-else-if="item.state != 0 && item.type === '0' && groupIndex === 2" v-model="item.value"  @keyup.enter.native="B01start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;"  v-else-if="item.state != 0 && item.type === '0' && groupIndex === 3" v-model="item.value"  @keyup.enter.native="B02start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
                 class="input-box"></el-input>
             </div>
           </div>
@@ -75,11 +84,10 @@
         </el-card>
       </el-col>
     </el-row>
-
-    <div class="container">
-    <!-- 杩欓噷鏄敤浜庢樉绀哄唴宓� Vue 椤甸潰鐨勫尯鍩� -->
+ <div class="container">
+ 
     <component :is="embeddedComponent"></component>
-  </div>
+  </div> 
 
     <!-- <el-button @click="submitDataToBackend">鎻愪氦鏁版嵁鍒板悗绔�</el-button> -->
   </div>
@@ -136,20 +144,114 @@
 
 
     },
+    A01start(){
+
+      const data = [];
+
+for (let i = 0; i < 1; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+
+  data.push(values);
+}
+data.push([], [], [],[],[],[]);
+
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+    },
+    A02start(){
+      const data = [];
+
+for (let i = 1; i < 2; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+  data.unshift([]);
+  data.push(values);
+}
+data.push([], [], [],[],[]);
+
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+    },
+    B01start(){
+      const data = [];
+
+for (let i = 2; i < 3; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+  data.unshift([], []);
+  data.push(values);
+}
+//data.unshift([]);
+
+data.push([], [], [],[]);
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+    },
+    B02start(){
+      const data = [];
+
+for (let i = 3; i < 4; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+  data.unshift([], [], []);
+  data.push(values);
+}
+
+data.push([], [],[]);
+
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+    },
     submitDataToBackend (currentButtonName) {
       if (currentButtonName === 'A01鍚姩' || currentButtonName === 'A01 Start') {
         const data = [];
 
-        for (let i = 0; i < 1; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
-
-          const values = inputData.map(item => item.value);
+  const values = [this.jsonData[0][3].button.value]
 
           data.push(values);
-        }
-        data.push([], [], [],[],[],[]);
+       
+        data.unshift([], [], [],[],[],[],[]);
 
 
 
@@ -165,77 +267,60 @@
       if (currentButtonName === 'A02鍚姩' || currentButtonName === 'A02 Start') {
         const data = [];
 
-        for (let i = 1; i < 2; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
+const values = [this.jsonData[1][3].button.value]
 
-          const values = inputData.map(item => item.value);
-          data.unshift([]);
-          data.push(values);
-        }
-        data.push([], [], [],[],[]);
+        data.push(values);
+     
+      data.unshift([], [], [],[],[],[],[],[]);
 
 
 
-        const jsonObject = { data };
+      const 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);
 
       }
 
       if (currentButtonName === 'B01鍚姩' || currentButtonName === 'B01 Start') {
         const data = [];
 
-        for (let i = 2; i < 3; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
+const values = [this.jsonData[2][3].button.value]
 
-          const values = inputData.map(item => item.value);
-          data.unshift([], []);
-          data.push(values);
-        }
-        //data.unshift([]);
-
-        data.push([], [], [],[]);
+        data.push(values);
+     
+      data.unshift([], [], [],[],[],[],[],[],[]);
 
 
-        const jsonObject = { data };
 
-        // 鎻愪氦鏁版嵁鍒板悗绔�
-        const jsonString = JSON.stringify(jsonObject);
-        console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-        socket?.send(jsonString);
+      const jsonObject = { data };
+
+      // 鎻愪氦鏁版嵁鍒板悗绔�
+      const jsonString = JSON.stringify(jsonObject);
+      console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+      socket?.send(jsonString);
 
       }
 
       if (currentButtonName === 'B02鍚姩' || currentButtonName === 'B02 Start') {
         const data = [];
 
-        for (let i = 3; i < 4; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
+const values = [this.jsonData[3][3].button.value]
 
-          const values = inputData.map(item => item.value);
-          data.unshift([], [], []);
-          data.push(values);
-        }
-
-        data.push([], [],[]);
+        data.push(values);
+     
+      data.unshift([], [], [],[],[],[],[],[],[],[]);
 
 
 
-        const jsonObject = { data };
+      const 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);
 
       }
 
@@ -345,7 +430,7 @@
           }
 
           let obj = JSON.parse(msg.data);
-          // console.log(obj);
+        // console.log(obj);
           const jsonData2 = this.jsonData;
           const weihuiling = obj.weihuiling;
           const handleMouseMove = throttle(function (event) {
@@ -363,24 +448,6 @@
 
              
 
-              //鏀瑰彉鐘舵�佹枃瀛�
-// for (let i = 2; i < jsonData2.length; i++) {
-//   let arr6 = jsonData2[i];
-//   for (let j = 2; j < arr6.length; j++) {
-//     let obj6 = arr6[j];
-//     if (obj6.button&& (obj6.button.name === "鏈洖闆�" || obj6.button.name === "NotZero")) {
-//       if ( obj6.button.name.includes("鏈�")&& this.language==="zh-CN") {
-//         console.log(obj6.button.name)
-//       obj6.button.name =obj6.button.name.replace("鏈�","宸�") ;
-//     }
-//     if ( obj6.button.name.includes("NotZero")) {
-//       obj6.button.name =obj6.button.name.replace("NotZero","Zero") ;
-//     }
-//   }
-
-     
-// }
-// }
 
 
 
@@ -390,6 +457,8 @@
 
           document.addEventListener('mouseover', handleMouseMove);
 
+
+if(obj.zuhe1){
 
 
            //鏇存柊瀹炴椂浣嶇疆
@@ -441,7 +510,7 @@
                 for (let j = 2; j < arr2.length; j++) {
                   let obj3 = arr2[j];
                   if (obj3.button) {
-                    if (obj3.button && (obj3.button.name === "鏈洖闆�" || obj3.button.name === "NotZero")) {
+                    if (obj3.button && (obj3.button.name === "鏈洖闆�" || obj3.button.name === "NotZero" || obj3.button.name === "宸插洖闆�" || obj3.button.name === "Zero")) {
                       obj3.button.value = weihuiling[0][i];
                       //  console.log(obj3.button.value)
                     }
@@ -460,11 +529,19 @@
   for (let j = 0; j < arr.length; j++) {
     let obj = arr[j];
     if (obj.button && obj.button.value===1) {
-      if ( obj.button.name.includes("鏈洖闆�")&& this.language==="zh-CN") {
+      if ( obj.button.name==="鏈洖闆�" && this.language==="zh-CN") {
       obj.button.name =obj.button.name.replace("鏈洖闆�","宸插洖闆�") ;
     }
-    if ( obj.button.name.includes("NotZero")) {
+    if ( obj.button.name==="NotZero") {
       obj.button.name =obj.button.name.replace("NotZero","Zero") ;
+    }
+  }
+  if (obj.button && obj.button.value===0) {
+      if ( obj.button.name==="宸插洖闆�"&& this.language==="zh-CN") {
+      obj.button.name =obj.button.name.replace("宸插洖闆�","鏈洖闆�") ;
+    }
+    if ( obj.button.name==="Zero") {
+      obj.button.name =obj.button.name.replace("Zero","NotZero") ;
     }
   }
 
@@ -472,6 +549,7 @@
 }
 }
 
+}
 
 
         };
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index 392a1b4..fee9ef8 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -42,7 +42,12 @@
           <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container">
             <div class="item-row">
               <span class="name" style="width:300px;">{{ item.name }}</span>
-              <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0'" v-model="item.value"
+             
+                <el-input style="width:250px;"  v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value"  @keyup.enter.native="A01start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
+                class="input-box"></el-input>
+                <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
                 class="input-box"></el-input>
             </div>
           </div>
@@ -112,54 +117,95 @@
 
 
     },
+
+
+    A01start(){
+      const data = [];
+
+for (let i = 0; i < 1; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+
+  data.push(values);
+}
+data.push([], [], [],[]);
+
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+
+    },
+    A02start(){
+
+      const data = [];
+
+for (let i = 1; i < 2; i++) {
+  const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
+    return { value: item.value };
+  });
+
+  const values = inputData.map(item => item.value);
+  data.unshift([]);
+  data.push(values);
+}
+data.push([], [], []);
+
+
+const jsonObject = { data };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+    },
     //鎻愪氦鏂规硶
     submitDataToBackend (currentButtonName) {
       if (currentButtonName === 'A01缈昏浆鍚姩' || currentButtonName === 'A01 SERVE TURN') {
         const data = [];
 
-        for (let i = 0; i < 1; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
+const values = [this.jsonData[0][3].button.value]
 
-          const values = inputData.map(item => item.value);
-
-          data.push(values);
-        }
-        data.push([], [], [],[]);
+        data.push(values);
+     
+      data.unshift([], [], [],[],[]);
 
 
 
-        const jsonObject = { data };
+      const 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);
 
       }
 
       if (currentButtonName === 'A02缈昏浆鍚姩' || currentButtonName === 'A02 SERVE TURN') {
         const data = [];
 
-        for (let i = 1; i < 2; i++) {
-          const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
-            return { value: item.value };
-          });
+const values = [this.jsonData[0][3].button.value]
 
-          const values = inputData.map(item => item.value);
-          data.unshift([]);
-          data.push(values);
-        }
-        data.push([], [], []);
+        data.push(values);
+     
+      data.unshift([], [], [],[],[],[]);
 
 
-        const jsonObject = { data };
 
-        // 鎻愪氦鏁版嵁鍒板悗绔�
-        const jsonString = JSON.stringify(jsonObject);
-        console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-        socket?.send(jsonString);
+      const jsonObject = { data };
+
+      // 鎻愪氦鏁版嵁鍒板悗绔�
+      const jsonString = JSON.stringify(jsonObject);
+      console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+      socket?.send(jsonString);
 
       }
 
@@ -306,6 +352,12 @@
 
           document.addEventListener('mouseover', handleMouseMove);
 
+
+          if(obj.zuhe1){
+
+
+
+         
   // 閬嶅巻guzhang鏁扮粍
   for (let i = 0; i < jsonData2.length; i++) {
                 let arr = jsonData2[i];
@@ -328,7 +380,7 @@
                 for (let j = 0; j < arr2.length; j++) {
                   let obj3 = arr2[j];
                   if (obj3.button) {
-                    if (obj3.button && (obj3.button.name === "鏈洖闆�" || obj3.button.name === "NotZero")) {
+                    if (obj3.button && (obj3.button.name === "鏈洖闆�" || obj3.button.name === "NotZero" || obj3.button.name === "宸插洖闆�" || obj3.button.name === "Zero")) {
                       obj3.button.value = weihuiling[0][i];
                       //  console.log(obj3.button.value)
                     }
@@ -360,11 +412,19 @@
   for (let j = 0; j < arr.length; j++) {
     let obj = arr[j];
     if (obj.button && obj.button.value===1) {
-      if ( obj.button.name.includes("鏈洖闆�")&& this.language==="zh-CN") {
+      if ( obj.button.name==="鏈洖闆�" && this.language==="zh-CN") {
       obj.button.name =obj.button.name.replace("鏈洖闆�","宸插洖闆�") ;
     }
-    if ( obj.button.name.includes("NotZero")) {
+    if ( obj.button.name==="NotZero") {
       obj.button.name =obj.button.name.replace("NotZero","Zero") ;
+    }
+  }
+  if (obj.button && obj.button.value===0) {
+      if ( obj.button.name==="宸插洖闆�"&& this.language==="zh-CN") {
+      obj.button.name =obj.button.name.replace("宸插洖闆�","鏈洖闆�") ;
+    }
+    if ( obj.button.name==="Zero") {
+      obj.button.name =obj.button.name.replace("Zero","NotZero") ;
     }
   }
 
@@ -372,6 +432,8 @@
 }
 }
 
+}
+
         };
 
 
diff --git a/CanadaMes-ui/src/views/Electrical/Positioning1.vue b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
index cb6e923..f4febfd 100644
--- a/CanadaMes-ui/src/views/Electrical/Positioning1.vue
+++ b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -244,7 +244,7 @@
           let obj = JSON.parse(msg.data);
           const jsonData2 = this.jsonData;
           document.addEventListener("mouseover", function (event) {
-            const inputBox = document.querySelectorAll(".el-card__body");
+            const inputBox = document.querySelectorAll(".input-box");
             const target = event.target;
             const parms = obj.params;
             if (
diff --git a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
index 63a2524..6480322 100644
--- a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
+++ b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -56,15 +56,18 @@
           <div class="item-container">
             <div class="item-row">
               <span class="name" style='width:230px;'>{{ item.name }}</span>
-              <el-input v-if="item.type === '0'" v-model="item.value"   class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1"  ></el-input>
+             
+              <el-input v-if="item.type === '0' && groupIndex === 0" v-model="item.value"  @keyup.enter.native="zuhe1"  class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1"  ></el-input>
+              <el-input v-else-if="item.type === '0' && groupIndex === 1" v-model="item.value"  @keyup.enter.native="zuhe2"  class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1"  ></el-input>
+              <el-input v-else-if="item.type === '0' " v-model="item.value"   class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1"  ></el-input>
             </div>
           </div>
         </el-col>
       </el-row>
       <div class="button-row" style="display: flex; justify-content: space-between;">
         <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
-          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
-          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1,'error-button3': item.button.name === '鏈洖闆�' && item.button.value === 1,'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'fuwei': item.button.name === '澶嶄綅' && item.button.value === 1,'huiling': item.button.name === '鍥為浂' && item.button.value === 1,'qidong': item.button.name === 'A01鍗婅嚜鍔�' && item.button.value === 1,'qidong2': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'qidong3': item.button.name === 'A01鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong4': item.button.name === 'A02鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong5': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'jiting': item.button.name === '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
+          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1,'yihuiling': item.button.name === 'Zero' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
+          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1,'error-button3': item.button.name === '鏈洖闆�' && item.button.value === 1,'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'fuwei': item.button.name === '澶嶄綅' && item.button.value === 1,'huiling': item.button.name === '鍥為浂' && item.button.value === 1,'qidong': item.button.name === 'A01鍗婅嚜鍔�' && item.button.value === 1,'qidong2': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'qidong3': item.button.name === 'A01鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong4': item.button.name === 'A02鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong5': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'jiting': item.button.name === '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨' && item.button.value === 1,'yihuiling': item.button.name === '宸插洖闆�' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
         </div>
       </div>
     </el-card>
@@ -127,11 +130,9 @@
     this.$set(dataGroup[itemIndex].button, 'value', 1);
   }
 },
-submitDataToBackend(currentButtonName) {
+zuhe1(){
 
-//A01鍗婅嚜鍔ㄥ惎鍔ㄦ彁浜�
-  if (currentButtonName === 'A01鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A01 Semi-Auto Start') {
-    const data = [];
+  const data = [];
 
 for (let i = 0; i < 1; i++) {
   const inputData = this.jsonData[i].filter(item => item.type === '0' && item.read !== 9999).map(item => {
@@ -167,11 +168,10 @@
 console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
 socket?.send(jsonString);
 
-  }
-  //A02鍗婅嚜鍔ㄥ惎鍔� 鎻愪氦
+},
+zuhe2(){
 
-  if (currentButtonName === 'A02鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A02 Semi-Auto Start') {
-    const data2 = [];
+  const data2 = [];
 
 for (let i = 1; i < 2; i++) {
   const inputData = this.jsonData[i].filter(item => item.type === '0' && item.read !== 8888).map(item => {
@@ -198,6 +198,53 @@
   data2.push( [],[], []);
  
 }
+
+
+const jsonObject = { data:data2 };
+
+// 鎻愪氦鏁版嵁鍒板悗绔�
+const jsonString = JSON.stringify(jsonObject);
+console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
+socket?.send(jsonString);
+
+},
+submitDataToBackend(currentButtonName) {
+
+//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 };
@@ -267,32 +314,7 @@
   // )
 }
 
-// if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨') {
-//   const data3 = [];
-//   const resetButtonValues3 = this.jsonData.map(item => {
-//     const buttonItem3 = item.find(subItem => subItem.button && ['Abort/resumeTasks', '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨'].includes(subItem.button.name));
 
-//     return buttonItem3 ? buttonItem3.button.value : null;
-//   }).filter(value => value !== null);
-
-//   // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
-//   data3.push(resetButtonValues3.flat());
-
-//   // 鍦� data3 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
-  
-//   data3.push([], [], [],[], [], [], [],[]);
-
-//   // 鍒涘缓 jsonObject3 瀵硅薄锛屽苟娣诲姞 data3 灞炴��
-//   const jsonObject3 = { data: data3 };
-
-//   // 鎻愪氦鏁版嵁鍒板悗绔�
-//   const jsonString3 = JSON.stringify(jsonObject3);
-//   console.log('鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨:', jsonString3);
-//   socket?.send(jsonString3);
-//   // setTimeout(()=>
-//   //   window.location.reload(),2000
-//   // )
-// }
 
 
 //A01鍗婅嚜鍔ㄦ彁浜�
@@ -468,7 +490,7 @@
   }
 
   let obj = JSON.parse(msg.data);
-  //  console.log(obj)
+   console.log(obj)
 const weihuiling=obj.weihuiling;
   const jsonData2 = this.jsonData;
 
@@ -518,6 +540,9 @@
 }, 50);
 
   document.addEventListener('mouseover', handleMouseMove);
+
+
+  if (obj.qidong){
 
 
 
@@ -570,24 +595,44 @@
 // }
 
 // console.log(jsonData2[5][4].button.value)
-if(jsonData2[2][3].button.value===1){
+if(jsonData2[2][3].button.value===1 &&  (jsonData2[2][3].button.name==="NotZero" ||jsonData2[2][3].button.name==="鏈洖闆�")){
   jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("鏈洖闆�","宸插洖闆�") ;
   jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("NotZero","Zero") ;
 }
-if(jsonData2[3][3].button.value===1){
+if(jsonData2[3][3].button.value===1 &&  (jsonData2[3][3].button.name==="NotZero" ||jsonData2[3][3].button.name==="鏈洖闆�")){
   jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("鏈洖闆�","宸插洖闆�") ;
   jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("NotZero","Zero") ;
 }
-if(jsonData2[4][4].button.value===1){
+if(jsonData2[4][4].button.value===1 &&  (jsonData2[4][4].button.name==="NotZero" ||jsonData2[4][4].button.name==="鏈洖闆�")){
   jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("鏈洖闆�","宸插洖闆�") ;
   jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("NotZero","Zero") ;
 }
-if(jsonData2[5][4].button.value===1){
+if(jsonData2[5][4].button.value===1 &&  (jsonData2[5][4].button.name==="NotZero" ||jsonData2[5][4].button.name==="鏈洖闆�")){
   jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("鏈洖闆�","宸插洖闆�") ;
   jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("NotZero","Zero") ;
 }
 
 
+
+
+if(jsonData2[2][3].button.value===0 && (jsonData2[2][3].button.name==="Zero" ||jsonData2[2][3].button.name==="宸插洖闆�")){
+  jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("宸插洖闆�","鏈洖闆�") ;
+  jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("Zero","NotZero") ;
+}
+if(jsonData2[3][3].button.value===0 && (jsonData2[3][3].button.name==="Zero" ||jsonData2[3][3].button.name==="宸插洖闆�")){
+  jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("宸插洖闆�","鏈洖闆�") ;
+  jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("Zero","NotZero") ;
+}
+if(jsonData2[4][4].button.value===0 && (jsonData2[4][4].button.name==="Zero" ||jsonData2[4][4].button.name==="宸插洖闆�")){
+  jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("宸插洖闆�","鏈洖闆�") ;
+  jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("Zero","NotZero") ;
+}
+if(jsonData2[5][4].button.value===0  && (jsonData2[5][4].button.name==="Zero" ||jsonData2[5][4].button.name==="宸插洖闆�")){
+  jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("宸插洖闆�","鏈洖闆�") ;
+  jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("Zero","NotZero") ;
+}
+
+}
 
    
 };
@@ -709,4 +754,9 @@
   background-color: green;
 
 }
+
+.yihuiling{
+
+  background-color: green;
+}
 </style>
\ No newline at end of file
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 1d685d8..819e14e 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
@@ -16,6 +16,14 @@
     config = new Configuration("config.properties");
   }
 
+
+
+  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+  MessageHandler customS7Control = new MessageHandler();
+
+
+
+
   public static class PLCBooleanConverter {
 
     public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
@@ -247,18 +255,6 @@
             }
             if (!sValue.isEmpty()) {
               S7control.getinstance().WriteWord(waddresses1, sValue);
-              if (A01readstart != null && !A01readstart.isEmpty()) {
-                // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                List<Boolean> a01startval = new ArrayList<>();
-                // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                for (Boolean bit : A01readstart) {
-                  // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                  a01startval.add(!bit);
-                }
-                // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                S7control.getinstance().WriteBit(A01start, a01startval);
-                System.out.println("a01startval " + a01startval + " written to PLC at address " + A01start);
-              }
 
 
               System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
@@ -286,17 +282,7 @@
             }
             if (!sValue2.isEmpty()) {
               S7control.getinstance().WriteWord(waddresses2, sValue2);
-              if (A02readstart != null && !A02readstart.isEmpty()) {
-                // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                List<Boolean> a02startval = new ArrayList<>();
-                // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                for (Boolean bit : A02readstart) {
-                  // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                  a02startval.add(!bit);
-                }
-                // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                S7control.getinstance().WriteBit(A02start, a02startval);
-              }
+
 
 
               System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
@@ -323,17 +309,7 @@
             }
             if (!sValue2.isEmpty()) {
               S7control.getinstance().WriteWord(waddresses3, sValue2);
-              if (B01readstart != null && !B01readstart.isEmpty()) {
-                // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                List<Boolean> b01startval = new ArrayList<>();
-                // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                for (Boolean bit : B01readstart) {
-                  // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                  b01startval.add(!bit);
-                }
-                // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                S7control.getinstance().WriteBit(B01start, b01startval);
-              }
+
               System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3);
             }
           }
@@ -358,18 +334,7 @@
             }
             if (!sValue2.isEmpty()) {
               S7control.getinstance().WriteWord(waddresses4, sValue2);
-              if (B02readstart != null && !B02readstart.isEmpty()) {
-                // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                List<Boolean> b02startval = new ArrayList<>();
-                // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                for (Boolean bit : B02readstart) {
-                  // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                  b02startval.add(!bit);
-                }
-                // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                S7control.getinstance().WriteBit(B02start, b02startval);
-                System.out.println("Values " + b02startval + " written to PLC at address " + B02start);
-              }
+
               System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4);
             }
           }
@@ -446,6 +411,11 @@
             }
           }
 
+          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 51b0640..2947528 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
@@ -16,6 +16,8 @@
     config = new Configuration("config.properties");
   }
 
+
+  MessageHandler customS7Control = new MessageHandler();
   public static class PLCBooleanConverter {
 
     public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
@@ -197,17 +199,7 @@
                 }
                 if (!sValue.isEmpty()) {
                   S7control.getinstance().WriteWord(waddresses1, sValue);
-                  if (A01readstart != null && !A01readstart.isEmpty()) {
-                    // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                    List<Boolean> a01startval = new ArrayList<>();
-                    // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                    for (Boolean bit : A01readstart) {
-                      // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                      a01startval.add(!bit);
-                    }
-                    // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                    S7control.getinstance().WriteBit(A01start, a01startval);
-                  }
+
                   System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
                 }
               }
@@ -232,17 +224,7 @@
                 }
                 if (!sValue2.isEmpty()) {
                   S7control.getinstance().WriteWord(waddresses2, sValue2);
-                  if (A02readstart != null && !A02readstart.isEmpty()) {
-                    // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                    List<Boolean> a02startval = new ArrayList<>();
-                    // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                    for (Boolean bit : A02readstart) {
-                      // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                      a02startval.add(!bit);
-                    }
-                    // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                    S7control.getinstance().WriteBit(A02start, a02startval);
-                  }
+
                   System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
                 }
               }
@@ -319,6 +301,10 @@
                 }
               }
 
+
+              customS7Control.writeBitToPLC( messageArray, A01start,5);
+              customS7Control.writeBitToPLC( messageArray, A02start,6);
+
               // 娓呯┖娑堟伅鍒楄〃
               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
deleted file mode 100644
index 3b02ae3..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.example.springboot.component;
-
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONObject;
-import org.apache.commons.io.FileUtils;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-
-public class PlcParameter2 extends Thread {
-
-
-  // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-  private Configuration config;
-
-  // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
-  MessageHandler customS7Control = new MessageHandler();
-
-
-  public PlcParameter2() throws IOException {
-    config = new Configuration("config.properties");
-  }
-
-
-  public static String readFileToString(String filePath) throws IOException {
-    File file = new File(filePath);
-    return FileUtils.readFileToString(file, "UTF-8");
-  }
-
-
-
-  @Override
-  public void run() {
-    while (this != null) {
-      try {
-        Thread.sleep(1000);
-
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-
-   //    id
-      List<String> addressList1 = Arrays.asList(config.getProperty("Parameter2.id").split(","));
-
-
-
-      List<String> paramlist = S7control.getinstance().readStrings(addressList1);
-
-
-   //娓呴櫎ID鍦板潃
-      List<String> addresses = Arrays.asList(config.getProperty("Parameter2.cleanid").split(","));
-
-      List<Short> data = S7control.getinstance().readWords(addresses);
-
-
-      //鎵嬪姩鐘舵��
-      List<String> addressList0 = Arrays.asList(config.getProperty("Parameter2.state").split(","));
-
-
-      List<Boolean> data2 = S7control.getinstance().readBits(addressList0);
-      // 鎵爜鏋�
-      List<String> addressList3 = Arrays.asList(config.getProperty("Parameter2.scanner").split(","));
-
-      List<String> data3 = S7control.getinstance().readStrings(addressList3);
-
-
-//鎬ュ仠
-      List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
-
-      List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
-
-
-
-
-// A01 A02 B01 B02 褰撳墠鏍煎瓙
-      List<String> addresses4 = Arrays.asList(config.getProperty("Parameter2.Currentcell").split(","));
-
-
-    List<Short> data4 = S7control.getinstance().readWords(addresses4);
-
-//      List<Long> TIME2 = Collections.singletonList(S7control.getinstance().readtime("DB100.194"));
-//      System.out.println("addressList锛�" + TIME2);
-
-
-      //
-
-
-
-
-//      String[] values6 = { ".x1 ","x2 ","x3",";;x4","x5","x6","x7","x8","x9","x10","x11"};
-//      List<String> paramlist = new ArrayList<>(Arrays.asList(values6));
-//      Short[] values1 = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1};
-//     List<Short> data = new ArrayList<>(Arrays.asList(values1));
-//      Boolean[] value4 = { false, false, false, false, false, false, false, false, false,
-//              false};
-//     List<Boolean> data2 = new ArrayList<>(Arrays.asList(value4));
-//      String[] values3 = { ".x11 ","x21 "};
-//      List<String> data3 = new ArrayList<>(Arrays.asList(values3));
-//      Short[] values4 = { 2,2,3,4};
-//      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;
-      }
-
-      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);
-
-
-
-      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- webserver.sendMessage(jsonObject.toString());
-
-
-
-
-        List<String> messages = webserver.getMessages();
-
-
-
-
-
-        if (!messages.isEmpty()) {
-          // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-          String lastMessage = messages.get(messages.size() - 1);
-//        System.out.println("lastMessage锛�" + lastMessage);
-          JSONArray messageArray = new JSONArray(lastMessage);
-
-        //娓呴櫎id
-          customS7Control.writeBitToPLC( messageArray, addresses,0);
-
-         //鎬ュ仠
-          customS7Control.writeBitToPLC( messageArray, niuanaddressList3,1);
-
-
-          // 娓呯┖娑堟伅鍒楄〃
-            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 1bcf74b..6c3299a 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
@@ -122,7 +122,7 @@
 
                             // 鏁村悎绗� 1 鍒� 3 涓暟缁勫苟鍘绘帀 null 鍏冪礌
                             List<Short> mergedList = new ArrayList<>();
-                            for (int i = 0; i < 5; i++) {
+                            for (int i = 0; i < 7; i++) {
                                 JSONArray sublist = messageArray.getJSONArray(i);
                                 for (int j = 0; j < sublist.size(); j++) {
                                     Object value = sublist.get(j);
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 88bd43d..7d5e20e 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
@@ -139,9 +139,10 @@
       List<Boolean> resumeTasks = S7control.getinstance().readBits(abortresumeTasks);
 
       short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
-              A01readstart, A01readBstart, A02readstart, A02readsBtart
+              A01readBstart, A01readstart,   A02readsBtart,A02readstart
       );
 
+//      System.out.println(A01readBstart);
 
 // 鎵�鏈夋晠闅滄寜閽浆鎹负1鍜�0
       short[] params2 = new short[arraylist7.size()];
@@ -255,36 +256,18 @@
 
               // 鍐欏叆AO1缁勫悎
               customS7Control.WriteWordToPLC(messageArray, addresses,0);
-              if (messageArray.getJSONArray(0).size() > 0) {
-                if (A01readstart != null && !A01readstart.isEmpty()) {
-                  // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                  List<Boolean> a01startval = new ArrayList<>();
-                  // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                  for (Boolean bit : A01readstart) {
-                    // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                    a01startval.add(!bit);
-                  }
-                  // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                  S7control.getinstance().WriteBit(A01start, a01startval);
-                }
-              }
+
+              //A01鍗婅嚜鍔ㄥ惎鍔�
+              customS7Control.writeBitToPLC( messageArray, A01start,8);
 
 
               // 鍐欏叆AO2缁勫悎
               customS7Control.WriteWordToPLC(messageArray, addresses2,1);
-              if (messageArray.getJSONArray(1).size() > 0) {
-                if (A02readstart != null && !A02readstart.isEmpty()) {
-                  // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
-                  List<Boolean> a02startval = new ArrayList<>();
-                  // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
-                  for (Boolean bit : A02readstart) {
-                    // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
-                    a02startval.add(!bit);
-                  }
-                  // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
-                  S7control.getinstance().WriteBit(A02start, a02startval);
-                }
-              }
+              //A02鍗婅嚜鍔ㄥ惎鍔�
+
+              customS7Control.writeBitToPLC( messageArray, A02start,9);
+
+
 
               // 澶嶄綅鎸夐挳鍐欏叆
               customS7Control.writeBitToPLC( messageArray, Reset,2);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index d258474..53913d9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,7 +17,7 @@
         //
         System.out.println("鍚姩瀹屾垚");
 
-//new PlcHold().start();
+new PlcHold().start();
 
         new Plchome().start();
 
diff --git a/springboot-vue3/src/main/resources/config.properties b/springboot-vue3/src/main/resources/config.properties
index d46fa55..296a448 100644
--- a/springboot-vue3/src/main/resources/config.properties
+++ b/springboot-vue3/src/main/resources/config.properties
@@ -27,9 +27,9 @@
 A02start=DB101.5.1
 #A01start
 A01start=DB101.5.0
-#A02start
+#A02bstart
 A02Bstart=DB101.11.1
-#A01start
+#A01bstart
 A01Bstart=DB101.11.0
 #abort/resumeTasks
 abortresumeTasks=DB101.10.4
@@ -63,12 +63,12 @@
 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
-Parameter2.cleanid=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
+Parameter2.state=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
 
 
 
 #鎵嬪姩鐘舵��
-Parameter2.state=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.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
 

--
Gitblit v1.8.0