From 2d49a221f38c65d11a6b1fdd7b51b7a7cb0d0279 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期日, 22 六月 2025 17:44:19 +0800
Subject: [PATCH] V2.106 edit by lijun   @  2025-06-18 	1.修复通信超时连接触发延迟较高bug. 	2.通信程序兼容泰科ICD文件

---
 iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java   |    7 +
 iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt              |    5 +
 iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class  |    0 
 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class |    0 
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java  |  258 +++++++++++++++++++++++++++++++++++++--------------
 iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt              |    5 +
 6 files changed, 202 insertions(+), 73 deletions(-)

diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
index 0de2abe..33752ad 100644
--- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
+++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt b/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
index b2638fa..07aeb3a 100644
--- a/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
+++ b/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
@@ -5,6 +5,11 @@
 	 
 	娉ㄦ剰褰撳墠鐗堟湰鍦ㄨ缃崡鐟炵殑61850鍗忚浆绛惧悕鏃剁敤鐨� 	BTSE2/
 	
+V2.106 edit by lijun   @  2025-06-18
+	1.淇閫氫俊瓒呮椂杩炴帴瑙﹀彂寤惰繜杈冮珮bug.
+	2.閫氫俊绋嬪簭鍏煎娉扮ICD鏂囦欢
+		
+	
 V2.105 edit by lijun   @  2024-10-21
 	1.閲囩敤棰勫姞杞芥ā鍨嬫枃浠舵柟寮忓吋瀹瑰唴瀛樺崰鐢ㄨ繃蹇棶棰�	
 	
diff --git a/iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class b/iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class
index 96ac71c..00f3af6 100644
--- a/iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class
+++ b/iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
index 87c6b5b..60d1d89 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -18,6 +18,7 @@
 import org.openmuc.openiec61850.BdaBitString;
 import org.openmuc.openiec61850.BdaBoolean;
 import org.openmuc.openiec61850.BdaFloat32;
+import org.openmuc.openiec61850.BdaInt32;
 import org.openmuc.openiec61850.BdaInt64;
 import org.openmuc.openiec61850.BdaVisibleString;
 import org.openmuc.openiec61850.ClientAssociation;
@@ -84,6 +85,8 @@
 	private ClientSap m_ClientSap;
 	private ClientAssociation m_Association;
 	private ServerModel m_ServerModel;
+	
+	private boolean isTaiKe = false;		//娉扮璁惧
 	
 	private Logger logger = null;
 
