From 329034f27d340090c50529607b98c8eb9400a3ca Mon Sep 17 00:00:00 2001
From: whyclj <1525436766@qq.com>
Date: 星期二, 21 七月 2020 11:45:33 +0800
Subject: [PATCH] 修改解析数据

---
 src/com/dev/base/data/Dynamicload_inf.java |  112 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 65 insertions(+), 47 deletions(-)

diff --git a/src/com/dev/base/data/Dynamicload_inf.java b/src/com/dev/base/data/Dynamicload_inf.java
index dfd5243..3fa2af6 100644
--- a/src/com/dev/base/data/Dynamicload_inf.java
+++ b/src/com/dev/base/data/Dynamicload_inf.java
@@ -17,32 +17,34 @@
 	public Dynamicload_control control;
 	public Dynamicload_state state;
 	
-	//解析反馈数据信息
+	//解析反馈数据信息[4013-4030]
 	public boolean putReadIBackByteBuffer(ByteBuffer bf) {
 		ByteBuffer tmpbf = bf;
-		int datacount = ComBase.changeShortToInt(bf.getShort());
-		if(datacount < 2) {
+		int datacount = ComBase.changeByteToInt(bf.get());
+		if(datacount < 3) {
 			return false;
 		}
-		
-		state.react_overtem = ComBase.changeShortToInt(bf.getShort());			//电抗超温4013
-		state.water_overtem = ComBase.changeShortToInt(bf.getShort());			//冷却水超温4014
-		state.water_level_low = ComBase.changeShortToInt(bf.getShort());		//冷却水液位低4015
-		state.water_pressure_high = ComBase.changeShortToInt(bf.getShort());	//冷却水压高4016
-		int backup1 = ComBase.changeShortToInt(bf.getShort());					//备用4017
-		int backup2 = ComBase.changeShortToInt(bf.getShort());					//备用4018
-		int backup3 = ComBase.changeShortToInt(bf.getShort());					//备用4019
-		button.FZ_fw1 = ComBase.changeShortToInt(bf.getShort());				//按钮1反馈4020
-		button.FZ_fw2 = ComBase.changeShortToInt(bf.getShort());				//按钮2反馈4021
-		button.FZ_fw3 = ComBase.changeShortToInt(bf.getShort());				//按钮3反馈4022
-		button.FZ_fw4 = ComBase.changeShortToInt(bf.getShort());				//按钮4反馈4023
-		button.FZ_fw5 = ComBase.changeShortToInt(bf.getShort());				//按钮5反馈4024
-		button.FZ_fw6 = ComBase.changeShortToInt(bf.getShort());				//按钮6反馈4025
-		button.FZ_fw7 = ComBase.changeShortToInt(bf.getShort());				//按钮7反馈4026
-		button.FZ_fw8 = ComBase.changeShortToInt(bf.getShort());				//按钮8反馈4027
-		button.FZ_fw9 = ComBase.changeShortToInt(bf.getShort());				//按钮9反馈4028
-		button.FZ_fw10 = ComBase.changeShortToInt(bf.getShort());				//按钮10反馈4029
-		button.FZ_fw11 = ComBase.changeShortToInt(bf.getShort());				//按钮11反馈4030
+		int code = ComBase.changeByteToInt(bf.get());
+		state.react_overtem = (code & ComBase.my_power_2(0));			//电抗超温4013
+		state.water_overtem = (code & ComBase.my_power_2(1));			//冷却水超温4014
+		state.water_level_low = (code & ComBase.my_power_2(2));			//冷却水液位低4015
+		state.water_pressure_high = (code & ComBase.my_power_2(3));		//冷却水压高4016
+		int backup1 = (code & ComBase.my_power_2(4));					//备用4017
+		int backup2 = (code & ComBase.my_power_2(5));					//备用4018
+		int backup3 = (code & ComBase.my_power_2(6));					//备用4019
+		button.FZ_fw1 = (code & ComBase.my_power_2(7));					//按钮1反馈4020
+		code = ComBase.changeByteToInt(bf.get());
+		button.FZ_fw2 = (code & ComBase.my_power_2(0));					//按钮2反馈4021
+		button.FZ_fw3 = (code & ComBase.my_power_2(1));					//按钮3反馈4022
+		button.FZ_fw4 = (code & ComBase.my_power_2(2));					//按钮4反馈4023
+		button.FZ_fw5 = (code & ComBase.my_power_2(3));					//按钮5反馈4024
+		button.FZ_fw6 = (code & ComBase.my_power_2(4));					//按钮6反馈4025
+		button.FZ_fw7 = (code & ComBase.my_power_2(5));					//按钮7反馈4026
+		button.FZ_fw8 = (code & ComBase.my_power_2(6));					//按钮8反馈4027
+		button.FZ_fw9 = (code & ComBase.my_power_2(7));					//按钮9反馈4028
+		code = ComBase.changeByteToInt(bf.get());
+		button.FZ_fw10 = (code & ComBase.my_power_2(0));				//按钮10反馈4029
+		button.FZ_fw11 = (code & ComBase.my_power_2(1));				//按钮11反馈4030
 		return true;		
 	}
 	
@@ -103,36 +105,52 @@
 	//读取M区控制控制节点的状态[0040-0160]
 	public boolean putReadMControlStateByteBuffer(ByteBuffer bf) {
 		ByteBuffer tmpbf = bf;
-		int datacount = ComBase.changeShortToInt(bf.getShort());
-		if(datacount < 242) {
+		int datacount = ComBase.changeByteToInt(bf.get());			//字节个数
+		if(datacount < 16) {		//121寄存器
 			return false;
 		}
-		state.local_control = ComBase.changeShortToInt(bf.getShort());			//就地控制	0040
-		state.back_control = ComBase.changeShortToInt(bf.getShort());			//后台控制	0041
-		state.central_control = ComBase.changeShortToInt(bf.getShort());		//中控控制	0042
-																							
-		for(int i = 0;i<37;i++) {
-			int backup = ComBase.changeShortToInt(bf.getShort());
-		}
-		button.FZ_b1 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮1	0080
-		button.FZ_b2 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮2	0081
-		button.FZ_b3 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮3	0082
-		button.FZ_b4 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮4	0083
-		button.FZ_b5 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮5	0084
-		button.FZ_b6 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮6	0085
-		button.FZ_b7 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮7	0086
-		button.FZ_b8 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮8	0087
-		button.FZ_b9 = ComBase.changeShortToInt(bf.getShort());					//FZ按钮9	0088
-		button.FZ_b10 = ComBase.changeShortToInt(bf.getShort());				//FZ按钮10	0089
-		button.FZ_b11 = ComBase.changeShortToInt(bf.getShort());				//FZ按钮11	0090
-																			
-		for(int i = 0;i<69;i++) {
-			int backup = ComBase.changeShortToInt(bf.getShort());
-		}																					
-		state.inter_volume_M200 = ComBase.changeShortToInt(bf.getShort());		//中间量M200	0160
+		int code = ComBase.changeShortToInt(bf.get());					
+		state.local_control = (code & ComBase.my_power_2(0))>0?1:0;		//40
+		state.back_control = (code & ComBase.my_power_2(1))>0?1:0;		//41
+		state.central_control = (code & ComBase.my_power_2(2))>0?1:0;	//42
+		
+		
+		code = ComBase.changeShortToInt(bf.get());						//8		48
+		
+		code = ComBase.changeShortToInt(bf.get());						//		56
+		
+		code = ComBase.changeShortToInt(bf.get());						//		64
+		
+		code = ComBase.changeShortToInt(bf.get());						//		72
+		
+		code = ComBase.changeShortToInt(bf.get());						//		80
+		button.FZ_b1 = (code & ComBase.my_power_2(0))>0?1:0;			//80			//FZ按钮1	0080
+		button.FZ_b2 = (code & ComBase.my_power_2(1))>0?1:0;			//81		//FZ按钮2	0081
+		button.FZ_b3 = (code & ComBase.my_power_2(2))>0?1:0;			//FZ按钮3	0082
+		button.FZ_b4 = (code & ComBase.my_power_2(3))>0?1:0;			//FZ按钮4	0083
+		button.FZ_b5 = (code & ComBase.my_power_2(4))>0?1:0;			//FZ按钮5	0084
+		button.FZ_b6 = (code & ComBase.my_power_2(5))>0?1:0;			//FZ按钮6	0085
+		button.FZ_b7 = (code & ComBase.my_power_2(6))>0?1:0;			//FZ按钮7	0086
+		button.FZ_b8 = (code & ComBase.my_power_2(7))>0?1:0;			//FZ按钮8	0087
+		code = ComBase.changeShortToInt(bf.get());						//		88
+		button.FZ_b9 = (code & ComBase.my_power_2(0))>0?1:0;			//FZ按钮9	0088
+		button.FZ_b10 = (code & ComBase.my_power_2(1))>0?1:0;			//FZ按钮10	0089
+		button.FZ_b11 = (code & ComBase.my_power_2(2))>0?1:0;			//FZ按钮11	0090
+		code = ComBase.changeShortToInt(bf.get());						//		96
+		code = ComBase.changeShortToInt(bf.get());						//		104
+		code = ComBase.changeShortToInt(bf.get());						//		112
+		code = ComBase.changeShortToInt(bf.get());						//		120
+		code = ComBase.changeShortToInt(bf.get());						//		128
+		code = ComBase.changeShortToInt(bf.get());						//		136
+		code = ComBase.changeShortToInt(bf.get());						//		144
+		code = ComBase.changeShortToInt(bf.get());						//		152
+		
+		code = ComBase.changeShortToInt(bf.get());		
+		state.inter_volume_M200 = (code & ComBase.my_power_2(0));		//中间量M200	0160
 		return false;
 	}
 	
+	
 	//读取V区控制控制节点的状态[0002-0018]
 	public boolean putReadVBackByteBuffer(ByteBuffer bf) {
 		ByteBuffer tmpbf = bf;

--
Gitblit v1.9.1