wu
2024-10-26 328f9b1f7a046378ef5d8f2b8337770fff372cc7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.example.springboot.component;
 
import com.example.springboot.entity.device.PlcBitObject;
import com.example.springboot.entity.device.PlcParameterObject;
 
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
import static com.example.springboot.component.InitUtil.readAndUpdateBitValues;
import static com.example.springboot.component.InitUtil.readAndUpdateWordValues;
 
public class PLCAutoMes extends Thread {
 
    // 用于存储应用程序的配置信息
    
    private static InitUtil initUtil;
    // public static PlcParameterObject PlcMesObject;
    // public static PlcParameterObject PlcReadObject;
    // public static PlcParameterObject PlcframeObject;
 
    // 创建一个自定义的 S7 控制器消息处理器对象
    MessageHandler customS7Control = new MessageHandler();
 
    // 单例实例
    private static PLCAutoMes instance;
    private static String PlcAlbania ="D:/Code/Albania_Mes/PlcAlbania.json";
    //  PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
    public static PlcParameterObject PlcMesObject = initUtil.initword(PlcAlbania);
  
    // 私有构造函数
    public PLCAutoMes() throws IOException {
        //config = new Configuration("config.properties");
        initUtil = new InitUtil();
    }
 
    // 获取单例实例
    public static synchronized PLCAutoMes getInstance() throws IOException {
        if (instance == null) {
            instance = new PLCAutoMes();
        }
        return instance;
    }
 
    @Override
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(100);
 
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //List<Short> ss=S7control.getinstance().ReadWord("DB14.0", 1);
            readAndUpdateWordValues(PlcMesObject);
 
        }
    }
}