whyclj
2020-10-17 e163b7b3e4d5acc63cfda2fec2dd9034864ccf7a
WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_rt.java
@@ -2,6 +2,12 @@
import java.io.Serializable;
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_rt implements Serializable{
     public int num;//'主键',
     public int water_id ;//'水冷系统id',
@@ -122,5 +128,46 @@
            + ", External_tmp=" + External_tmp + ", External_pre=" + External_pre + ", note=" + note + "]";
   }
   
   /**
    * 创建读取数据集合
    * @param master
    * @return
    */
   public BatchRead<Integer> createBatchRead(MyModbusMaster master){
      BatchRead<Integer> batch = new BatchRead<Integer>();
      batch.addLocator(0,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Cooling_flow , DataType.TWO_BYTE_INT_SIGNED,master));//'冷却水流量',
      batch.addLocator(1,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Supply_tmp ,DataType.TWO_BYTE_INT_SIGNED,master));//'供水温度',
      batch.addLocator(2,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Supply_pre ,DataType.TWO_BYTE_INT_SIGNED, master));//'供水压力',
      batch.addLocator(3,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.back_tem, DataType.TWO_BYTE_INT_SIGNED,master));//'回水温度',
      batch.addLocator(4,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.back_pre, DataType.TWO_BYTE_INT_SIGNED,master));//'回水压力',
      batch.addLocator(5,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Cooling_ser, DataType.TWO_BYTE_INT_SIGNED,master));//'冷却水电导率',
      batch.addLocator(6,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Buffer_tank_level, DataType.TWO_BYTE_INT_SIGNED,master));//'缓冲罐液位'
      batch.addLocator(7,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Buffer_tank_pre,DataType.TWO_BYTE_INT_SIGNED, master));   //'缓冲罐压力',
      batch.addLocator(8,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Humidity_chamber,DataType.TWO_BYTE_INT_SIGNED, master));//'阀厅湿度',
      batch.addLocator(9,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Tem_chamber, DataType.TWO_BYTE_INT_SIGNED,master));   //'阀厅温度',
      batch.addLocator(10,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.External_tmp, DataType.TWO_BYTE_INT_SIGNED,master));//'外水温度',
      batch.addLocator(11,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.External_pre,DataType.TWO_BYTE_INT_SIGNED,master));//'外水压力',
      return batch;
   }
   /**
    * 解析返回请求
    * @param res
    */
   public void putBatchResult(BatchResults<Integer> res) {
      if(res != null) {
         this.cooling_flow = MyModbusUtils.readShortToFloat(res.getValue(0),true);
         this.supply_tmp = MyModbusUtils.readShortToFloat(res.getValue(1),true)/10;
         this.Supply_pre = MyModbusUtils.readShortToFloat(res.getValue(2),true)/100;
         this.back_tem = MyModbusUtils.readShortToFloat(res.getValue(3),true)/10;
         this.back_pre = MyModbusUtils.readShortToFloat(res.getValue(4),true)/100;
         this.Cooling_ser = MyModbusUtils.readShortToFloat(res.getValue(5))/100;
         this.Buffer_tank_level = MyModbusUtils.readShortToFloat(res.getValue(6));
         this.Buffer_tank_pre = MyModbusUtils.readShortToFloat(res.getValue(7),true)/100;
         this.Humidity_chamber = MyModbusUtils.readShortToFloat(res.getValue(8))/10;
         this.Tem_chamber= MyModbusUtils.readShortToFloat(res.getValue(9),true)/10;
         this.External_tmp= MyModbusUtils.readShortToFloat(res.getValue(10),true)/10;
         this.External_pre = MyModbusUtils.readShortToFloat(res.getValue(11),true)/100;
      }
   }
}