whyclxw
2021-08-30 c18aed04a5d3f8eb3aae493e37e611ec4871d30b
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
package com.dev.lubrication;
 
import java.io.Serializable;
import java.util.Date;
 
import com.intelligt.modbus.MyJlibModbus;
import com.intelligt.modbus.jlibmodbus.exception.IllegalDataAddressException;
import com.intelligt.modbus.jlibmodbus.exception.IllegalDataValueException;
import com.modbus.data.MyModbusMaster;
import com.modbus.data.MyModbusUtils;
import com.serotonin.modbus4j.BatchRead;
import com.serotonin.modbus4j.BatchResults;
import com.serotonin.modbus4j.code.DataType;
 
public class Water_comm implements Serializable{
    public int num;//,
    public int dev_id ;// 'É豸id',
    public Date record_time;//'¼Ç¼ʱ¼ä',
    public int water_state ;// 'ˮվÔËÐÐ',
    public int water_highTmp ;// 'ˮվ¸ßÓÍα¨¾¯',
    public int water_lowLevel ;// 'ˮվµÍҺ뱨¾¯',
    public int water_highLevel ;// 'ˮվ¸ßҺ뱨¾¯',
    public int water_eleMachine1 ;// 'ˮվµç»ú1¹ÊÕÏ',
    public int water_eleMachine2 ;// 'ˮվµç»ú2¹ÊÕÏ',
    public float water_returnTmp ;// 'ˮվ»ØË®Î¶È',
    public float water_outFlow ;// 'À䶳ˮ³ö¿ÚÁ÷Á¿',
    public float water_pre1 ;// 'À䶳ˮѹÁ¦1',
    public float water_pre2 ;// 'À䶳ˮѹÁ¦2',
    public float water_outpre1 ;// 'ˮվ³ö¿Ú1ѹÁ¦',
    public float water_outpre2 ;// 'ˮվ³ö¿Ú2ѹÁ¦',
    public float water_outpre3 ;// 'ˮվ³ö¿Ú3ѹÁ¦',
    public float water_outpre4 ;// 'ˮվ³ö¿Ú4ѹÁ¦',
    public float water_returnFlow ;// 'À䶳ˮ»ØË®Á÷Á¿',
    public float water_coolpre ;// 'ˮվÀäȴˮѹÁ¦',
    public float water_coolTmp ;// 'ˮվÀäÈ´Ë®»ØË®Î¶È',
    public float water_outTmp ;// 'ˮվ³öˮζÈ',
    public int compressor_state;//ѹËõ»ú״̬
    public String note ;//'±¸ÓÃ',
    
