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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
package com.mes.s7.device;
 
/**
 * PlcParameterInfo class
 *
 * @author zsh
 * @date 2025/07/04
 */
public class PlcParameterInfo {
    /**
     * 构造方法,指定起始地址。
     *
     * @param startAddress 起始地址
     */
    public PlcParameterInfo(String startAddress) {
        this.startAddress = startAddress;
    }
 
    /**
     * 起始地址(如 DB 块起始位置)
     */
    private String startAddress;
 
    /**
     * 参数标识(如 codeId,用于唯一标识该参数)
     */
    private String codeId;
 
    /**
     * 参数名称(中文或业务描述)
     */
    private String name;
 
    /**
     * 参数值(读取值,字符串表示)
     */
    private String value;
 
    /** 写入参数值(暂未使用) */
    // private String writeValue;
 
    /**
     * 参数单位(如 mm、℃ 等)
     */
    private String unit;
 
    /**
     * 参数值转换系数(用于缩放、精度处理)
     */
    private int ratio;
 
    /**
     * 参数地址索引(在数据块中的偏移位置)
     */
    private int addressIndex;
 
    /**
     * 参数地址长度(占用多少位/字节)
     */
    private int addressLength;
 
    /**
     * 获取参数标识。
     *
     * @return 参数标识 codeId
     */
    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 String getValue() {
        return this.value;
    }
 
    /**
     * 设置参数值。
     *
     * @param value 参数值(字符串格式)
     */
    public void setValue(String value) {
        this.value = value;
    }
 
    /**
     * 获取参数单位。
     *
     * @return 参数单位
     */
    public String getUnit() {
        return this.unit;
    }
 
    /**
     * 设置参数单位。
     *
     * @param unit 参数单位
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }
 
    /**
     * 获取参数地址索引。
     *
     * @return 地址索引
     */
    public int getAddressIndex() {
        return this.addressIndex;
    }
 
    /**
     * 设置参数地址索引。
     *
     * @param addressIndex 地址索引
     */
    public void setAddressIndex(int addressIndex) {
        this.addressIndex = addressIndex;
    }
 
    /**
     * 获取参数地址长度。
     *
     * @return 地址长度
     */
    public int getAddressLength() {
        return this.addressLength;
    }
 
    /**
     * 设置参数地址长度。
     *
     * @param addressLength 地址长度
     */
    public void setAddressLength(int addressLength) {
        this.addressLength = addressLength;
    }
 
    /**
     * 获取参数转换系数。
     *
     * @return 转换系数
     */
    public int getRatio() {
        return this.ratio;
    }
 
    /**
     * 设置参数转换系数。
     *
     * @param ratio 转换系数
     */
    public void setRatio(int ratio) {
        this.ratio = ratio;
    }
 
    /**
     * 获取地址
     *
     * @param index 索引地址
     */
    public String getAddress(int index) {
        String[] stringdatas = this.startAddress.trim().split("\\.");
        int addressLength = this.addressLength;
        if (addressLength < 2) {
            return null;
        }
        int wordindex = Integer.parseInt(stringdatas[1]) + index;
        return stringdatas[0] + "." + wordindex;
    }
 
    /**
     * 获取地址
     */
    public String getAddress() {
        return getAddress(this.addressIndex);
    }
}