From 0bb9ea08c62cc463203def30429fec3b66f9513d Mon Sep 17 00:00:00 2001
From: clll <1320612696@qq.com>
Date: 星期一, 11 九月 2023 17:42:30 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.150:10101/r/CanadaMes
---
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java | 186 +++++++++++++++++-----------------------------
1 files changed, 69 insertions(+), 117 deletions(-)
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 6ccc626..1597562 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
@@ -19,130 +19,82 @@
e.printStackTrace();
}
- List<Short> paramlist = S7control.getinstance().ReadWord("DB100.DBW", 12);
+ List<Boolean> plclist = S7control.getinstance().ReadBits("DB104.DBx0.0", 40);
+ if (plclist == null) {
- // JSONObject jsonObject = new JSONObject();
- // // jsonObject.append("params", paramlist);
- // jsonObject.append("params", new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- // 11, });
- // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
- // if (sendwServer != null) {
- // sendwServer.sendMessage(jsonObject.toString());
- // }
+ } else {
- JSONObject jsonObject = new JSONObject();
+ JSONObject jsonObject = new JSONObject();
- jsonObject.append("arm",
- new short[] { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0,
- 1, 0, 1, 0, 1, 0, 1, 0, 1, });
- WebSocketServer sendwServer = WebSocketServer.sessionMap.get("alarm");
- if (sendwServer != null) {
- sendwServer.sendMessage(jsonObject.toString());
- }
-
- Short[] shuzu1 = {
- 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0,
- 1, 0, 1, 0, 1, 0, 1, 0, 1,
- };
-
- String[] shuzu = {
- "D01 VFD error",
- "D02 VFD error",
- "D03 VFD error",
- "D04 VFD error",
- "D05 VFD error",
- "D06 VFD error",
- "B01 VFD error",
- "B02 VFD error",
- "A01 VFD error",
- "A02 VFD error",
- "A01 servo turn error",
- "A02 servo turn error",
- "A01 servo travel error",
- "A02 servo travel error",
- "B01 servo travel error",
- "B02 servo travel error",
- "D01 DEC error",
- "D01 pos error",
- "D02 DEC error",
- "D02 pos error",
- "D03 DEC error",
- "D03 pos error",
- "D04 DEC error",
- "D04 pos error",
- "D05 DEC error",
- "D05 pos error",
- "D06 DEC error",
- "D06 pos error",
- "A01 DEC error",
- "A01 pos error",
- "A02 DEC error",
- "A02 pos error",
- "B01 IN DEC error",
- "B01 IN pos error",
- "B01 OUT DEC error",
- "B01 OUT pos error",
- "B02 IN DEC error",
- "B02 IN pos error",
- "B02 OUT DEC error",
- "B02 OUT pos error",
- };
- alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class);
- for (short i = 0; i < shuzu1.length; i++) {
- short result = alarmMapper.selectnullti(shuzu[i]);
- if (shuzu1[i] == 1 && result == 0) {
- alarmMapper.Insertalarm(shuzu[i]);
- } else if (shuzu1[i] == 0 && result > 0) {
- alarmMapper.updatealarm(shuzu[i]);
+ jsonObject.append("params", plclist);
+ WebSocketServer sendwServer = WebSocketServer.sessionMap.get("alarm");
+ if (sendwServer != null) {
+ sendwServer.sendMessage(jsonObject.toString());
}
- }
+ // 将读取到的plclist转为数组
+ Short[] shuzu1 = plclist.toArray(new Short[0]);
+ // Short[] shuzu1 = {
+ // 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+ // 1, 0, 1, 0, 0,
+ // 1, 0, 1, 0, 1, 0, 1, 0, 1,
+ // };
- // 鍐�
- WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter");
- if (webSocketServer != null) {
- List<String> messages = webSocketServer.getMessages();
-
- String addressList = "DB100.DBW0";
- // addressList.add("DB100.DBW0");
- // addressList.add("DB100.DBW2");
- // addressList.add("DB100.DBW4");
- // addressList.add("DB100.DBW6");
- // addressList.add("DB100.DBW8");
- // addressList.add("DB100.DBW10");
- // addressList.add("DB100.DBW12");
- // addressList.add("DB100.DBW14");
- // addressList.add("DB100.DBW16");
- // addressList.add("DB100.DBW18");
- // addressList.add("DB100.DBW20");
- // addressList.add("DB100.DBW22");
-
- if (!messages.isEmpty()) {
- // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
- String lastMessage = messages.get(messages.size() - 1);
- System.out.println("messages锛�" + messages);
- String[] parts = lastMessage.split(",");
- List<Short> messageValues = new ArrayList<>();
- for (String part : parts) {
- try {
- // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃
- String cleanedPart = part.replaceAll("[^0-9-]", "");
- short value = Short.parseShort(cleanedPart.trim());
- messageValues.add(value);
- } catch (NumberFormatException e) {
- // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-
- e.printStackTrace();
- }
+ String[] shuzu = {
+ "D01 VFD error",
+ "D02 VFD error",
+ "D03 VFD error",
+ "D04 VFD error",
+ "D05 VFD error",
+ "D06 VFD error",
+ "B01 VFD error",
+ "B02 VFD error",
+ "A01 VFD error",
+ "A02 VFD error",
+ "A01 servo turn error",
+ "A02 servo turn error",
+ "A01 servo travel error",
+ "A02 servo travel error",
+ "B01 servo travel error",
+ "B02 servo travel error",
+ "D01 DEC error",
+ "D01 pos error",
+ "D02 DEC error",
+ "D02 pos error",
+ "D03 DEC error",
+ "D03 pos error",
+ "D04 DEC error",
+ "D04 pos error",
+ "D05 DEC error",
+ "D05 pos error",
+ "D06 DEC error",
+ "D06 pos error",
+ "A01 DEC error",
+ "A01 pos error",
+ "A02 DEC error",
+ "A02 pos error",
+ "B01 IN DEC error",
+ "B01 IN pos error",
+ "B01 OUT DEC error",
+ "B01 OUT pos error",
+ "B02 IN DEC error",
+ "B02 IN pos error",
+ "B02 OUT DEC error",
+ "B02 OUT pos error",
+ };
+ alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class);
+ for (short i = 0; i < shuzu1.length; i++) {
+ // 查询结束时间为null的个数
+ short result = alarmMapper.selectnullti(shuzu[i]);
+ // 读取PLC对应地址的值为1并且该地址没有结束时间为null的数据,添加一条新的报警信息
+ if (shuzu1[i] == 1 && result == 0) {
+ alarmMapper.Insertalarm(shuzu[i]);
}
-
- // 灏嗘秷鎭�煎啓鍏� PLC
- // S7control.getinstance().WriteWord(addressList, messageValues);
- System.out.println("messageValues锛�" + messageValues);
- System.out.println("addressList锛�" + addressList);
- // 娓呯┖娑堟伅鍒楄〃
- webSocketServer.clearMessages();
+ // 读取PLC对应地址的值为0并且该地址有结束时间为null的数据,修改该条数据的结束时间
+ else if (shuzu1[i] == 0 && result > 0) {
+ alarmMapper.updatealarm(shuzu[i]);
+ }
}
}
}
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0