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());
                  }
               
               }