wuyouming666
2023-12-07 b0c9f61dfb6330f2e3ef59995a92cd14719cd8ba
报警json文件存放在resources
10个文件已修改
1个文件已添加
822 ■■■■ 已修改文件
CanadaMes-ui/src/configuration/ServoManualone.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/parameter2.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/en-US.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter2.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ServoManualone.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/Alarm.json 507 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/config.properties 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/ServoManualone.json
@@ -346,17 +346,7 @@
          }
          
    ]
    , [
      {
          "button": {
            "name": "急停后中止/继续选择",
            "value":0,
            "address":"DB10.0",
            "type":"66"
          }
        }
  ]
     
    
  ]
CanadaMes-ui/src/configuration/parameter2.json
@@ -320,4 +320,15 @@
      "value": 0
    }
  ]
  , [
    {
        "button": {
          "name": "急停后中止/继续选择",
          "value":0,
          "address":"DB10.0",
          "type":"66"
        }
      }
]
]
CanadaMes-ui/src/lang/locales/en-US.json
@@ -346,8 +346,8 @@
      "A02半自动": "A02 Semi-Auto",
      "A02半自动启动": "A02 Semi-Auto Start",
      "B01 所在格子": "B01 Current Grid",
      "B02 所在格子": "B02 Current Grid",
      "急停后中止/继续选择": "Abort/ResumeTasks"
      "B02 所在格子": "B02 Current Grid"
    },
    "langParameter1": {
@@ -384,7 +384,8 @@
          "A01当前格子": "A01 Current Grid",
          "A02所在格子": "A02 Current Grid",
          "B01所在格子": "B01 Current Grid",
          "B02所在格子": "B02 Current Grid"
          "B02所在格子": "B02 Current Grid",
          "急停后中止/继续选择": "Abort/ResumeTasks"
          },
          "langPositioning1": {
            "格子间距": "GridSpacing",
CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -94,7 +94,7 @@
  <script>
  import LanguageMixin from '../../lang/LanguageMixin'
  import data from '../../configuration/parameter2'
  import { throttle } from 'lodash';
  // import { throttle } from 'lodash';
  let socket;
  // window.onload=function(){
@@ -175,7 +175,7 @@
  // 将得到的值添加到 data 数组中
  data2.push(resetButtonValues.flat());
  data2.push([]);
  // 在 data2 数组前面添加两个空数组
 
@@ -189,6 +189,35 @@
 
 
}
if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
  const data3 = [];
  const resetButtonValues3 = [this.jsonData[13][0].button.value];
  // 将得到的值添加到 data 数组中
  data3.push(resetButtonValues3.flat());
  data3.unshift([]);
  // 在 data3 数组前面添加两个空数组
  // 创建 jsonObject3 对象,并添加 data3 属性
  const jsonObject3 = { data: data3 };
  // 提交数据到后端
  const jsonString3 = JSON.stringify(jsonObject3);
  console.log('急停后中止/继续选择:', jsonString3);
  socket?.send(jsonString3);
  // setTimeout(()=>
  //   window.location.reload(),2000
  // )
}
},
    initWebSocket () {
 
@@ -229,12 +258,16 @@
  const handleMouseMove = throttle(function(event) {
  const inputBox = document.querySelectorAll('.action-button');
  const target = event.target;
  // const handleMouseMove = throttle(function(event) {
  // const inputBox = document.querySelectorAll('.id');
  // const target = event.target;
  if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//清除id
  // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//急停按钮
    jsonData2[13][0].button.value = obj.jiting[0][0];
    //清除id
      for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
@@ -353,11 +386,11 @@
  }
//  console.log(jsonData2);
}, 50);
// }, 50);
        
document.addEventListener('mouseover', handleMouseMove);
// document.addEventListener('mouseover', handleMouseMove);
  
};
// };
CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -267,6 +267,33 @@
  // )
}
// if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
//   const data3 = [];
//   const resetButtonValues3 = this.jsonData.map(item => {
//     const buttonItem3 = item.find(subItem => subItem.button && ['Abort/resumeTasks', '急停后中止/继续选择'].includes(subItem.button.name));
//     return buttonItem3 ? buttonItem3.button.value : null;
//   }).filter(value => value !== null);
//   // 将得到的值添加到 data 数组中
//   data3.push(resetButtonValues3.flat());
//   // 在 data3 数组前面添加两个空数组
//   data3.push([], [], [],[], [], [], [],[]);
//   // 创建 jsonObject3 对象,并添加 data3 属性
//   const jsonObject3 = { data: data3 };
//   // 提交数据到后端
//   const jsonString3 = JSON.stringify(jsonObject3);
//   console.log('急停后中止/继续选择:', jsonString3);
//   socket?.send(jsonString3);
//   // setTimeout(()=>
//   //   window.location.reload(),2000
//   // )
// }
//A01半自动提交
@@ -441,7 +468,7 @@
  }
  let obj = JSON.parse(msg.data);
  // console.log(obj)
   console.log(obj)
const weihuiling=obj.weihuiling;
  const jsonData2 = this.jsonData;
