Administrator
2021-12-14 422d605116ab7dad69a295e23cb132d5e3684b24
Central_Monitor/src/com/data/Central_RT_Data.java
@@ -2,17 +2,55 @@
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() {
      
   }