@@ -861,6 +864,17 @@
 					}else {
 						//鍏辨祹鍗忚浆
 						ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");
+						if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
+							//娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo");
+							m_FBS_VCData.m_SysState.AlarmState = (int)readFloatNodeData("TEMPLATEBTSE/btgGGIO1.AnIn28.mag.f",Fc.MX);	
+							if(ds_tmp != null) {
+								isTaiKe = true;
+							}
+						}else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
+							//娉扮鏍稿璁惧绗涓�缁�
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure");
+						}
 					}
 					//System.out.println(ds_tmp);
 					if(null == ds_tmp) {
@@ -884,129 +898,157 @@
 						if(null != fc_mode){							
 							String fc_model_str = fc_mode.toString1();
 							//System.out.println("n:" + n + "\t" + fc_model_str);
-							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘�
+							if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘�
+//							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘�
 								m_FBS_VCData.groupvol[0] = ((BdaFloat32) fc_mode).getFloat();
 								//m_FBS_VCData.groupvol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f", Fc.MX);		//缁勭鐢靛帇
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//绗竴缁勭粍绔數娴�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn2.mag.f")) {//绗竴缁勭粍绔數娴�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//绗竴缁勭粍绔數娴�
 								m_FBS_VCData.battcurr[0] = ((BdaFloat32) fc_mode).getFloat();
 								//m_FBS_VCData.battcurr[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f", Fc.MX);		//缁勭鐢垫祦
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘�
 								m_FBS_VCData.onlinevol[0] = ((BdaFloat32) fc_mode).getFloat();
 								//m_FBS_VCData.onlinevol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f", Fc.MX);		//鍦ㄧ嚎鐢靛帇
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘�
 								fod_state.VGroupVol_one = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VGroupVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f", Fc.MX);		//闄ょ~妯″潡1缁勭鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
 								fod_state.VpeakVol_one = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VpeakVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f", Fc.MX);			//闄ょ~妯″潡1宄扮鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘�
 								fod_state.VGroupVol_two = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VGroupVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f", Fc.MX);		//闄ょ~妯″潡2缁勭鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
 								fod_state.VpeakVol_two = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VpeakVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f", Fc.MX);			//闄ょ~妯″潡2宄扮鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘�
 								fod_state.VGroupVol_three = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VGroupVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f", Fc.MX);		//闄ょ~妯″潡3缁勭鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
 								fod_state.VpeakVol_three = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VpeakVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f", Fc.MX);		//闄ょ~妯″潡3宄扮鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘�
 								fod_state.VGroupVol_four = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VGroupVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f", Fc.MX);		//闄ょ~妯″潡4缁勭鐢靛帇鍊�
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘�
 								fod_state.VpeakVol_four = ((BdaFloat32) fc_mode).getFloat();
 								//fod_state.VpeakVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f", Fc.MX);		//闄ょ~妯″潡4宄扮鐢靛帇鍊�
 							}
 							
 							/**************************** 璇诲彇鍧囪 渚涚數妯″潡淇℃伅 ****************************************/
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙�
 								fbs9100_jhpowerState.setDev_version(String.valueOf(((BdaFloat32) fc_mode).getFloat()));
 								//fbs9100_jhpowerState.setDev_version(String.valueOf(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f", Fc.MX)));	//鍧囪 渚涚數鐗堟湰鍙�
 							}
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘�
 								fbs9100_jhpowerState.setInput_vol_total(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setInput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f", Fc.MX));
 							}
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴�
 								fbs9100_jhpowerState.setInput_curr_total(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setInput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f", Fc.MX));				//鎬昏緭鍏ョ數娴�
 								
 							}
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘�
 								fbs9100_jhpowerState.setOutput_vol_total(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�
 							}
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴�
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴�
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴�
 								fbs9100_jhpowerState.setOutput_curr_total(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f", Fc.MX));				//鎬昏緭鍑虹數娴�
 							}
 							
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1
 								fbs9100_jhpowerState.setOutput_vol_one(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_one(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f", Fc.MX));					//鎬昏緭鍑虹數鍘�1
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2
 								fbs9100_jhpowerState.setOutput_vol_two(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_two(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f", Fc.MX));					//鎬昏緭鍑虹數鍘�2
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3
 								fbs9100_jhpowerState.setOutput_vol_three(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_three(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�3
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4
 								fbs9100_jhpowerState.setOutput_vol_four(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_four(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�4
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5
 								fbs9100_jhpowerState.setOutput_vol_five(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_five(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�5
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6
 								fbs9100_jhpowerState.setOutput_vol_six(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_six(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f", Fc.MX));					//鎬昏緭鍑虹數鍘�6
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7
 								fbs9100_jhpowerState.setOutput_vol_seven(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_seven(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�7
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8
 								fbs9100_jhpowerState.setOutput_vol_eight(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_eight(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�8
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9
 								fbs9100_jhpowerState.setOutput_vol_nine(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_nine(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f", Fc.MX));				//鎬昏緭鍑虹數鍘�9
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10
 								fbs9100_jhpowerState.setOutput_vol_ten(((BdaFloat32) fc_mode).getFloat());
 								//fbs9100_jhpowerState.setOutput_vol_ten(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f", Fc.MX));					//鎬昏緭鍑虹數鍘�10
 							}
-							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害
+							else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害
+//							else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害
 								fbs9100_jhpowerState.setDev_temp(((BdaFloat32) fc_mode).getFloat() - 10);
 								//fbs9100_jhpowerState.setDev_temp(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f", Fc.MX));						//鍧囪 妯″潡娓╁害
-							}
-							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.f")) {
+							}else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn28.mag.f")) {
+//							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.f")) {
 								//鍗楃憺褰撳墠鐐逛綅鍊间负float鏍煎紡
 								m_FBS_VCData.m_SysState.AlarmState = Math.round(((BdaFloat32)fc_mode).getFloat());
 								//m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX);	
 							}
-							else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) {
+							else if(fc_model_str.contains("/celGGIO") && fc_model_str.contains("AnIn")) {
+//							else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) {
 								if(isStartReadMonData) {
 									m = n;
 									isStartReadMonData = false;
@@ -1062,7 +1104,8 @@
 							String fc_model_str = fc_mode_i.toString1();
 							//System.out.println("n:" + n + "\t" + fc_model_str);
 							// 鏂版坊鍔犵敤浜庢彁绀哄憡璀�(涓嶅惎鍔ㄦ牳瀹瑰師鍥�)
-							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) {
+							if (fc_model_str.contains("/btgGGIO1.AnIn28.mag.i")) {
+//							if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) {
 								m_FBS_VCData.m_SysState.AlarmState = (int) ((BdaInt64) fc_mode_i).getValue();
 								//m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX);	
 							}
@@ -1085,10 +1128,19 @@
 					
 					if(FBSDeviceName.contains("ZJDY")) {
 						//绱櫠鍗忚浆
-						ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm").copy();						
+						ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm");						
 					}else {
 						//鍏辨祹鍗忚浆
-						ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYx").copy();
+						ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYx");
+						
+						if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
+							//娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarmTwo");
+						}else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
+							//娉扮鏍稿璁惧绗涓�缁�
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarm");
+							//System.err.println("TEMPLATEBTSE/LLN0.dsDevAlarm:" + ds_tmp);
+						}
 					}
 					if(null == ds_tmp) {
 						return false;
@@ -1101,32 +1153,56 @@
 					m_Association.getDataSetValues(ds_stat);
 					// 灞忚斀褰撳墠鏍硅妭鐐逛笅鏂版坊鍔犵殑ukey鍐呭
 					for (int n = 0; n < size_cnt; n++) {
+						//System.out.println(ds_stat.getMembers().get(n).getChild("stVal"));
 						if(null == ds_stat.getMembers().get(n).getChild("stVal")) {
-							//System.err.println(ds.getMembers().get(n).getChild("mag").toString1());
+							//System.err.println(ds_stat.getMembers().get(n).getChild("mag").toString1());
 							continue;
 						}
 						FcModelNode fc_mode = (FcModelNode) ds_stat.getMembers().get(n).getChild("stVal");
 						if(fc_mode instanceof BdaBoolean) {
 							//JTextField tf_t = (JTextField) data.getValueField();
-							//System.out.println("n:"+n+" "+fc_mode.toString1());
+							System.out.println("n:"+n+" "+fc_mode.toString1() + "==" + ((BdaBoolean)fc_mode).getValue());
 							String fc_mode_str = fc_mode.toString1();
-							if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
+							if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm1")){
+//							if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
 								alm[0] = ((BdaBoolean)fc_mode).getValue();
-							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
+							}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm2")){
+//							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
 								alm[1] = ((BdaBoolean)fc_mode).getValue();
-							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
+							}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm3")){
+//							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
 								alm[2] = ((BdaBoolean)fc_mode).getValue();
-							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
+							}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm4")){
+//							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
 								alm[3] = ((BdaBoolean)fc_mode).getValue();
-							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
+							}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm5")){
+//							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
 								alm[4] = ((BdaBoolean)fc_mode).getValue();
 							}							
-						}else{
-							
+						}else if(fc_mode instanceof BdaInt32){
+							String fc_mode_str = fc_mode.toString1();
+							if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm1")){
+//								if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
+									alm[0] = ((BdaInt32)fc_mode).getValue()==1;
+								}else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm2")){
+//								}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
+									alm[1] = ((BdaInt32)fc_mode).getValue()==1;
+								}else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm3")){
+//								}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
+									alm[2] = ((BdaInt32)fc_mode).getValue()==1;
+								}else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm4")){
+//								}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
+									alm[3] = ((BdaInt32)fc_mode).getValue()==1;
+								}else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm5")){
+//								}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
+									alm[4] = ((BdaInt32)fc_mode).getValue()==1;
+									//System.out.println("alm[4]:"+alm[4]);
+								}
 						}
 					}				
 					
 					String sb = String.format("%b,%b,%b,%b,%b",alm[0],alm[1],alm[2],alm[3],alm[4]);
+					//System.err.println("last_dev_61850alam:" + sb);
 					m_FBS_VCData.m_SysState.last_dev_61850alam = m_FBS_VCData.m_SysState.dev_61850alam; // 璁板綍涓婁竴娆″憡璀︾姸鎬�
 					m_FBS_VCData.m_SysState.dev_61850alam = sb;
 	
@@ -1153,6 +1229,13 @@
 							//鍏煎鑰佺増鏈崗杞暟鎹�
 							ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");						
 						}
+						if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
+							//娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo");
+						}else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
+							//娉扮鏍稿璁惧绗涓�缁�
+							ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure");
+						}
 					}
 					if(null == ds_tmp) {
 						return false;
@@ -1172,7 +1255,8 @@
 						//JTextField tf_t = (JTextField) data.getValueField();
 						//System.out.println("n:"+n+" "+fc_mode.toString1()+"==="+((BdaFloat32) fc_mode).getFloat().intValue());
 						String fc_mode_str = fc_mode.toString1();
-						if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){
+						if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("StaNum.mag.f")){
+//						if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){
 							int st = ((BdaFloat32) fc_mode).getFloat().intValue();
 							//int st = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f", Fc.MX);
 							if (m_FBS_VCData.m_SysState.WorkState != st) {
@@ -1188,54 +1272,71 @@
 									FBS9100_TestTime.restarttime();
 								}
 							}
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn1.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){
 							m_FBS_VCData.m_SysState.CapTestStopType = ((BdaFloat32) fc_mode).getFloat().intValue();
 							//m_FBS_VCData.m_SysState.CapTestStopType = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f", Fc.MX);
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn2.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){
 							m_FBS_VCData.battcap[0] = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.battcap[0] = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f", Fc.MX);
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
 							m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX);
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn55.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){
 							m_FBS_VCData.m_SysState.conresist = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.conresist = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f", Fc.MX);;
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn56.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){
 							m_FBS_VCData.m_SysState.concurr = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.concurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f", Fc.MX);;
-						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn57.mag.f")){
+//						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){
 							m_FBS_VCData.m_SysState.condvoldp = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.condvoldp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f", Fc.MX);;
-						}else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){
+//						}else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
 							m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn58.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) {
 							m_FBS_VCData.m_SysState.condcurr = ((BdaFloat32) fc_mode).getFloat();
 							//m_FBS_VCData.m_SysState.condcurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f", Fc.MX);;
-						}else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) {
+						}else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn60.mag.f")) {
+//						}else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) {
 							//m_FBS_VCData.m_SysState.resttest_count = readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn103.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) {
 							fod_state.WorkState_one = (int)((float)((BdaFloat32)fc_mode).getFloat());
 							//fod_state.WorkState_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn104.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) {
 							fod_state.RestTime_one = ((BdaFloat32) fc_mode).getFloat();
 							//fod_state.RestTime_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn105.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) {
 							fod_state.WorkState_two = (int)((float)((BdaFloat32)fc_mode).getFloat());
 							//fod_state.WorkState_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn106.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) {
 							fod_state.RestTime_two = ((BdaFloat32) fc_mode).getFloat();
 							//fod_state.RestTime_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn107.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) {
 							fod_state.WorkState_three = (int)((float)((BdaFloat32)fc_mode).getFloat());
 							//fod_state.WorkState_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn108.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) {
 							fod_state.RestTime_three = ((BdaFloat32) fc_mode).getFloat();
 							//fod_state.RestTime_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn109.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) {
 							fod_state.WorkState_four = (int)((float)((BdaFloat32)fc_mode).getFloat());
 							//fod_state.WorkState_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f", Fc.MX);
