From c684729c17bb02ab968cdc2fceae74dacaa9593f Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 06 十二月 2023 16:53:28 +0800
Subject: [PATCH] 增加 急停后中止/继续选择
---
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue | 19
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java | 109 +++--
springboot-vue3/src/main/resources/config.properties | 20
CanadaMes-ui/src/views/home/index.vue | 1
CanadaMes-ui/src/configuration/ManualJog.json | 4
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | 21
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue | 14
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 4
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java | 6
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 3
springboot-vue3/src/main/resources/Alarm.json | 507 +++++++++++++++++++++++++
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java | 117 +++++
CanadaMes-ui/src/configuration/ServoManualone.json | 15
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 4
springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java | 2
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 43 +-
CanadaMes-ui/src/configuration/Action.json | 12
CanadaMes-ui/src/views/Electrical/Action.vue | 16
CanadaMes-ui/src/lang/locales/en-US.json | 13
CanadaMes-ui/src/views/Electrical/ManualJog.vue | 2
CanadaMes-ui/src/views/Electrical/ServoManualone.vue | 76 +++
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java | 151 ++++--
22 files changed, 977 insertions(+), 182 deletions(-)
diff --git a/CanadaMes-ui/src/configuration/Action.json b/CanadaMes-ui/src/configuration/Action.json
index fb05bb6..0c25377 100644
--- a/CanadaMes-ui/src/configuration/Action.json
+++ b/CanadaMes-ui/src/configuration/Action.json
@@ -155,42 +155,42 @@
"page": "1"
},
{
- "name": "B01 YV TURN",
+ "name": "B01 Solenoid TURN",
"value": 1,
"state": "1",
"type": "1",
"page": "1"
},
{
- "name": "B01 YV UP DOWN",
+ "name": "B01 Solenoid UP DOWN",
"value": 1,
"state": "1",
"type": "1",
"page": "1"
},
{
- "name": "B02 YV TURN",
+ "name": "B02 Solenoid TURN",
"value": 1,
"state": "1",
"type": "1",
"page": "1"
},
{
- "name": "B02 YV UP DOWN",
+ "name": "B02 Solenoid UP DOWN",
"value": 1,
"state": "1",
"type": "1",
"page": "1"
},
{
- "name": "B01 YV Gassing",
+ "name": "B01 Solenoid Gassing",
"value": 1,
"state": "1",
"type": "1",
"page": "1"
},
{
- "name": "B02 YV Gassing",
+ "name": "B02 Solenoid Gassing",
"value": 1,
"state": "1",
"type": "1",
diff --git a/CanadaMes-ui/src/configuration/ManualJog.json b/CanadaMes-ui/src/configuration/ManualJog.json
index d70708a..02678ba 100644
--- a/CanadaMes-ui/src/configuration/ManualJog.json
+++ b/CanadaMes-ui/src/configuration/ManualJog.json
@@ -12,7 +12,7 @@
{
"button": {
"name": "D02杈撻��",
- "value": 1,
+ "value": 0,
"address": "DB10.0",
"state": 0
},
@@ -21,7 +21,7 @@
{
"button": {
"name": "D03杈撻��",
- "value": 1,
+ "value": 0,
"address": "DB10.0",
"state": 1
},
diff --git a/CanadaMes-ui/src/configuration/ServoManualone.json b/CanadaMes-ui/src/configuration/ServoManualone.json
index 48bb45c..b557b5f 100644
--- a/CanadaMes-ui/src/configuration/ServoManualone.json
+++ b/CanadaMes-ui/src/configuration/ServoManualone.json
@@ -79,6 +79,7 @@
"button": {
"name": "A01鍗婅嚜鍔�",
"value":0,
+ "type":66,
"address":"DB10.0"
}
},
@@ -86,6 +87,7 @@
"button": {
"name": "A01鍗婅嚜鍔ㄥ惎鍔�",
"value":0,
+ "type":66,
"address":"DB10.0"
}
}
@@ -150,6 +152,7 @@
"button": {
"name": "A02鍗婅嚜鍔�",
"value":0,
+ "type":66,
"address":"DB10.0"
}
},
@@ -157,6 +160,7 @@
"button": {
"name": "A02鍗婅嚜鍔ㄥ惎鍔�",
"value":0,
+ "type":66,
"address":"DB10.0"
}
}
@@ -342,6 +346,17 @@
}
]
+ , [
+ {
+ "button": {
+ "name": "鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨",
+ "value":0,
+ "address":"DB10.0",
+ "type":"66"
+ }
+ }
+
+ ]
]
diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index e6c052b..b8b90c8 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -343,7 +343,8 @@
"A02鍗婅嚜鍔�": "A02 Semi-Auto",
"A02鍗婅嚜鍔ㄥ惎鍔�": "A02 Semi-Auto Start",
"B01 鎵�鍦ㄦ牸瀛�": "B01 Current Grid",
- "B02 鎵�鍦ㄦ牸瀛�": "B02 Current Grid"
+ "B02 鎵�鍦ㄦ牸瀛�": "B02 Current Grid",
+ "鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨": "Abort/ResumeTasks"
},
"langParameter1": {
@@ -506,11 +507,11 @@
"B01琛岃蛋鐐瑰姩": "B01 SERVE TRAVEL",
"B02琛岃蛋鐐瑰姩": "B02 SERVE TRAVEL",
"B02缈昏浆姘旂几": "B02 YV TURN",
- "B02鍗囬檷姘旂几": "B02 YV UP DOWN",
- "B02鐢电闃�": "B02 YV Gassing",
- "B01缈昏浆姘旂几": "B01 YV TURN",
- "B01鍗囬檷姘旂几": "B01 YV UP DOWN",
- "B01鐢电闃�": "B01 YV Gassing",
+ "B02鍗囬檷姘旂几": "B02 Solenoid UP DOWN",
+ "B02鐢电闃�": "B02 Solenoid Gassing",
+ "B01缈昏浆姘旂几": "B01 Solenoid TURN",
+ "B01鍗囬檷姘旂几": "B01 Solenoid UP DOWN",
+ "B01鐢电闃�": "B01 Solenoid Gassing",
"A01杈撻�佸弽鍚�": "A01 VFD conveyor reverse",
"A02杈撻�佸弽鍚�": "A02 VFD conveyor reverse",
"A01娉ㄧ數娉�": "A01 oil pump",
diff --git a/CanadaMes-ui/src/views/Electrical/Action.vue b/CanadaMes-ui/src/views/Electrical/Action.vue
index e3d2757..a037906 100644
--- a/CanadaMes-ui/src/views/Electrical/Action.vue
+++ b/CanadaMes-ui/src/views/Electrical/Action.vue
@@ -71,10 +71,10 @@
'A02 SERVE TRAVEL POS',
'B01 SERVE TRAVEL POS',
'B02 SERVE TRAVEL POS',
- 'B01 YV TURN',
- 'B01 YV UP DOWN',
- 'B02 YV TURN',
- 'B02 YV UP DOWN',
+ 'B01 Solenoid TURN',
+ 'B01 Solenoid UP DOWN',
+ 'B02 Solenoid TURN',
+ 'B02 Solenoid UP DOWN',
],
xyData: [
{ name: 'D01 VFD conveyor', value: "0" },
@@ -99,10 +99,10 @@
{ name: 'A02 SERVE TRAVEL POS', value: "0" },
{ name: 'B01 SERVE TRAVEL POS', value: "0" },
{ name: 'B02 SERVE TRAVEL POS', value: "0" },
- { name: 'B01 YV TURN', value: "0" },
- { name: 'B01 YV UP DOWN', value: "0" },
- { name: 'B02 YV TURN', value: "0" },
- { name: 'B02 YV UP DOWN', value: "0" },
+ { name: 'B01 Solenoid TURN', value: "0" },
+ { name: 'B01 Solenoid UP DOWN', value: "0" },
+ { name: 'B02 Solenoid TURN', value: "0" },
+ { name: 'B02 Solenoid UP DOWN', value: "0" },
]
,
},
diff --git a/CanadaMes-ui/src/views/Electrical/ManualJog.vue b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
index 9f88e38..f2e3d13 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualJog.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -125,7 +125,7 @@
},
//鏍规嵁璇诲彇PLC鐨勫�硷紝鏍规嵁鍚嶇О鏀瑰彉棰滆壊1鎵撳紑锛�0鍏抽棴
getStatusClass (zhuangtai) {
-console.log(zhuangtai);
+// console.log(zhuangtai);
if (zhuangtai === 1) {
return "op";
}
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
index 8548381..a411b5e 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -380,6 +380,18 @@
}
+ for (let i = 0; i < jsonData2.length; i++) {
+ let arr4 = jsonData2[i];
+ for (let j = 0; j < arr4.length; j++) {
+ let obj4 = arr4[j];
+ if (obj4.button && (obj4.button.name.includes("鍚姩") || obj4.button.name.includes("Start"))) {
+ obj4.button.value = obj.qidong[0][i];
+ // console.log(obj2.button.value)
+ }
+ }
+
+
+ }
for (let i = 2; i < jsonData2.length; i++) {
let arr2 = jsonData2[i];
for (let j = 2; j < arr2.length; j++) {
@@ -387,7 +399,7 @@
if (obj3.button) {
if (obj3.button && (obj3.button.name === "鏈洖闆�" || obj3.button.name === "NotZero")) {
obj3.button.value = weihuiling[0][i];
- console.log(obj3.button.value)
+ // console.log(obj3.button.value)
}
}
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index 22ac330..80affab 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -318,6 +318,9 @@
}
+
+
+
for (let i = 0; i < jsonData2.length; i++) {
let arr2 = jsonData2[i];
for (let j = 0; j < arr2.length; j++) {
@@ -330,6 +333,20 @@
}
+ }
+
+
+ }
+
+ //鍚姩
+ for (let i = 0; i < jsonData2.length; i++) {
+ let arr4 = jsonData2[i];
+ for (let j = 0; j < arr4.length; j++) {
+ let obj4 = arr4[j];
+ if (obj4.button && (obj4.button.name.includes("鍚姩") || obj4.button.name.includes("Start"))) {
+ obj4.button.value = obj.qidong[0][i];
+ // console.log(obj2.button.value)
+ }
}
@@ -389,7 +406,7 @@
});
- console.log(this.jsonData)
+ // console.log(this.jsonData)
}
diff --git a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
index 0eea377..88756d3 100644
--- a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
+++ b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -56,8 +56,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,'fuwei': item.button.name === 'Reset' && 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}" @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,'fuwei': 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 }" @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,'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 Start' && 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,'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 }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
</div>
</div>
</el-card>
@@ -92,7 +92,7 @@
this.initWebSocket();
const language = this.$i18n.locale;
- console.log(language);
+ // console.log(language);
if (language === 'en-US') {
this.replaceChineseWithEnglish();
}
@@ -419,7 +419,6 @@
socket.close();
socket = null;
}
-
// 寮�鍚竴涓獁ebsocket鏈嶅姟
socket = new WebSocket(socketUrl);
@@ -443,6 +442,32 @@
const inputBox = document.querySelectorAll('.el-card__body');
const target = event.target;
if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
+
+ //鍚姩鎸夐挳
+
+
+
+
+
+
+ jsonData2[0][9].button.value = obj.qidong[0][0]; // 绗竴涓瓙鏁扮粍涓涓�涓� type=66 鐨� button
+jsonData2[0][10].button.value = obj.qidong[0][1]; // 绗竴涓瓙鏁扮粍涓浜屼釜 type=66 鐨� button
+jsonData2[1][7].button.value = obj.qidong[0][2]; // 绗簩涓瓙鏁扮粍涓涓�涓� type=66 鐨� button
+jsonData2[1][8].button.value = obj.qidong[0][3];
+
+
+
+// 杈撳嚭鏇存柊鍚庣殑 jsonData2
+
+
+
+
+
+
+
+
+
+
// 鎵ц鏇存柊閫昏緫
for (let i = 0; i < 6; i++) {
jsonData2[i].forEach((item, index) => {
@@ -481,6 +506,13 @@
}
+
+
+
+
+
+
+
//鏈洖闆舵洿鏂�
for (let i = 3; i < jsonData2.length; i++) {
@@ -516,6 +548,26 @@
}
});
});
+//鎬ュ仠
+
+
+for (let i = 0; i < jsonData2.length; i++) {
+ let arr2 = jsonData2[i];
+ for (let j = 0; j < arr2.length; j++) {
+ let obj3 = arr2[j];
+ if(obj3.button){
+ if (obj3.button && (obj3.button.name === "鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨" || obj3.button.name === "Abort/ResumeTasks" )) {
+ obj3.button.value = obj.resumeTasks[0][i];
+ console.log(obj3.button.value)
+ }
+
+ }
+
+ }
+
+
+}
+
@@ -616,9 +668,23 @@
background-color: green;
}
-.qidong2 {
+.qidong3 {
+ background-color: green;
+}
+.qidong {
+ background-color: green;
+}
+
+.qidong4 {
background-color: green;
}
+.qidong5 {
+ background-color: green;
+}
+
+.huiling {
+ background-color: green;
+}
</style>
\ No newline at end of file
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index 88190e1..634d594 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -855,6 +855,7 @@
this.form3 = {};
}
if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 0) {
+
this.form5 = obj.form3[0];
this.showform3();
this.Sizerange(this.form5, 3);
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 d40420e..89da29c 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
@@ -39,7 +39,20 @@
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
-
+// List<String> adddresslist = new ArrayList<>();
+// adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃�
+// adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃�
+// adddresslist.add("DB105.4");// 杩涚墖鐜荤拑瀹�
+// adddresslist.add("DB105.8");//杩涚墖绗煎唴宸叉湁鐜荤拑鏁�
+// adddresslist.add("DB105.16");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔�
+// List<Short> datas = new ArrayList<>();
+// datas.add((short) 1000);//璧峰浣嶇疆
+// datas.add((short) 5);//鐩爣浣嶇疆
+// datas.add((short) 610);//杩涚墖鐜荤拑瀹�
+// datas.add((short) 1); //鐜荤拑鏁�
+// spianService.outmesid("123321","DB105.20");
+// datas.add((short) 1);//浠诲姟鍚姩
+// S7control.getinstance().WriteWord(adddresslist, datas);
// 鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�,鍗曠嫭鏁版嵁婧�
// try {
// north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
@@ -59,7 +72,7 @@
StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02鐨勭幓鐠僫d
// 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
if (B01backs == true) {
- // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬佷负1
+ // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬� 涓�1
spianMapper.UpdateCageOver(B01glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
spianMapper.Updatetask(1, 0);// 鏇存敼杩涚墖浠诲姟鐘舵�佷负1
spianMapper.UpdatetaskOut(B01glassid.toString()); // 瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰繘鐗囦换鍔�
@@ -87,8 +100,8 @@
StringBuilder queueid1 = spianService.queGlassid("DB106.26", 14);// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
// 鑾峰彇DO2鏁版嵁
StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
- System.out.println("D01|" + queueid1);
- System.out.println("D02|" + queueid2);
+// System.out.println("D01|" + queueid1);
+// System.out.println("D02|" + queueid2);
int questate = spianMapper.Selectquecount(queueid1.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
// queueid1.toString().isEmpty()
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 0f643e0..b12538f 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,52 +10,41 @@
import java.util.List;
public class PlcManualonePosition extends Thread {
- String name = "";
- Integer count = 0;
+ private Configuration config;
- public static String readFileToString(String filePath) throws IOException {
- File file = new File(filePath);
- return FileUtils.readFileToString(file, "UTF-8");
+ public PlcManualonePosition() 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;
+ public static class PLCBooleanConverter {
+
+ public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+ // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+ int totalSize = 0;
+ for (List<Boolean> list : lists) {
+ totalSize += list.size();
}
- // 灏唖tr瀛楃涓叉牸寮忚浆涓簀son
- JSONObject jsonObject = new JSONObject(str);
+ // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+ short[] binaryShortArray = new short[totalSize];
- // 鑾峰彇json涓殑鍊�
- JSONArray address = jsonObject.getJSONArray("ManualonePosition");
- for (int i = 0; i < address.size(); i++) {
- JSONObject ress = (JSONObject) address.get(i);
+ // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+ int currentIndex = 0;
- this.name = ress.getStr("name");
- this.count = ress.getInt("count");
-
+ // 閬嶅巻鎵�鏈夌殑鍒楄〃
+ for (List<Boolean> list : lists) {
+ // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+ for (Boolean value : list) {
+ binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+ }
}
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
+ return binaryShortArray;
}
}
+
+
+
@Override
public void run() {
@@ -112,6 +101,25 @@
addresses10.add("DB104.9.4");
addresses10.add("DB104.9.5");
List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
+
+ //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 = PlcManualonePosition.PLCBooleanConverter.convertListsToBinaryShortArray(
+ A01readstart, A02readstart,B01readstart, B02readstart
+ );
+
// Short[] values1 = { 1, 2, 3 };
// List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
// Short[] values2 = { 1, 2, 3 };
@@ -157,7 +165,7 @@
jsonObject.append("shishi1", arraylist5);
jsonObject.append("guzhang", params2);
jsonObject.append("weihuiling", params3);
- // jsonObject.append("weihuiling", arraylist8);
+ jsonObject.append("qidong", combinedBinaryShortArray);
WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
if (sendwServer != null) {
@@ -234,11 +242,20 @@
}
if (!sValue.isEmpty()) {
S7control.getinstance().WriteWord(waddresses1, sValue);
- List<String> A01start = new ArrayList<>();
- A01start.add("DB101.2.2");
- Boolean[] a01values7 = { true};
- List<Boolean> a01startval = new ArrayList<>(Arrays.asList(a01values7));
- S7control.getinstance().WriteBit(A01start, a01startval);
+ if (A01readstart != null && !A01readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a01startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A01readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a01startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A01start, a01startval);
+ }
+
+
+
System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
}
}
@@ -264,11 +281,20 @@
}
if (!sValue2.isEmpty()) {
S7control.getinstance().WriteWord(waddresses2, sValue2);
- List<String> A02start = new ArrayList<>();
- A02start.add("DB101.2.3");
- Boolean[] a02values7 = { true};
- List<Boolean> a01startval = new ArrayList<>(Arrays.asList(a02values7));
- S7control.getinstance().WriteBit(A02start, a01startval);
+ if (A02readstart != null && !A02readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a02startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A02readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a02startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A02start, a02startval);
+ }
+
+
+
System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
}
}
@@ -293,11 +319,17 @@
}
if (!sValue2.isEmpty()) {
S7control.getinstance().WriteWord(waddresses3, sValue2);
- List<String> B01start = new ArrayList<>();
- B01start.add("DB101.2.4");
- Boolean[]B01values7 = { true};
- List<Boolean> B01startval = new ArrayList<>(Arrays.asList(B01values7));
- S7control.getinstance().WriteBit(B01start, B01startval);
+ if (B01readstart != null && !B01readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> b01startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : B01readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ b01startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(B01start, b01startval);
+ }
System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3);
}
}
@@ -322,11 +354,18 @@
}
if (!sValue2.isEmpty()) {
S7control.getinstance().WriteWord(waddresses4, sValue2);
- List<String> B02start = new ArrayList<>();
- B02start.add("DB101.2.5");
- Boolean[] B02values7 = { true};
- List<Boolean> B02startval = new ArrayList<>(Arrays.asList(B02values7));
- S7control.getinstance().WriteBit(B02start, B02startval);
+ if (B02readstart != null && !B02readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> b02startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : B02readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ b02startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(B02start, b02startval);
+ System.out.println("Values " + b02startval + " written to PLC at address " + B02start);
+ }
System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4);
}
}
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 61e8c6f..9fd9c89 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,52 +10,41 @@
import java.util.List;
public class PlcManualonePosition2 extends Thread {
- String name = "";
- Integer count = 0;
+ private Configuration config;
- public static String readFileToString(String filePath) throws IOException {
- File file = new File(filePath);
- return FileUtils.readFileToString(file, "UTF-8");
+ public PlcManualonePosition2() 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;
+ public static class PLCBooleanConverter {
+
+ public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+ // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+ int totalSize = 0;
+ for (List<Boolean> list : lists) {
+ totalSize += list.size();
}
- // 灏唖tr瀛楃涓叉牸寮忚浆涓簀son
- JSONObject jsonObject = new JSONObject(str);
+ // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+ short[] binaryShortArray = new short[totalSize];
- // 鑾峰彇json涓殑鍊�
- JSONArray address = jsonObject.getJSONArray("ServoManualone");
- for (int i = 0; i < address.size(); i++) {
- JSONObject ress = (JSONObject) address.get(i);
+ // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+ int currentIndex = 0;
- this.name = ress.getStr("name");
- this.count = ress.getInt("count");
-
+ // 閬嶅巻鎵�鏈夌殑鍒楄〃
+ for (List<Boolean> list : lists) {
+ // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+ for (Boolean value : list) {
+ binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+ }
}
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
+ return binaryShortArray;
}
}
+
+
+
@Override
public void run() {
@@ -120,12 +109,30 @@
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"));
+
+
+
+ List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
+ List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
+
+
+ short[] combinedBinaryShortArray = PlcManualonePosition2.PLCBooleanConverter.convertListsToBinaryShortArray(
+ A01readstart, A02readstart
+ );
+
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);
WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
if (sendwServer != null) {
@@ -186,11 +193,17 @@
}
if (!sValue.isEmpty()) {
S7control.getinstance().WriteWord(waddresses1, sValue);
- List<String> A01start = new ArrayList<>();
- A01start.add("DB101.2.0");
- Boolean[] a01values7 = { true};
- List<Boolean> a01startval = new ArrayList<>(Arrays.asList(a01values7));
- S7control.getinstance().WriteBit(A01start, a01startval);
+ if (A01readstart != null && !A01readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a01startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A01readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a01startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A01start, a01startval);
+ }
System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
}
}
@@ -215,11 +228,17 @@
}
if (!sValue2.isEmpty()) {
S7control.getinstance().WriteWord(waddresses2, sValue2);
- List<String> A02start = new ArrayList<>();
- A02start.add("DB101.2.1");
- Boolean[] a02values7 = { true};
- List<Boolean> a01startval = new ArrayList<>(Arrays.asList(a02values7));
- S7control.getinstance().WriteBit(A02start, a01startval);
+ if (A02readstart != null && !A02readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a02startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A02readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a02startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A02start, a02startval);
+ }
System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
}
}
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 01b178d..4366a77 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
@@ -20,6 +20,32 @@
config = new Configuration("config.properties");
}
+ 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;
+ }
+ }
//璇诲彇id
public StringBuilder queGlassid(String address,int count) {
@@ -80,16 +106,11 @@
//B02缁勫悎鍦板潃
String b02Address = config.getProperty("B02.address");
List<Short> arraylist6 = S7control.getinstance().ReadWord(b02Address, 2);
- System.out.println(b02Address);
+// System.out.println(b02Address);
// 鎵�鏈夋晠闅滄寜閽湴鍧�
List<String> addresses7 = Arrays.asList(config.getProperty("faultButtonAddresses").split(","));
List<Boolean> arraylist7 = S7control.getinstance().readBits(addresses7);
- // 杩涚墖id鍦板潃
- String inputGlassIdAddress = config.getProperty("inputGlassIdAddress");
- String outputGlassIdAddress = config.getProperty("outputGlassIdAddress");
- StringBuilder queueid1 = queGlassid(inputGlassIdAddress, 14);
- // 瀛樼墖id鍦板潃
- StringBuilder queueid2 = queGlassid(outputGlassIdAddress, 14);
+
//A01鍚姩鍦板潃
List<String> A01start = Arrays.asList(config.getProperty("A01start"));
//A02鍚姩鍦板潃
@@ -98,12 +119,33 @@
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"));
+ List<String> Reset = Arrays.asList(config.getProperty("resetButtonAddresses").split(","));
+// System.out.println(Reset);
// 鎵�鏈夋湭鍥為浂鎸夐挳鍦板潃
- List<String> addresses8 = Arrays.asList(config.getProperty("notHomedButtonAddresses"));
+ 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<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);
+
+ short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
+ A01readstart, A01readBstart, A02readstart, A02readsBtart
+ );
+
// 鎵�鏈夋晠闅滄寜閽浆鎹负1鍜�0
short[] params2 = new short[arraylist7.size()];
@@ -114,7 +156,7 @@
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++) {
@@ -182,6 +224,8 @@
jsonObject.append("jinpianid", queueid1);
jsonObject.append("qupianid", queueid2);
jsonObject.append("fuwei", rReset);
+ jsonObject.append("qidong", combinedBinaryShortArray);
+ jsonObject.append("resumeTasks", resumeTasks);
@@ -224,9 +268,18 @@
if (!sValue.isEmpty()) {
S7control.getinstance().WriteWord(addresses, sValue);
- Boolean[] a01values7 = { true};
- List<Boolean> a01startval = new ArrayList<>(Arrays.asList(a01values7));
- S7control.getinstance().WriteBit(A01start, a01startval);
+ // 妫�鏌ユ槸鍚﹁鍙栧埌浜嗕綅鍊硷紝骞朵笖鍒楄〃涓嶄负绌�
+ if (A01readstart != null && !A01readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a01startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A01readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a01startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A01start, a01startval);
+ }
System.out.println("Values " + sValue + " written to PLC at address " + addresses);
}
}
@@ -253,9 +306,17 @@
if (!sValue2.isEmpty()) {
S7control.getinstance().WriteWord(addresses2, sValue2);
- Boolean[] a02values7 = {true};
- List<Boolean> a02startval = new ArrayList<>(Arrays.asList(a02values7));
- S7control.getinstance().WriteBit(A02start, a02startval);
+ if (A02readstart != null && !A02readstart.isEmpty()) {
+ // 鍒涘缓涓�涓柊鐨勫垪琛ㄧ敤浜庡啓鍏ユ柊鍊�
+ List<Boolean> a02startval = new ArrayList<>();
+ // 閬嶅巻鎵�鏈夎鍙栧埌鐨勪綅鍊�
+ for (Boolean bit : A02readstart) {
+ // 鍙栧弽褰撳墠浣嶇殑鍊煎苟娣诲姞鍒版柊鐨勫垪琛ㄤ腑
+ a02startval.add(!bit);
+ }
+ // 鍐欏叆鏂扮殑浣嶅�煎垪琛�
+ S7control.getinstance().WriteBit(A02start, a02startval);
+ }
System.out.println("Values " + sValue2 + " written to PLC at address " + addresses2);
}
}
@@ -380,6 +441,30 @@
}
}
+ if (messageArray.getJSONArray(8).size() > 0) {
+ JSONArray jsonArray5 = messageArray.getJSONArray(8);
+ List<Boolean> sValueb5 = new ArrayList<>();
+ for (int i = 0; i < jsonArray5.size(); i++) {
+ Object value = jsonArray5.get(i);
+ if (value != null && !value.toString().equals("null")) {
+ try {
+ String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+ boolean val = "1".equals(cleanedValue.trim());
+ sValueb5.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 (!sValueb5.isEmpty()) {
+
+ S7control.getinstance().WriteBit(abortresumeTasks, sValueb5);
+ System.out.println("Values " + sValueb5 + " written to PLC at address " + A02Bstart);
+ }
+ }
+
// 娓呯┖娑堟伅鍒楄〃
webSocketServer.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 54d6a6d..ecf88ea 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
@@ -28,7 +28,7 @@
FileInputStream fileInputStream;
try {
// 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
- fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/Alarm.json");
+ fileInputStream = new FileInputStream("src/main/resources/Alarm.json");
// 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
// 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
@@ -121,7 +121,7 @@
List<String> myCollection;
myCollection = readValue();
String[] array1 = myCollection.toArray(new String[myCollection.size()]);
-
+ // System.out.println(array1.length);
alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class);
for (short i = 0; i < array1.length; i++) {
// 鏌ヨ瀵瑰簲鎶ヨ淇℃伅缁撴潫鏃堕棿涓簄ull鐨勬潯鏁�
@@ -130,7 +130,7 @@
// System.out.println(result);
if (shuzu1[i] == 1 && result == 0) {
// 濉姞涓�鏉℃姤璀︿俊鎭�,鏈夊紑濮嬫椂闂�
- // alarmMapper.Insertalarm(array1[i]);
+ alarmMapper.Insertalarm(array1[i]);
} else if (shuzu1[i] == 0 && result > 0) {
// 淇敼璇ユ潯鎶ヨ淇℃伅鐨勭粨鏉熸椂闂�
alarmMapper.updatealarm(array1[i]);
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 8d1b7c3..7fae6e4 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
@@ -32,7 +32,7 @@
//閾濇id
public static String FrameNo;
//鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
- public static Boolean isConfirm=true;
+ public static Boolean isConfirm=false;
// public static Map b=new HashMap<>();
// b.put()
@Override
@@ -92,7 +92,7 @@
// 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
String queid = spianMapper.Selectqueueid();
int state = spianMapper.Selectqueuestate();
- jsonObject.append("state", queid);
+ jsonObject.append("queid", queid);
jsonObject.append("state", state);
// 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
Queue form2 = homeMapper.GetQueueInfo(2);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
index c62f94f..112ca78 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
@@ -79,7 +79,7 @@
List<String> Intlist = new ArrayList<>();
for (Short value : plclist) {
- Intlist.add(value == 1 ? "鑷姩" : "鎵嬪姩");
+ Intlist.add(value == 1 ? "AUTO" : "Manual");
}
JSONObject jsonObject = new JSONObject();
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 f95db1c..f4b82b1 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,29 +17,28 @@
//
System.out.println("鍚姩瀹屾垚");
- // new PlcHold().start();
+// new PlcHold().start();
+//
//
- //
-
- new Plchome().start();
-
- // new PlcParameter().start();
- // //
- // // new Plcalarm().start();
- // //
- // new Plcsign().start();
- // //
- // new Plcaction().start();
- // new Plcstate().start();
- // new PlcPositioning1().start();
- // new PlcPositioning2().start();
- // new PlcParameter2().start();
- // new PlcParameter1().start();
- // new PLCAutomaticParameterSetting().start();
+// new Plchome().start();
+// //
+ new PlcParameter().start();
+ //
+ new Plcalarm().start();
+ //
+ new Plcsign().start();
+ //
+ new Plcaction().start();
+ new Plcstate().start();
+ new PlcPositioning1().start();
+ new PlcPositioning2().start();
+ new PlcParameter2().start();
+ new PlcParameter1().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/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index 75581e5..ffb3918 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -29,7 +29,7 @@
@Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and disabled=0 and width>=#{width} ORDER BY cell asc,tier asc LIMIT 1")
StorageCage selectCage1(int cage1,int cell,double width);
//鍒ゆ柇绗煎瓙鍐呯幓鐠冩暟
- @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state=1;")
+ @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state!=0;")
int selectsum(int cage,int cell);
//瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
@Update("update storage_cage set state=#{state} where glass_id=#{glassid};")
@@ -58,7 +58,7 @@
StorageCage selectGlassCage(int cage,double width,int cage1,int cage2);
//鍒犻櫎绗煎瓙淇℃伅(鍑虹墖)
- @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glassid=#{glassid};")
+ @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glass_id=#{glassid} and state=3;")
void UpdataGlassCage(String glassid,int state);
//鏀瑰彉鐜荤拑鐘舵�佷负鍑虹墖涓�
@Update("update storage_cage as a set state=#{state} where glass_id=#{glassid};")
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index 2f1045f..aceee1b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -95,6 +95,7 @@
spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString());// 鏂板浠诲姟
S7control.getinstance().WriteWord(adddresslist, datas);
+ System.out.println("姹囨姤鏃朵换鍔" + datas);
}else{
// 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
@@ -103,6 +104,8 @@
spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString());// 鏂板浠诲姟
S7control.getinstance().WriteWord(adddresslist, datas);
+ System.out.println("姹囨姤鏃朵换鍔" + datas);
+
// S7control.getinstance().WriteByte("DB105.16",glassid);
}
diff --git a/springboot-vue3/src/main/resources/Alarm.json b/springboot-vue3/src/main/resources/Alarm.json
new file mode 100644
index 0000000..89bf615
--- /dev/null
+++ b/springboot-vue3/src/main/resources/Alarm.json
@@ -0,0 +1,507 @@
+{
+ "content": [
+ {
+ "name": "D01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 servo turn error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 servo turn error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 IN DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 IN pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 OUT DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 OUT pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 IN DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 IN pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 OUT DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 OUT pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 Scan glass exceeding limit",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "emergency stop alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "More glass than known",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "less glass than known",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor Left safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor right safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor Left safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor right safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "1# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "2# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "3# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "4# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01.SR right in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR left dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR right dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR right in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR left dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR right dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ }
+ ],
+ "address": [
+ {
+ "name": "DB104.0.0",
+ "count": 71
+ }
+ ]
+}
\ 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 41ceb42..88d0181 100644
--- a/springboot-vue3/src/main/resources/config.properties
+++ b/springboot-vue3/src/main/resources/config.properties
@@ -31,4 +31,22 @@
A02Bstart=DB101.11.1
#A01start
A01Bstart=DB101.11.0
-#------------------------------------------------------------
\ No newline at end of file
+#abort/resumeTasks
+abortresumeTasks=DB101.10.4
+#------------------------------------------------------------
+
+
+#A02start
+mlp.A02start=DB101.2.3
+#A01start
+mlp.A01start=DB101.2.2
+#A02start
+mlp.B02start=DB101.2.5
+#A01start
+mlp.B01start=DB101.2.4
+
+#--------------------------
+#A02start
+mlp2.A02start=DB101.2.1
+#A01start
+mlp2.A01start=DB101.2.0
--
Gitblit v1.8.0