DELL
2024-11-25 aee479acf5bb4e6c704d410ae0cfb61836af7260
IEC61850_ForPowerSupply_ForNW/src/com/power/comm/Power_61850_SocketClient.java
@@ -145,7 +145,7 @@
            //加载模型文件
              //List<ServerSap> serverSaps = ServerSap.getSapsFromSclFile("TEMPLATE.iid");
              //m_ServerModel = serverSaps.get(0).serverModel;
              System.out.println("SSSS"+m_ServerModel.getBaseDevName());
              System.err.println("ID:" + pwrDev_rtData.PowerDevDeviceId + "SSSS"+m_ServerModel.getBaseDevName());
         } catch (Exception e) {
            logger.error(e.toString(), e);
            //continue;
@@ -225,33 +225,47 @@
      bool_rand_data = (int_rand_data%2==0)?true:false;
      rand_index++;
      */
      if(devIndex%3 == 0) {
         if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_highfreq_cabinet) {
            read_ACDC_LD();
      if(pwrDev_rtData.PowerDevProtocolName.contains("DDPS")) {
         //DCDC电源数据
         if(devIndex%3 == 0) {
            if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_highfreq_cabinet) {
               read_DCDC_Power();
               pwrDev_rtData.UpdatePower_DC_Data_ToTable();
               pwrDev_rtData.UpdatePower_ACDC_Data_ToTable();
            }
            //System.out.println("read_ACDC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
            
            pwrDev_rtData.UpdatePower_ACDC_Data_ToTable();
         }
         //System.out.println("read_ACDC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
      }
      else if(devIndex%3 == 1) {
         if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_ac_cabinet) {
      }else {
         if(devIndex%3 == 0) {
            if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_highfreq_cabinet) {
               read_ACDC_LD();
               pwrDev_rtData.UpdatePower_ACDC_Data_ToTable();
            }
            //System.out.println("read_ACDC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
            
            read_AC_LD();
            //System.out.println("read_AC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
            pwrDev_rtData.UpdatePower_AC_Data_ToTable();
         }
      }
      else {
         if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_dc_cabinet) {
         else if(devIndex%3 == 1) {
            if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_ac_cabinet) {
               read_AC_LD();
               //System.out.println("read_AC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
               pwrDev_rtData.UpdatePower_AC_Data_ToTable();
            }
            
            read_DC_LD();
            //System.out.println("read_DC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
            pwrDev_rtData.UpdatePower_DC_Data_ToTable();
         }
         else {
            if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_dc_cabinet) {
               read_DC_LD();
               //System.out.println("read_DC_LD" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
               pwrDev_rtData.UpdatePower_DC_Data_ToTable();
            }
         }
      }
      
