| | |
| | | else if ((n >= (m + 24 * 2)) && (n < (m + 24 * 3))) {
|
| | | m_FBS_VCData.tmp[n - (m + 24 * 2)] = ((BdaFloat32) fc_mode).getFloat();
|
| | | }
|
| | | //跳过剩余剩余容量
|
| | | |
| | | else if ((n >= (m + 24 * 3)) && (n < (m + 24 * 4))) {
|
| | | m_FBS_VCData.mon_rest_cap[n - (m + 24 * 3)] = ((BdaFloat32) fc_mode).getFloat();
|
| | | |
| | | }
|
| | | |
| | | else if ((n >= (m + 24 * 4)) && (n < (m + 24 * 5))) {
|
| | | m_FBS_VCData.mon_JH[n - (m + 24 * 4)] = ((BdaFloat32) fc_mode).getFloat();
|
| | | }
|
| | |
| | | //---------------------------------Log Level.TRACE-------------------------------------//
|
| | | logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDevAlarm)", FBSDeviceName);
|
| | | //-------------------------------------------------------------------------------------//
|
| | | String c[] = null;
|
| | | DataSet tmp_ds_stat = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm");
|
| | | if(null == tmp_ds_stat) {
|
| | | 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_stat.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();
|
| | | String fc_mode_str = fc_mode.toString1();
|
| | | System.out.println("n:"+n+" "+fc_mode_str+"=="+((BdaBoolean)fc_mode).getValue());
|
| | | 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;
|
| | |
|
| | |
| | | //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;
|
| | |
| | | }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());
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | m_RTData[n].al_MonVol.get(index).monRes = (float) vc_data.res[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).monTmp = (float) vc_data.tmp[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).mon_JH_curr = (float) vc_data.mon_JH[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).mon_rest_cap = (float) vc_data.mon_rest_cap[mon_index];
|
| | |
|
| | | mon_index++;
|
| | | }
|
| | |
| | |
|
| | | System.out.println(createSignature(btsid, keyid));
|
| | | }
|
| | | /**
|
| | | * 更新电池组数据
|
| | | * |
| | | * @param vc_data
|
| | | */
|
| | | private void getFBS9100MonAlmData(FBS9100_VCData vc_data) {
|
| | | {
|
| | | int mon_index = 0;
|
| | | for (int n = 0; n < FBS9100_ComBase.BattGroupCountMax; n++) {
|
| | | if (null != m_RTData[n]) {
|
| | | for (int index = 0; index < m_RTData[n].MonCount; index++) {
|
| | | if (mon_index >= FBS9100_ComBase.MonomerCountMax) {
|
| | | break;
|
| | | }
|
| | |
|
| | | m_RTData[n].al_MonVol.get(index).monvol_alm = vc_data.monvol_alm[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).monres_alm = vc_data.monres_alm[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).montmp_alm = vc_data.montmp_alm[mon_index];
|
| | | m_RTData[n].al_MonVol.get(index).monrestcap_alm = vc_data.moncap_alm[mon_index];
|
| | | |
| | | mon_index++;
|
| | | }
|
| | | |
| | | m_RTData[n].updata_BattRtAlARM_To_RamDb();
|
| | | BTS61850_Task_Thread_SQL.updateBattRtState_Table(m_ConnPool,vc_data,m_RTData);
|
| | | // ---------------------------------------------------------------------------//
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | /*********************************************************************************************/
|
| | | }
|
| | | /*********************************
|