From 95c0c2e94d390650d3954c30c6a7c805fe9c714c Mon Sep 17 00:00:00 2001
From: whyclj <1525436766@qq.com>
Date: 星期四, 15 十月 2020 18:23:18 +0800
Subject: [PATCH] 负载添加历史实时数据记录功能

---
 src/com/dev/base/data/Dynamicload_SocketClient_Thread.java |  174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 168 insertions(+), 6 deletions(-)

diff --git a/src/com/dev/base/data/Dynamicload_SocketClient_Thread.java b/src/com/dev/base/data/Dynamicload_SocketClient_Thread.java
index d02c55e..24cbe4e 100644
--- a/src/com/dev/base/data/Dynamicload_SocketClient_Thread.java
+++ b/src/com/dev/base/data/Dynamicload_SocketClient_Thread.java
@@ -26,9 +26,13 @@
 		this.conn_pool = conn_pool;
 		this.dinf = dinf;
 
-		dbutton = new Dynamicload_button(dinf.getDev_id());
-		dcontrol = new Dynamicload_control(dinf.getDev_id());
-		dstate = new Dynamicload_state(dinf.getDev_id(),dinf.getFZ_button_num());
+		dbutton = dinf.button;
+		dcontrol = dinf.control;
+		dstate = dinf.state;
+		
+		//dbutton = new Dynamicload_button(dinf.getDev_id());
+		//dcontrol = new Dynamicload_control(dinf.getDev_id(),dinf.getFZ_button_num());
+		//dstate = new Dynamicload_state(dinf.getDev_id(),dinf.getFZ_button_num());
 		master = new MyModbusMaster(dinf.getDev_ip(), MyModbusMaster.SLAVEID_DEFAULT);
 		//System.out.println("master: "+master);
 	}
