From e163b7b3e4d5acc63cfda2fec2dd9034864ccf7a Mon Sep 17 00:00:00 2001
From: whyclj <1525436766@qq.com>
Date: 星期六, 17 十月 2020 12:01:49 +0800
Subject: [PATCH] 水冷添加历史实时数据记录功能

---
 WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_alarm.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_alarm.java b/WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_alarm.java
index fe459d4..4ef4924 100644
--- a/WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_alarm.java
+++ b/WaterSystem_MonitorServer/src/com/watersystem/monitor/Water_alarm.java
@@ -3,6 +3,12 @@
 import java.io.Serializable;
 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 Water_alarm implements Serializable{
 	public int num;
 	public int water_id;
@@ -92,5 +98,37 @@
 		return water_alarm;
 	}
 	
+	/**
+	 * 创建读取数据集合
+	 * @param master
+	 * @return
+	 */
+	public BatchRead<Integer> createBatchRead(MyModbusMaster master){
+		BatchRead<Integer> batch = new BatchRead<Integer>();		
+		batch.addLocator(0,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_Operation_Fault,DataType.TWO_BYTE_INT_UNSIGNED,master));//冷却系统各部件故障信息
+		batch.addLocator(1,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_BranchFlowTmp_Fault,DataType.TWO_BYTE_INT_UNSIGNED,master));//冷却系统支路流量/温度故障信息		
+		batch.addLocator(2,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_Pre_Fault ,DataType.TWO_BYTE_INT_UNSIGNED, master));//冷却水压力故障
+		batch.addLocator(3,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_Operation_highorlow,DataType.TWO_BYTE_INT_UNSIGNED, master));//冷却系统各部件低/高							
+		batch.addLocator(4,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_Tmp_highorlow,DataType.TWO_BYTE_INT_UNSIGNED, master));//冷却系统温度高/超高									
+		batch.addLocator(5,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_TmpFlow_highorlow,DataType.TWO_BYTE_INT_UNSIGNED, master));//冷却系统支路温度/流量低/超低								
+		batch.addLocator(6,MyModbusUtils.createBaseLocator(Watersystem_ModbusAddress.Watersystem_Flow_ighorlow,DataType.TWO_BYTE_INT_UNSIGNED, master));//冷却水部分支路流量低/超低								
+		return batch;
+	}
+	/**
+	 * 解析返回请求
+	 * @param res
+	 */
+	public void putBatchResult(BatchResults<Integer> res) {
+		if(res != null) {
+			this.Watersystem_Operation_Fault = MyModbusUtils.readIntergerToInt(res.getValue(0));	
+			this.Watersystem_BranchFlowTmp_Fault = MyModbusUtils.readIntergerToInt(res.getValue(1));	
+			this.Watersystem_Pre_Fault = MyModbusUtils.readIntergerToInt(res.getValue(2));	
+			this.Watersystem_Operation_highorlow = MyModbusUtils.readIntergerToInt(res.getValue(3));
+			//System.out.println("1296:"+this.Watersystem_Operation_highorlow);
+			this.Watersystem_Tmp_highorlow = MyModbusUtils.readIntergerToInt(res.getValue(4));				
+			this.Watersystem_TmpFlow_highorlow = MyModbusUtils.readIntergerToInt(res.getValue(5));			
+			this.Watersystem_Flow_ighorlow = MyModbusUtils.readIntergerToInt(res.getValue(6));				
+		}
+	} 
 
 }

--
Gitblit v1.9.1