-						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) {
+						}else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn110.mag.f")) {
+//						}else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) {
 							fod_state.RestTime_four = ((BdaFloat32) fc_mode).getFloat();
 							//fod_state.RestTime_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f", Fc.MX);
 						}
@@ -1250,18 +1351,6 @@
 				
 			} else if (FBS9100_ComBase.CMD_SetDischargeParm == cmd) {
 				boolean write_res_t = true;
-				/******************************************************************************
-				if(true == write_res_t) {
-					try {
-						write_res_t = BTS_IEC61850_Write_SetMag_Node(FBSDeviceName+"/ncdGGIO1.Para1.setMag.f", 
-																		m_StatAndParam.m_FBS_DiscParam);
-					} catch (ServiceError e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-					}
-				}
-				sleep(1500);
- 				**************************************************************************/
 				if (true == write_res_t) {
 					if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para1.setMag.f")) return false;
 					writeNodeData(FBSDeviceName + "/ncdGGIO1.Para1.setMag.f", "SP",(float) m_StatAndParam.m_FBS_DiscParam.DisCurr);
@@ -1300,6 +1389,31 @@
 				}else {
 					//鍏辨祹鍗忚浆
 					ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");
+					
+					
+					if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {						
+						ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarmTwo");
+						if(null != ds_tmp) {
+							isTaiKe = true;
+							
+							//娉扮鏍稿璁惧绗涓�缁刐璇诲彇鍙傛暟]
+							m_FBS_DiscParamFromDev.DisCurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60);
+							m_FBS_DiscParamFromDev.DisCap = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiTestBatAh.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.MonomerTmp_High = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiCelTemp.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.MonomerVol_LOW= readFloatNodeData(FBSDeviceName + "/ncdGGIO1.LoCelVol.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.DCVolHighLimit = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.DCVolLimit.mag.f", Fc.MX);
+							m_FBS_DiscParamFromDev.ChargeCurrSet = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.ChargeCurr.mag.f", Fc.MX);
+							
+							ds_tmp = null;
+							//---------------------------------Log Level.DEBUG-------------------------------------//
+							logger.printf(Level.DEBUG, "DevIp:%s operate FBS9100_ComBase.CMD_GetDischargeParm, \n param:%s", 
+														FBSDeviceIp, m_FBS_DiscParamFromDev);
+							return true;
+						}
+						
+					}
 				}
 				
 				if(null == ds_tmp) {
diff --git a/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt b/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
index b2638fa..07aeb3a 100644
--- a/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
+++ b/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
@@ -5,6 +5,11 @@
 	 
 	娉ㄦ剰褰撳墠鐗堟湰鍦ㄨ缃崡鐟炵殑61850鍗忚浆绛惧悕鏃剁敤鐨� 	BTSE2/
 	
+V2.106 edit by lijun   @  2025-06-18
+	1.淇閫氫俊瓒呮椂杩炴帴瑙﹀彂寤惰繜杈冮珮bug.
+	2.閫氫俊绋嬪簭鍏煎娉扮ICD鏂囦欢
+		
+	
 V2.105 edit by lijun   @  2024-10-21
 	1.閲囩敤棰勫姞杞芥ā鍨嬫枃浠舵柟寮忓吋瀹瑰唴瀛樺崰鐢ㄨ繃蹇棶棰�	
 	
diff --git a/iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java b/iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java
index b8d8aec..ee5f23a 100644
--- a/iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java
+++ b/iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java
@@ -591,7 +591,12 @@
         int li = 0;
         int tPduCode;
 
-        socket.setSoTimeout(messageTimeout);
+//      socket.setSoTimeout(messageTimeout);
+        
+      //System.err.println("瓒呮椂鏃堕棿锛�"+messageTimeout);
+      //淇Linux鐜涓嬩笉瓒呮椂锛岄�氫俊鏁呴殰寤惰繜涓ラ噸闂
+      //socket.setSoTimeout(messageTimeout);
+      socket.setSoTimeout(30000);
         byte version;
         try {
             version = is.readByte();

--
Gitblit v1.9.1