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