From 37f7f87968cfd2c400283fbf83851c39c2c4d456 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 20 十二月 2023 08:12:26 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
springboot-vue3/src/main/resources/config.properties | 78 +
CanadaMes-ui/src/views/Electrical/Positioning2.vue | 4
CanadaMes-ui/src/views/home/index.vue | 86
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java | 282 +---
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java | 62
CanadaMes-ui/src/views/Electrical/Parameter2.vue | 32
CanadaMes-ui/src/views/Electrical/State.vue | 4
springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java | 170 +-
CanadaMes-ui/src/views/Electrical/Parameter.vue | 2
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java | 353 ++--
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 381 ++--
CanadaMes-ui/src/configuration/AutomaticParameterSetting.json | 100 +
CanadaMes-ui/src/views/Electrical/Positioning1.vue | 52
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue | 173 +-
CanadaMes-ui/src/views/Electrical/alarm.vue | 2
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java | 172 --
CanadaMes-ui/src/views/Electrical/Action.vue | 4
CanadaMes-ui/src/views/device/talkvue.vue | 3
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java | 274 +--
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue | 94 +
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java | 413 ++---
CanadaMes-ui/src/configuration/ManualJog.json | 50
CanadaMes-ui/src/configuration/Positioning1.json | 4
CanadaMes-ui/src/views/Electrical/Servomanual.vue | 4
CanadaMes-ui/src/views/Electrical/Sign.vue | 4
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | 6
CanadaMes-ui/.env | 2
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue | 91
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java | 46
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java | 7
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 24
springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java | 22
CanadaMes-ui/src/views/login/index.vue | 2
CanadaMes-ui/src/lang/locales/en-US.json | 4
CanadaMes-ui/src/views/Electrical/ManualJog.vue | 123 +
CanadaMes-ui/src/views/Electrical/Parameter1.vue | 4
CanadaMes-ui/src/views/Electrical/ServoManualone.vue | 179 +-
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java | 592 +++-----
38 files changed, 1,753 insertions(+), 2,152 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/ManualJog.json b/CanadaMes-ui/src/configuration/ManualJog.json
index 36a392a..40c659a 100644
--- a/CanadaMes-ui/src/configuration/ManualJog.json
+++ b/CanadaMes-ui/src/configuration/ManualJog.json
@@ -4,6 +4,7 @@
"button": {
"name": "D01杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -13,6 +14,7 @@
"button": {
"name": "D02杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -22,6 +24,7 @@
"button": {
"name": "D03杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -31,6 +34,7 @@
"button": {
"name": "D04杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -40,6 +44,7 @@
"button": {
"name": "D05杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -49,6 +54,7 @@
"button": {
"name": "D06杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -58,6 +64,7 @@
"button": {
"name": "A01杈撻�佹鍚�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -67,6 +74,7 @@
"button": {
"name": "A01杈撻�佸弽鍚�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -77,6 +85,7 @@
"button": {
"name": "A01琛岃蛋鐐瑰姩",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -86,6 +95,7 @@
"button": {
"name": "A01缈昏浆",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -95,6 +105,7 @@
"button": {
"name": "A01娉ㄧ數娉�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -104,6 +115,7 @@
"button": {
"name": "A02杈撻�佹鍚�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -113,6 +125,7 @@
"button": {
"name": "A02杈撻�佸弽鍚�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -122,6 +135,7 @@
"button": {
"name": "A02琛岃蛋鐐瑰姩",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -131,6 +145,7 @@
"button": {
"name": "A02缈昏浆",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -143,6 +158,7 @@
"button": {
"name": "A02娉ㄧ數娉�",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -152,6 +168,7 @@
"button": {
"name": "B01杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -161,6 +178,7 @@
"button": {
"name": "B01琛岃蛋鐐瑰姩",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -171,6 +189,7 @@
"button": {
"name": "B01缈昏浆姘旂几",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -180,6 +199,7 @@
"button": {
"name": "B01鍗囬檷姘旂几",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -188,6 +208,7 @@
"button": {
"name": "B01鍚规皵",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -197,6 +218,7 @@
"button": {
"name": "B02杈撻��",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -210,6 +232,7 @@
"button": {
"name": "B02琛岃蛋鐐瑰姩",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -219,6 +242,7 @@
"button": {
"name": "B02缈昏浆姘旂几",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -228,6 +252,7 @@
"button": {
"name": "B02鍗囬檷姘旂几",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 0
},
@@ -237,6 +262,7 @@
"button": {
"name": "B02鍚规皵",
"value": 0,
+ "value2": 0,
"address": "DB10.0",
"state": 1
},
@@ -244,5 +270,29 @@
}
+ ],
+ [
+ {
+ "button": {
+ "name": "A01琛岃蛋浼烘湇鍥為浂",
+ "value": 0,
+ "value2": 0,
+ "address": "DB10.0",
+ "state": 1
+ },
+ "type": "3"
+ },
+ {
+ "button": {
+ "name": "A02琛岃蛋浼烘湇鍥為浂",
+ "value": 0,
+ "value2": 0,
+ "address": "DB10.0",
+ "state": 1
+ },
+ "type": "3"
+ }
+
+
]
]
\ No newline at end of file
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/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index e983db3..124e8c3 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -530,7 +530,9 @@
"A01杈撻�佸弽鍚�": "A01 VFD conveyor reverse",
"A02杈撻�佸弽鍚�": "A02 VFD conveyor reverse",
"A01娉ㄧ數娉�": "A01 oil pump",
- "A02娉ㄧ數娉�": "A02 oil pump"
+ "A02娉ㄧ數娉�": "A02 oil pump",
+ "A01琛岃蛋浼烘湇鍥為浂":"A01 SERVE TRAVEL Home",
+ "A02琛岃蛋浼烘湇鍥為浂":"A02 SERVE TRAVEL Home"
}
diff --git a/CanadaMes-ui/src/views/Electrical/Action.vue b/CanadaMes-ui/src/views/Electrical/Action.vue
index 4f9a45d..14bdbb6 100644
--- a/CanadaMes-ui/src/views/Electrical/Action.vue
+++ b/CanadaMes-ui/src/views/Electrical/Action.vue
@@ -6,8 +6,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
index 88ca078..c9fd7bb 100644
--- a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
+++ b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
@@ -60,9 +60,23 @@
<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> -->
+
+ <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>
+
+
</div>
</div>
@@ -77,7 +91,7 @@
<script>
import LanguageMixin from '../../lang/LanguageMixin'
import data from '../../configuration/AutomaticParameterSetting'
-import { throttle } from 'lodash';
+
let socket;
export default {
@@ -107,6 +121,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 => {
@@ -163,93 +182,83 @@
// 鏀跺埌娑堟伅
socket.onmessage = (msg) => {
- if (!msg.data) {
- return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
- }
+ if (!msg.data) {
+ return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
- let obj = JSON.parse(msg.data);
- const jsonData2 = this.jsonData;
- // console.log(obj);
- const handleMouseMove = throttle(function (event) {
+ let obj = JSON.parse(msg.data);
+ const jsonData2 = this.jsonData;
- const inputBox = document.querySelectorAll('.input-box');
- const target = event.target;
- if (inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
- const parms = obj.params;
- const fanzhuan = obj.fanzhuan;
- const xiaoche = obj.xiaoche;
- const dache = obj.dache1;
+ const handleMouseMove = (event) => {
+ if (!event || !event.target) {
+ return; // 濡傛灉 event 鎴� event.target 涓嶅瓨鍦紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
- const parms2 = obj.params2;
- const fanzhuan2 = obj.fanzhuan2;
- const xiaoche2 = obj.xiaoche2;
+ const inputBox = document.querySelectorAll('.input-box');
+ const target = event.target;
+ const isMouseInInput = Array.from(inputBox).some(box => box.contains(target));
- // console.log('parms:', parms);
- // console.log('fanzhuan:', fanzhuan);
- // console.log('xiaoche:', xiaoche);
- // console.log('dache:', dache);
+ if (!isMouseInInput) {
+ const parms = obj.params;
+ const fanzhuan = obj.fanzhuan;
+ const xiaoche = obj.xiaoche;
+ const dache = obj.dache1;
- let index = 0;
- for (let i = 0; i < jsonData2.length - 1; i++) {
- let arr = jsonData2[i];
+ const parms2 = obj.params2;
+ const fanzhuan2 = obj.fanzhuan2;
+ const xiaoche2 = obj.xiaoche2;
- for (let j = 0; j < arr.length; j++) {
- let obj = arr[j];
- if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
- if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
- obj.value = parms[0][index];
- index++;
- }
- }
- }
- }
- if (Array.isArray(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) {
- jsonData2[4][0]['value'] = fanzhuan[0][0];
- }
- if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) {
- jsonData2[3][0]['value'] = xiaoche[0][0];
- }
- if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) {
- jsonData2[2][0]['value'] = dache[0][0];
- }
-
+ let index = 0;
+ for (let i = 0; i < jsonData2.length - 1; i++) {
+ let arr = jsonData2[i];
-
-
-
- let index2 = 0;
- for (let i =5; i < jsonData2.length; i++) {
- let arr = jsonData2[i];
-
- for (let j = 0; j < arr.length; j++) {
- let obj2 = arr[j];
- if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) {
- if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) {
- obj2.value = parms2[0][index2];
- index2++;
- }
- }
- }
- }
- if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) {
- jsonData2[8][0]['value'] = fanzhuan2[0][0];
- }
- if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) {
- jsonData2[9][0]['value'] = xiaoche2[0][0];
- }
-
+ for (let j = 0; j < arr.length; j++) {
+ let obj = arr[j];
+ if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
+ if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
+ obj.value = parms[0][index];
+ index++;
}
+ }
+ }
+ }
+ if (Array.isArray(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) {
+ jsonData2[4][0]['value'] = fanzhuan[0][0];
+ }
+ if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) {
+ jsonData2[3][0]['value'] = xiaoche[0][0];
+ }
+ if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) {
+ jsonData2[2][0]['value'] = dache[0][0];
+ }
+ let index2 = 0;
+ for (let i = 5; i < jsonData2.length; i++) {
+ let arr = jsonData2[i];
+ for (let j = 0; j < arr.length; j++) {
+ let obj2 = arr[j];
+ if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) {
+ if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) {
+ obj2.value = parms2[0][index2];
+ index2++;
+ }
+ }
+ }
+ }
+ if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) {
+ jsonData2[8][0]['value'] = fanzhuan2[0][0];
+ }
+ if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) {
+ jsonData2[9][0]['value'] = xiaoche2[0][0];
+ }
+ }
+ };
+ setInterval(() => handleMouseMove(event), 1000); // 姣忛殧 1000ms 妫�娴嬩竴娆¢紶鏍囦綅缃�
-
-
- }, 50);
-
- document.addEventListener('mouseover', handleMouseMove);
- };
-
+document.addEventListener('mousemove', event => handleMouseMove(event));
+};
@@ -295,7 +304,7 @@
});
- console.log(this.jsonData)
+ //console.log(this.jsonData)
}
diff --git a/CanadaMes-ui/src/views/Electrical/ManualJog.vue b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
index 6cfa63b..dab071b 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualJog.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
@@ -50,14 +50,14 @@
</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"
- :class="{ 'dow': false, 'op': item.button.value === 1 }" class="action-button"
- @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend();">{{
+ <el-button v-if="item.button" v-model="item.button.value" :name="item.button.name" style='width:200px;'
+ :class="{ 'dow': item.button.value === 0, 'op': item.button.value === 1 }" class="action-button"
+ @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
item.button.name
}}</el-button>
</div>
@@ -72,16 +72,19 @@
<script>
import LanguageMixin from '../../lang/LanguageMixin'
import data from '../../configuration/ManualJog'
+import {SelectPassword} from "../../api/home";
let socket;
export default {
name: "ManualJog",
mixins: [LanguageMixin],
data () {
return {
- jsonData: data // 鍔犺浇鏁翠釜data.json鏂囦欢浣滀负jsonData
+ jsonData: data, // 鍔犺浇鏁翠釜data.json鏂囦欢浣滀负jsonData
+ password: 1,
}
},
activated () {
+
this.initWebSocket();
const language = this.$i18n.locale;
@@ -89,9 +92,12 @@
if (language === 'en-US') {
this.replaceChineseWithEnglish();
}
- this.$forceUpdate();
+ // this.$forceUpdate();
-
+ SelectPassword().then(res => {
+ this.password = res.data.password;
+ console.log(this.password)
+ });
},
methods: {
closeSocket () {
@@ -99,33 +105,77 @@
socket.close();
},
updateButtonValue (dataGroup, itemIndex) {
- if (dataGroup[itemIndex].button.value === 1) {
+ if (dataGroup[itemIndex].button.value2 === 0) {
// 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
- this.$set(dataGroup[itemIndex].button, 'value', 0);
+ this.$set(dataGroup[itemIndex].button, 'value2', 1);
} else {
// 鍚﹀垯灏嗗叾璁句负 0
- this.$set(dataGroup[itemIndex].button, 'value', 1);
+ this.$set(dataGroup[itemIndex].button, 'value2', 0);
}
},
- submitDataToBackend () {
- const inputData = this.jsonData.map(dataGroup => {
- return dataGroup.map(item => {
- if (item.type === '3') {
- return { value: item.button.value };
+ submitDataToBackend (currentButtonName) {
+
+ if (currentButtonName === 'A01 SERVE TRAVEL Home' || currentButtonName === 'A02 SERVE TRAVEL Home' || currentButtonName === 'A01琛岃蛋浼烘湇鍥為浂' || currentButtonName === 'A02琛岃蛋浼烘湇鍥為浂') {
+ this.$prompt(
+ this.$t('Are you sure to perform this operation?'),
+ this.$t('prompt'),
+ {
+ inputType: 'password',
+ inputPlaceholder: this.$t('Please enter the password'),
+ confirmButtonText: this.$t('Yes'),
+ cancelButtonText: this.$t('No'),
+ type: 'warning',
}
- return null;
+ ).then(({ value }) => {
+ // 楠岃瘉瀵嗙爜鏄惁姝g‘
+ if (value !== this.password) {
+ this.$message.error(this.$t('Incorrect password'));
+ return;
+ }
+
+ // 瀵嗙爜姝g‘锛岀户缁彁浜ゆ暟鎹埌鍚庣
+ const inputData = this.jsonData.map(dataGroup => {
+ return dataGroup.map(item => {
+ if (item.type === '3') {
+ return { value: item.button.value2 };
+ }
+ return null;
+ });
+ });
+
+ const values = inputData.flat().filter(item => item !== null).map(item => item.value);
+
+ const jsonObject = { data: values };
+
+ // 鎻愪氦鏁版嵁鍒板悗绔�
+ const jsonString = JSON.stringify(jsonObject);
+ console.log('Type涓�3鐨剉alue:', jsonString);
+ socket?.send(jsonString);
+
+ }).catch(() => {
+ // 鍙栨秷鎿嶄綔
+ console.log('鍙栨秷');
});
- });
+ } else {
+ // 濡傛灉涓嶆槸 A01 SERVE TRAVEL Home 鎸夐挳锛岀户缁彁浜ゆ暟鎹埌鍚庣
+ const inputData = this.jsonData.map(dataGroup => {
+ return dataGroup.map(item => {
+ if (item.type === '3') {
+ return { value: item.button.value2 };
+ }
+ return null;
+ });
+ });
- const values = inputData.flat().filter(item => item !== null).map(item => item.value);
+ const values = inputData.flat().filter(item => item !== null).map(item => item.value);
- const jsonObject = { data: values };
+ const jsonObject = { data: values };
- // 鎻愪氦鏁版嵁鍒板悗绔�
- const jsonString = JSON.stringify(jsonObject);
- console.log('Type涓�3鐨剉alue:', jsonString);
- socket?.send(jsonString);
-
+ // 鎻愪氦鏁版嵁鍒板悗绔�
+ const jsonString = JSON.stringify(jsonObject);
+ console.log('Type涓�3鐨剉alue:', jsonString);
+ socket?.send(jsonString);
+ }
},
//鏍规嵁璇诲彇PLC鐨勫�硷紝鏍规嵁鍚嶇О鏀瑰彉棰滆壊1鎵撳紑锛�0鍏抽棴
// getStatusClass (zhuangtai) {
@@ -168,25 +218,30 @@
let obj = JSON.parse(msg.data);
const jsonData2 = this.jsonData;
-
+ const parms = obj.params;
+// console.log(obj)
+//console.log(this.jsonData)
+ if(parms){
// 濡傛灉榧犳爣涓嶅湪杈撳叆妗嗗唴锛屾洿鏂拌緭鍏ユ鐨勫��
// this.submitDataToBackend()
- const parms = obj.params;
- // const xiaoche = obj.params[3];
-
- // console.log(parms);
-
-if(obj.params){
-
+
+
+
for (let i = 0; i < jsonData2.length; i++) {
let arr = jsonData2[i];
for (let j = 0; j < arr.length; j++) {
let obj = arr[j];
obj.button.value = parms[0][j];
+ obj.button.value2 =obj.button.value;
+
}
}
+
+
+
+
}
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
index 3a20c2c..c9934cd 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
@@ -55,8 +55,14 @@
<div class="item-row">
<span class="name" style="width:300px;">{{ item.name }}</span>
- <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="A01start"
+ <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0 && (itemIndex === 2)" readonly v-model="item.value"
class="input-box"></el-input>
+
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start"
+ class="input-box"></el-input>
+ <el-input style="width: 250px;" v-else-if="(item.state !== 0) && (item.type === '0') && (itemIndex === 2)" v-model="item.value" readonly class="input-box"></el-input>
+
+
<el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
class="input-box"></el-input>
<el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 2" v-model="item.value" @keyup.enter.native="B01start"
@@ -71,12 +77,12 @@
<div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
<el-button v-if="item.button && language === 'en-US' && item.state != 0" :name="item.button.name"
v-model="item.button.value"
- :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
+ :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'Zero' && item.button.value === 1,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
@click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
item.button.name }}</el-button>
<el-button v-if="item.button && language === 'zh-CN' && item.state != 0" :name="item.button.name"
v-model="item.button.value"
- :class="{ 'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1, 'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'error-button3': item.button.name === '鏈洖闆�' && item.button.value === 1,'greenbutton': item.button.name !== '鏈洖闆�' && item.button.name !== '鏁呴殰' && item.button.value === 1 }"
+ :class="{ 'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1, 'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'error-button3': item.button.name === '宸插洖闆�' && item.button.value === 1,'greenbutton': item.button.name !== '鏈洖闆�' && item.button.name !== '鏁呴殰' && item.button.value === 1 }"
@click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
item.button.name }}</el-button>
</div>
@@ -98,7 +104,7 @@
<script>
import LanguageMixin from '../../lang/LanguageMixin'
import data from '../../configuration/Manualoneposition'
-import { throttle } from 'lodash';
+
import ManualonePosition2 from './ManualonePosition2.vue';
let socket;
export default {
@@ -325,24 +331,25 @@
}
if (currentButtonName === '鏁呴殰' || currentButtonName === 'Fault') {
+ return false;
- const data2 = [];
- const resetButtonValues = this.jsonData.map(item => {
- // const buttonItem = item.find(subItem => subItem.button && subItem.button.name === '鏁呴殰' || subItem.button.name === 'Fault');
- const buttonItem = item.find(subItem => subItem.button && ['鏁呴殰', 'Fault'].includes(subItem.button.name));
- return buttonItem ? buttonItem.button.value : null;
- }).filter(value => value !== null);
+ // const data2 = [];
+ // const resetButtonValues = this.jsonData.map(item => {
+ // // const buttonItem = item.find(subItem => subItem.button && subItem.button.name === '鏁呴殰' || subItem.button.name === 'Fault');
+ // const buttonItem = item.find(subItem => subItem.button && ['鏁呴殰', 'Fault'].includes(subItem.button.name));
+ // return buttonItem ? buttonItem.button.value : null;
+ // }).filter(value => value !== null);
- // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
- data2.push(...resetButtonValues);
- data2.unshift([], [], [], []);
- const jsonObject2 = { data:data2 };
- data.push([],[]);
+ // // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
+ // data2.push(...resetButtonValues);
+ // data2.unshift([], [], [], []);
+ // const jsonObject2 = { data:data2 };
+ // data.push([],[]);
- // 鎻愪氦鏁版嵁鍒板悗绔�
- const jsonString2 = JSON.stringify(jsonObject2);
- console.log('鎵�鏈夋晠闅滅殑value:', jsonString2);
- socket?.send(jsonString2);
+ // // 鎻愪氦鏁版嵁鍒板悗绔�
+ // const jsonString2 = JSON.stringify(jsonObject2);
+ // console.log('鎵�鏈夋晠闅滅殑value:', jsonString2);
+ // socket?.send(jsonString2);
}
@@ -372,11 +379,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);
@@ -430,13 +437,26 @@
}
let obj = JSON.parse(msg.data);
- // console.log(obj);
const jsonData2 = this.jsonData;
const weihuiling = obj.weihuiling;
- const handleMouseMove = throttle(function (event) {
- const inputBox = document.querySelectorAll('.el-card__body');
- const target = event.target;
- if (obj.zuhe1 &&inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
+ const handleMouseMove = (event) => {
+ if (!event || !event.target) {
+ return; // 濡傛灉 event 鎴� event.target 涓嶅瓨鍦紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
+
+ const inputBox = document.querySelectorAll('.input-box');
+ const target = event.target;
+ // console.log(obj);
+
+ const isMouseInInput = Array.from(inputBox).some(box => box.contains(target));
+
+ if (!isMouseInInput) {
+
+
+ if(obj.zuhe1){
+
+
+
// 鎵ц鏇存柊閫昏緫
for (let i = 0; i < 4; i++) {
jsonData2[i].forEach((item, index) => {
@@ -445,17 +465,16 @@
}
});
}
-
-
-
-
-
-
+ }
}
- }, 50);
+ }
- document.addEventListener('mouseover', handleMouseMove);
+ // console.log(jsonData2);
+ setInterval(() => handleMouseMove(event), 1000); // 姣忛殧 1000ms 妫�娴嬩竴娆¢紶鏍囦綅缃�
+
+document.addEventListener('mousemove', event => handleMouseMove(event));
+
if(obj.zuhe1){
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index fee9ef8..c2db6ea 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -43,10 +43,24 @@
<div class="item-row">
<span class="name" style="width:300px;">{{ item.name }}</span>
- <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="A01start"
+
+ <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0 && (itemIndex === 2)" readonly v-model="item.value"
class="input-box"></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
+
+
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1 && (itemIndex === 2)" readonly v-model="item.value"
class="input-box"></el-input>
+
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start"
+ class="input-box"></el-input>
+
+
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1 " v-model="item.value" @keyup.enter.native="A02start"
+ class="input-box"></el-input>
+
+
+
+
<el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
class="input-box"></el-input>
</div>
@@ -54,11 +68,11 @@
<div class="button-row" style="display: flex; justify-content: space-between;">
<div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
<el-button v-if="item.button && language === 'en-US'" :name="item.button.name" v-model="item.button.value"
- :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
+ :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'Zero' && item.button.value ===1,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
@click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
item.button.name }}</el-button>
<el-button v-if="item.button && language === 'zh-CN'" :name="item.button.name" v-model="item.button.value"
- :class="{ 'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1, 'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'greenbutton': item.button.name !== '鏈洖闆�' && item.button.name !== '鏁呴殰' && item.button.value === 1 }"
+ :class="{ 'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1, 'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'error-button3': item.button.name === '宸插洖闆�' && item.button.value === 1,'greenbutton': item.button.name !== '鏈洖闆�' && item.button.name !== '鏁呴殰' && item.button.value === 1 }"
@click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
item.button.name }}</el-button>
</div>
@@ -73,7 +87,7 @@
<script>
import LanguageMixin from '../../lang/LanguageMixin'
import data from '../../configuration/Manualoneposition2'
-import { throttle } from 'lodash';
+
let socket;
export default {
name: "ManualonePosition2",
@@ -210,24 +224,25 @@
}
if (currentButtonName === '鏁呴殰' || currentButtonName === 'Fault') {
+ return false;
- const data2 = [];
- const resetButtonValues = this.jsonData.map(item => {
- const buttonItem = item.find(subItem => subItem.button && ['鏁呴殰', 'Fault'].includes(subItem.button.name));
+ // const data2 = [];
+ // const resetButtonValues = this.jsonData.map(item => {
+ // const buttonItem = item.find(subItem => subItem.button && ['鏁呴殰', 'Fault'].includes(subItem.button.name));
- return buttonItem ? buttonItem.button.value : null;
- }).filter(value => value !== null);
+ // return buttonItem ? buttonItem.button.value : null;
+ // }).filter(value => value !== null);
- // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
- data2.push(...resetButtonValues);
- data2.unshift([], []);
- const jsonObject2 = { data2 };
- data2.push([], []);
+ // // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
+ // data2.push(...resetButtonValues);
+ // data2.unshift([], []);
+ // const jsonObject2 = { data2 };
+ // data2.push([], []);
- // 鎻愪氦鏁版嵁鍒板悗绔�
- const jsonString2 = JSON.stringify(jsonObject2);
- console.log('鎵�鏈夋晠闅滅殑value:', jsonString2);
- socket?.send(jsonString2);
+ // // 鎻愪氦鏁版嵁鍒板悗绔�
+ // const jsonString2 = JSON.stringify(jsonObject2);
+ // console.log('鎵�鏈夋晠闅滅殑value:', jsonString2);
+ // socket?.send(jsonString2);
}
@@ -255,11 +270,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);
@@ -309,13 +324,26 @@
}
let obj = JSON.parse(msg.data);
+
+
// console.log(obj)
const jsonData2 = this.jsonData;
const weihuiling = obj.weihuiling;
- const handleMouseMove = throttle(function (event) {
- const inputBox = document.querySelectorAll('.el-card__body');
- const target = event.target;
- if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
+ const handleMouseMove = (event) => {
+ if (!event || !event.target) {
+ return; // 濡傛灉 event 鎴� event.target 涓嶅瓨鍦紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
+
+ const inputBox = document.querySelectorAll('.input-box');
+ const target = event.target;
+ // console.log(obj);
+
+ const isMouseInInput = Array.from(inputBox).some(box => box.contains(target));
+
+
+if (!isMouseInInput) {
+
+ if (obj.zuhe1 ) {
// 鎵ц鏇存柊閫昏緫
for (let i = 0; i < 2; i++) {
jsonData2[i].forEach((item, index) => {
@@ -348,9 +376,15 @@
}
- }, 50);
+
- document.addEventListener('mouseover', handleMouseMove);
+ }
+
+ }
+ // console.log(jsonData2);
+ setInterval(() => handleMouseMove(event), 1000); // 姣忛殧 1000ms 妫�娴嬩竴娆¢紶鏍囦綅缃�
+
+document.addEventListener('mousemove', event => handleMouseMove(event));
if(obj.zuhe1){
@@ -518,4 +552,10 @@
background-color: green;
}
+
+.error-button3{
+ background-color: green;
+
+
+}
</style>
\ No newline at end of file
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter.vue b/CanadaMes-ui/src/views/Electrical/Parameter.vue
index bb15ca4..3d41689 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter.vue
@@ -102,7 +102,7 @@
if (typeof WebSocket === "undefined") {
console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket");
} else {
- let socketUrl = "ws://" + "localhost:8888" + "/springboot-vue3/api/talk/" + viewname;
+ let socketUrl = "ws://" + "192.168.10.21:8888" + "/springboot-vue3/api/talk/" + viewname;
if (socket != null) {
socket.close();
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter1.vue b/CanadaMes-ui/src/views/Electrical/Parameter1.vue
index 8cdd45d..c40f7b9 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter1.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter1.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter2.vue b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
index 12173e8..c8ae4de 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter2.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -15,13 +15,13 @@
active-class="blue-button"
>{{ $t("State") }}</router-link
>
- <router-link
+ <!-- <router-link
to="/Electrical/Action"
tag="el-button"
type="text"
active-class="blue-button"
- >{{ $t("Action") }}</router-link
- >
+ >{{ $t("Action") }}</router-link -->
+
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link
@@ -141,7 +141,7 @@
item.button.value === 2 && item.button.name !== 'Clear ID',
'yellow-button':
item.button.value === 1 && item.button.name !== 'Clear ID',
- id: item.button.value === 1 && item.button.name == 'Clear ID',
+ 'id': item.button.value === 1 && item.button.name === 'Clear ID',
}"
>{{ item.button.name }}</el-button
>
@@ -162,7 +162,7 @@
item.button.value === 2 && item.button.name !== '娓呴櫎ID',
'yellow-button':
item.button.value === 1 && item.button.name !== '娓呴櫎ID',
- id: item.button.value === 1 && item.button.name == '娓呴櫎ID',
+ 'id': item.button.value === 1 && item.button.name === '娓呴櫎ID',
}"
>{{ item.button.name }}</el-button
>
@@ -259,14 +259,14 @@
},
updateButtonValue(dataGroup, itemIndex) {
- if (dataGroup[itemIndex].button.value === 0) {
- // 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
- this.$set(dataGroup[itemIndex].button, "value", 1);
- } else {
- // 鍚﹀垯灏嗗叾璁句负 0
- this.$set(dataGroup[itemIndex].button, "value", 0);
- }
- },
+ if (dataGroup[itemIndex].button.value === 1) {
+ // 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
+ this.$set(dataGroup[itemIndex].button, 'value', 0);
+ } else {
+ // 鍚﹀垯灏嗗叾璁句负 0
+ this.$set(dataGroup[itemIndex].button, 'value', 1);
+ }
+},
submitDataToBackend(currentButtonName) {
if (currentButtonName === "娓呴櫎ID" || currentButtonName === "Clear ID") {
const data2 = [];
@@ -358,13 +358,13 @@
const parms = obj.params;
- console.log(obj);
+ // console.log(obj);
// const handleMouseMove = throttle(function(event) {
// const inputBox = document.querySelectorAll('.id');
// const target = event.target;
- // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
+ if (parms ) {
//鎬ュ仠鎸夐挳
jsonData2[13][0].button.value = obj.jiting[0][0];
@@ -473,7 +473,9 @@
}
}
}
+ }
};
+
// console.log(jsonData2);
// }, 50);
diff --git a/CanadaMes-ui/src/views/Electrical/Positioning1.vue b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
index f4febfd..9862208 100644
--- a/CanadaMes-ui/src/views/Electrical/Positioning1.vue
+++ b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -15,13 +15,13 @@
active-class="blue-button"
>{{ $t("State") }}</router-link
>
- <router-link
+ <!-- <router-link
to="/Electrical/Action"
tag="el-button"
type="text"
active-class="blue-button"
>{{ $t("Action") }}</router-link
- >
+ > -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link
@@ -206,7 +206,7 @@
// 鎻愪氦鏁版嵁鍒板悗绔�
const jsonString = JSON.stringify(jsonObject);
- // console.log('鎻愪氦浠ヤ笅鏁版嵁鍒板悗绔�:', jsonString);
+ console.log('鎻愪氦浠ヤ笅鏁版嵁鍒板悗绔�:', jsonString);
socket?.send(jsonString);
},
initWebSocket() {
@@ -237,25 +237,34 @@
// 鏀跺埌娑堟伅
socket.onmessage = (msg) => {
- if (!msg.data) {
- return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
- }
+ if (!msg.data) {
+ return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
- let obj = JSON.parse(msg.data);
- const jsonData2 = this.jsonData;
- document.addEventListener("mouseover", function (event) {
- const inputBox = document.querySelectorAll(".input-box");
- const target = event.target;
+ let obj = JSON.parse(msg.data);
+ const jsonData2 = this.jsonData;
+
+ const handleMouseMove = (event) => {
+ if (!event || !event.target) {
+ return; // 濡傛灉 event 鎴� event.target 涓嶅瓨鍦紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
+
+ const inputBox = document.querySelectorAll('.input-box');
+ const target = event.target;
+ const isMouseInInput = Array.from(inputBox).some(box => box.contains(target));
+
+ if (!isMouseInInput) {
+
+
const parms = obj.params;
- if (
- parms &&
- inputBox &&
- Array.from(inputBox).every((box) => !box.contains(target))
- ) {
+
// 濡傛灉榧犳爣涓嶅湪杈撳叆妗嗗唴锛屾洿鏂拌緭鍏ユ鐨勫��
// this.submitDataToBackend()
// console.log(parms)
+if(parms){
+
+
let index = 0;
for (let i = 0; i < jsonData2.length; i++) {
@@ -271,11 +280,16 @@
}
}
}
+ }
+ }
+ }
// console.log(jsonData2);
- }
- });
- };
+ setInterval(() => handleMouseMove(event), 1000); // 姣忛殧 1000ms 妫�娴嬩竴娆¢紶鏍囦綅缃�
+
+document.addEventListener('mousemove', event => handleMouseMove(event));
+};
+
// 鍏抽棴浜嬩欢
socket.onclose = function () {
diff --git a/CanadaMes-ui/src/views/Electrical/Positioning2.vue b/CanadaMes-ui/src/views/Electrical/Positioning2.vue
index 767a4e4..1212fc2 100644
--- a/CanadaMes-ui/src/views/Electrical/Positioning2.vue
+++ b/CanadaMes-ui/src/views/Electrical/Positioning2.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
index 6480322..db99576 100644
--- a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
+++ b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
@@ -59,6 +59,10 @@
<el-input v-if="item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="zuhe1" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input>
<el-input v-else-if="item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="zuhe2" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input>
+ <el-input v-else-if="item.type === '0' && groupIndex === 2" v-model="item.value" readonly class='input-box' ></el-input>
+ <el-input v-else-if="item.type === '0' && groupIndex === 3" v-model="item.value" readonly class='input-box' ></el-input>
+ <el-input v-else-if="item.type === '0' && groupIndex === 4" v-model="item.value" readonly class='input-box' ></el-input>
+ <el-input v-else-if="item.type === '0' && groupIndex === 5" v-model="item.value" readonly class='input-box' ></el-input>
<el-input v-else-if="item.type === '0' " v-model="item.value" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input>
</div>
</div>
@@ -66,8 +70,8 @@
</el-row>
<div class="button-row" style="display: flex; justify-content: space-between;">
<div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
- <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1,'yihuiling': item.button.name === 'Zero' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
- <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1,'error-button3': item.button.name === '鏈洖闆�' && item.button.value === 1,'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'fuwei': item.button.name === '澶嶄綅' && item.button.value === 1,'huiling': item.button.name === '鍥為浂' && item.button.value === 1,'qidong': item.button.name === 'A01鍗婅嚜鍔�' && item.button.value === 1,'qidong2': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'qidong3': item.button.name === 'A01鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong4': item.button.name === 'A02鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong5': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'jiting': item.button.name === '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨' && item.button.value === 1,'yihuiling': item.button.name === '宸插洖闆�' && item.button.value === 1 }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
+ <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'Zero' && item.button.value === 1,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1,'yihuiling': item.button.name === 'Zero' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
+ <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '鏁呴殰' && item.button.value === 1,'error-button3': item.button.name === '宸插洖闆�' && item.button.value === 1,'error-button2': item.button.name === '鏈洖闆�' && item.button.value === 0,'fuwei': item.button.name === '澶嶄綅' && item.button.value === 1,'huiling': item.button.name === '鍥為浂' && item.button.value === 1,'qidong': item.button.name === 'A01鍗婅嚜鍔�' && item.button.value === 1,'qidong2': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'qidong3': item.button.name === 'A01鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong4': item.button.name === 'A02鍗婅嚜鍔ㄥ惎鍔�' && item.button.value === 1,'qidong5': item.button.name === 'A02鍗婅嚜鍔�' && item.button.value === 1,'jiting': item.button.name === '鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨' && item.button.value === 1,'yihuiling': item.button.name === '宸插洖闆�' && item.button.value === 1 }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
</div>
</div>
</el-card>
@@ -81,7 +85,6 @@
<script>
import LanguageMixin from '../../lang/LanguageMixin'
import data from '../../configuration/ServoManualone'
-import { throttle } from 'lodash';
let socket;
export default {
@@ -209,85 +212,40 @@
},
submitDataToBackend(currentButtonName) {
-
-//A01鍗婅嚜鍔ㄥ惎鍔ㄦ彁浜�
- if (currentButtonName === 'A01鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A01 Semi-Auto Start') {
- const data = [];
-
-
- const values = [this.jsonData[0][10].button.value]
-
- data.push(values);
-
-
-data.unshift([], [],[],[], [],[],[], []);
-
-
-const jsonObject = { data };
-
-// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
-
- }
- //A02鍗婅嚜鍔ㄥ惎鍔� 鎻愪氦
-
- if (currentButtonName === 'A02鍗婅嚜鍔ㄥ惎鍔�' ||currentButtonName === 'A02 Semi-Auto Start') {
- const data2 = [];
-
- const values2 = [this.jsonData[1][8].button.value]
-
- data2.push(values2);
-
-
- data2.unshift([],[], [],[],[], [],[],[], []);
-
-
-
-
-
-const jsonObject = { data:data2 };
-
-// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
+ const data = [];
+ let jsonObject;
+ if (currentButtonName === '鏁呴殰' || currentButtonName === 'Fault') {
+ return false;
}
- //澶嶄綅鎻愪氦
+ 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));
@@ -303,22 +261,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 = [];
@@ -376,12 +322,9 @@
-const jsonObject = { data };
+ jsonObject = { data };
// 鎻愪氦鏁版嵁鍒板悗绔�
-const jsonString = JSON.stringify(jsonObject);
-console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
-socket?.send(jsonString);
}
@@ -446,20 +389,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 () {
@@ -490,14 +431,28 @@
}
let obj = JSON.parse(msg.data);
- console.log(obj)
+
+
+
+
+// console.log(obj)
const weihuiling=obj.weihuiling;
const jsonData2 = this.jsonData;
+ const handleMouseMove = (event) => {
+ if (!event || !event.target) {
+ return; // 濡傛灉 event 鎴� event.target 涓嶅瓨鍦紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
- const handleMouseMove = throttle(function(event) {
- const inputBox = document.querySelectorAll('.el-card__body');
- const target = event.target;
- if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
+ const inputBox = document.querySelectorAll('.input-box');
+ const target = event.target;
+ // console.log(obj);
+
+ const isMouseInInput = Array.from(inputBox).some(box => box.contains(target));
+
+
+ if (!isMouseInInput) {
+
+ if (obj.zuhe1) {
//鍚姩鎸夐挳
@@ -537,10 +492,14 @@
}
-}, 50);
- document.addEventListener('mouseover', handleMouseMove);
+}
+
+ }
+ // console.log(jsonData2);
+ setInterval(() => handleMouseMove(event), 1000); // 姣忛殧 1000ms 妫�娴嬩竴娆¢紶鏍囦綅缃�
+document.addEventListener('mousemove', event => handleMouseMove(event));
if (obj.qidong){
diff --git a/CanadaMes-ui/src/views/Electrical/Servomanual.vue b/CanadaMes-ui/src/views/Electrical/Servomanual.vue
index 1164bb0..cd03f42 100644
--- a/CanadaMes-ui/src/views/Electrical/Servomanual.vue
+++ b/CanadaMes-ui/src/views/Electrical/Servomanual.vue
@@ -5,8 +5,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/Sign.vue b/CanadaMes-ui/src/views/Electrical/Sign.vue
index fdccfad..f5e3edd 100644
--- a/CanadaMes-ui/src/views/Electrical/Sign.vue
+++ b/CanadaMes-ui/src/views/Electrical/Sign.vue
@@ -7,8 +7,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/State.vue b/CanadaMes-ui/src/views/Electrical/State.vue
index aa1079f..585edd4 100644
--- a/CanadaMes-ui/src/views/Electrical/State.vue
+++ b/CanadaMes-ui/src/views/Electrical/State.vue
@@ -7,8 +7,8 @@
}}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
}}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
- }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
+ }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
}}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
diff --git a/CanadaMes-ui/src/views/Electrical/alarm.vue b/CanadaMes-ui/src/views/Electrical/alarm.vue
index 4ded8cc..4c3eff5 100644
--- a/CanadaMes-ui/src/views/Electrical/alarm.vue
+++ b/CanadaMes-ui/src/views/Electrical/alarm.vue
@@ -5,7 +5,7 @@
<router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
<router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
+ <!-- <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link> -->
<!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link> -->
<router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
<router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
diff --git a/CanadaMes-ui/src/views/device/talkvue.vue b/CanadaMes-ui/src/views/device/talkvue.vue
index d8cd75d..ccaf687 100644
--- a/CanadaMes-ui/src/views/device/talkvue.vue
+++ b/CanadaMes-ui/src/views/device/talkvue.vue
@@ -1,9 +1,10 @@
<template>
<div class="container">
- <iframe src="http://localhost:8080/GERP/optimize/optimize/html/youhuacaidan.jsp"></iframe>
+ <!-- <iframe src="http://localhost:8080/GERP/optimize/optimize/html/youhuacaidan.jsp"></iframe> -->
</div>
</template>
+
<style>
.container {
position: fixed;
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index e9a4965..ed730fa 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -453,7 +453,8 @@
</el-table-column>
<el-table-column :min-width="250" :label="$t('Operate')">
<template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="scope.row.state == 1 ? false : true"
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="scope.row.state == 1 ? false : true"
@click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('Delete') }}</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="scope.row.state == 1 ? false : true"
@@ -643,7 +644,8 @@
<el-table-column prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
<template slot-scope='scope'>
- {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2 ? $t('Completed') :scope.row.state == 3 ? $t('Absent') :$t('Deleted') }}
+ {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2
+ ? $t('Completed') : scope.row.state == 3 ? $t('Absent') : $t('Deleted') }}
</template>
</el-table-column>
<el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
@@ -661,7 +663,8 @@
<el-table-column prop="barcode" :label="$t('Complete')">
<template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="(!isAllowQueue||scope.row.state!=1)"
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="(!isAllowQueue || scope.row.state != 1)"
@click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete')
}}</el-button>
</template>
@@ -729,7 +732,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
- <div style="font-size: 500px;text-align: center;">
+ <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
{{ this.CountDowns }}
</div>
</el-dialog>
@@ -765,7 +768,7 @@
dialogFormVisible5: false,
dialogFormVisible6: false,
dialogFormVisible7: false,
- dialogFormCountDown:false,
+ dialogFormCountDown: false,
form: {
orderId: "",
glassId: "",
@@ -826,19 +829,19 @@
OutingQueue: true,
OrderInfo: true,
CageDetails: true,
- CountDowns:0,
- D01RequestState:false
+ CountDowns: "EMERGENCY STOP",
+ D01RequestState: false,
+ EmergencyStop: false,
+ PromptSize: 250
};
},
created() {
this.load();
-
+
this.init();
}
,
methods: {
-
-
init() {
let viewname = "Home";
if (typeof (WebSocket) == "undefined") {
@@ -847,7 +850,7 @@
//console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket");
let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
if (socket != null) {
- socket.close();this.car1
+ socket.close();
socket = null;
}
// 寮�鍚竴涓獁ebsocket鏈嶅姟
@@ -861,7 +864,7 @@
//console.log("鏀跺埌鏁版嵁====" + msg.data);
let obj = JSON.parse(msg.data);
if (obj.params != null) {
-
+
this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
// this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
@@ -875,16 +878,22 @@
this.tasklist1 = obj.tasklist1[0];
this.tasklist2 = obj.tasklist2[0];
this.alarm = obj.alarmmg[0];
- if(this.alarm.length>0){
- this.dialogFormVisible2=true;
+ if (this.alarm.length > 0) {
+ this.dialogFormVisible2 = true;
+ } else {
+ this.dialogFormVisible2 = false;
}
+ //鏄惁鎬ュ仠
+ this.EmergencyStop = obj.emergencystop[0];
+
//澶嶄綅鍊掕鏃�
- if (obj.countdown[0] == true&&this.CountDowns==0) {
+ if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
this.CountDown();
}
//鏄惁鏈夎繘鐗囪姹�
- this.D01RequestState=obj.D01RequestState[0];
-
+ console.log(obj.D01RequestState[0]);
+ this.D01RequestState = obj.D01RequestState[0];
+
//鏄惁鍏佽鍑虹墖
this.isAllowQueue = obj.isAllowQueue[0];
//鍑虹墖闃熷垪
@@ -918,13 +927,11 @@
this.form5 = obj.form3[0];
this.showform3();
this.glassid1 = "";
- if(this.D01RequestState==true){
+ if (this.D01RequestState == true) {
this.Sizerange(this.form5, 3);
- }else{
- this.disabled1=true;
+ } else {
+ this.disabled1 = true;
}
-
-
} else {
if (this.glassid1 == "") {
this.DeleteBarcodeGlass();
@@ -1332,7 +1339,7 @@
},
//鎵嬪姩涓婄墖
FeedInglassid() {
- if (this.form.glassId != ""&&this.form.glassId != null) {
+ if (this.form.glassId != "" && this.form.glassId != null) {
Inglassid(this.insertcage, this.insertcell, this.inserttier, this.form).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
@@ -1620,7 +1627,7 @@
column = rowIndex;
rowIndex = column;
let style = "";
- if (columnIndex === 8 ) {
+ if (columnIndex === 8) {
style = "font-size:25px;text-align: center;";
}
if (columnIndex === 9 && row.flip == 1) {
@@ -1698,7 +1705,7 @@
} else {
this.disabled = false;
}
- if (position == 3 && this.isConfirm == true&&this.D01RequestState==true) {
+ if (position == 3 && this.isConfirm == true && this.D01RequestState == true) {
this.InsertQueueGlass(1);
}
}
@@ -1716,24 +1723,35 @@
}
});
},
- CountDown(){
+ CountDown() {
//50绉掑�掓暟璁℃椂
let count = 45;
let timer = setInterval(
() => {
- if (count > 0) {
- this.CountDowns = count;
- count--;
- }
- else {
+ if (this.EmergencyStop == true) {
clearInterval(timer);
- this.CountDowns = 0;
- this.dialogFormCountDown=false;
+ this.PromptSize = 250;
+ this.CountDowns = "EMERGENCY STOP";
+ } else {
+ if (count > 0) {
+ this.PromptSize = 500;
+ this.CountDowns = count;
+ count--;
+ }
+ else {
+ this.PromptSize = 250;
+ this.CountDowns = "Waiting for reset";
+
+ // if(澶嶄綅瀹屾垚==true){
+ // clearInterval(timer);
+ // this.dialogFormCountDown = false;
+ // }
+ }
}
},
1000
);
-
+ this.dialogFormCountDown = true;
}
}
}
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..7ae28fc 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,17 @@
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");
+ // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ private Configuration config;
+
+ // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ MessageHandler customS7Control = new MessageHandler();
+
+
+ public PLCAutomaticParameterSetting() throws IOException {
+ config = new Configuration("config.properties");
}
-
- 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();
- }
- }
-
@Override
public void run() {
while (this != null) {
@@ -66,28 +30,17 @@
} 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);
List<Short> dache1 = S7control.getinstance().ReadWord("DB100.18", 1);
List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.22", 1);
List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.14", 1);
- 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<String> addresses = Arrays.asList(config.getProperty("Auto.addresses").split(","));
+
List<Short> arraylist2 = S7control.getinstance().readWords(addresses);
//缈昏浆
List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1);
@@ -161,55 +114,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()) {
@@ -217,20 +130,8 @@
System.out.println("messageValue锛�" + mergedList + " written to PLC at address " + addressList1);
}
+ List<String> waddresses1 = Arrays.asList(config.getProperty("Auto.shusong").split(","));
- 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 addressList22 = "DB100.8";
String addressList33 = "DB100.12";
@@ -259,38 +160,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..16fa085 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,50 @@
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();
+ }
+ List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
+ List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
- @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(","));
+// Boolean[] values1 = { false, true, true, true, false, false, true, false,
+// false, true, true, true, false, false,
+// true, false,false, true, true, true, false, false, true, false,
+// false, true, false, true };
+// List<Boolean> arraylist = new ArrayList<>(Arrays.asList(values1));
+ JSONObject jsonObject = new JSONObject();
- List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
+ 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;
+ }
- // 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 +63,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 < 28 && 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/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index 811fd04..66ce3e1 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -40,7 +40,7 @@
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
- List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
+ List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 鑾峰彇杩涚墖杞︾姸鎬�
List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 鑾峰彇杩涚墖杞︿换鍔℃槸鍚﹀惎鍔�
@@ -48,12 +48,14 @@
boolean B02backs = spianService.listbool("DB106.62");// b02姹囨姤
StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1鐨勭幓鐠僫d
StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02鐨勭幓鐠僫d
+ int aaa=1;
// 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
if (B01backs == true) {
// 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬� 涓�1
spianService.overtask(B01glassid.toString());// 瀹屾垚浠诲姟
S7control.getinstance().WriteWord("DB106.60", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
- System.out.println("姹囨姤鏃禕01|" + B01glassid);
+ System.out.println("姹囨姤鏃禕01|绗�"+aaa+"娆�"+ B01glassid);
+ aaa+=1;
}
// 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
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..4d24906 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("DB106.2");
+ 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..89f1811 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,67 @@
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");
- }
+ // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ private Configuration config;
- 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;
- }
+ // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ MessageHandler customS7Control = new MessageHandler();
- // 灏唖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();
+ public PlcParameter2() throws IOException {
+ config = new Configuration("config.properties");
}
- }
- @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();
+ }
- // 鎵嬪姩鐘舵�佸湴鍧�
- List<String> addressList1 = new ArrayList<>();
+ // id
+ List<String> addressList1 = Arrays.asList(config.getProperty("Parameter2.id").split(","));
- 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);
- List<String> paramlist = S7control.getinstance().readStrings(addressList1);
+ //鎵嬪姩鐘舵��
+ List<String> addresses = Arrays.asList(config.getProperty("Parameter2.state").split(","));
+
+ List<Short> data = S7control.getinstance().readWords(addresses);
- //娓呴櫎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);
+ //娓呴櫎id
+ List<String> addressList0 = Arrays.asList(config.getProperty("Parameter2.cleanid").split(","));
- //id
- List<String> addressList0 = new ArrayList<>();
+ // 鎵爜鏋�
+ List<Boolean> data2 = S7control.getinstance().readBits(addressList0);
+ List<String> addressList3 = Arrays.asList(config.getProperty("Parameter2.scanner").split(","));
- 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");
+//鎬ュ仠鎸夐挳
+ List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
- 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<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
-
-
- List<String> niuanaddressList3 = new ArrayList<>();
-
- niuanaddressList3.add("DB101.10.4");
- List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
-
-
-
- List<String> data3 = S7control.getinstance().readStrings(addressList3);
+ 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<Short> data4 = S7control.getinstance().readWords(addresses4);
+ List<String> addresses4 = Arrays.asList(config.getProperty("Parameter2.Currentcell").split(","));
+
+
+ List<Short> data4 = S7control.getinstance().readWords(addresses4);
// List<Long> TIME2 = Collections.singletonList(S7control.getinstance().readtime("DB100.194"));
// System.out.println("addressList锛�" + TIME2);
- //
-
+ //
//
@@ -166,25 +89,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 +117,35 @@
// 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<>();
-
- 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");
+ List<String> messages = webserver.getMessages();
- 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);
- }
- }
-
-
- // 娓呯┖娑堟伅鍒楄〃
- webserver.clearMessages();
- }
- }
- }
- }
- }
+ JSONArray messageArray = new JSONArray(lastMessage);
+ //娓呴櫎ID
+ customS7Control.writeBitToPLC(messageArray, addressList0, 0);
+ //鎬ュ仠
+ customS7Control.writeBitToPLC(messageArray, niuanaddressList3, 1);
+ // 娓呯┖娑堟伅鍒楄〃
+ webserver.clearMessages();
+ }
+ }
+ }
+ }
+ }
}
- }
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
index 6c3299a..67956dd 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,21 +28,15 @@
} 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(瀛樼墖));
-// Short[] 鎺ョ墖 = { 1 };
-// List<Short> 鎺ョ墖1 = new ArrayList<>(Arrays.asList(鎺ョ墖));
-// Short[] 闂磋窛 = { 1 };
-// List<Short> 闂磋窛1 = new ArrayList<>(Arrays.asList(闂磋窛));
-// Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20 };
+
+
+// Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 };
// List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
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/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index 2cf3a03..34a8ef2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -1,187 +1,194 @@
-package com.example.springboot.component;
-
-import cn.hutool.json.JSONObject;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.example.springboot.entity.Out_slice;
-import com.example.springboot.entity.Queue;
-import com.example.springboot.entity.StorageCage;
-import com.example.springboot.entity.alarmmg;
-import com.example.springboot.mapper.HomeMapper;
-import com.example.springboot.mapper.SpianMapper;
-import com.example.springboot.service.JdbcConnections;
-import com.example.springboot.service.North_Glass_Buffer1Service;
-import com.example.springboot.service.OutSliceServive;
-import com.example.springboot.service.SpianService;
-
-public class Plchome extends Thread {
-
- @Autowired
- private HomeMapper homeMapper;
- private OutSliceServive outSliceServive;
- private SpianMapper spianMapper;
- private SpianService spianService;
- private North_Glass_Buffer1Service north_Glass_Buffer1Service;
- private JdbcConnections dbserve;
- // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
- public static Boolean isAllowQueue = true;
- // 閾濇id
- public static String FrameNo;
- // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
- public static Boolean isConfirm = false;
-
- // public static Map b=new HashMap<>();
- // b.put()
- @Override
- public void run() {
- while (this != null) {
- try {
- Thread.sleep(1000);
-
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- JSONObject jsonObject = new JSONObject();
-
- // 娉ㄥ叆mapper
- homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
- spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
- spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
- outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
- north_Glass_Buffer1Service = WebSocketServer.applicationContext.getBean(North_Glass_Buffer1Service.class);
- // 绗煎瓙浣跨敤鎯呭喌
- List<StorageCage> tableData = homeMapper.selectAll();
- jsonObject.append("tableData", tableData);
- // 鏍肩悊鐗囩鏍煎瓙鐘舵��
- List<StorageCage> cagelist1 = homeMapper.selectRack1();
- List<StorageCage> cagelist2 = homeMapper.selectRack2();
- List<StorageCage> cagelist3 = homeMapper.selectRack3();
- List<StorageCage> cagelist4 = homeMapper.selectRack4();
- jsonObject.append("cagelist1", cagelist1);
- jsonObject.append("cagelist2", cagelist2);
- jsonObject.append("cagelist3", cagelist3);
- jsonObject.append("cagelist4", cagelist4);
- // 杩涘嚭鐗囦换鍔�
- List<StorageCage> tasklist1 = homeMapper.selectinout(3);
- List<StorageCage> tasklist2 = homeMapper.selectinout(2);
- jsonObject.append("tasklist1", tasklist1);
- jsonObject.append("tasklist2", tasklist2);
- // 鏌ヨ鎶ヨ淇℃伅
- List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
- jsonObject.append("alarmmg", alarmmg);
- // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
- List<String> addressList = new ArrayList<String>();
- addressList.add("DB106.12");
- addressList.add("DB106.0");
- List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
- if (paramlist != null) {
- jsonObject.append("params", paramlist);
- }
- // 鑾峰彇杩涚墖杞︾姸鎬�
- List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
- 1);// 鑾峰彇杩涚墖杞︾姸鎬�
- boolean exist1 = datas1ListState.contains((short) 0);
- jsonObject.append("zhuangtai", exist1);
- // 鑾峰彇杩涚墖鐜荤拑淇℃伅
- List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
- if (inglassInfo != null) {
- if (inglassInfo.size() > 0)
- jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
- }
- // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
- String queid = spianMapper.Selectqueueid();
- int state = spianMapper.Selectqueuestate();
- jsonObject.append("queid", queid);
- jsonObject.append("state", state);
- // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
- Queue form2 = homeMapper.GetQueueInfo(2);
- Queue form3 = homeMapper.GetQueueInfo(1);
- if (form2.getglassId() != null && form2.getglassId() != "") {
- jsonObject.append("form2", form2);
- }
- if (form3.getglassId() != null && form3.getglassId() != "") {
- jsonObject.append("form3", form3);
- }
- // 鑾峰彇鍑虹墖闃熷垪淇℃伅
- List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
- jsonObject.append("listoutslice", listoutslice);
- // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
- jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
-
- // 鑾峰彇閾濇idDB106.DBW64
- // String frameno=spianService.queGlassid("DB103.270",14).toString();
- // if(frameno!=Plchome.FrameNo&&frameno!=""){
- // Plchome.FrameNo=frameno;
- // }
- // try {
- // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
- // } catch (SQLException e) {
- // // TODO Auto-generated catch block
- // e.printStackTrace();
- // }
- // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
- jsonObject.append("isConfirm", isConfirm);
-
- //鑾峰彇杩涚墖璇锋眰鐘舵��
- List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
- boolean D01RequestState = D01Request.contains((short) 1);
- // boolean D01RequestState =true;
- jsonObject.append("D01RequestState", D01RequestState);
-
- //澶嶄綅鍊掕鏃�
- // 鍦板潃104.9.6
- List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
- for (Boolean countdowns : countdown) {
- jsonObject.append("countdown", countdowns);
- }
- // jsonObject.append("countdown", true);
- // 閾濇绾夸氦浜�
-
- // //閾濇id璇锋眰瀛�
- // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
- // if(framerequest!=null){
- // //閾濇id
- // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
- // String position;
- // try {
- // position=dbserve.SelectPositionByFrameBarcode(franmeno);
- // } catch (SQLException e) {
- // // TODO Auto-generated catch block
- // position="0";
- // e.printStackTrace();
- // }
- // Short send;
- // if(position=="0"){
- // send=0;
- // }else{
- // send=1;
- // }
- // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
- // }
-
- dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
- boolean dbconnected = false;
- try {
- dbserve.getConn();
- dbconnected = true;
- } catch (Exception e) {
- // TODO: handle exception
- dbconnected = false;
- }
- jsonObject.append("dbconnected", dbconnected);
- // jsonObject.append("params", new short[] { 30, 40, });
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- webserver.sendMessage(jsonObject.toString());
- }
- }
-
- }
- }
-}
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONObject;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
+import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.SpianMapper;
+import com.example.springboot.service.JdbcConnections;
+import com.example.springboot.service.North_Glass_Buffer1Service;
+import com.example.springboot.service.OutSliceServive;
+import com.example.springboot.service.SpianService;
+
+public class Plchome extends Thread {
+
+ @Autowired
+ private HomeMapper homeMapper;
+ private OutSliceServive outSliceServive;
+ private SpianMapper spianMapper;
+ private SpianService spianService;
+ private North_Glass_Buffer1Service north_Glass_Buffer1Service;
+ private JdbcConnections dbserve;
+ // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+ public static Boolean isAllowQueue = true;
+ // 閾濇id
+ public static String FrameNo;
+ // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
+ public static Boolean isConfirm = false;
+
+ // public static Map b=new HashMap<>();
+ // b.put()
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(1000);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ JSONObject jsonObject = new JSONObject();
+
+ // 娉ㄥ叆mapper
+ homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
+ spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+ spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
+ outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
+ north_Glass_Buffer1Service = WebSocketServer.applicationContext.getBean(North_Glass_Buffer1Service.class);
+ // 绗煎瓙浣跨敤鎯呭喌
+ List<StorageCage> tableData = homeMapper.selectAll();
+ jsonObject.append("tableData", tableData);
+ // 鏍肩悊鐗囩鏍煎瓙鐘舵��
+ List<StorageCage> cagelist1 = homeMapper.selectRack1();
+ List<StorageCage> cagelist2 = homeMapper.selectRack2();
+ List<StorageCage> cagelist3 = homeMapper.selectRack3();
+ List<StorageCage> cagelist4 = homeMapper.selectRack4();
+ jsonObject.append("cagelist1", cagelist1);
+ jsonObject.append("cagelist2", cagelist2);
+ jsonObject.append("cagelist3", cagelist3);
+ jsonObject.append("cagelist4", cagelist4);
+ // 杩涘嚭鐗囦换鍔�
+ List<StorageCage> tasklist1 = homeMapper.selectinout(3);
+ List<StorageCage> tasklist2 = homeMapper.selectinout(2);
+ jsonObject.append("tasklist1", tasklist1);
+ jsonObject.append("tasklist2", tasklist2);
+ // 鏌ヨ鎶ヨ淇℃伅
+ List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
+ jsonObject.append("alarmmg", alarmmg);
+ // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
+ List<String> addressList = new ArrayList<String>();
+ addressList.add("DB106.12");
+ addressList.add("DB106.0");
+ List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+ if (paramlist != null) {
+ jsonObject.append("params", paramlist);
+ }
+ // 鑾峰彇杩涚墖杞︾姸鎬�
+ List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+ 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+ boolean exist1 = datas1ListState.contains((short) 0);
+ jsonObject.append("zhuangtai", exist1);
+ // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ if (inglassInfo != null) {
+ if (inglassInfo.size() > 0)
+ jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ }
+ // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
+ String queid = spianMapper.Selectqueueid();
+ int state = spianMapper.Selectqueuestate();
+ jsonObject.append("queid", queid);
+ jsonObject.append("state", state);
+ // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
+ Queue form2 = homeMapper.GetQueueInfo(2);
+ Queue form3 = homeMapper.GetQueueInfo(1);
+ if (form2.getglassId() != null && form2.getglassId() != "") {
+ jsonObject.append("form2", form2);
+ }
+ if (form3.getglassId() != null && form3.getglassId() != "") {
+ jsonObject.append("form3", form3);
+ }
+ // 鑾峰彇鍑虹墖闃熷垪淇℃伅
+ List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
+ jsonObject.append("listoutslice", listoutslice);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
+ jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
+
+ // 鑾峰彇閾濇idDB106.DBW64
+ // String frameno=spianService.queGlassid("DB103.270",14).toString();
+ // if(frameno!=Plchome.FrameNo&&frameno!=""){
+ // Plchome.FrameNo=frameno;
+ // }
+ // try {
+ // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ // } catch (SQLException e) {
+ // // TODO Auto-generated catch block
+ // e.printStackTrace();
+ // }
+ // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
+ jsonObject.append("isConfirm", isConfirm);
+
+ //鑾峰彇杩涚墖璇锋眰鐘舵��
+ List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+ boolean D01RequestState = D01Request.contains((short)1);
+ // boolean D01RequestState =true;
+ jsonObject.append("D01RequestState", D01RequestState);
+
+ //澶嶄綅鍊掕鏃�
+ // 鍦板潃104.9.6
+ List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+ for (Boolean countdowns : countdown) {
+ jsonObject.append("countdown", countdowns);
+ }
+ // jsonObject.append("countdown", true);
+
+ //鏄惁鎬ュ仠
+ List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+ for (Boolean emergencystop : emergencystops) {
+ jsonObject.append("emergencystop", emergencystop);
+ }
+
+ // 閾濇绾夸氦浜�
+
+ // //閾濇id璇锋眰瀛�
+ // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
+ // if(framerequest!=null){
+ // //閾濇id
+ // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
+ // String position;
+ // try {
+ // position=dbserve.SelectPositionByFrameBarcode(franmeno);
+ // } catch (SQLException e) {
+ // // TODO Auto-generated catch block
+ // position="0";
+ // e.printStackTrace();
+ // }
+ // Short send;
+ // if(position=="0"){
+ // send=0;
+ // }else{
+ // send=1;
+ // }
+ // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
+ // }
+
+ dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+ boolean dbconnected = false;
+ try {
+ dbserve.getConn();
+ dbconnected = true;
+ } catch (Exception e) {
+ // TODO: handle exception
+ dbconnected = false;
+ }
+ jsonObject.append("dbconnected", dbconnected);
+ // jsonObject.append("params", new short[] { 30, 40, });
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+ }
+ }
+
+ }
+ }
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index d0572b6..9fc310c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,25 +17,25 @@
//
System.out.println("鍚姩瀹屾垚");
- new PlcHold().start();
+ new PlcHold().start();
new Plchome().start();
-// new Plcalarm().start();
+ // new Plcalarm().start();
-// new Plcsign().start();
+ // new Plcsign().start();
-// new Plcaction().start();
-// new Plcstate().start();
-// new PlcPositioning1().start();
+
+ // new Plcstate().start();
+ // new PlcPositioning1().start();
-// new PlcParameter2().start();
+ // new PlcParameter2().start();
-// new PLCAutomaticParameterSetting().start();
+ // new PLCAutomaticParameterSetting().start();
-// new PlcManualonePosition().start();
-// new PlcManualonePosition2().start();
-// new PlcServoManualone().start();
-// new PLCManualJog().start();
+ // new PlcManualonePosition().start();
+ // new PlcManualonePosition2().start();
+ // new PlcServoManualone().start();
+ // new PLCManualJog().start();
}
}
\ 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..1037320 100644
--- a/springboot-vue3/src/main/resources/config.properties
+++ b/springboot-vue3/src/main/resources/config.properties
@@ -53,28 +53,54 @@
-#PLCManualJog--------------------------
-
-
#Parameter2--------------------------
#id
+#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
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
+#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");
Parameter2.state=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
+#娓呴櫎id
-
-#鎵嬪姩鐘舵��
+#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");
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
@@ -109,4 +135,38 @@
#addressList21.add("DB101.3.1");
#addressList21.add("DB101.3.3");
#鎸夐挳
-PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3
+PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3,DB101.10.5,DB101.10.6
+
+
+
+#AUto----------------------------------------------------------------
+#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");
+Auto.addresses=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.36,DB100.38,DB100.40
+
+#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");
+
+Auto.shusong=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.34,DB100.36,DB100.38,DB100.40
\ No newline at end of file
--
Gitblit v1.8.0