@@ -40,6 +44,25 @@
 		Date last = new Date();
 		while (true) {
 			try {
+				/*PowerArk_Task_SQL.queryDynamicload_Control(conn_pool, dcontrol);
+				if(dcontrol.isControl_en()) {
+					//************************** 控制输出 *******************************//*
+					writeDynamicload_Control(master,dcontrol);
+					PowerArk_Task_SQL.update_Dynamicload_Control(conn_pool, dcontrol);
+				}*/
+				//控制页面
+				/*PowerArk_Task_SQL.queryDynamicload_Control(conn_pool, dcontrol);
+				{
+//					if(dcontrol.dev_id == 1001) {
+//						System.out.println(dcontrol.dev_id+"=="+dcontrol.control_en);
+//					}
+					if(dcontrol.control_en) {
+					
+						writeDynamicload_Control(master, dcontrol);
+						PowerArk_Task_SQL.update_Dynamicload_Control(conn_pool, dcontrol);
+					}
+				}*/
+				
 				if (runCount % 2 == 0) {
 					// *************************** 更新负载按钮信息******************************//*
 
@@ -59,8 +82,8 @@
 
 				//System.err.println(dinf.dev_id + "=====" + ((new Date()).getTime() - last.getTime()));
 				last = new Date();
-
 				PowerArk_Task_SQL.insertOrUpdateDeviceConnectState(conn_pool, dinf.dev_id, master);
+				dinf.conn_state = master.getConnectState();
 				if (runCount % 10 == 0) {
 					// 更新当前设备ip
 					master.setTarget_ip(dinf.dev_ip);
@@ -82,6 +105,145 @@
 		}
 
 	}
+	//控制输出
+	private void writeDynamicload_Control(MyModbusMaster master, Dynamicload_control dcontrol) {
+		if(dcontrol.FZ_b1>0) {
+			if(dcontrol.FZ_b1==1) {
+				MyModbusUtils.writeCoil(80, true, master);
+			}else {
+				MyModbusUtils.writeCoil(80, false, master);
+			}
+		}
+		if(dcontrol.FZ_b2>0) {
+			if(dcontrol.FZ_b2==1) {
+				MyModbusUtils.writeCoil(81, true, master);
+			}else {
+				MyModbusUtils.writeCoil(81, false, master);
+			}		
+		}
+		if(dcontrol.FZ_b3>0) {
+			if(dcontrol.FZ_b3==1) {
+				MyModbusUtils.writeCoil(82, true, master);
+			}else {
+				MyModbusUtils.writeCoil(82, false, master);
+			}
+		}
+		if(dcontrol.FZ_b4>0) {
+			if(dcontrol.FZ_b4==1) {
+				MyModbusUtils.writeCoil(83, true, master);
+			}else {
+				MyModbusUtils.writeCoil(83, false, master);
+			}
+		}
+		if(dcontrol.FZ_b5>0) {
+			if(dcontrol.FZ_b5==1) {
+				MyModbusUtils.writeCoil(84, true, master);
+			}else {
+				MyModbusUtils.writeCoil(84, false, master);
+			}
+		}
+		if(dcontrol.FZ_b6>0) {
+			if(dcontrol.FZ_b6==1) {
+				MyModbusUtils.writeCoil(85, true, master);
+			}else {
+				MyModbusUtils.writeCoil(85, false, master);
+			}
+		}
+		if(dcontrol.FZ_b7>0) {
+			if(dcontrol.FZ_b7==1) {
+				MyModbusUtils.writeCoil(86, true, master);
+			}else {
+				MyModbusUtils.writeCoil(86, false, master);
+			}
+		}
+		if(dcontrol.FZ_b8>0) {
+			if(dcontrol.FZ_b8==1) {
+				MyModbusUtils.writeCoil(87, true, master);
+			}else {
+				MyModbusUtils.writeCoil(87, false, master);
+			}
+		}
+		if(dcontrol.FZ_b9>0) {
+			if(dcontrol.FZ_b9==1) {
+				MyModbusUtils.writeCoil(88, true, master);
+			}else {
+				MyModbusUtils.writeCoil(88, false, master);
+			}
+		}
+		if(dcontrol.FZ_b10>0) {
+			if(dcontrol.FZ_b10==1) {
+				MyModbusUtils.writeCoil(89, true, master);
+			}else {
+				MyModbusUtils.writeCoil(89, false, master);
+			}
+		}
+		if(dcontrol.FZ_b11>0) {
+			if(dcontrol.FZ_b11==1) {
+				MyModbusUtils.writeCoil(90, true, master);
+			}else {
+				MyModbusUtils.writeCoil(90, false, master);
+			}
+		}
+		if(dcontrol.start_auto>0) {
+			//System.out.println("启动自动加减载");
+			MyModbusUtils.writeCoil(8, true, master);		
+		}
+		if(dcontrol.stop_auto>0) {
+			MyModbusUtils.writeCoil(9, true, master);		
+		}
+		if(dcontrol.sudden_crease>0) {
+			MyModbusUtils.writeCoil(10, true, master);		
+		}
+		if(dcontrol.all_open>0) {
+			MyModbusUtils.writeCoil(11, true, master);		
+		}
+		/*if(dcontrol.FZ_autostate1>0) {
+			MyModbusUtils.writeCoil(1, true, master);		
+		}
+		if(dcontrol.FZ_autostate2>0) {
+			MyModbusUtils.writeCoil(2, true, master);		
+		}
+		if(dcontrol.FZ_autostate3>0) {
+			MyModbusUtils.writeCoil(3, true, master);		
+		}
+		if(dcontrol.FZ_autostate4>0) {
+			MyModbusUtils.writeCoil(4, true, master);		
+		}
+		if(dcontrol.FZ_autostate5>0) {
+			MyModbusUtils.writeCoil(5, true, master);		
+		}*/
+		/*if(dcontrol.local_control>0) {
+			MyModbusUtils.writeCoil(40, true, master);		
+		}
+		if(dcontrol.back_control>0) {
+			MyModbusUtils.writeCoil(41, true, master);		
+		}
+		if(dcontrol.central_control>0) {
+			MyModbusUtils.writeCoil(42, true, master);		
+		}
+		if(dcontrol.inter_volume_M200>0) {
+			MyModbusUtils.writeCoil(160, true, master);		
+		}
+		if(dcontrol.fan_button>0) {
+			MyModbusUtils.writeCoil(12, true, master);		
+		}*/
+		if(dcontrol.set_power>0) {
+			if(dcontrol.button_num==11) {
+				MyModbusUtils.writeHoldingRegister(4, dcontrol.set_power, DataType.TWO_BYTE_INT_UNSIGNED, master);	
+			}else {
+				MyModbusUtils.writeHoldingRegister(8, dcontrol.set_power, DataType.TWO_BYTE_INT_UNSIGNED, master);	
+			}
+		}
+		if(dcontrol.interval_time>0) {
+			if(dcontrol.button_num==11) {
+				MyModbusUtils.writeHoldingRegister(6, dcontrol.interval_time, DataType.TWO_BYTE_INT_UNSIGNED, master);	
+			}else {
+				MyModbusUtils.writeHoldingRegister(16, dcontrol.interval_time, DataType.TWO_BYTE_INT_UNSIGNED, master);	
+			}
+		}
+		dcontrol.clear();
+	}
+
 	/**
 	 * 多点读取负载按钮状态
 	 * @param master
@@ -145,9 +307,9 @@
 	 */
 	public void readMutilElectrical_state(MyModbusMaster master, Dynamicload_state dstate) {
 		BatchRead<Integer> batch = dstate.createBatchRead(master,dstate.fz_button_num);	
-		//System.out.println("ip"+dinf.getDev_ip()+"  dstate: "+batch.toString());
+		//System.out.println("id"+dinf.getDev_id()+"  button_num"+dstate.fz_button_num);
 		BatchResults<Integer> res = MyModbusUtils.readMutilRegisters(batch, master);
-		dstate.putBatchResult(res);
+		dstate.putBatchResult(res,dstate.fz_button_num);
 	}
 	
 	/**

--
Gitblit v1.9.1