@@ -522,22 +549,27 @@
//未回零更新
for (let i = 3; i < jsonData2.length; i++) {
  let arr2 = jsonData2[i];
  for (let j = 3; j < arr2.length; j++) {
    let obj3 = arr2[j];
    if(obj3.button){
      if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" )) {
      obj3.button.value = weihuiling[0][i];
      //  console.log(obj3.button.value)
    }
jsonData2[2][3].button.value = weihuiling[0][0];
jsonData2[3][3].button.value = weihuiling[0][1];
jsonData2[4][4].button.value = weihuiling[0][2];
jsonData2[5][4].button.value = weihuiling[0][3];
    }
// for (let i = 3; i < jsonData2.length; i++) {
//   let arr2 = jsonData2[i];
//   for (let j = 3; j < arr2.length; j++) {
//     let obj3 = arr2[j];
//     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(jsonData2)
//进片id
jsonData2.forEach((item) => {
@@ -560,7 +592,7 @@
//急停
jsonData2[6][0].button.value = obj.resumeTasks[0][0];
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -252,6 +252,7 @@
                }
                // 写入新的位值列表
                S7control.getinstance().WriteBit(A01start, a01startval);
                System.out.println("a01startval " + a01startval + " written to PLC at address " + A01start);
              }
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
@@ -122,6 +122,17 @@
      List<String> addressList3 = new ArrayList<>();
      addressList3.add("DB103.256");
      addressList3.add("DB103.270");
      List<String> niuanaddressList3 = new ArrayList<>();
      niuanaddressList3.add("DB101.10.4");
      List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
      List<String> data3 = S7control.getinstance().readStrings(addressList3);
// A01 A02 B01 B02
      List<String> addresses4 = new ArrayList<>();
@@ -161,11 +172,18 @@
        params[i] = value ? (short) 1 : (short) 0;
      }
      short[] anniuparams = new short[anniuread.size()];
      for (int i = 0; i < anniuread.size(); i++) {
        boolean value = anniuread.get(i);
        anniuparams[i] = value ? (short) 1 : (short) 0;
      }
      jsonObject.append("params", params);
      jsonObject.append("params", paramlist);
      jsonObject.append("params", data);
      jsonObject.append("params", data3);
      jsonObject.append("params", data4);
      jsonObject.append("jiting", anniuparams);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter2");
@@ -195,31 +213,57 @@
        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 {
              // 使用正则表达式清除非数字字符
              String cleanedPart = part.replaceAll("[^0-9-]", "");
              Integer value = Integer.parseInt(cleanedPart.trim());
              messageValues.add(value);
            } catch (NumberFormatException e) {
              // 如果无法解析为整数类型,则忽略该部分
//              e.printStackTrace();
//        System.out.println("lastMessage:" + lastMessage);
          JSONArray messageArray = new JSONArray(lastMessage);
          if (messageArray.getJSONArray(0).size() > 0) {
            JSONArray jsonArray3 = messageArray.getJSONArray(0);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(addressList, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3);
            }
          }
          // 将布尔列表写入 PLC
          if (messageArray.getJSONArray(1).size() > 0) {
            JSONArray jsonArray3 = messageArray.getJSONArray(1);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(niuanaddressList3, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3);
            }
          }
          // 将消息值转换为布尔列表
          List<Boolean> messageBooleans = new ArrayList<>();
          for (Integer value : messageValues) {
            messageBooleans.add(value == 1 ? true : false);
          }
          // 将布尔列表写入 PLC
    S7control.getinstance().WriteBit(addressList, messageBooleans);
          System.out.println("messageValues:" + messageBooleans);
          System.out.println("addressList:" + addressList);
          // 清空消息列表
          webSocketServer.clearMessages();
        }
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
@@ -447,29 +447,29 @@
            }
          }
          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) {
                  // 如果无法解析为 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);
            }
          }
//          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) {
//                  // 如果无法解析为 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);
//            }
//          }
          // 清空消息列表
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -69,24 +69,24 @@
            List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
            jsonObject.append("alarmmg", alarmmg);
            // 读去Plc进片车与出片车位置W
            // 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);
            // }
             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();
springboot-vue3/src/main/resources/Alarm.json
New file
@@ -0,0 +1,507 @@
{
  "content": [
    {
      "name": "D01 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D02 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D03 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D04 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D05 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D06 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 VFD error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 servo turn error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 servo turn error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 servo travel error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 servo travel error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 servo travel error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 servo travel error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D01 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D01 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D02 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D02 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D03 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D03 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D04 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D04 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D05 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D05 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D06 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D06 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 IN DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 IN pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 OUT DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 OUT pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 IN DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 IN pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 OUT DEC error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 OUT pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D01 Scan glass exceeding limit",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "emergency stop alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "More glass than known",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "less glass than known",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D01 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D02 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D03 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D04 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D05 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "D06 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02 conveyor timeout alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 conveyor Left safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01 conveyor right safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 conveyor Left safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02 conveyor right safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "1# buffer safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "2# buffer safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "3# buffer safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "4# buffer safety alarm",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A01.SR right in pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "A02.SR left in pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01.SR left in pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01.SR left dec error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01.SR right dec error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B01.SR right in pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02.SR left in pos error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02.SR left dec error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    },
    {
      "name": "B02.SR right dec error",
      "value": "1",
      "state": "1",
      "type": "3",
      "page": "1"
    }
  ],
  "address": [
    {
      "name": "DB104.0.0",
      "count": 71
    }
  ]
}
springboot-vue3/src/main/resources/config.properties
@@ -16,8 +16,9 @@
# 复位按钮地址
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
notHomedButtonAddresses=DB104.9.0,DB104.9.1,DB104.9.4,DB104.9.5
# 进片id地址
inputGlassIdAddress=DB100.148
# 存片id地址
outputGlassIdAddress=DB100.162