wuyouming666
2023-12-21 4ce7a290115c02d933390b2cabdd3c644f1d76aa
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
@@ -106,42 +106,49 @@
      jsonObject.append("params", arraylist);
      jsonObject.append("state", state);
      // jsonObject.append("action", sholist);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter");
          if (webserver != null) {
            List<String> messages = webserver.getMessages();
        String addressList = "DB100.0";
            String addressList = "DB100.0";
        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 {
              // 使用正则表达式清除非数字字符
              String cleanedPart = part.replaceAll("[^0-9-]", "");
              short value = Short.parseShort(cleanedPart.trim());
              messageValues.add(value);
            } catch (NumberFormatException e) {
              // 如果无法解析为 short 类型,则忽略该部分
            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 {
                  // 使用正则表达式清除非数字字符
                  String cleanedPart = part.replaceAll("[^0-9-]", "");
                  short value = Short.parseShort(cleanedPart.trim());
                  messageValues.add(value);
                } catch (NumberFormatException e) {
                  // 如果无法解析为 short 类型,则忽略该部分
              e.printStackTrace();
                  e.printStackTrace();
                }
              }
              // 将消息值写入 PLC
              S7control.getinstance().WriteWord(addressList, messageValues);
              System.out.println("messageValues:" + messageValues);
              System.out.println("addressList:" + addressList);
              // 清空消息列表
              webserver.clearMessages();
            }
          }
          // 将消息值写入 PLC
       S7control.getinstance().WriteWord(addressList, messageValues);
          System.out.println("messageValues:" + messageValues);
          System.out.println("addressList:" + addressList);
          // 清空消息列表
          webSocketServer.clearMessages();
        }
      }
    }