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