wuyouming666
2024-05-29 75375a0f68c8b91799482dc1cd2ec7d7f211167f
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
@@ -2,10 +2,11 @@
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
import java.util.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -15,6 +16,8 @@
import java.io.UnsupportedEncodingException;
import org.apache.commons.io.FileUtils;
@Slf4j
public class PlcPositioning1 extends Thread {
@@ -28,6 +31,11 @@
        config = new Configuration("config.properties");
    }
    @Override
    public void run() {
        while (this != null) {
@@ -35,6 +43,16 @@
                Thread.sleep(1000);
                // System.out.println(stt);
            // 存片格 出片格读取
                List<String> PLCOriginmarking = Arrays.asList(config.getProperty("PLCOriginmarking").split(","));
                List<Boolean> PLCOriginmarkingarraylist = S7control.getinstance().readBits(PLCOriginmarking);
                short[] params = new short[PLCOriginmarkingarraylist.size()];
                for (int i = 0; i < PLCOriginmarkingarraylist.size(); i++) {
                    boolean value = PLCOriginmarkingarraylist.get(i);
                    params[i] = value ? (short) 1 : (short) 0;
                }
            String address = config.getProperty("PlcPositioning1.address");
            List<Short> arraylist = S7control.getinstance().ReadWord(address, 33);
@@ -54,7 +72,7 @@
            jsonObject.append("params", arraylist);
            jsonObject.append("shishi1", arraylist5);
                jsonObject.append("PLCOriginmarkingarraylist", params);
            // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1");
            // if (sendwServer != null) {
            // sendwServer.sendMessage(jsonObject.toString());
@@ -65,9 +83,10 @@
            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Positioning1");
            if (sendwServer != null) {
                for (WebSocketServer webserver : sendwServer) {
                    webserver.sendMessage(jsonObject.toString());
                    if (webserver != null) {
                    if (webserver != null&&webserver.session.isOpen()) {
                        webserver.sendMessage(jsonObject.toString());
                        List<String> messages = webserver.getMessages();
                        // 存片格 出片格地址
@@ -103,9 +122,13 @@
                                        "messageValue:" + mergedList + " written to PLC at address " + address);
                            }
                            customS7Control.writeBitToPLC(messageArray, PLCOriginmarking, 7);
                            // 清空消息列表
                            webserver.clearMessages();
                        }
                    }else{
                        log.info("Positioning1 is closed");
                    }
                }