Administrator
2021-12-14 422d605116ab7dad69a295e23cb132d5e3684b24
Central_Monitor/src/com/data/Central_ST_Data.java
@@ -2,10 +2,17 @@
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_ST_Data {
   
   private int dev_id;                      //'设备id',
   private Date record_time;                //'更新时间',
   private int switch_close_1st_2500A;          //'1号2500A进线屏开关合闸状态',
   private int switch_open_1st_2500A;          //'1号2500A进线屏开关分闸状态',
   private int switch_fault_1st_2500A;          //'1号2500A进线屏开关故障状态',
@@ -26,6 +33,59 @@
   private float curr_b;                   //'B排电流',
   private float vol_b;                   //'B排电压',
   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.createInputLocator(4,master));      //'2号2500A进线屏开关合闸状态',
      batch.addLocator(4,MyModbusUtils.createInputLocator(5,master));      //'2号2500A进线屏开关分闸状态',
      batch.addLocator(5,MyModbusUtils.createInputLocator(6,master));      //'2号2500A进线屏开关故障状态',
      batch.addLocator(6,MyModbusUtils.createInputLocator(7,master));      //'母联屏合闸状态',
      batch.addLocator(7,MyModbusUtils.createInputLocator(8, master));   //'母联屏分闸状态',
      batch.addLocator(8,MyModbusUtils.createInputLocator(9, master));   //'母联屏开关故障',
      batch.addLocator(9,MyModbusUtils.createInputLocator(10,master));   //'1号2500A负载屏开关合闸状态',
      batch.addLocator(10,MyModbusUtils.createInputLocator(11,master));   //'1号2500A负载屏开关分闸状态',
      batch.addLocator(11,MyModbusUtils.createInputLocator(12,master));   //'1号2500A负载屏开关故障状态',
      batch.addLocator(12,MyModbusUtils.createInputLocator(13,master));   //'2号2500A负载屏开关合闸状态',
      batch.addLocator(13,MyModbusUtils.createInputLocator(14,master));   //'2号2500A负载屏开关分闸状态',
      batch.addLocator(14,MyModbusUtils.createInputLocator(15,master));   //'2号2500A负载屏开关故障状态',
      batch.addLocator(15,MyModbusUtils.createBaseLocator(1,DataType.TWO_BYTE_INT_SIGNED,master));   //'A排电流',
      batch.addLocator(16,MyModbusUtils.createBaseLocator(2,DataType.TWO_BYTE_INT_SIGNED,master));   //'A排电压',
      batch.addLocator(17,MyModbusUtils.createBaseLocator(3,DataType.TWO_BYTE_INT_SIGNED,master));   //'B排电流',
      batch.addLocator(18,MyModbusUtils.createBaseLocator(4,DataType.TWO_BYTE_INT_SIGNED,master));   //'B排电压',
      return batch;
   }
   public void putBatchResult(BatchResults<Integer> res) {
      if(null != res) {
         switch_close_1st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(0));          //'1号2500A进线屏开关合闸状态',
         switch_open_1st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(1));          //'1号2500A进线屏开关分闸状态',
         switch_fault_1st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(2));          //'1号2500A进线屏开关故障状态',
         switch_close_2st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(3));          //'2号2500A进线屏开关合闸状态',
         switch_open_2st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(4));          //'2号2500A进线屏开关分闸状态',
         switch_fault_2st_2500A = MyModbusUtils.readBooleanToInt(res.getValue(5));          //'2号2500A进线屏开关故障状态',
         switch_close_bus_screen = MyModbusUtils.readBooleanToInt(res.getValue(6));       //'母联屏合闸状态',
         switch_open_bus_screen = MyModbusUtils.readBooleanToInt(res.getValue(7));          //'母联屏分闸状态',
         switch_fault_bus_screen = MyModbusUtils.readBooleanToInt(res.getValue(8));       //'母联屏开关故障',
         switch_close_1st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(9));    //'1号2500A负载屏开关合闸状态',
         switch_open_1st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(10));       //'1号2500A负载屏开关分闸状态',
         switch_fault_1st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(11));    //'1号2500A负载屏开关故障状态',
         switch_close_2st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(12));    //'2号2500A负载屏开关合闸状态',
         switch_open_2st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(13));       //'2号2500A负载屏开关分闸状态',
         switch_fault_2st_2500A_load = MyModbusUtils.readBooleanToInt(res.getValue(14));    //'2号2500A负载屏开关故障状态',
         curr_a = MyModbusUtils.readShortToFloat(res.getValue(15));                  //'A排电流',
         vol_a = MyModbusUtils.readShortToFloat(res.getValue(16));                   //'A排电压',
         curr_b = MyModbusUtils.readShortToFloat(res.getValue(17));                   //'B排电流',
         vol_b = MyModbusUtils.readShortToFloat(res.getValue(18));                   //'B排电压',
      }
   }
   
   public Central_ST_Data() {
      
@@ -183,5 +243,4 @@
            + ", switch_fault_2st_2500A_load=" + switch_fault_2st_2500A_load + ", curr_a=" + curr_a + ", vol_a="
            + vol_a + ", curr_b=" + curr_b + ", vol_b=" + vol_b + ", note=" + note + "]";
   }
}