From 9e8a54035a7b13ef75558c6e44ae7a7cd55693c9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 07 十二月 2023 08:39:56 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue | 19 +
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java | 109 ++++--
CanadaMes-ui/src/views/home/index.vue | 152 ++++++---
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 | 7
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/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 | 122 +++---
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 3
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 34 +
CanadaMes-ui/src/lang/locales/zh-CN.json | 1
/dev/null | 34 --
springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java | 2
CanadaMes-ui/src/configuration/Action.json | 12
CanadaMes-ui/src/api/home.js | 17 +
CanadaMes-ui/src/views/Electrical/Action.vue | 16
CanadaMes-ui/src/lang/locales/en-US.json | 14
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 +++++---
24 files changed, 644 insertions(+), 307 deletions(-)
diff --git a/CanadaMes-ui/src/api/home.js b/CanadaMes-ui/src/api/home.js
index 64fb220..beef5bd 100644
--- a/CanadaMes-ui/src/api/home.js
+++ b/CanadaMes-ui/src/api/home.js
@@ -1,5 +1,22 @@
import request from "../utils/request";
+
+export function SelectPermissionByUserName(username) {
+ return request({
+ url: '/home/SelectPermissionByUserName?username='+username,
+ method: 'get',
+ data:""
+ })
+}
+
+export function currentUsername() {
+ return request({
+ url: '/api/user/currentUsername',
+ method: 'get',
+
+ })
+ }
+
/**
*鐧诲綍
* @param data
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..3d93c64 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -321,6 +321,7 @@
"Top":"Top",
"Up":"Up",
"Down":"Down",
+ "You do not have this permission":"You do not have this permission",
"ServoManualone": {
"A01 鎵�鍦ㄦ牸瀛�": "A01 Current Grid",
"鏁伴噺": "Quantity",
@@ -343,7 +344,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 +508,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/lang/locales/zh-CN.json b/CanadaMes-ui/src/lang/locales/zh-CN.json
index 05c7ab5..62696fd 100644
--- a/CanadaMes-ui/src/lang/locales/zh-CN.json
+++ b/CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -313,6 +313,7 @@
"Top":"缃《",
"Up":"涓婄Щ",
"Down":"涓嬬Щ",
+ "You do not have this permission":"You do not have this permission",
"langparameter": {
"conveyor Velocity(Auto FAST)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄥ揩閫�",
"conveyor Velocity(Auto SLOW)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄦ參閫�",
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..68e98c2 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -199,9 +199,12 @@
font-size: 25px;
}
-@media screen and (min-width: 1900px) {
- .blocks{transform: scale(1.5,1.05);width: 1210px;}
-}
+@media screen and (min-width: 1900px) {
+ .blocks {
+ transform: scale(1.5, 1.05);
+ width: 1210px;
+ }
+}
.el-message-box__btns {
padding: 0px 15px 0;
@@ -228,7 +231,8 @@
</div>
<div style="display:flex;justify-content: space-around;width: 9zz5%;margin: 0 auto;">
<el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"></el-input>
- <el-button type="primary" @click="SelectGlassByGlassIDs(2)">{{ $t('Manually Infeed Glass') }}</el-button>
+ <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass">
+ {{ $t('Manually Infeed Glass') }}</el-button>
<!-- <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="order"></el-input>
<el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button> -->
</div>
@@ -312,14 +316,19 @@
@click="showcageinfo(item['cage'])"></div>
</div>
<div class="blue gezi"
- :style="{ display: 'flex', position: 'absolute', float: 'left', top: 105 + 'px', left: 1050 + 'px', height: loadglassheight + 'px', width: 5 + 'px' }">
+ :style="{ display: 'flex', position: 'absolute', float: 'left', top: 28 + 'px', left: 1050 + 'px', height: loadglassheight1 + 'px', width: 4 + 'px' }">
+ </div>
+ <div class="blue gezi"
+ :style="{ display: 'flex', position: 'absolute', float: 'left', top: 105 + 'px', left: 1050 + 'px', height: loadglassheight2 + 'px', width: 4 + 'px' }">
</div>
<div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"></div>
<div class="blocks-img" :style="{ left: car2 + 'px', top: '175px' }"></div>
<div class="blocks-img2"></div>
<div class="blocks-img3"></div>
- <el-button class="orderbutton1" type="primary" @click="showform2()">{{ $t('OrderInfo') }}</el-button>
- <el-button class="orderbutton2" type="primary" @click="showform6()">{{ $t('Outing Queue') }}</el-button>
+ <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo">{{ $t('OrderInfo')
+ }}</el-button>
+ <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue">
+ {{ $t('Outing Queue') }}</el-button>
<!-- <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;">
<div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist1" :key="item['date']"
@@ -639,17 +648,20 @@
<el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
<el-table-column :width="280" :label="$t('Operate')">
<template slot-scope='scope'>
- <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)" style="font-size: 15px;"
+ <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)"
+ style="font-size: 15px;"
:disabled="(scope.$index == 0 || isAllowQueue == true || scope.row.state == 1)">
- {{$t('Top')}}
+ {{ $t('Top') }}
</el-button>
- <el-button type="text" size="small" @click="getUpMove(scope.row, scope.$index)" style="font-size: 15px;"
+ <el-button type="text" size="small" @click="getUpMove(scope.row, scope.$index)"
+ style="font-size: 15px;"
:disabled="(scope.$index == 0 || isAllowQueue == true || scope.row.state == 1)">
- {{$t('Up')}}
+ {{ $t('Up') }}
</el-button>
- <el-button type="text" size="small" @click="getDownMove(scope.row, scope.$index)" style="font-size: 15px;"
+ <el-button type="text" size="small" @click="getDownMove(scope.row, scope.$index)"
+ style="font-size: 15px;"
:disabled="(OutSlice.length - 1 == scope.$index || isAllowQueue == true || scope.row.state == 1)">
- {{$t('Down')}}
+ {{ $t('Down') }}
</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
@click="deleteproductionqueueglass(scope.row.barcode)">{{ $t('Delete') }}</el-button>
@@ -702,7 +714,7 @@
import {
home, home2, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo, SelectCageInfo, DeleteByGlassID, OutByGlassID, Loadcarlist,
SelectPassword, SelectGlassByGlassID, Disabled, Inglassid, SelectGlass, InsertQueueGlassId, UpdateQueueState, DeleteQueueGlass, SelectGlassNo,
- SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates
+ SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates, SelectPermissionByUserName, currentUsername
} from "../../api/home";
@@ -761,7 +773,8 @@
cageinfo: [],
cage: 0,
carlist: [],
- loadglassheight: 0,
+ loadglassheight1: 0,
+ loadglassheight2: 0,
password: 1,
text: "",
zhuangtai: "",
@@ -776,13 +789,16 @@
currentPages: 1, //榛樿鍒濆椤�
pagesizes: 21, //姣忛〉榛樿鏄剧ず鐨勬暟鎹�
pageCounts: 0,
-
OutSlice: [],
AluminumFrame: [],
framebarcode: "",
isAllowQueue: true,
FrameNoFlag: "",
- isConfirm: true
+ isConfirm: true,
+ ManuallyInfeedGlass: true,
+ OutingQueue: true,
+ OrderInfo: true,
+ CageDetails: true
};
},
created() {
@@ -835,32 +851,37 @@
this.OutSlice = obj.listoutslice[0];
}
//鑾峰彇涓婄墖浣嶇幓鐠冧俊鎭�
- this.loadglassheight = obj.loadglassheight;
+
if (obj.zhuangtai != null) {
this.zhuangtai = obj.zhuangtai[0];
}
//涓婄墖浣嶇幓鐠冧俊鎭�
if (obj.form2 != null && obj.form2 != "") {
this.form2 = obj.form2[0];
+ this.loadglassheight2 = 70;
} else {
this.form2 = {};
}
-
+
//鏄惁闇�瑕佹墜鍔ㄧ‘璁や笂鐗�
this.isConfirm = obj.isConfirm[0];
//鎵爜浣嶇幓鐠冧俊鎭�
if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 1) {
this.form3 = obj.form3[0];
+ this.loadglassheight1 = 70;
} else {
this.form3 = {};
}
if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 0) {
+ this.loadglassheight1 = 70;
this.form5 = obj.form3[0];
this.showform3();
this.Sizerange(this.form5, 3);
-
+ this.glassid1="";
} else {
- this.Sizerange(this.form5, 3);
+ if(this.glassid1==""){
+ this.DeleteBarcodeGlass();
+ }
}
//鏁版嵁搴撹繛鎺ユ槸鍚︽甯�
if (obj.dbconnected == "false") {
@@ -888,6 +909,26 @@
}
},
load() {
+ //鍔犺浇鐢ㄦ埛鏉冮檺
+ currentUsername().then(res => {
+ SelectPermissionByUserName(res.data).then(res => {
+ res.data.permission.forEach(item => {
+ if (item.permissionId == "32" && item.state == 1) {
+ this.ManuallyInfeedGlass = false;
+ }
+ if (item.permissionId == "32" && item.state == 1) {
+ this.OutingQueue = false;
+ }
+ if (item.permissionId == "33" && item.state == 1) {
+ this.OrderInfo = false;
+ }
+ if (item.permissionId == "34" && item.state == 1) {
+ this.CageDetails = false;
+ }
+ });
+ });
+
+ });
//鍔犺浇绗煎瓙浣跨敤鎯呭喌鏁版嵁
home().then(res => {
this.tableData = res.data.list;
@@ -1139,12 +1180,17 @@
},
//鏄剧ず鐞嗙墖绗艰鎯呬俊鎭�
showcageinfo(cage) {
- cage = this.cageglassid;
- SelectCageInfo(cage).then(res => {
- this.cageinfo = res.data.cageinfo;
- this.currentPages = 1;
- this.dialogFormVisible3 = true;
- });
+ if (this.CageDetails == false) {
+ cage = this.cageglassid;
+ SelectCageInfo(cage).then(res => {
+ this.cageinfo = res.data.cageinfo;
+ this.currentPages = 1;
+ this.dialogFormVisible3 = true;
+ });
+ } else {
+ this.$message.error(this.$t('You do not have this permission'));
+ }
+
},
//鍒犻櫎鐞嗙墖绗肩幓鐠�
deleteglass(glassid, state) {
@@ -1379,7 +1425,7 @@
this.$message.success(this.$t('Operation successful'));
}
});
- },
+ },
//缃《
getTopMove(row, index) {
let Sequence = [];
@@ -1548,32 +1594,34 @@
},
//鍒ゆ柇鐜荤拑鏄惁瓒呭嚭鑼冨洿
Sizerange(Glass, position) {
- if ((Glass.glassheight < 380 || Glass.glasswidth < 390 || Glass.glassheight > 1810 || Glass.glasswidth > 2760) || (Glass.glassheight < 390 || Glass.glasswidth < 380 || Glass.glassheight > 2760 || Glass.glasswidth > 1810)) {
- this.$alert(this.$t('The glass size is not within the range'), this.$t('confirm'), {
- confirmButtonText: this.$t('Yes'),
- type: 'info',
- callback: (action) => {
- this.$message({
- type: 'info',
- message: `action: ${ action }`
- }).then(
- this.DeleteBarcodeGlass()
- );
+ if (this.ManuallyInfeedGlass == true) {
+ if ((Glass.glassheight < 380 || Glass.glasswidth < 390 || Glass.glassheight > 1810 || Glass.glasswidth > 2760) || (Glass.glassheight < 390 || Glass.glasswidth < 380 || Glass.glassheight > 2760 || Glass.glasswidth > 1810)) {
+ this.$alert(this.$t('The glass size is not within the range'), this.$t('confirm'), {
+ confirmButtonText: this.$t('Yes'),
+ type: 'info',
+ callback: (action) => {
+ this.$message({
+ type: 'info',
+ message: `action: ${action}`
+ }).then(
+ this.DeleteBarcodeGlass()
+ );
+ }
+ });
+ if (position == 1 || position == 3) {
+ this.disabled1 = true;
+ } else {
+ this.disabled = true;
}
- });
- if (position == 1 || position == 3) {
- this.disabled1 = true;
} else {
- this.disabled = true;
- }
- } else {
- if (position == 1 || position == 3) {
- this.disabled1 = false;
- } else {
- this.disabled = false;
- }
- if (position == 3&&this.isConfirmState==true) {
- this.InsertQueueGlass(1);
+ if (position == 1 || position == 3) {
+ this.disabled1 = false;
+ } else {
+ this.disabled = false;
+ }
+ if (position == 3 && this.isConfirmState == true) {
+ this.InsertQueueGlass(1);
+ }
}
}
},
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 764e5d8..6ad1391 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
@@ -31,7 +31,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);
@@ -51,7 +64,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()); // 瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰繘鐗囦换鍔�
@@ -79,8 +92,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 28c2308..de38cb9 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,9 +1,6 @@
package com.example.springboot.component;
import cn.hutool.json.JSONObject;
-import cn.hutool.poi.excel.sax.handler.MapRowHandler;
-
-import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@@ -19,6 +16,7 @@
import com.example.springboot.service.North_Glass_Buffer1Service;
import com.example.springboot.service.SpianService;
+
public class Plchome extends Thread {
@Autowired
@@ -27,13 +25,12 @@
private SpianService spianService;
private North_Glass_Buffer1Service north_Glass_Buffer1Service;
private JdbcConnections dbserve;
- // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
- public static Boolean isAllowQueue = true;
- // 閾濇id
+ //鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+ public static Boolean isAllowQueue=true;
+ //閾濇id
public static String FrameNo;
- // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
- public static Boolean isConfirm = false;
-
+ //鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
+ public static Boolean isConfirm=false;
// public static Map b=new HashMap<>();
// b.put()
@Override
@@ -72,39 +69,37 @@
List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
jsonObject.append("alarmmg", alarmmg);
// 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
- List<String> addressList = new ArrayList<String>();
- if (addressList != null) {
- 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
+ // 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("state", queid);
+ jsonObject.append("queid", queid);
jsonObject.append("state", state);
// 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
Queue form2 = homeMapper.GetQueueInfo(2);
Queue form3 = homeMapper.GetQueueInfo(1);
- if (form2.getglassId() != null && form2.getglassId() != "") {
+ if(form2.getglassId()!=null&&form2.getglassId()!=""){
jsonObject.append("form2", form2);
}
- if (form3.getglassId() != null && form3.getglassId() != "") {
+ if(form3.getglassId()!=null&&form3.getglassId()!=""){
jsonObject.append("form3", form3);
}
// 鑾峰彇鍑虹墖闃熷垪淇℃伅
@@ -113,48 +108,53 @@
out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
}
jsonObject.append("listoutslice", listoutslice);
- // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
- jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
+ //鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
+ jsonObject.append("isAllowQueue",Plchome.isAllowQueue);
- // 鑾峰彇閾濇idDB106.DBW64
+ //鑾峰彇閾濇idDB106.DBW64
// String frameno=spianService.queGlassid("DB106.24",14).toString();
// if(frameno!=Plchome.FrameNo){
- // Plchome.FrameNo=frameno;
+ // Plchome.FrameNo=frameno;
// }
// Plchome.FrameNo="123";
// try {
- // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
// } catch (SQLException e) {
- // // TODO Auto-generated catch block
- // e.printStackTrace();
+ // // TODO Auto-generated catch block
+ // e.printStackTrace();
// }
- // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
+ //鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
jsonObject.append("isConfirm", isConfirm);
- // 閾濇绾夸氦浜�
+ //閾濇绾夸氦浜�
// //閾濇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();
+ // //閾濇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);
// }
- // 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 {
@@ -171,6 +171,8 @@
sendwServer.sendMessage(jsonObject.toString());
}
+
+
}
}
}
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/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index 25d72ac..1f3445c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -5,27 +5,42 @@
import java.util.List;
import java.util.Map;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
+import com.example.springboot.security.constant.SystemConstant;
+import com.example.springboot.security.util.JwtUtil;
+import com.example.springboot.security.util.SecurityUtil;
import com.example.springboot.service.HomeService;
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.PermissionService;
import com.example.springboot.service.SpianService;
+
+import cn.hutool.core.util.StrUtil;
+
import com.example.springboot.common.Result;
import com.example.springboot.component.Plchome;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.User;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.Permission;
import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.RolePermission;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
@RestController
@RequestMapping("/home")
@@ -51,6 +66,15 @@
@Autowired
private JdbcConnections jdbcConnections;
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鏉冮檺
+ @GetMapping("/SelectPermissionByUserName")
+ public Result SelectPermissionByUserName(String username) {
+ Map<String, Object> map = new HashMap<>();
+ List<RolePermission> permission = homeMapper.SelectPermissionByUserName(username);
+ map.put("permission", permission);
+ return Result.success(map);
+ }
+
// 鏌ヨ鐞嗙墖绗间娇鐢ㄦ儏鍐�
@GetMapping("/load")
public Result selectAll() {
@@ -63,6 +87,7 @@
// 鏌ヨ鐞嗙墖绗肩幓鐠冩儏鍐�
@GetMapping("/loads")
public Result selectRack() {
+
List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
@@ -167,9 +192,10 @@
north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", "");
String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode());
String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode());
- int sequence=homeMapper.SelectMaxSquence();
+ int sequence = homeMapper.SelectMaxSquence();
homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
- north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),sequence,position);
+ north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
+ sequence, position);
map.put("message2", "200");
} else {
map.put("message2", "500");
@@ -285,7 +311,7 @@
@PostMapping("/SelectAluminumFrameInfoById")
public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException {
String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
- List<north_glass_buffer1> listAluminumFrame=north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
+ List<north_glass_buffer1> listAluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
Map<String, Object> map = new HashMap<>();
map.put("listAluminumFrame", listAluminumFrame);
map.put("flip", flip);
@@ -332,7 +358,7 @@
Plchome.isAllowQueue = isAllowQueue;
if (isAllowQueue == true) {
for (Out_slice out_slice2 : out_slice) {
- homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(),out_slice2.getSequence());
+ homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence());
}
}
Map<String, Object> map = new HashMap<>();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index 1889fad..3dfec02 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -8,6 +8,7 @@
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.RolePermission;
import java.util.List;
@@ -167,5 +168,7 @@
@Select("select ifnull(max(sequence),0)+1 from out_slice ")
Short SelectMaxSquence();
+ @Select("select rp.* from role_permission rp inner join role r on rp.role_id=r.id and r.name=#{token} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35)")
+ List<RolePermission> SelectPermissionByUserName(String token);
}
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 1d58dd7..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
@@ -2,11 +2,14 @@
import org.apache.ibatis.annotations.*;
+import com.example.springboot.entity.Glass;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.north_glass_buffer1;
import java.util.List;
+import javax.print.DocFlavor.STRING;
@Mapper
@@ -26,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};")
@@ -55,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 glass_id=#{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 e26b4ab..2a1c301 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
@@ -89,6 +89,7 @@
spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString());// 鏂板浠诲姟
S7control.getinstance().WriteWord(adddresslist, datas);
+ System.out.println("姹囨姤鏃朵换鍔" + datas);
}else{
// 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
@@ -97,6 +98,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/config.properties b/springboot-vue3/src/main/resources/config.properties
deleted file mode 100644
index 41ceb42..0000000
--- a/springboot-vue3/src/main/resources/config.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#PlcServoManualone 鍦板潃 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-# A01缁勫悎涓湴鍧�琛ㄩ泦鍚�
-A01.addresses=DB103.32,DB100.144,DB100.184,DB100.186,DB100.180,DB100.182
-# A02缁勫悎涓湴鍧�琛ㄩ泦鍚�
-A02.addresses=DB103.26,DB100.188,DB100.190,DB100.146
-# A01缈昏浆鍦板潃
-A01.flipAddress=DB103.42
-# A02缈昏浆鍦板潃
-A02.flipAddress=DB103.46
-# B01缁勫悎涓湴鍧�
-B01.address=DB103.27
-# B02缁勫悎鍦板潃
-B02.address=DB103.29
-# 鎵�鏈夋晠闅滄寜閽湴鍧�
-faultButtonAddresses=DB104.1.4,DB104.1.5,DB104.1.2,DB104.1.3,DB104.1.6,DB104.1.7
-# 澶嶄綅鎸夐挳鍦板潃
-resetButtonAddresses=DB101.4.0,DB101.4.3,DB101.3.6,DB101.4.1,DB101.4.4,DB101.4.6
-# 鎵�鏈夋湭鍥為浂鎸夐挳鍦板潃
-notHomedButtonAddresses=DB104.9.0,DB104.9.1,DB104.9.0,DB104.9.1,DB104.9.4,DB104.9.5
-# 杩涚墖id鍦板潃
-inputGlassIdAddress=DB100.148
-# 瀛樼墖id鍦板潃
-outputGlassIdAddress=DB100.162
-#鍥為浂鎸夐挳鍦板潃
-HomedButtonAddresses=DB101.3.7,DB101.4.2,DB101.4.5,DB101.4.7
-#A02start
-A02start=DB101.5.1
-#A01start
-A01start=DB101.5.0
-#A02start
-A02Bstart=DB101.11.1
-#A01start
-A01Bstart=DB101.11.0
-#------------------------------------------------------------
\ No newline at end of file
--
Gitblit v1.8.0