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