From fda5ea2228227bb12c9c1f367f69f2c293565471 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期五, 19 四月 2024 16:52:17 +0800
Subject: [PATCH] V6.106 edit by lijun	@  2024-04-19 	1.修复老版本程序只能识别第一个干接点告警,2-10编号干接点告警无法触发 	2.新增单体电压,单体内阻,单体温度,单体剩余容量告警,核容终止时剩余容量,核容终止时组端电压,核容终止时间等读取

---
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java |   72 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 11 deletions(-)

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 6e56ea0..89f9d28 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
@@ -1044,25 +1044,65 @@
 						return false;
 					}
 					DataSet ds_stat = tmp_ds_stat.copy();
+					boolean[] alm  = new boolean[] {false,false,false,false,false};
 					int size_cnt_stat = ds_stat.getMembers().size();
 					c = new String[size_cnt_stat];
 					String[] split = null;
 					split = new String[2];
 					m_Association.getDataSetValues(ds_stat);
-					String sb = null;
-					String temp = "%s";
-					//闄愬埗褰撳墠鍛婅涓暟
-					size_cnt_stat = 5;
+					int mon_alm_idx = 0;
+					
 					for (int n = 0; n < size_cnt_stat; n++) {
-						//System.err.println(ds_stat.getMembers().get(n).getName());
+						if(null == ds_stat.getMembers().get(n).getChild("stVal")) {
+							//System.err.println(ds.getMembers().get(n).getChild("mag").toString1());
+							continue;
+						}
 						FcModelNode fc_mode = (FcModelNode) ds_stat.getMembers().get(n).getChild("stVal");
-						split = fc_mode.toString().split(": ");
-						c[n] = split[1];
-						if(n>0) {
-							temp += ",%s";
+						if(fc_mode instanceof BdaBoolean) {
+							//JTextField tf_t = (JTextField) data.getValueField();
+							//System.out.println("n:"+n+" "+fc_mode.toString1());
+							String fc_mode_str = fc_mode.toString1();
+							if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
+								//閫氫俊钃勭數姹犺繙绋嬫牳瀹硅缃父闂帴瑙﹀櫒K1鍛婅
+								alm[0] = ((BdaBoolean)fc_mode).getValue();
+							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
+								//閫氫俊钃勭數姹犺繙绋嬫牳瀹硅缃�氳鍛婅
+								alm[1] = ((BdaBoolean)fc_mode).getValue();
+							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
+								//閫氫俊钃勭數姹犺繙绋嬫牳瀹硅缃繃娓╁憡璀�
+								alm[2] = ((BdaBoolean)fc_mode).getValue();
+							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
+								//閫氫俊钃勭數姹犺繙绋嬫牳瀹硅缃簩鏋佺D1鍛婅
+								alm[3] = ((BdaBoolean)fc_mode).getValue();
+							}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO") && fc_mode_str.contains(".Alm5")){
+								//骞叉帴鐐硅緭鍏ユ晠闅�-10涓共鎺ョ偣鐐逛綅鏈変竴涓憡璀﹀嵆瑙﹀彂骞叉帴鐐瑰憡璀�
+								alm[4] = (alm[4] || ((BdaBoolean)fc_mode).getValue());
+							}else if(fc_mode_str.contains(FBSDeviceName + "/btgGGIO1.Alm1")) {
+								//鐢垫睜缁勭鐢靛帇鍛婅
+								m_FBS_VCData.groupvolalm[0] = ((BdaBoolean)fc_mode).getValue();
+							}else if(fc_mode_str.contains(FBSDeviceName + "/celGGIO1.Alm")) {
+								//鐢垫睜缁勫崟浣撳憡璀�
+								if(0 <= mon_alm_idx && mon_alm_idx < 24) {
+									//鍗曚綋鐢靛帇鍛婅
+									m_FBS_VCData.monvol_alm[mon_alm_idx] = ((BdaBoolean)fc_mode).getValue();
+								}else if(24 <= mon_alm_idx && mon_alm_idx < 48) {
+									//鍗曚綋鍐呴樆鍛婅
+									m_FBS_VCData.monres_alm[mon_alm_idx-24] = ((BdaBoolean)fc_mode).getValue();
+								}else if(48 <= mon_alm_idx && mon_alm_idx < 72) {
+									//鍗曚綋娓╁害鍛婅
+									m_FBS_VCData.montmp_alm[mon_alm_idx-48] = ((BdaBoolean)fc_mode).getValue();
+								}else if(72 <= mon_alm_idx && mon_alm_idx < 96) {
+									//鍗曚綋鍓╀綑瀹归噺鍛婅
+									m_FBS_VCData.moncap_alm[mon_alm_idx-72] = ((BdaBoolean)fc_mode).getValue();
+								}
+								mon_alm_idx ++;
+							}							
 						}
 					}
-					sb = String.format(temp, (Object[])c);
+					
+					getFBS9100MonAlmData(m_FBS_VCData);
+				
+					String sb = String.format("%b,%b,%b,%b,%b",alm[0],alm[1],alm[2],alm[3],alm[4]);
 					m_FBS_VCData.m_SysState.last_dev_61850alam = m_FBS_VCData.m_SysState.dev_61850alam; // 璁板綍涓婁竴娆″憡璀︾姸鎬�
 					m_FBS_VCData.m_SysState.dev_61850alam = sb;
 	
@@ -1087,7 +1127,7 @@
 					//System.out.println(FBSDeviceName + "/LLN0.dsDevState 鑺傜偣鏁�:"+size_cnt);
 					m_Association.getDataSetValues(ds);
 					// 灞忚斀褰撳墠鏍硅妭鐐逛笅鏂版坊鍔犵殑ukey鍐呭
-					for (int n = 0; n < size_cnt && n < 120; n++) {
+					for (int n = 0; n < size_cnt ; n++) {
 						if(null == ds.getMembers().get(n).getChild("mag") || null == ds.getMembers().get(n).getChild("mag").getChild("f")) {
 							//System.err.println(ds.getMembers().get(n).getChild("mag").toString1());
 							continue;
@@ -1163,6 +1203,16 @@
 						}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);
+						}else if(fc_mode_str.contains(ZJDYCPSS + "/cheGGIO1.LoBatAh.mag.f")) {
+							//鏍稿缁堟鏃跺墿浣欏閲�
+							m_FBS_VCData.test_end_cap[0] = ((BdaFloat32) fc_mode).getFloat();
+						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn4.mag.f")) {
+							//鏍稿缁堟鏃剁粍绔數鍘�
+							m_FBS_VCData.test_end_vol[0] = ((BdaFloat32) fc_mode).getFloat();
+						}else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn3.mag.f")) {
+							//鏍稿缁堟鏃堕棿
+							m_FBS_VCData.test_timelong[0] = ((BdaFloat32) fc_mode).getFloat()*60*60;
+							//System.out.println("test_timelong:" + ((BdaFloat32) fc_mode).getFloat());
 						}
 					
 					}

--
Gitblit v1.9.1