From 0d3f741da10c048bc4eb25c4b46b842759f54905 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 26 一月 2024 13:52:24 +0800
Subject: [PATCH] 增加测试位 ,标志位,报警 DB区
---
springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java | 9
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePositionReview.java | 247 +++++++
springboot-vue3/src/main/resources/JsonFile/test.xlsx | 0
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitInfo.java | 8
springboot-vue3/src/main/resources/JsonFile/sign.xlsx | 0
springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java | 24
springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java | 8
springboot-vue3/src/main/resources/JsonFile/PlcSign.json | 452 +++++++++++++
springboot-vue3/src/main/resources/JsonFile/PlcTest.json | 375 +++++++++++
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java | 18
springboot-vue3/src/main/java/com/example/springboot/component/PlcalarmReview.java | 140 ++++
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 5
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java | 17
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java | 16
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java | 81 +
springboot-vue3/src/main/resources/JsonFile/PlcAlarm.json | 371 +++++++++++
springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJogReview.java | 157 ++++
springboot-vue3/src/main/resources/JsonFile/alarm.xlsx | 0
18 files changed, 1,846 insertions(+), 82 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java b/springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java
index 20ed8a4..a361cef 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java
@@ -18,15 +18,15 @@
public class ExcelToJsonConverter {
public static void main(String[] args) {
- String excelFilePath = "JsonFile/state.xlsx";
+ String excelFilePath = "src/main/resources/JsonFile/alarm.xlsx";
String sheetName = "Sheet1";
int addressColumnIndex = 0;
int nameColumnIndex = 1;
- int unitColumnIndex = 2;
- String outputFilePath = "JsonFile/state.json";
+ //int unitColumnIndex = 2;
+ String outputFilePath = "src/main/resources/JsonFile/PlcAlarm.json";
- try (Workbook workbook = new HSSFWorkbook(new FileInputStream(excelFilePath))) {
+ try (Workbook workbook = new XSSFWorkbook(new FileInputStream(excelFilePath))) {
Sheet sheet = workbook.getSheet(sheetName);
List<LinkedHashMap<String, Object>> jsonList = new ArrayList<>();
@@ -38,19 +38,19 @@
}
int plcAddressLength = 0; // 璁板綍鎵�鏈� addressLenght 鐨勫拰
-
+ int addressIndex = 0; // 鑷鐨勫湴鍧�绱㈠紩
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Cell nameCell = row.getCell(nameColumnIndex);
Cell addressCell = row.getCell(addressColumnIndex);
- Cell unitCell = row.getCell(unitColumnIndex);
+ // Cell unitCell = row.getCell(unitColumnIndex);
String name = nameCell.getStringCellValue();
String address = addressCell.getStringCellValue();
- String unit = unitCell.getStringCellValue();
+ // String unit = unitCell.getStringCellValue();
- String addressIndex = extractAddressIndex(address);
+ // String addressIndex = extractAddressIndex(address);
LinkedHashMap<String, Object> jsonObject = new LinkedHashMap<>();
jsonObject.put("codeId", name);
@@ -62,19 +62,21 @@
} else {
addressLength = 2;
}
- jsonObject.put("addressLenght", String.valueOf(addressLength));
+ // jsonObject.put("addressLenght", String.valueOf(addressLength));
- jsonObject.put("unit", unit);
+ //jsonObject.put("unit", unit);
plcAddressLength += addressLength;
jsonList.add(jsonObject);
+ addressIndex++;
}
LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>();
resultObject.put("plcAddressBegin", "DB100.0");
resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength));
- resultObject.put("dataType", "word");
+ // resultObject.put("dataType", "word");
+ resultObject.put("dataType", "bit");
resultObject.put("parameteInfor", jsonList);
Gson gson = new Gson();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java b/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
index da7aa1c..544ba9d 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
@@ -14,6 +14,7 @@
import java.util.List;
public class InitUtil {
+ //鍒濆鍖杦ord
public static PlcParameterObject initword(String jsonFilePath) {
try {
FileReader fileReader = new FileReader(jsonFilePath);
@@ -47,8 +48,8 @@
plcParameterObject.addPlcParameter(plcParameterInfo);
}
// byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
- byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
- plcParameterObject.setPlcParameterList(getplcvlues);
+ // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
return plcParameterObject;
} catch (IOException e) {
@@ -57,7 +58,7 @@
return null;
}
-
+ //鍒濆鍖朾it
public static PlcBitObject initbit(String jsonFilePath) {
PlcBitObject plcBitObject = new PlcBitObject();
@@ -103,7 +104,7 @@
return plcBitObject;
}
-
+//
public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
// Boolean[] values1 = { false, true, true, true, false, false, true, false,
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java
index 5d4aa17..a6d3f93 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java
@@ -5,6 +5,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import static com.example.springboot.component.InitUtil.readAndUpdateBitValues;
@@ -35,6 +36,17 @@
return instance;
}
+ String jsonFilePath = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
+ String jsonFilePath2 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
+ String jsonFilePath4 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
+ //System.out.println(jsonFilePath4);
+ // 璋冪敤initword鏂规硶
+ PlcParameterObject plcParameterObject = initUtil.initword(jsonFilePath);
+ PlcParameterObject plcStateObject = initUtil.initword(jsonFilePath4);
+
+ // 璋冪敤initbit鏂规硶
+ PlcBitObject plcBitObject = initUtil.initbit(jsonFilePath2);
+
@Override
public void run() {
while (this != null) {
@@ -45,48 +57,55 @@
e.printStackTrace();
}
- String jsonFilePath = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
- String jsonFilePath2 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
- String jsonFilePath4 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
- //System.out.println(jsonFilePath4);
+
+ // int index3 = plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddressIndex();
+ // System.out.println(index3);
+ // System.out.println(plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddress(index3));
- // 璋冪敤initword鏂规硶
- PlcParameterObject plcParameterObject = initUtil.initword(jsonFilePath);
- PlcParameterObject plcStateObject = initUtil.initword(jsonFilePath4);
+// readAndUpdateBitValues(plcBitObject);
+// readAndUpdateWordValues(plcParameterObject);
+// readAndUpdateWordValues(plcStateObject);
- // 璋冪敤initbit鏂规硶
- PlcBitObject plcBitObject = initUtil.initbit(jsonFilePath2);
- readAndUpdateBitValues(plcBitObject);
- readAndUpdateWordValues(plcParameterObject);
- readAndUpdateWordValues(plcStateObject);
+ List<String> addresses = new ArrayList<>();
+ addresses.add("conveyorVelocity(AutoFAST)");
+ addresses.add("A02ID");
+ addresses.add("conveyorVelocity(Manual)");
+
+
+ List<String> address = plcParameterObject.getAddressListByCodeId(addresses);
+ System.out.println(address);
+
+ // int index = plcParameterObject.getPlcParameter("A01turnAngle1").getAddressIndex();
+ // List<Short> arraylist = S7control.getinstance().ReadWord(plcParameterObject.getPlcParameter("A01turnAngle1").getAddress(index), 8);
+
+
// List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
// plcBitObject.setPlcBitList(getplcvlues);
- // int index = plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddressIndex();
- // System.out.println(index);
- // plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddress(index);
- // System.out.println(plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddress(index));
+
+ // plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddress(index);
+ //
// S7control.getinstance().WriteWord(plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddress(index), (short) 100);
// List<String> addresses = new ArrayList<>();
// addresses.add("conveyorVelocity(AutoFAST)");
// addresses.add("A02ID");
//System.out.println(plcParameterObject.getPlcParameterValues(addresses));
- List<String> addresses2 = new ArrayList<>();
- addresses2.add("D01.SRdec");
- addresses2.add("D01.SRinpos");
- addresses2.add("D05.SRinpos");
-
-
-
-
- System.out.println(plcBitObject.getPlcBitValues(addresses2));
-
- int index2 = plcBitObject.getPlcBit("D05.SRinpos").getAddressIndex();
- System.out.println(index2);
-
- plcBitObject.getPlcBit("D05.SRinpos").getAddress(index2);
- System.out.println(plcBitObject.getPlcBit("D05.SRinpos").getAddress(index2));
+// List<String> addresses2 = new ArrayList<>();
+// addresses2.add("D01.SRdec");
+// addresses2.add("D01.SRinpos");
+// addresses2.add("D05.SRinpos");
+//
+//
+//
+//
+// System.out.println(plcBitObject.getPlcBitValues(addresses2));
+//
+// int index2 = plcBitObject.getPlcBit("D05.SRinpos").getAddressIndex();
+// System.out.println(index2);
+//
+// plcBitObject.getPlcBit("D05.SRinpos").getAddress(index2);
+// System.out.println(plcBitObject.getPlcBit("D05.SRinpos").getAddress(index2));
//
//
// List<String> addresses3 = new ArrayList<>();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
index 07d6e7f..16f05e3 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
@@ -44,9 +44,6 @@
List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
-
-
-
JSONObject jsonObject = new JSONObject();
short[] params = new short[arraylist.size()];
@@ -57,11 +54,6 @@
// System.out.println("messageValue锛�"+ arraylist );
jsonObject.append("params", params);
-// System.out.println("messageValue锛�" + arraylist +"messageValue2锛�" + arraylist2 );
-// WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualJog");
-// if (sendwServer != null) {
-// sendwServer.sendMessage(jsonObject.toString());
-// }
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualJog");
if (sendwServer != null) {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJogReview.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJogReview.java
new file mode 100644
index 0000000..13b619b
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJogReview.java
@@ -0,0 +1,157 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONObject;
+import com.example.springboot.entity.device.PlcBitObject;
+import static com.example.springboot.component.InitUtil.readAndUpdateBitValues;
+import static com.example.springboot.component.InitUtil.readAndUpdateWordValues;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class PLCManualJogReview extends Thread {
+
+
+ // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ private Configuration config;
+
+ private static InitUtil initUtil;
+ // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ MessageHandler customS7Control = new MessageHandler();
+
+ // 鍗曚緥瀹炰緥
+ private static PLCManualJogReview instance;
+
+
+
+ public PLCManualJogReview() throws IOException {
+ config = new Configuration("config.properties");
+ initUtil = new InitUtil();
+ }
+
+ // 鑾峰彇鍗曚緥瀹炰緥
+ public static synchronized PLCManualJogReview getInstance() throws IOException {
+ if (instance == null) {
+ instance = new PLCManualJogReview();
+ }
+ return instance;
+ }
+ String jsonFilePath = PLCManualJogReview.class.getResource("/JsonFile/PlcTest.json").getPath();
+
+ PlcBitObject plcTestObject = initUtil.initbit(jsonFilePath);
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(500);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+
+
+ // List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
+ // List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
+
+
+ readAndUpdateBitValues(plcTestObject);
+
+ List<String> codeidlist = Arrays.asList(
+ "D01VFDconveyor", "D02VFDconveyor", "D03VFDconveyor", "D04VFDconveyor",
+ "D05VFDconveyor", "D06VFDconveyor","A01VFDconveyor", "A01VFDconveyorreverse", "A01SERVETRAVEL",
+ "A01SERVETURN", "A01oilpump", "A02VFDconveyor", "A02VFDconveyorreverse",
+ "A02SERVETRAVEL", "A02SERVETURN", "A02oilpump", "B01VFDconveyor", "B01SERVETRAVEL",
+ "B01YVTURN", "B01YVUPDOWN", "B01YVGassing", "B02VFDconveyor", "B02SERVETRAVEL",
+ "B02YVTURN", "B02YVUPDOWN", "B02YVGassing", "A01SERVETRAVELhome", "A02SERVETRAVELhome"
+ );
+
+
+
+//PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3,DB101.10.5,DB101.10.6
+
+ List<String> address = plcTestObject.getAddressListByCodeId(codeidlist);
+ System.out.println(address);
+
+//
+// int index2 = plcTestObject.getPlcBit("B01YVUPDOWN").getAddressIndex();
+// System.out.println(index2);
+//
+// System.out.println(plcTestObject.getPlcBit("B01YVUPDOWN").getAddress(index2));
+ List<Boolean> arraylist = plcTestObject.getPlcBitValues(codeidlist);
+
+
+ JSONObject jsonObject = new JSONObject();
+
+ short[] params = new short[arraylist.size()];
+ for (int i = 0; i < arraylist.size(); i++) {
+ boolean value = arraylist.get(i);
+ params[i] = value ? (short) 1 : (short) 0;
+ }
+
+ jsonObject.append("params", params);
+
+
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualJog");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+
+// WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualJog");
+
+ if (webserver != null) {
+
+
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ String lastMessage = messages.get(messages.size() - 1);
+ // System.out.println("messages锛�" + messages);
+ String[] parts = lastMessage.split(",");
+ List<Integer> messageValues = new ArrayList<>();
+ for (String part : parts) {
+ try {
+ // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃
+ String cleanedPart = part.replaceAll("[^0-9-]", "");
+ Integer value = Integer.parseInt(cleanedPart.trim());
+ messageValues.add(value);
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶瑙f瀽涓烘暣鏁扮被鍨嬶紝鍒欏拷鐣ヨ閮ㄥ垎
+ // e.printStackTrace();
+ }
+
+ }
+ // 灏嗘秷鎭�艰浆鎹负甯冨皵鍒楄〃
+ List<Boolean> messageBooleans = new ArrayList<>();
+ for (Integer value : messageValues) {
+ messageBooleans.add(value == 1 ? true : false);
+ }
+ // System.out.println(messageBooleans);
+ List<Boolean> bolList = new ArrayList<>();
+
+
+ for (int i = 0; i < 28 && i < messageBooleans.size(); i++) {
+ bolList.add(messageBooleans.get(i));
+ }
+
+
+ if (!bolList.isEmpty()) {
+ S7control.getinstance().WriteBit(address, bolList);
+//
+
+ System.out.println("messageValue锛�" + bolList + " written to PLC at address " + address);
+ }
+
+ webserver.clearMessages();
+ }
+ }
+ }
+
+ }
+
+ }
+ }
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePositionReview.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePositionReview.java
new file mode 100644
index 0000000..8731175
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePositionReview.java
@@ -0,0 +1,247 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class PlcManualonePositionReview extends Thread {
+ private Configuration config;
+
+ public PlcManualonePositionReview() throws IOException {
+ config = new Configuration("config.properties");
+ }
+
+
+ // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ MessageHandler customS7Control = new MessageHandler();
+
+
+ public static class PLCBooleanConverter {
+
+ public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
+ // 璁$畻鎵�鏈夊垪琛ㄤ腑鍏冪礌鐨勬�绘暟
+ int totalSize = 0;
+ for (List<Boolean> list : lists) {
+ totalSize += list.size();
+ }
+
+ // 鍒涘缓涓�涓冻澶熷ぇ鐨勬暟缁勬潵瀛樻斁鎵�鏈夌殑浜岃繘鍒跺��
+ short[] binaryShortArray = new short[totalSize];
+
+ // 褰撳墠鏁扮粍濉厖浣嶇疆鎸囬拡
+ int currentIndex = 0;
+
+ // 閬嶅巻鎵�鏈夌殑鍒楄〃
+ for (List<Boolean> list : lists) {
+ // 灏嗘瘡涓竷灏斿�艰浆鎹负 0 鎴� 1 骞跺~鍏ユ暟缁�
+ for (Boolean value : list) {
+ binaryShortArray[currentIndex++] = (short) (value ? 1 : 0);
+ }
+ }
+
+ return binaryShortArray;
+ }
+ }
+
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(500);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ // this.readValue();
+ // String PlcAddress = this.name;
+ // Integer Plccount = this.count;
+
+
+ //B01缁勫悎涓湴鍧�
+ // String b01Address = config.getProperty("B01.address");
+ List<String> addresses = Arrays.asList(config.getProperty("PlcManualonePosition.addresses").split(","));
+
+ List<Short> arraylist = S7control.getinstance().readWords(addresses);
+ // System.out.println(arraylist);
+ List<String> addresses2 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses2").split(","));
+
+ List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
+
+ List<String> addresses3 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses3").split(","));
+
+ List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
+
+
+ List<String> addresses4 = Arrays.asList(config.getProperty("PlcManualonePosition.addresses4").split(","));
+
+ List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
+
+
+ List<Short> arraylist5 = S7control.getinstance().ReadWord("DB106.0", 1);
+ List<Short> arraylist6 = S7control.getinstance().ReadWord("DB106.12", 1);
+ List<Short> arraylist7 = S7control.getinstance().ReadWord("DB106.40", 1);
+ List<Short> arraylist8 = S7control.getinstance().ReadWord("DB106.50", 1);
+ //鏁呴殰
+
+ List<String> addresses9 = Arrays.asList(config.getProperty("PlcManualonePosition.fault").split(","));
+
+ List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
+
+ //鏈洖闆�
+
+ List<String> addresses10 = Arrays.asList(config.getProperty("PlcManualonePosition.Notzero").split(","));
+
+ 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<String> waddresses5 = Arrays.asList(config.getProperty("PlcManualonePosition.fault2").split(","));
+
+
+ // 澶嶄綅鍦板潃
+ List<String> waddresses6 = Arrays.asList(config.getProperty("PlcManualonePosition.Reset").split(","));
+ List<Boolean> readreast = S7control.getinstance().readBits(waddresses6);
+ short[] reast6 = PLCBooleanConverter.convertListsToBinaryShortArray(readreast);
+
+ // 鍥為浂鍦板潃
+ List<String> waddresses7 = Arrays.asList(config.getProperty("PlcManualonePosition.Zero").split(","));
+ List<Boolean> readhuiling = S7control.getinstance().readBits(waddresses7);
+ short[] huiling7 = PLCBooleanConverter.convertListsToBinaryShortArray(readhuiling);
+
+ List<Boolean> A01readstart = S7control.getinstance().readBits(A01start);
+ List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
+ List<Boolean> B01readstart = S7control.getinstance().readBits(B01start);
+ List<Boolean> B02readstart = S7control.getinstance().readBits(B02start);
+
+ short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
+ A01readstart, A02readstart, B01readstart, B02readstart
+ );
+
+ // Short[] values1 = { 1, 2, 3 };
+ // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
+ // Short[] values2 = { 1, 2, 3 };
+ // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
+ // Short[] values3 = { 1, 2, 3 };
+ // List<Short> arraylist3 = new ArrayList<>(Arrays.asList(values3));
+ // Short[] values4 = { 1, 2, 3 };
+ // List<Short> arraylist4 = new ArrayList<>(Arrays.asList(values4));
+ // Short[] values5 = { 5 };
+ // List<Short> arraylist5 = new ArrayList<>(Arrays.asList(values5));
+ // Short[] values6 = { 6 };
+ // List<Short> arraylist6 = new ArrayList<>(Arrays.asList(values6));
+ // Short[] values7 = { 7 };
+ // List<Short> arraylist7 = new ArrayList<>(Arrays.asList(values7));
+ // Short[] values8 = { 8 };
+ // List<Short> arraylist8 = new ArrayList<>(Arrays.asList(values8));
+ // Boolean[] values9 = { false, false, true, true };
+ // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
+ short[] params2 = new short[arraylist9.size()];
+ for (int i = 0; i < arraylist9.size(); i++) {
+ boolean value = arraylist9.get(i);
+ params2[i] = value ? (short) 1 : (short) 0;
+ }
+
+ // Boolean[] values10 = { false, false, true, true };
+ // List<Boolean> arraylist10 = new ArrayList<>(Arrays.asList(values10));
+ short[] params3 = new short[arraylist10.size()];
+ for (int i = 0; i < arraylist10.size(); i++) {
+ boolean value = arraylist10.get(i);
+ params3[i] = value ? (short) 1 : (short) 0;
+ }
+ // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9);
+ arraylist5.addAll(arraylist6);
+ arraylist5.addAll(arraylist7);
+ arraylist5.addAll(arraylist8);
+
+ JSONObject jsonObject = new JSONObject();
+ // System.out.println(arraylist6);
+ jsonObject.append("zuhe1", arraylist);
+ jsonObject.append("zuhe2", arraylist2);
+ jsonObject.append("zuhe3", arraylist3);
+ jsonObject.append("zuhe4", arraylist4);
+ jsonObject.append("shishi1", arraylist5);
+ jsonObject.append("guzhang", params2);
+ jsonObject.append("weihuiling", params3);
+ jsonObject.append("qidong", combinedBinaryShortArray);
+ jsonObject.append("fuwei", reast6);
+ jsonObject.append("huiling", huiling7);
+
+// WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
+// if (sendwServer != null) {
+// sendwServer.sendMessage(jsonObject.toString());
+// }
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+
+// WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition");
+ if (webserver != null) {
+ List<String> messages = webserver.getMessages();
+
+
+
+
+
+
+ // System.out.println(messages.isEmpty());
+ if (!messages.isEmpty()) {
+ // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
+ String lastMessage = messages.get(messages.size() - 1);
+ // System.out.println("lastMessage锛�" + lastMessage);
+ JSONArray messageArray = new JSONArray(lastMessage);
+ // 鍐欏叆A01
+ customS7Control.WriteWordToPLC(messageArray, addresses, 0);
+
+ // 鍐欏叆A02
+ customS7Control.WriteWordToPLC(messageArray, addresses2, 1);
+ // 鍐欏叆B01
+ customS7Control.WriteWordToPLC(messageArray, addresses3, 2);
+
+ // 鍐欏叆B02
+ customS7Control.WriteWordToPLC(messageArray, addresses4, 3);
+
+
+ // 鍐欏叆鏁呴殰鍦板潃
+
+ customS7Control.writeBitToPLC(messageArray, waddresses5, 4);
+
+
+ // 鍐欏叆澶嶄綅鍦板潃
+ customS7Control.writeBitToPLC(messageArray, waddresses6, 5);
+
+ // 鍐欏叆鍥為浂鍦板潃
+
+ customS7Control.writeBitToPLC(messageArray, waddresses7, 6);
+ //A01鍚姩
+ customS7Control.writeBitToPLC(messageArray, A01start, 7);
+ //A02鍚姩
+ customS7Control.writeBitToPLC(messageArray, A02start, 8);
+ //B01鍚姩
+ customS7Control.writeBitToPLC(messageArray, B01start, 9);
+ //B02鍚姩
+ customS7Control.writeBitToPLC(messageArray, B02start, 10);
+
+ // 娓呯┖娑堟伅鍒楄〃
+ webserver.clearMessages();
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcalarmReview.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcalarmReview.java
new file mode 100644
index 0000000..4bc5a75
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcalarmReview.java
@@ -0,0 +1,140 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import com.example.springboot.mapper.AlarmMapper;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PlcalarmReview extends Thread {
+ private AlarmMapper alarmMapper;
+
+ String content = "";
+ String name = "";
+ Integer count = 0;
+
+ public List<String> readValue() {
+ String str = "";
+ BufferedReader bufferedReader = null;
+ FileInputStream fileInputStream;
+ try {
+ // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
+ fileInputStream = new FileInputStream("D:/canadames/Alarm.json");
+ // 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
+ InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
+ // 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
+ bufferedReader = new BufferedReader(inputStreamReader);
+ String line = null;
+ // 灏� bufferedReader 鍐呭涓�琛屼竴琛岃祴鍊肩粰str
+ while ((line = bufferedReader.readLine()) != null) {
+ str += line;
+ }
+
+ // 灏唖tr瀛楃涓叉牸寮忚浆涓簀son
+ JSONObject jsonObject = new JSONObject(str);
+
+ List<String> arraylistss = new ArrayList<>();
+
+ // 鑾峰彇json涓姤璀︿俊鎭殑鍊�
+ JSONArray AlarmContent = jsonObject.getJSONArray("content");
+ for (int i = 0; i < AlarmContent.size(); i++) {
+ JSONObject ress = (JSONObject) AlarmContent.get(i);
+
+ this.content = ress.getStr("name");
+ arraylistss.add(content);
+ }
+ // 鑾峰彇json涓湴鍧�鐨勫��
+ JSONArray address = jsonObject.getJSONArray("address");
+ for (int i = 0; i < address.size(); i++) {
+ JSONObject ress = (JSONObject) address.get(i);
+
+ this.name = ress.getStr("name");
+ this.count = ress.getInt("count");
+
+ }
+
+ return arraylistss;
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ this.readValue();
+ String PlcAddress = this.name;
+ Integer Plccount = this.count;
+
+ // 鏍规嵁鍦板潃璇诲彇PCL鏁版嵁
+ List<Boolean> plclist = S7control.getinstance().ReadBits(PlcAddress, Plccount);
+// List<Boolean> plclist = S7control.getinstance().ReadBits(PlcAddress, Plccount);
+ // System.out.println(plclist);
+ // Boolean[] values = { false, false, true, false, true, false, true, false,
+ // true, false, true, false, true, false,
+ // true, false, true, false, true, false, true, false, true, false, true, false,
+ // true, false, true, false, true,
+ // false, true, false, true, false,
+ // true, false, true, false };
+ // List<Boolean> plclist = new ArrayList<>(Arrays.asList(values));
+ if (plclist != null) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("params", plclist);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("alarm");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+
+ }
+
+ }
+ // 灏嗚幏鍙栫殑甯冨皵绫诲瀷杞崲涓烘暣鏁扮被鍨�
+ List<Integer> Intlist = new ArrayList<>();
+ for (Boolean value : plclist) {
+ Intlist.add(value == true ? 1 : 0);
+
+ }
+
+ // 灏咺ntlist杞崲涓烘暟缁�
+// System.out.println(Intlist);
+// System.out.println(Intlist.toArray().length);
+ Integer[] shuzu1 = Intlist.toArray(new Integer[0]);
+
+ // 瀹氫箟鐨勬姤璀﹀唴瀹规暟缁�,鑾峰彇json杩斿洖鐨勯泦鍚�
+ 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鐨勬潯鏁�
+ short result = alarmMapper.selectnullti(array1[i]);
+ // 璇诲彇鍒癙LC鐨勫�间负1骞朵笖瀵瑰簲鎶ヨ淇℃伅缁撴潫鏃堕棿涓簄ull鐨勬潯鏁扮殑鏉℃暟涓�0
+ //System.out.println(result);
+ if (shuzu1[i] == 1 && result == 0) {
+ // 濉姞涓�鏉℃姤璀︿俊鎭�,鏈夊紑濮嬫椂闂�
+ 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/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 87ee534..2cd1c22 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
@@ -29,7 +29,6 @@
new PlcPositioning1().start();
new PlcParameter2().start();
-
new PLCAutomaticParameterSetting().start();
new PlcManualonePosition().start();
@@ -40,6 +39,8 @@
new PlcInteractionState().start();
//new PlcParameter1Review().start();
- // new PLCAutomaticParameterSettingReview2().start();
+ //new PLCAutomaticParameterSettingReview2().start();
+
+ // new PLCManualJogReview().start();
}
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitInfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitInfo.java
index e3cf8d1..31b2322 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitInfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitInfo.java
@@ -2,6 +2,9 @@
import com.example.springboot.component.S7control;
+import java.util.ArrayList;
+import java.util.List;
+
public class PlcBitInfo {
public PlcBitInfo(String startAddress) {
@@ -68,7 +71,10 @@
return stringdatas[0]+"."+dbwindex+"."+bitindex;
}
- public void setAddressIndex(int addressindex) {
+
+
+
+ public void setAddressIndex(int addressindex) {
this.addressIndex = addressindex;
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java
index 292363b..df222d5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java
@@ -93,6 +93,24 @@
return arrayList;
}
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (plcBitInfo.getCodeId().equals(codeId)) {
+ int index = plcBitInfo.getAddressIndex();
+ String address = plcBitInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
/**
* 娣诲姞鍙傛暟瀹炰緥
*
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
index 862fd25..e1d7e6e 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
@@ -99,12 +99,22 @@
*/
public String getAddress(int index) {
String[] stringdatas = this.startAddress.trim().split("\\.");
- if (stringdatas.length < 2 )
+ int addressLength=this.addressLength;
+ if (addressLength < 2 ){
return null;
+ }
- int bitindex = index;
+ if (addressLength == 2 ) {
+ int wordindex = index;
- return stringdatas[0]+"."+bitindex;
+ return stringdatas[0] + "." + wordindex;
+ }
+ if (addressLength == 14 ) {
+ int wordindex = index;
+ int newIndex = wordindex + 13;
+ return stringdatas[0] + "." + wordindex +"-" + newIndex;
+ }
+ return null;
}
public int getPlcAddress() {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java
index 8808874..422e8db 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java
@@ -97,6 +97,23 @@
}
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeId)) {
+ int index = plcParameterInfo.getAddressIndex();
+ String address = plcParameterInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcAlarm.json b/springboot-vue3/src/main/resources/JsonFile/PlcAlarm.json
new file mode 100644
index 0000000..a840092
--- /dev/null
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcAlarm.json
@@ -0,0 +1,371 @@
+{
+ "plcAddressBegin": "DB104.0.0",
+ "plcAddressLenght": "91",
+ "dataType": "bit",
+ "parameteInfor": [
+ {
+ "codeId": "D01VFDerror",
+ "addressIndex": 0
+ },
+ {
+ "codeId": "D02VFDerror",
+ "addressIndex": 1
+ },
+ {
+ "codeId": "D03VFDerror",
+ "addressIndex": 2
+ },
+ {
+ "codeId": "D04VFDerror",
+ "addressIndex": 3
+ },
+ {
+ "codeId": "D05VFDerror",
+ "addressIndex": 4
+ },
+ {
+ "codeId": "D06VFDerror",
+ "addressIndex": 5
+ },
+ {
+ "codeId": "B01VFDerror",
+ "addressIndex": 6
+ },
+ {
+ "codeId": "B02VFDerror",
+ "addressIndex": 7
+ },
+ {
+ "codeId": "A01VFDerror",
+ "addressIndex": 8
+ },
+ {
+ "codeId": "A02VFDerror",
+ "addressIndex": 9
+ },
+ {
+ "codeId": "A01servoturnerror",
+ "addressIndex": 10
+ },
+ {
+ "codeId": "A02servoturnerror",
+ "addressIndex": 11
+ },
+ {
+ "codeId": "A01servotravelerror",
+ "addressIndex": 12
+ },
+ {
+ "codeId": "A02servotravelerror",
+ "addressIndex": 13
+ },
+ {
+ "codeId": "B01servotravelerror",
+ "addressIndex": 14
+ },
+ {
+ "codeId": "B02servotravelerror",
+ "addressIndex": 15
+ },
+ {
+ "codeId": "D01DECerror",
+ "addressIndex": 16
+ },
+ {
+ "codeId": "D01poserror",
+ "addressIndex": 17
+ },
+ {
+ "codeId": "D02DECerror",
+ "addressIndex": 18
+ },
+ {
+ "codeId": "D02poserror",
+ "addressIndex": 19
+ },
+ {
+ "codeId": "D03DECerror",
+ "addressIndex": 20
+ },
+ {
+ "codeId": "D03poserror",
+ "addressIndex": 21
+ },
+ {
+ "codeId": "D04DECerror",
+ "addressIndex": 22
+ },
+ {
+ "codeId": "D04poserror",
+ "addressIndex": 23
+ },
+ {
+ "codeId": "D05DECerror",
+ "addressIndex": 24
+ },
+ {
+ "codeId": "D05poserror",
+ "addressIndex": 25
+ },
+ {
+ "codeId": "D06DECerror",
+ "addressIndex": 26
+ },
+ {
+ "codeId": "D06poserror",
+ "addressIndex": 27
+ },
+ {
+ "codeId": "A01DECerror",
+ "addressIndex": 28
+ },
+ {
+ "codeId": "A01poserror",
+ "addressIndex": 29
+ },
+ {
+ "codeId": "A02DECerror",
+ "addressIndex": 30
+ },
+ {
+ "codeId": "A02poserror",
+ "addressIndex": 31
+ },
+ {
+ "codeId": "B01INDECerror",
+ "addressIndex": 32
+ },
+ {
+ "codeId": "B01INposerror",
+ "addressIndex": 33
+ },
+ {
+ "codeId": "B01OUTDECerror",
+ "addressIndex": 34
+ },
+ {
+ "codeId": "B01OUTposerror",
+ "addressIndex": 35
+ },
+ {
+ "codeId": "B02INDECerror",
+ "addressIndex": 36
+ },
+ {
+ "codeId": "B02INposerror",
+ "addressIndex": 37
+ },
+ {
+ "codeId": "B02OUTDECerror",
+ "addressIndex": 38
+ },
+ {
+ "codeId": "B02OUTposerror",
+ "addressIndex": 39
+ },
+ {
+ "codeId": "D01Scanglassexceedinglimit",
+ "addressIndex": 40
+ },
+ {
+ "codeId": "emergencystopalarm",
+ "addressIndex": 41
+ },
+ {
+ "codeId": "Moreglassthanknown",
+ "addressIndex": 42
+ },
+ {
+ "codeId": "lessglassthanknown",
+ "addressIndex": 43
+ },
+ {
+ "codeId": "D01conveyortimeoutalarm",
+ "addressIndex": 44
+ },
+ {
+ "codeId": "D02conveyortimeoutalarm",
+ "addressIndex": 45
+ },
+ {
+ "codeId": "D03conveyortimeoutalarm",
+ "addressIndex": 46
+ },
+ {
+ "codeId": "D04conveyortimeoutalarm",
+ "addressIndex": 47
+ },
+ {
+ "codeId": "D05conveyortimeoutalarm",
+ "addressIndex": 48
+ },
+ {
+ "codeId": "D06conveyortimeoutalarm",
+ "addressIndex": 49
+ },
+ {
+ "codeId": "A01conveyortimeoutalarm",
+ "addressIndex": 50
+ },
+ {
+ "codeId": "A02conveyortimeoutalarm",
+ "addressIndex": 51
+ },
+ {
+ "codeId": "B01conveyortimeoutalarm",
+ "addressIndex": 52
+ },
+ {
+ "codeId": "B02conveyortimeoutalarm",
+ "addressIndex": 53
+ },
+ {
+ "codeId": "A01conveyorLeftsafetyalarm",
+ "addressIndex": 54
+ },
+ {
+ "codeId": "A01conveyorrightsafetyalarm",
+ "addressIndex": 55
+ },
+ {
+ "codeId": "A02conveyorLeftsafetyalarm",
+ "addressIndex": 56
+ },
+ {
+ "codeId": "A02conveyorrightsafetyalarm",
+ "addressIndex": 57
+ },
+ {
+ "codeId": "1#buffersafetyalarm",
+ "addressIndex": 58
+ },
+ {
+ "codeId": "2#buffersafetyalarm",
+ "addressIndex": 59
+ },
+ {
+ "codeId": "3#buffersafetyalarm",
+ "addressIndex": 60
+ },
+ {
+ "codeId": "4#buffersafetyalarm",
+ "addressIndex": 61
+ },
+ {
+ "codeId": "A01.SRrightinposerror",
+ "addressIndex": 62
+ },
+ {
+ "codeId": "A02.SRleftinposerror",
+ "addressIndex": 63
+ },
+ {
+ "codeId": "B01.SRleftinposerror",
+ "addressIndex": 64
+ },
+ {
+ "codeId": "B01.SRleftdecerror",
+ "addressIndex": 65
+ },
+ {
+ "codeId": "B01.SRrightdecerror",
+ "addressIndex": 66
+ },
+ {
+ "codeId": "B01.SRrightinposerror",
+ "addressIndex": 67
+ },
+ {
+ "codeId": "B02.SRleftinposerror",
+ "addressIndex": 68
+ },
+ {
+ "codeId": "B02.SRleftdecerror",
+ "addressIndex": 69
+ },
+ {
+ "codeId": "B02.SRrightdecerror",
+ "addressIndex": 70
+ },
+ {
+ "codeId": "B02.SRrightinposerror",
+ "addressIndex": 71
+ },
+ {
+ "codeId": "A01servoturnhomed",
+ "addressIndex": 72
+ },
+ {
+ "codeId": "A02servoturnhomed",
+ "addressIndex": 73
+ },
+ {
+ "codeId": "A01servotravelhomed",
+ "addressIndex": 74
+ },
+ {
+ "codeId": "A02servotravelhomed",
+ "addressIndex": 75
+ },
+ {
+ "codeId": "B01servotravelhomed",
+ "addressIndex": 76
+ },
+ {
+ "codeId": "B02servotravelhomed",
+ "addressIndex": 77
+ },
+ {
+ "codeId": "resetDelay",
+ "addressIndex": 78
+ },
+ {
+ "codeId": "A01travelNegativelimit",
+ "addressIndex": 79
+ },
+ {
+ "codeId": "A01travelPositivelimit",
+ "addressIndex": 80
+ },
+ {
+ "codeId": "A01turnuplimit",
+ "addressIndex": 81
+ },
+ {
+ "codeId": "A01turndownlimit",
+ "addressIndex": 82
+ },
+ {
+ "codeId": "A02travelNegativelimit",
+ "addressIndex": 83
+ },
+ {
+ "codeId": "A02travelPositivelimit",
+ "addressIndex": 84
+ },
+ {
+ "codeId": "A02turnuplimit",
+ "addressIndex": 85
+ },
+ {
+ "codeId": "A02turndownlimit",
+ "addressIndex": 86
+ },
+ {
+ "codeId": "B01travelNegativelimit",
+ "addressIndex": 87
+ },
+ {
+ "codeId": "B01travelPositivelimit",
+ "addressIndex": 88
+ },
+ {
+ "codeId": "B02travelNegativelimit",
+ "addressIndex": 89
+ },
+ {
+ "codeId": "B02travelPositivelimit",
+ "addressIndex": 90
+ }
+ ]
+}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcSign.json b/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
index 390a204..b4ba6e6 100644
--- a/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
@@ -1,47 +1,455 @@
{
- "plcAddressBegin":"DB102.0.0",
- "plcAddressLenght":"11",
- "dataType":"bit",
- "parameteInfor":[
+ "plcAddressBegin": "DB102.0.0",
+ "plcAddressLenght": "112",
+ "dataType": "bit",
+ "parameteInfor": [
{
"codeId": "D01.SRdec",
- "addressIndex":"0"
+ "addressIndex": 0
},
{
"codeId": "D01.SRinpos",
- "addressIndex":"1"
+ "addressIndex": 1
},
{
- "codeId": "conveyorVelocity(Manual)",
- "addressIndex":"2"
+ "codeId": "D02.SRdec",
+ "addressIndex": 2
},
{
- "codeId": "A01A02TURNJOGVelocity",
- "addressIndex":"3"
+ "codeId": "D02.SRinpos",
+ "addressIndex": 3
},
{
- "codeId": "A01A02TRAVELJOGVelocity",
- "addressIndex":"4"
+ "codeId": "D03.SRinto",
+ "addressIndex": 4
},
{
- "codeId": "B01B02TRAVELJOGVelocity",
- "addressIndex":"5"
+ "codeId": "D03.SRdec",
+ "addressIndex": 5
},
{
- "codeId": "A01A02TURNPOSVelocityAUTO",
- "addressIndex":"7"
+ "codeId": "D03.SRinpos",
+ "addressIndex": 6
},
{
- "codeId": "A01A02TURNPOSVelocitymanual",
- "addressIndex":"8"
+ "codeId": "D04.SRdec",
+ "addressIndex": 7
},
{
- "codeId": "A01A02TRAVELPOSVelocityAUTO",
- "addressIndex":"9"
+ "codeId": "D04.SRinpos",
+ "addressIndex": 8
+ },
+ {
+ "codeId": "D05.SRdec",
+ "addressIndex": 9
},
{
"codeId": "D05.SRinpos",
- "addressIndex":"10"
+ "addressIndex": 10
+ },
+ {
+ "codeId": "D06.SRdec",
+ "addressIndex": 11
+ },
+ {
+ "codeId": "D06.SRinpos",
+ "addressIndex": 12
+ },
+ {
+ "codeId": "B01.SRindec",
+ "addressIndex": 13
+ },
+ {
+ "codeId": "B01.SRininpos",
+ "addressIndex": 14
+ },
+ {
+ "codeId": "B01.SRoutdec",
+ "addressIndex": 15
+ },
+ {
+ "codeId": "B01.SRoutinpos",
+ "addressIndex": 16
+ },
+ {
+ "codeId": "B01.SRturnon",
+ "addressIndex": 17
+ },
+ {
+ "codeId": "B01.SRturnoff",
+ "addressIndex": 18
+ },
+ {
+ "codeId": "B01.SRup",
+ "addressIndex": 19
+ },
+ {
+ "codeId": "B01.SRdown",
+ "addressIndex": 20
+ },
+ {
+ "codeId": "B02.SRoutdec",
+ "addressIndex": 21
+ },
+ {
+ "codeId": "B02.SRoutinpos",
+ "addressIndex": 22
+ },
+ {
+ "codeId": "B02.SRindec",
+ "addressIndex": 23
+ },
+ {
+ "codeId": "B02.SRininpos",
+ "addressIndex": 24
+ },
+ {
+ "codeId": "B02.SRturnon",
+ "addressIndex": 25
+ },
+ {
+ "codeId": "B02.SRturnoff",
+ "addressIndex": 26
+ },
+ {
+ "codeId": "B02.SRup",
+ "addressIndex": 27
+ },
+ {
+ "codeId": "B02.SRdown",
+ "addressIndex": 28
+ },
+ {
+ "codeId": "B01.SRinsafety",
+ "addressIndex": 29
+ },
+ {
+ "codeId": "B01.SRoutsafety",
+ "addressIndex": 30
+ },
+ {
+ "codeId": "B02.SRinsafety",
+ "addressIndex": 31
+ },
+ {
+ "codeId": "SB.start(+)",
+ "addressIndex": 32
+ },
+ {
+ "codeId": "SB.stop(-)",
+ "addressIndex": 33
+ },
+ {
+ "codeId": "SB.reset",
+ "addressIndex": 34
+ },
+ {
+ "codeId": "SB.auto/manul",
+ "addressIndex": 35
+ },
+ {
+ "codeId": "D01.SB.confirm",
+ "addressIndex": 36
+ },
+ {
+ "codeId": "SB.emg",
+ "addressIndex": 37
+ },
+ {
+ "codeId": "D01.SB.start",
+ "addressIndex": 38
+ },
+ {
+ "codeId": "D06.SB.start",
+ "addressIndex": 39
+ },
+ {
+ "codeId": "B02.SRoutsafety",
+ "addressIndex": 40
+ },
+ {
+ "codeId": "SafetyDoor.requset",
+ "addressIndex": 41
+ },
+ {
+ "codeId": "SafetyDoor.confirm",
+ "addressIndex": 42
+ },
+ {
+ "codeId": "SafetyDoor.reset",
+ "addressIndex": 43
+ },
+ {
+ "codeId": "Sspce",
+ "addressIndex": 44
+ },
+ {
+ "codeId": "Sspce",
+ "addressIndex": 45
+ },
+ {
+ "codeId": "Sspce",
+ "addressIndex": 46
+ },
+ {
+ "codeId": "Sspce",
+ "addressIndex": 47
+ },
+ {
+ "codeId": "A01.SRleftdec",
+ "addressIndex": 48
+ },
+ {
+ "codeId": "A01.SRleftinpos",
+ "addressIndex": 49
+ },
+ {
+ "codeId": "A01.SRleftsafety",
+ "addressIndex": 50
+ },
+ {
+ "codeId": "A01.SRrightdec",
+ "addressIndex": 51
+ },
+ {
+ "codeId": "A01.SRrightinpos",
+ "addressIndex": 52
+ },
+ {
+ "codeId": "A01.SRrightsafety",
+ "addressIndex": 53
+ },
+ {
+ "codeId": "A01.SRturnhome",
+ "addressIndex": 54
+ },
+ {
+ "codeId": "A01.SRturnup",
+ "addressIndex": 55
+ },
+ {
+ "codeId": "A01.SRturndown",
+ "addressIndex": 56
+ },
+ {
+ "codeId": "A01.SRtravelhome",
+ "addressIndex": 57
+ },
+ {
+ "codeId": "A01.SRtravelleftdec",
+ "addressIndex": 58
+ },
+ {
+ "codeId": "A01.SRtravelleftlimit",
+ "addressIndex": 59
+ },
+ {
+ "codeId": "A01.SRtravelrightdec",
+ "addressIndex": 60
+ },
+ {
+ "codeId": "A01.SRtravelrightlimit",
+ "addressIndex": 61
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 62
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 63
+ },
+ {
+ "codeId": "A02.SRleftdec",
+ "addressIndex": 64
+ },
+ {
+ "codeId": "A02.SRleftinpos",
+ "addressIndex": 65
+ },
+ {
+ "codeId": "A02.SRleftsafety",
+ "addressIndex": 66
+ },
+ {
+ "codeId": "A02.SRrightdec",
+ "addressIndex": 67
+ },
+ {
+ "codeId": "A02.SRrightinpos",
+ "addressIndex": 68
+ },
+ {
+ "codeId": "A02.SRrightsafety",
+ "addressIndex": 69
+ },
+ {
+ "codeId": "A02.SRturnhome",
+ "addressIndex": 70
+ },
+ {
+ "codeId": "A02.SRturnup",
+ "addressIndex": 71
+ },
+ {
+ "codeId": "A02.SRturndown",
+ "addressIndex": 72
+ },
+ {
+ "codeId": "A02.SRtravelhome",
+ "addressIndex": 73
+ },
+ {
+ "codeId": "A02.SRtravelleftdec",
+ "addressIndex": 74
+ },
+ {
+ "codeId": "A02.SRtravelleftlimit",
+ "addressIndex": 75
+ },
+ {
+ "codeId": "A02.SRtravelrightdec",
+ "addressIndex": 76
+ },
+ {
+ "codeId": "A02.SRtravelrightlimit",
+ "addressIndex": 77
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 78
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 79
+ },
+ {
+ "codeId": "B01.SRorigin",
+ "addressIndex": 80
+ },
+ {
+ "codeId": "B01.SRleftlimit",
+ "addressIndex": 81
+ },
+ {
+ "codeId": "B01.SRrightlimit",
+ "addressIndex": 82
+ },
+ {
+ "codeId": "B02.SRorigin",
+ "addressIndex": 83
+ },
+ {
+ "codeId": "B02.SRleftlimit",
+ "addressIndex": 84
+ },
+ {
+ "codeId": "B02.SRrightlimit",
+ "addressIndex": 85
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 86
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 87
+ },
+ {
+ "codeId": "LED.red",
+ "addressIndex": 88
+ },
+ {
+ "codeId": "LED.green",
+ "addressIndex": 89
+ },
+ {
+ "codeId": "LED.yellow",
+ "addressIndex": 90
+ },
+ {
+ "codeId": "D01.LED.green",
+ "addressIndex": 91
+ },
+ {
+ "codeId": "D06.LED.green",
+ "addressIndex": 92
+ },
+ {
+ "codeId": "B01.YV.turn",
+ "addressIndex": 93
+ },
+ {
+ "codeId": "B01.YV.updown",
+ "addressIndex": 94
+ },
+ {
+ "codeId": "B01.YV.gassing",
+ "addressIndex": 95
+ },
+ {
+ "codeId": "B02.YV.turn",
+ "addressIndex": 96
+ },
+ {
+ "codeId": "B02.YV.updown",
+ "addressIndex": 97
+ },
+ {
+ "codeId": "B02.YV.gassing",
+ "addressIndex": 98
+ },
+ {
+ "codeId": "SafetyDoor.Led",
+ "addressIndex": 99
+ },
+ {
+ "codeId": "SafetyDoor.open",
+ "addressIndex": 100
+ },
+ {
+ "codeId": "D01SB.confirm",
+ "addressIndex": 101
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 102
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 103
+ },
+ {
+ "codeId": "A01oilPump",
+ "addressIndex": 104
+ },
+ {
+ "codeId": "A01motorCtr",
+ "addressIndex": 105
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 106
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 107
+ },
+ {
+ "codeId": "A02oilPump",
+ "addressIndex": 108
+ },
+ {
+ "codeId": "A02motorCtr",
+ "addressIndex": 109
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 110
+ },
+ {
+ "codeId": "space",
+ "addressIndex": 111
}
]
-}
+}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcTest.json b/springboot-vue3/src/main/resources/JsonFile/PlcTest.json
new file mode 100644
index 0000000..bfc7602
--- /dev/null
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcTest.json
@@ -0,0 +1,375 @@
+{
+ "plcAddressBegin": "DB101.0.0",
+ "plcAddressLenght": "92",
+ "dataType": "bit",
+ "parameteInfor": [
+ {
+ "codeId": "D01VFDconveyor",
+ "addressIndex": 0
+ },
+ {
+ "codeId": "D02VFDconveyor",
+ "addressIndex": 1
+ },
+ {
+ "codeId": "D03VFDconveyor",
+ "addressIndex": 2
+ },
+ {
+ "codeId": "D04VFDconveyor",
+ "addressIndex": 3
+ },
+ {
+ "codeId": "D05VFDconveyor",
+ "addressIndex": 4
+ },
+ {
+ "codeId": "D06VFDconveyor",
+ "addressIndex": 5
+ },
+ {
+ "codeId": "A01VFDconveyor",
+ "addressIndex": 6
+ },
+ {
+ "codeId": "A02VFDconveyor",
+ "addressIndex": 7
+ },
+ {
+ "codeId": "B01VFDconveyor",
+ "addressIndex": 8
+ },
+ {
+ "codeId": "B02VFDconveyor",
+ "addressIndex": 9
+ },
+ {
+ "codeId": "A01SERVETURN",
+ "addressIndex": 10
+ },
+ {
+ "codeId": "A02SERVETURN",
+ "addressIndex": 11
+ },
+ {
+ "codeId": "A01SERVETRAVEL",
+ "addressIndex": 12
+ },
+ {
+ "codeId": "A02SERVETRAVEL",
+ "addressIndex": 13
+ },
+ {
+ "codeId": "B01SERVETRAVEL",
+ "addressIndex": 14
+ },
+ {
+ "codeId": "B02SERVETRAVEL",
+ "addressIndex": 15
+ },
+ {
+ "codeId": "A01SERVETURNPOS",
+ "addressIndex": 16
+ },
+ {
+ "codeId": "A02SERVETURNPOS",
+ "addressIndex": 17
+ },
+ {
+ "codeId": "A01SERVETRAVELPOS",
+ "addressIndex": 18
+ },
+ {
+ "codeId": "A02SERVETRAVELPOS",
+ "addressIndex": 19
+ },
+ {
+ "codeId": "B01SERVETRAVELPOS",
+ "addressIndex": 20
+ },
+ {
+ "codeId": "B02SERVETRAVELPOS",
+ "addressIndex": 21
+ },
+ {
+ "codeId": "B01YVTURN",
+ "addressIndex": 22
+ },
+ {
+ "codeId": "B01YVUPDOWN",
+ "addressIndex": 23
+ },
+ {
+ "codeId": "B02YVTURN",
+ "addressIndex": 24
+ },
+ {
+ "codeId": "B02YVUPDOWN",
+ "addressIndex": 25
+ },
+ {
+ "codeId": "B01YVGassing",
+ "addressIndex": 26
+ },
+ {
+ "codeId": "B02YVGassing",
+ "addressIndex": 27
+ },
+ {
+ "codeId": "A01VFDconveyorreverse",
+ "addressIndex": 28
+ },
+ {
+ "codeId": "A02VFDconveyorreverse",
+ "addressIndex": 29
+ },
+ {
+ "codeId": "A01SERVETURNreset",
+ "addressIndex": 30
+ },
+ {
+ "codeId": "A01SERVETURNhome",
+ "addressIndex": 31
+ },
+ {
+ "codeId": "A01SERVETRAVELreset",
+ "addressIndex": 32
+ },
+ {
+ "codeId": "A02SERVETURNreset",
+ "addressIndex": 33
+ },
+ {
+ "codeId": "A02SERVETURNhome",
+ "addressIndex": 34
+ },
+ {
+ "codeId": "A02SERVETRAVELreset",
+ "addressIndex": 35
+ },
+ {
+ "codeId": "B01SERVETRAVELreset",
+ "addressIndex": 36
+ },
+ {
+ "codeId": "B01SERVETRAVELhome",
+ "addressIndex": 37
+ },
+ {
+ "codeId": "B02SERVETRAVELreset",
+ "addressIndex": 38
+ },
+ {
+ "codeId": "B02SERVETRAVELhome",
+ "addressIndex": 39
+ },
+ {
+ "codeId": "Manualstoragestartup",
+ "addressIndex": 40
+ },
+ {
+ "codeId": "Manualoutputstartup",
+ "addressIndex": 41
+ },
+ {
+ "codeId": "A01oilpump",
+ "addressIndex": 42
+ },
+ {
+ "codeId": "A02oilpump",
+ "addressIndex": 43
+ },
+ {
+ "codeId": "A01get1#gridaddress",
+ "addressIndex": 44
+ },
+ {
+ "codeId": "A01get22#gridaddress",
+ "addressIndex": 45
+ },
+ {
+ "codeId": "A01get43#gridaddress",
+ "addressIndex": 46
+ },
+ {
+ "codeId": "A01get64#gridaddress",
+ "addressIndex": 47
+ },
+ {
+ "codeId": "A01get85#gridaddress",
+ "addressIndex": 48
+ },
+ {
+ "codeId": "A01get106#gridaddress",
+ "addressIndex": 49
+ },
+ {
+ "codeId": "A01get127#gridaddress",
+ "addressIndex": 50
+ },
+ {
+ "codeId": "A01get148#gridaddress",
+ "addressIndex": 51
+ },
+ {
+ "codeId": "A01get169#gridaddress",
+ "addressIndex": 52
+ },
+ {
+ "codeId": "A02get190#gridaddress",
+ "addressIndex": 53
+ },
+ {
+ "codeId": "A02get1#gridaddress",
+ "addressIndex": 54
+ },
+ {
+ "codeId": "A02get22#gridaddress",
+ "addressIndex": 55
+ },
+ {
+ "codeId": "A02get43#gridaddress",
+ "addressIndex": 56
+ },
+ {
+ "codeId": "A02get64#gridaddress",
+ "addressIndex": 57
+ },
+ {
+ "codeId": "A02get85#gridaddress",
+ "addressIndex": 58
+ },
+ {
+ "codeId": "A02get106#gridaddress",
+ "addressIndex": 59
+ },
+ {
+ "codeId": "A02get127#gridaddress",
+ "addressIndex": 60
+ },
+ {
+ "codeId": "A02get148#gridaddress",
+ "addressIndex": 61
+ },
+ {
+ "codeId": "A02get169#gridaddress",
+ "addressIndex": 62
+ },
+ {
+ "codeId": "A02get190#gridaddress",
+ "addressIndex": 63
+ },
+ {
+ "codeId": "B01get1#gridaddress",
+ "addressIndex": 64
+ },
+ {
+ "codeId": "B01get22#gridaddress",
+ "addressIndex": 65
+ },
+ {
+ "codeId": "B01get43#gridaddress",
+ "addressIndex": 66
+ },
+ {
+ "codeId": "B01get64#gridaddress",
+ "addressIndex": 67
+ },
+ {
+ "codeId": "B01get85#gridaddress",
+ "addressIndex": 68
+ },
+ {
+ "codeId": "B02get106#gridaddress",
+ "addressIndex": 69
+ },
+ {
+ "codeId": "B02get127#gridaddress",
+ "addressIndex": 70
+ },
+ {
+ "codeId": "B02get148#gridaddress",
+ "addressIndex": 71
+ },
+ {
+ "codeId": "B02get169#gridaddress",
+ "addressIndex": 72
+ },
+ {
+ "codeId": "B02get190#gridaddress",
+ "addressIndex": 73
+ },
+ {
+ "codeId": "D01IDClean",
+ "addressIndex": 74
+ },
+ {
+ "codeId": "D02IDClean",
+ "addressIndex": 75
+ },
+ {
+ "codeId": "D03IDClean",
+ "addressIndex": 76
+ },
+ {
+ "codeId": "D04IDClean",
+ "addressIndex": 77
+ },
+ {
+ "codeId": "D05IDClean",
+ "addressIndex": 78
+ },
+ {
+ "codeId": "D06IDClean",
+ "addressIndex": 79
+ },
+ {
+ "codeId": "A01IDClean",
+ "addressIndex": 80
+ },
+ {
+ "codeId": "A02IDClean",
+ "addressIndex": 81
+ },
+ {
+ "codeId": "B01IDClean",
+ "addressIndex": 82
+ },
+ {
+ "codeId": "B02IDClean",
+ "addressIndex": 83
+ },
+ {
+ "codeId": "abort/resumeTasks",
+ "addressIndex": 84
+ },
+ {
+ "codeId": "A01SERVETRAVELhome",
+ "addressIndex": 85
+ },
+ {
+ "codeId": "A02SERVETRAVELhome",
+ "addressIndex": 86
+ },
+ {
+ "codeId": "A01A02travelHoming",
+ "addressIndex": 87
+ },
+ {
+ "codeId": "A01halfAutoSelect",
+ "addressIndex": 88
+ },
+ {
+ "codeId": "A02halfAutoSelect",
+ "addressIndex": 89
+ },
+ {
+ "codeId": "A02abortTasks",
+ "addressIndex": 90
+ },
+ {
+ "codeId": "emgHMI",
+ "addressIndex": 91
+ }
+ ]
+}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/resources/JsonFile/alarm.xlsx b/springboot-vue3/src/main/resources/JsonFile/alarm.xlsx
new file mode 100644
index 0000000..50b26dc
--- /dev/null
+++ b/springboot-vue3/src/main/resources/JsonFile/alarm.xlsx
Binary files differ
diff --git a/springboot-vue3/src/main/resources/JsonFile/sign.xlsx b/springboot-vue3/src/main/resources/JsonFile/sign.xlsx
new file mode 100644
index 0000000..3922301
--- /dev/null
+++ b/springboot-vue3/src/main/resources/JsonFile/sign.xlsx
Binary files differ
diff --git a/springboot-vue3/src/main/resources/JsonFile/test.xlsx b/springboot-vue3/src/main/resources/JsonFile/test.xlsx
new file mode 100644
index 0000000..9862cf5
--- /dev/null
+++ b/springboot-vue3/src/main/resources/JsonFile/test.xlsx
Binary files differ
--
Gitblit v1.8.0