huang
2025-10-30 a99650cb00bf5b0650c33f39a4221b765201d228
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.mes.s7.device;
/**
 * PlcBitInfo class
 *
 * @author zsh
 * @date 2025/07/04
 */
public class PlcBitInfo {
 
    /**
     * 构造函数,根据起始地址初始化对象。
     *
     * @param startAddress 起始地址
     */
    public PlcBitInfo(String startAddress) {
        this.startAddress = startAddress;
    }
 
    /** 起始地址 */
    private String startAddress;
 
    /** 参数标识 */
    private String codeId;
 
    /** 参数名称 */
    private String name;
 
    /** 读取参数值 */
    private Boolean value;
 
    /** 参数地址索引 */
    private int addressIndex;
 
    /**
     * 获取参数标识。
     *
     * @return 参数标识
     */
    public String getCodeId() {
        return this.codeId;
    }
 
    /**
     * 设置参数标识。
     *
     * @param codeId 参数标识
     */
    public void setCodeId(String codeId) {
        this.codeId = codeId;
    }
 
    /**
     * 获取参数名称。
     *
     * @return 参数名称
     */
    public String getName() {
        return this.name;
    }
 
    /**
     * 设置参数名称。
     *
     * @param name 参数名称
     */
    public void setName(String name) {
        this.name = name;
    }
 
    /**
     * 获取参数值。
     *
     * @return 参数值
     */
    public Boolean getValue() {
        return this.value;
    }
 
    /**
     * 设置参数值。
     *
     * @param value 参数值
     */
    public void setValue(Boolean value) {
        this.value = value;
    }
 
    /**
     * 获取参数地址索引。
     *
     * @return 地址索引
     */
    public int getAddressIndex() {
        return this.addressIndex;
    }
 
    /**
     * 获取地址
     *
     * @param index 索引地址
     */
    public String getAddress(int index) {
        String[] stringdatas = this.startAddress.trim().split("\\.");
        if (stringdatas.length < 2) {
            return null;
        }
        int dbwindex = 0;
        int bitindex = 0;
        if (stringdatas.length == 3) {
            dbwindex = Integer.parseInt(stringdatas[1]);
            bitindex = Integer.parseInt(stringdatas[2]);
        } else {
            return null;
        }
        dbwindex += index / 8;
        bitindex += index % 8;
        return stringdatas[0] + "." + dbwindex + "." + bitindex;
    }
 
    /**
     * 获取地址
     */
    public String getAddress() {
        return getAddress(this.addressIndex);
    }
 
    /**
     * 设置地址
     */
    public void setAddressIndex(int addressindex) {
        this.addressIndex = addressindex;
    }
}