    /**
     * ¶ÁÈ¡Êý¾Ý
     * @param mymodbus
     */
    public void readMutliData(MyJlibModbus mymodbus) {
        try {
            water_state = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10001));// 'ˮվÔËÐÐ',
            water_highTmp = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10002));// 'ˮվ¸ßˮα¨¾¯',
            water_lowLevel = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10003));// 'ˮվµÍҺ뱨¾¯',
            water_highLevel = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10004));// 'ˮվ¸ßҺ뱨¾¯',
            water_eleMachine1 = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10005));// 'ˮվµç»ú1¹ÊÕÏ',
            water_eleMachine2 = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10006));// 'ˮվµç»ú1¹ÊÕÏ',
            compressor_state = MyModbusUtils.readBooleanToInt(mymodbus.coils_ser.get(10007));// 'ѹËõ»ú״̬',
            
            water_returnTmp = mymodbus.holdings_ser.getFloat32At(40001);// 'ˮվ»ØË®Î¶È',
            water_outFlow = mymodbus.holdings_ser.getFloat32At(40004);// 'ÀäÈ´Ë®³ö¿ÚÁ÷Á¿',
            water_pre1 = mymodbus.holdings_ser.getFloat32At(40008);// 'ÀäȴˮѹÁ¦1',
            water_pre2 = mymodbus.holdings_ser.getFloat32At(40012);// 'ÀäȴˮѹÁ¦2',
            water_outpre1 = mymodbus.holdings_ser.getFloat32At(40016);// 'ˮվ³ö¿Ú1ѹÁ¦',
            water_outpre2 = mymodbus.holdings_ser.getFloat32At(40020);// 'ˮվ³ö¿Ú2ѹÁ¦',
            water_outpre3 = mymodbus.holdings_ser.getFloat32At(40024);// 'ˮվ³ö¿Ú3ѹÁ¦',
            water_outpre4 = mymodbus.holdings_ser.getFloat32At(40028);// 'ˮվ³ö¿Ú4ѹÁ¦',
            water_returnFlow = mymodbus.holdings_ser.getFloat32At(40032);// 'ÀäÈ´Ë®»ØË®Á÷Á¿',
            water_coolpre = mymodbus.holdings_ser.getFloat32At(40036);// 'ˮվÀäȴˮѹÁ¦',
            water_coolTmp = mymodbus.holdings_ser.getFloat32At(40040);// 'ˮվÀäÈ´Ë®»ØË®Î¶È',
            water_outTmp = mymodbus.holdings_ser.getFloat32At(40044);// 'ˮվ³öˮζÈ',
            
            
        } catch (IllegalDataAddressException e) {
            e.printStackTrace();
        }
    }
    
    /**
     *     Éú³ÉËæ»úÊý
     */
    public void randomData() {
        water_state = MyModbusUtils.CreateSwitchRanDom();// 'ˮվÔËÐÐ',
        water_highTmp = MyModbusUtils.CreateSwitchRanDom();// 'ˮվ¸ßÓÍα¨¾¯',
        water_lowLevel = MyModbusUtils.CreateSwitchRanDom();// 'ˮվµÍҺ뱨¾¯',
        water_highLevel = MyModbusUtils.CreateSwitchRanDom();// 'ˮվ¸ßҺ뱨¾¯',
        water_eleMachine1 = MyModbusUtils.CreateSwitchRanDom();// 'ˮվµç»ú1¹ÊÕÏ',
        water_eleMachine2 = MyModbusUtils.CreateSwitchRanDom();// 'ˮվµç»ú2¹ÊÕÏ',
        compressor_state = MyModbusUtils.CreateSwitchRanDom();//ѹËõ»ú״̬
        
        water_returnTmp = MyModbusUtils.CreateFloatRanDom(0, 1000);// 'ˮվ»ØË®Î¶È',
        water_outFlow = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'À䶳ˮ³ö¿ÚÁ÷Á¿',
        water_pre1 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'À䶳ˮѹÁ¦1',
        water_pre2 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'À䶳ˮѹÁ¦2',
        water_outpre1 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվ³ö¿Ú1ѹÁ¦',
        water_outpre2 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվ³ö¿Ú2ѹÁ¦',
        water_outpre3 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվ³ö¿Ú3ѹÁ¦',
        water_outpre4 = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվ³ö¿Ú4ѹÁ¦',
        water_returnFlow = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'À䶳ˮ»ØË®Á÷Á¿',
        water_coolpre = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվÀäȴˮѹÁ¦',
        water_coolTmp = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվÀäÈ´Ë®»ØË®Î¶È',
        water_outTmp = MyModbusUtils.CreateFloatRanDom(0, 1000);;// 'ˮվ³öˮζÈ',
        
    }
    
 
    public void writeMutliData(MyJlibModbus mymodbus) {
        try {
            mymodbus.coils_ser.set(10001, MyModbusUtils.changeIntToBoolean(water_state));
            mymodbus.coils_ser.set(10002, MyModbusUtils.changeIntToBoolean(water_highTmp));
            mymodbus.coils_ser.set(10003, MyModbusUtils.changeIntToBoolean(water_lowLevel));
            mymodbus.coils_ser.set(10004, MyModbusUtils.changeIntToBoolean(water_highLevel));
            mymodbus.coils_ser.set(10005, MyModbusUtils.changeIntToBoolean(water_eleMachine1));
            mymodbus.coils_ser.set(10006, MyModbusUtils.changeIntToBoolean(water_eleMachine2));
            mymodbus.coils_ser.set(10007, MyModbusUtils.changeIntToBoolean(compressor_state));
            
            mymodbus.holdings_ser.setFloat32At(40001, water_returnTmp);
            mymodbus.holdings_ser.setFloat32At(40004, water_outFlow);
            mymodbus.holdings_ser.setFloat32At(40008, water_pre1);
            mymodbus.holdings_ser.setFloat32At(40012, water_pre2);
            mymodbus.holdings_ser.setFloat32At(40016, water_outpre1);
            mymodbus.holdings_ser.setFloat32At(40020, water_outpre2);
            mymodbus.holdings_ser.setFloat32At(40024, water_outpre3);
            mymodbus.holdings_ser.setFloat32At(40028, water_outpre4);
            mymodbus.holdings_ser.setFloat32At(40032, water_returnFlow);
            mymodbus.holdings_ser.setFloat32At(40036, water_coolpre);
            mymodbus.holdings_ser.setFloat32At(40040, water_coolTmp);
            mymodbus.holdings_ser.setFloat32At(40044, water_outTmp);
            
            
        } catch (IllegalDataAddressException | IllegalDataValueException e) {
            e.printStackTrace();
        }
    }
    
    public Water_comm() {
        // TODO Auto-generated constructor stub
    }
    public Water_comm(int dev_id) {
        super();
        this.dev_id = dev_id;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public int getDev_id() {
        return dev_id;
    }
    public void setDev_id(int dev_id) {
        this.dev_id = dev_id;
    }
    public Date getRecord_time() {
        return record_time;
    }
    public void setRecord_time(Date record_time) {
        this.record_time = record_time;
    }
    public int getWater_state() {
        return water_state;
    }
    public void setWater_state(int water_state) {
        this.water_state = water_state;
    }
    public int getWater_highTmp() {
        return water_highTmp;
    }
    public void setWater_highTmp(int water_highTmp) {
        this.water_highTmp = water_highTmp;
    }
    public int getWater_lowLevel() {
        return water_lowLevel;
    }
    public void setWater_lowLevel(int water_lowLevel) {
        this.water_lowLevel = water_lowLevel;
    }
    public int getWater_highLevel() {
        return water_highLevel;
    }
    public void setWater_highLevel(int water_highLevel) {
        this.water_highLevel = water_highLevel;
    }
    public int getWater_eleMachine1() {
        return water_eleMachine1;
    }
    public void setWater_eleMachine1(int water_eleMachine1) {
        this.water_eleMachine1 = water_eleMachine1;
    }
    public int getWater_eleMachine2() {
        return water_eleMachine2;
    }
    public void setWater_eleMachine2(int water_eleMachine2) {
        this.water_eleMachine2 = water_eleMachine2;
    }
    public float getWater_returnTmp() {
        return water_returnTmp;
    }
    public void setWater_returnTmp(float water_returnTmp) {
        this.water_returnTmp = water_returnTmp;
    }
    public float getWater_outFlow() {
        return water_outFlow;
    }
    public void setWater_outFlow(float water_outFlow) {
        this.water_outFlow = water_outFlow;
    }
    public float getWater_pre1() {
        return water_pre1;
    }
    public void setWater_pre1(float water_pre1) {
        this.water_pre1 = water_pre1;
    }
    public float getWater_pre2() {
        return water_pre2;
    }
    public void setWater_pre2(float water_pre2) {
        this.water_pre2 = water_pre2;
    }
    public float getWater_outpre1() {
        return water_outpre1;
    }
    public void setWater_outpre1(float water_outpre1) {
        this.water_outpre1 = water_outpre1;
    }
    public float getWater_outpre2() {
        return water_outpre2;
    }
    public void setWater_outpre2(float water_outpre2) {
        this.water_outpre2 = water_outpre2;
    }
    public float getWater_outpre3() {
        return water_outpre3;
    }
    public void setWater_outpre3(float water_outpre3) {
        this.water_outpre3 = water_outpre3;
    }
    public float getWater_outpre4() {
        return water_outpre4;
    }
    public void setWater_outpre4(float water_outpre4) {
        this.water_outpre4 = water_outpre4;
    }
    public float getWater_returnFlow() {
        return water_returnFlow;
    }
    public void setWater_returnFlow(float water_returnFlow) {
        this.water_returnFlow = water_returnFlow;
    }
    public float getWater_coolpre() {
        return water_coolpre;
    }
    public void setWater_coolpre(float water_coolpre) {
        this.water_coolpre = water_coolpre;
    }
    public float getWater_coolTmp() {
        return water_coolTmp;
    }
    public void setWater_coolTmp(float water_coolTmp) {
        this.water_coolTmp = water_coolTmp;
    }
    public float getWater_outTmp() {
        return water_outTmp;
    }
    public void setWater_outTmp(float water_outTmp) {
        this.water_outTmp = water_outTmp;
    }
    
    public int getCompressor_state() {
        return compressor_state;
    }
    public void setCompressor_state(int compressor_state) {
        this.compressor_state = compressor_state;
    }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }
    
    
    @Override
    public String toString() {
        return "Water_comm [num=" + num + ", dev_id=" + dev_id + ", record_time=" + record_time + ", water_state="
                + water_state + ", water_highTmp=" + water_highTmp + ", water_lowLevel=" + water_lowLevel
                + ", water_highLevel=" + water_highLevel + ", water_eleMachine1=" + water_eleMachine1
                + ", water_eleMachine2=" + water_eleMachine2 + ", water_returnTmp=" + water_returnTmp
                + ", water_outFlow=" + water_outFlow + ", water_pre1=" + water_pre1 + ", water_pre2=" + water_pre2
                + ", water_outpre1=" + water_outpre1 + ", water_outpre2=" + water_outpre2 + ", water_outpre3="
                + water_outpre3 + ", water_outpre4=" + water_outpre4 + ", water_returnFlow=" + water_returnFlow
                + ", water_coolpre=" + water_coolpre + ", water_coolTmp=" + water_coolTmp + ", water_outTmp="
                + water_outTmp + ", compressor_state=" + compressor_state + ", note=" + note + "]";
    }
    public BatchRead<Integer> createBatchRead(MyModbusMaster master) {
        BatchRead<Integer> batch = new BatchRead<Integer>();        
        batch.addLocator(0,MyModbusUtils.createInputLocator(10001,master));        //ˮվÔËÐÐ
        batch.addLocator(1,MyModbusUtils.createInputLocator(10002,master));        //ˮվ¸ßÓÍα¨¾¯
        batch.addLocator(2,MyModbusUtils.createInputLocator(10003,master));    //ˮվµÍҺ뱨¾¯
        batch.addLocator(3,MyModbusUtils.createInputLocator(10004,master));        //ˮվ¸ßҺ뱨¾¯                
        batch.addLocator(4,MyModbusUtils.createInputLocator(10005,master));        //ˮվµç»ú1¹ÊÕÏ                        
        batch.addLocator(5,MyModbusUtils.createInputLocator(10006,master));        //ˮվµç»ú2¹ÊÕÏ    
        batch.addLocator(6,MyModbusUtils.createBaseLocator(40001,DataType.FOUR_BYTE_FLOAT,master));        //ˮվ»ØÓÍζȠ           
        batch.addLocator(7,MyModbusUtils.createBaseLocator(40004,DataType.FOUR_BYTE_FLOAT,master));    //À䶳ˮ³ö¿ÚÁ÷Á¿                    
        batch.addLocator(8,MyModbusUtils.createBaseLocator(40008,DataType.FOUR_BYTE_FLOAT,master));    //À䶳ˮѹÁ¦1                
        batch.addLocator(9,MyModbusUtils.createBaseLocator(40012,DataType.FOUR_BYTE_FLOAT,master));    //À䶳ˮѹÁ¦2                            
        batch.addLocator(10,MyModbusUtils.createBaseLocator(40016,DataType.FOUR_BYTE_FLOAT,master));        //ˮվ³ö¿Ú1ѹÁ¦
        batch.addLocator(11,MyModbusUtils.createBaseLocator(40020,DataType.FOUR_BYTE_FLOAT,master));        //ˮվ³ö¿Ú2ѹÁ¦
        batch.addLocator(12,MyModbusUtils.createBaseLocator(40024,DataType.FOUR_BYTE_FLOAT,master));    //ˮվ³ö¿Ú3ѹÁ¦
        batch.addLocator(13,MyModbusUtils.createBaseLocator(40028,DataType.FOUR_BYTE_FLOAT,master));        //ˮվ³ö¿Ú4ѹÁ¦                        
        batch.addLocator(14,MyModbusUtils.createBaseLocator(40032,DataType.FOUR_BYTE_FLOAT,master));        //À䶳ˮ»ØÓÍÁ÷Á¿                        
        batch.addLocator(15,MyModbusUtils.createBaseLocator(40036,DataType.FOUR_BYTE_FLOAT,master));        //ˮվÀäȴˮѹÁ¦        
        batch.addLocator(16,MyModbusUtils.createBaseLocator(40040,DataType.FOUR_BYTE_FLOAT,master));        //ˮվÀäÈ´Ë®»ØË®Î¶Ƞ           
        batch.addLocator(17,MyModbusUtils.createBaseLocator(40044,DataType.FOUR_BYTE_FLOAT,master));        //ˮվ³öÓÍζȠ       
        batch.addLocator(18,MyModbusUtils.createInputLocator(10007,master));        //    Ñ¹Ëõ»ú״̬        
        
        return batch;
    }
    //¶ÁȡˮվͨѶÊý¾Ý
    public void putBatchResult(BatchResults<Integer> res) {
        if(res!=null) {
            water_state = MyModbusUtils.readBooleanToInt(res.getValue(0));        //ˮվÔËÐÐ
            water_highTmp = MyModbusUtils.readBooleanToInt(res.getValue(1));        //ˮվ¸ßÓÍα¨¾¯
            water_lowLevel = MyModbusUtils.readBooleanToInt(res.getValue(2));        //ˮվµÍҺ뱨¾¯
            water_highLevel = MyModbusUtils.readBooleanToInt(res.getValue(3));        //ˮվ¸ßҺ뱨¾¯    
            water_eleMachine1 = MyModbusUtils.readBooleanToInt(res.getValue(4));        //ˮվµç»ú1¹ÊÕÏ    
            water_eleMachine2 = MyModbusUtils.readBooleanToInt(res.getValue(5));        //ˮվµç»ú2¹ÊÕÏ    
            
            water_returnTmp=res.getFloatValue(6);//ˮվ»ØÓÍζÈ
            water_outFlow=res.getFloatValue(7);//À䶳ˮ³ö¿ÚÁ÷Á¿
            water_pre1=res.getFloatValue(8);//À䶳ˮѹÁ¦1
            water_pre2=res.getFloatValue(9);//À䶳ˮѹÁ¦2
            water_outpre1=res.getFloatValue(10);//ˮվ³ö¿Ú1ѹÁ¦
            water_outpre2=res.getFloatValue(11);//ˮվ³ö¿Ú2ѹÁ¦
            water_outpre3=res.getFloatValue(12);//ˮվ³ö¿Ú3ѹÁ¦
            water_outpre4=res.getFloatValue(13);//ˮվ³ö¿Ú4ѹÁ¦
            water_returnFlow=res.getFloatValue(14);//À䶳ˮ»ØÓÍÁ÷Á¿
            water_coolpre=res.getFloatValue(15);//ˮվÀäȴˮѹÁ¦
            water_coolTmp=res.getFloatValue(16);//ˮվÀäÈ´Ë®»ØË®Î¶È
            water_outTmp=res.getFloatValue(17);//ˮվ³öÓÍζÈ
            
            compressor_state = MyModbusUtils.readBooleanToInt(res.getValue(18));        //ѹËõ»ú״̬        
        }
        
    }
    
    
 
}