| | |
| | |
|
| | | import java.util.Date;
|
| | |
|
| | | 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 Central_RT_Data {
|
| | |
|
| | | private int dev_id; // '设备id',
|
| | | private Date record_time; //'更新时间',
|
| | | |
| | | private int switch_close; // '开关合闸状态',
|
| | | private int switch_open; // '开关分闸状态',
|
| | | private int switch_fault; // '开关故障状态',
|
| | | private float panel_vol ; // '进线屏电压',
|
| | | private float panel_curr ; // '进线屏电流',
|
| | | |
| | | private String note; //'备用',
|
| | |
|
| | | public BatchRead<Integer> createBatchRead(MyModbusMaster master) {
|
| | | BatchRead<Integer> batch = new BatchRead<Integer>(); |
| | | batch.addLocator(0,MyModbusUtils.createInputLocator(1,master)); //'1号2500A进线屏开关合闸状态',
|
| | | batch.addLocator(1,MyModbusUtils.createInputLocator(2,master)); //'1号2500A进线屏开关分闸状态'
|
| | | batch.addLocator(2,MyModbusUtils.createInputLocator(3, master)); //'1号2500A进线屏开关故障状态',
|
| | | |
| | | batch.addLocator(3,MyModbusUtils.createBaseLocator(1,DataType.TWO_BYTE_INT_SIGNED,master)); //'A排电流',
|
| | | if(10001 == dev_id) { |
| | | batch.addLocator(4,MyModbusUtils.createBaseLocator(2,DataType.TWO_BYTE_INT_SIGNED,master)); //'A排电压',
|
| | | }
|
| | |
|
| | | |
| | | return batch;
|
| | | }
|
| | |
|
| | | public void putBatchResult(BatchResults<Integer> res) {
|
| | | if(null != res) {
|
| | | switch_close = MyModbusUtils.readBooleanToInt(res.getValue(0)); // '开关合闸状态',
|
| | | switch_open = MyModbusUtils.readBooleanToInt(res.getValue(1)); // '开关分闸状态',
|
| | | switch_fault = MyModbusUtils.readBooleanToInt(res.getValue(2)); // '开关故障状态',
|
| | | if(10001 == dev_id) {
|
| | | panel_vol = MyModbusUtils.readShortToInt(res.getValue(3)); // '进线屏电压',
|
| | | panel_curr = MyModbusUtils.readShortToInt(res.getValue(4)); // '进线屏电流',
|
| | | }else {
|
| | | panel_curr = MyModbusUtils.readShortToInt(res.getValue(3)); // '进线屏电流',
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | public Central_RT_Data() {
|
| | |
|
| | | }
|