@@ -260,6 +274,579 @@
      devIndex++; 
   }
   
   private void read_DCDC_Power() {
      String dcdcDeviceName = pwrDev_rtData.PowerDevProtocolName;
      try {
         DataSet ds = null;
         //************ 遥测量 **************
         //---------------------------------Log Level.TRACE-------------------------------------//
         logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dscV)", dcdcDeviceName);
         ///-------------------------------------------------------------------------------------//
         ds = m_ServerModel.getDataSet(dcdcDeviceName + "/LLN0.dscV");
         if(null == ds) {
            setErrCommCountInc(0);
            return;
         }
         ds = ds.copy();
         int size_cnt = ds.getMembers().size();
         m_Association.getDataSetValues(ds);
         int m = 0;
         for (int n = 0; n<size_cnt; n++) {
            if(null == ds.getMembers().get(n).getChild("mag")) {
               continue;
            }
            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f");
            FcModelNode fc_mode_i = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("i");
            if(null != fc_mode){
               String fc_model_str = fc_mode.toString1();
               //System.err.println(fc_model_str+"===="+((BdaFloat32) fc_mode).getFloat());
               if (fc_model_str.contains("/dciGGIO1.AnIn1.mag.f")) {//直流1输入电压
                  pwrDev_rtData.m_dcData.dcIn1_vol = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/dciGGIO2.AnIn1.mag.f")) {//直流2输入电压
                  pwrDev_rtData.m_dcData.dcIn2_vol = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/dbmGGIO1.AnIn1.mag.f")) {//直流1输出电压
                  pwrDev_rtData.m_dcData.dcOut1_vol = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/dbmGGIO2.AnIn1.mag.f")) {//直流2输出电压
                  pwrDev_rtData.m_dcData.dcOut2_vol = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/dbmGGIO1.AnIn2.mag.f")) {//第1路直流母线输出电流
                  pwrDev_rtData.m_dcData.dcOut1_curr = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/dbmGGIO2.AnIn2.mag.f")) {//第2路直流母线输出电流
                  pwrDev_rtData.m_dcData.dcOut2_curr = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/etmGGIO1.AnIn1.mag.f")) {//直流配电柜温度
                  pwrDev_rtData.m_dcData.temprature = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/CUSTOM3.IntIn.mag.f")) {//协转直流输出过压阈值
                  pwrDev_rtData.m_dcData.dcVolH_Limit = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/CUSTOM4.IntIn.mag.f")) {//协转直流输出欠压阈值
                  pwrDev_rtData.m_dcData.dcVolL_Limit = ((BdaFloat32) fc_mode).getFloat();
               }
               //模块电流
               else if(fc_model_str.contains("/chmGGIO1.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[0]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO2.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[1]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO3.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[2]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO4.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[3]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO5.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[4]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO6.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[5]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO7.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[6]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO8.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[7]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO9.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[8]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO10.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[9]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO11.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[10]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO12.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[11]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO13.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[12]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO14.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[13]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO15.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[14]  = ((BdaFloat32) fc_mode).getFloat();
               }else if(fc_model_str.contains("/chmGGIO16.AnIn1.mag.f")) {
                  pwrDev_rtData.m_acdcData.m_out_curr[15]  = ((BdaFloat32) fc_mode).getFloat();
               }
            }
         }
         pwrDev_rtData.setCommSuccessCountInc();
         pwrDev_rtData.SetPwrDeviceCommErrState(false);            //更新通信时间
         resetErrCommCount("read_ACDC_LD.dsCpssYc");
      } catch (Exception e) {
         setErrCommCountInc(0);
         logger.error(e.toString(), e);
      }
      boolean origin_val;
      int timeout_tag;
      try {
         DataSet ds = null;
         //************ 遥信量 **************
         //---------------------------------Log Level.TRACE-------------------------------------//
         logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dscAla)", dcdcDeviceName);
         //-------------------------------------------------------------------------------------//
         ds = m_ServerModel.getDataSet(dcdcDeviceName + "/LLN0.dscAla");
         if(null == ds) {
            setErrCommCountInc(0);
            return;
         }
         ds = ds.copy();
         int size_cnt = ds.getMembers().size();
         m_Association.getDataSetValues(ds);
         int m = 0;
         int fsw1_Trip_idx = 0;
         int fsw2_Trip_idx = 0;
         for (int n = 0; n<size_cnt; n++) {
            if(null == ds.getMembers().get(n).getChild("stVal")) {
               continue;
            }
            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("stVal");
            FcModelNode fc_mode_t = (FcModelNode) ds.getMembers().get(n).getChild("t");
            if(null != fc_mode){
               String fc_model_str = fc_mode.toString1();
               if (fc_model_str.contains("/dbmGGIO1.Ind1.stVal")) {//第1路直流过压
                  origin_val = pwrDev_rtData.m_dcData.is_dc1_over_vol;
                  pwrDev_rtData.m_dcData.is_dc1_over_vol = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_dc1_over_vol==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_OverV_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/dbmGGIO1.Ind2.stVal")) {//第1路直流欠压
                  origin_val = pwrDev_rtData.m_dcData.is_dc1_under_vol;
                  pwrDev_rtData.m_dcData.is_dc1_under_vol = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_dc1_under_vol = readBooleanNodeData(dcDeviceName + "/dbmGGIO1.Ind2.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_dc1_under_vol);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_dc1_under_vol==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/dbmGGIO1.Ind2.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_UnderV_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/dbmGGIO2.Ind1.stVal")) {   //第2路直流过压
                  origin_val = pwrDev_rtData.m_dcData.is_dc2_over_vol;
                  pwrDev_rtData.m_dcData.is_dc2_over_vol = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_dc2_over_vol = readBooleanNodeData(dcDeviceName + "/dbmGGIO2.Ind1.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_dc2_over_vol);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_dc2_over_vol==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/dbmGGIO2.Ind1.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_OverV_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/dbmGGIO2.Ind2.stVal")) {   ////第2路直流欠压
                  origin_val = pwrDev_rtData.m_dcData.is_dc2_under_vol;
                  pwrDev_rtData.m_dcData.is_dc2_under_vol = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_dc2_under_vol = readBooleanNodeData(dcDeviceName + "/dbmGGIO2.Ind2.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_dc2_under_vol);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_dc2_under_vol==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/dbmGGIO2.Ind2.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_UnderV_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/gswGGIO1.Alm.stVal")) {   //第1路输入开关跳闸
                  origin_val = pwrDev_rtData.m_dcData.is_in1_swtrip;
                  pwrDev_rtData.m_dcData.is_in1_swtrip = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_in1_swtrip = readBooleanNodeData(dcDeviceName + "/gswGGIO1.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_in1_swtrip);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_in1_swtrip==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/gswGGIO1.Alm.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn1_Trip_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/gswGGIO2.Alm.stVal")) {   //第2路输入开关跳闸
                  origin_val = pwrDev_rtData.m_dcData.is_in2_swtrip;
                  pwrDev_rtData.m_dcData.is_in2_swtrip = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_in2_swtrip = readBooleanNodeData(dcDeviceName + "/gswGGIO2.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_in2_swtrip);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_in2_swtrip==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/gswGGIO2.Alm.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn2_Trip_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/fsw1GGIO") && fc_model_str.contains("Alm.stVal")) {
                  //System.out.println(fc_model_str + "===" + fsw1_Trip_idx);
                  origin_val = pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx];
                  pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
                  //pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx] = readBooleanNodeData(dcDeviceName + ref, Fc.ST, pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx]);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     //Date dt = readNodeTimeStamp(dcDeviceName + reft, Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC1_SW_N_Trip_ID, (fsw1_Trip_idx+1), timeout_tag,dt);
                  }
                  fsw1_Trip_idx ++;
               }else if(fc_model_str.contains("/fsw2GGIO") && fc_model_str.contains("Alm.stVal")) {
                  //System.out.println(fc_model_str + "===" + fsw2_Trip_idx);
                  origin_val = pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx];
                  pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[i] = readBooleanNodeData(dcDeviceName + ref, Fc.ST, pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[i]);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     //Date dt = readNodeTimeStamp(dcDeviceName + reft, Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC2_SW_N_Trip_ID, (fsw2_Trip_idx+1), timeout_tag,dt);
                  }
                  fsw2_Trip_idx ++;
               }else if(fc_model_str.contains("/etmGGIO1.Alm.stVal")) {
                  origin_val = pwrDev_rtData.m_dcData.is_tempalarm;
                  pwrDev_rtData.m_dcData.is_tempalarm = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_tempalarm = readBooleanNodeData(dcDeviceName + "/etmGGIO.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_tempalarm);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_tempalarm==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/etmGGIO.Alm.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TempAlarm_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/dbmGGIO.Ind3.stVal")) {
                  origin_val = pwrDev_rtData.m_dcData.is_dc_monitorerr;
                  pwrDev_rtData.m_dcData.is_dc_monitorerr = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_dc_monitorerr = readBooleanNodeData(dcDeviceName + "/dbmGGIO.Ind3.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_dc_monitorerr);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_dc_monitorerr==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/dbmGGIO.Ind3.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_MonitorErr_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/calmGGIO1.Alm.stVal")) {
                  origin_val = pwrDev_rtData.m_dcData.is_total_alarm;
                  pwrDev_rtData.m_dcData.is_total_alarm = ((BdaBoolean)fc_mode).getValue();
//                  pwrDev_rtData.m_dcData.is_total_alarm = readBooleanNodeData(dcDeviceName + "/calmGGIO.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_total_alarm);
                  if(origin_val==false && pwrDev_rtData.m_dcData.is_total_alarm==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                     Date dt = readNodeTimeStamp(dcDeviceName + "/calmGGIO.Alm.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TolalAlarm_ID, 0, timeout_tag,dt);
                  }
               }
               else if(fc_model_str.contains("/chmGGIO1.Ind2.stVal")) {//模块1关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[0];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[0] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[0]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO2.Ind2.stVal")) {//模块2关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[1];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[1] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[1]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO3.Ind2.stVal")) {//模块3关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[2];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[2] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[2]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO4.Ind2.stVal")) {//模块4关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[3];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[3] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[3]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO5.Ind2.stVal")) {//模块5关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[4];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[4] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[4]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO6.Ind2.stVal")) {//模块6关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[5];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[5] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[5]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO7.Ind2.stVal")) {//模块7关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[6];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[6] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[6]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO8.Ind2.stVal")) {//模块8关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[7];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[7] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[7]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO9.Ind2.stVal")) {//模块9关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[8];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[8] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[8]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO10.Ind2.stVal")) {//模块10关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[9];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[9] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[9]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO11.Ind2.stVal")) {//模块11关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[10];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[10] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[10]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO12.Ind2.stVal")) {//模块12关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[11];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[11] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[11]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO13.Ind2.stVal")) {      //模块13关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[12];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[12] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[12]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO14.Ind2.stVal")) {      //模块14关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[13];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[13] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[13]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO15.Ind2.stVal")) {      //模块15关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[14];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[14] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[14]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO16.Ind2.stVal")) {      //模块16关机
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_off[15];
                  pwrDev_rtData.m_acdcData.is_acdcMod_off[15] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_off[15]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Close_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO1.Ind1.stVal")) {      //模块1故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[0];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[0] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[0]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO2.Ind1.stVal")) {      //模块2故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[1];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[1] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[1]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO3.Ind1.stVal")) {      //模块3故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[2];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[2] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[2]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO4.Ind1.stVal")) {      //模块4故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[3];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[3] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[3]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO5.Ind1.stVal")) {      //模块5故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[4];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[4] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[4]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO6.Ind1.stVal")) {      //模块6故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[5];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[5] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[5]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO7.Ind1.stVal")) {      //模块7故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[6];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[6] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[6]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO8.Ind1.stVal")) {      //模块8故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[7];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[7] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[7]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO9.Ind1.stVal")) {      //模块9故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[8];
                  timeout_tag = 0;
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[8] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[8]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO10.Ind1.stVal")) {      //模块10故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[9];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[9] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[9]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO11.Ind1.stVal")) {      //模块11故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[10];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[10] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[10]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO12.Ind1.stVal")) {      //模块12故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[11];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[11] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[11]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO13.Ind1.stVal")) {      //模块13故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[12];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[12] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[12]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO14.Ind1.stVal")) {      //模块14故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[13];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[13] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[13]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO15.Ind1.stVal")) {      //模块15故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[14];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[14] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[14]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     //Date dt = readNodeTimeStamp(acdcDeviceName + "/chmGGIO15.Ind1.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/chmGGIO16.Ind1.stVal")) {      //模块16故障
                  origin_val = pwrDev_rtData.m_acdcData.is_acdcMod_err[15];
                  pwrDev_rtData.m_acdcData.is_acdcMod_err[15] = ((BdaBoolean)fc_mode).getValue();
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_acdcMod_err[15]==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     //Date dt = readNodeTimeStamp(acdcDeviceName + "/chmGGIO16.Ind1.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Err_ID, 0, timeout_tag,dt);
                  }
               }else if(fc_model_str.contains("/commGGIO1.Ind1.stVal")) {
                  //协转与高频开关柜通信故障
                  origin_val = pwrDev_rtData.m_acdcData.is_comm_err;
                  pwrDev_rtData.m_acdcData.is_comm_err = ((BdaBoolean)fc_mode).getValue();
                  //System.out.println("is_comm_err:"+pwrDev_rtData.m_acdcData.is_comm_err);
                  if(origin_val==false && pwrDev_rtData.m_acdcData.is_battgroup1_fuse==true) {
                     Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                     //Date dt = readNodeTimeStamp(acdcDeviceName + "/gswGGIO4.Alm.t", Fc.ST);
                     timeout_tag = checkIfBoolNodeTimeOut(dt);
                     PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_PWRDEV_CommErr_ID, 0, timeout_tag,dt);
                  }
               }
            }
         }
         pwrDev_rtData.setCommSuccessCountInc();
         pwrDev_rtData.SetPwrDeviceCommErrState(false);
         resetErrCommCount("read_DC_LD.dsDcswibYx");
      } catch (Exception e) {
         setErrCommCountInc(0);
         logger.error(e.toString(), e);
      }
   }
   private void read_ACDC_LD() {
      
      String acdcDeviceName = pwrDev_rtData.PowerDevProtocolName + "CPSS" + pwrDev_rtData.PowerDevProtocolIndex;