V1.110	2024-12-24 lijun
1.新增云鑫为DCDC电源数据解析[界面展示为直流配电柜和高频开关柜]
第一套电源协议名称: IEC61850-G10DDPS1
第二套电源协议名称: IEC61850-G10DDPS2
6个文件已修改
56856 ■■■■ 已修改文件
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/error.log 46796 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info.log 9709 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/main/main_PowerDev_IEC61850.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/power/comm/Power_61850_SocketClient.java 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerDev_dcData.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/error.log
Diff too large
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info.log
Diff too large
IEC61850_ForPowerSupply_ForNW/src/com/main/main_PowerDev_IEC61850.java
@@ -19,7 +19,7 @@
public class main_PowerDev_IEC61850 {
    
    public final static boolean app_debug = false;
    public final static double m_VersionNum = 1.107;
    public final static double m_VersionNum = 1.110;
    public final static String m_Version = "Welcome To Use Monitor_PowerDev_IEC61850 V" 
                                            + m_VersionNum + " RC_20210621";
    
IEC61850_ForPowerSupply_ForNW/src/com/power/comm/Power_61850_SocketClient.java
@@ -226,17 +226,27 @@
        rand_index++;
        */
        if(pwrDev_rtData.PowerDevProtocolName.contains("DDPS")) {            
            //紫晶DCDC电源数据
            if(devIndex%3 == 0) {
                if(pwrDev_rtData.PowerDevProtocolName.contains("G10")) {
                    //云鑫为DCDC电源
                if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_highfreq_cabinet) {
                    read_DCDC_Power();
                        read_YXWDCDC_Power();
                        pwrDev_rtData.UpdatePower_DC_Data_ToTable();
                        pwrDev_rtData.UpdatePower_ACDC_Data_ToTable();
                    }
                }else {
                    //紫晶DCDC电源数据
                    if(PowerData_RT.PowerCabinet_EXIST == this.pwrDev_rtData.is_highfreq_cabinet) {
                        read_ZJDCDC_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));
                }
            }
        }else {
            if(devIndex%3 == 0) {
@@ -276,7 +286,7 @@
    
    
    
    private void read_DCDC_Power() {
    private void read_ZJDCDC_Power() {
        String dcdcDeviceName = pwrDev_rtData.PowerDevProtocolName;
        try {
            DataSet ds = null;
@@ -900,6 +910,329 @@
        
    }
    /**
     *     云鑫为DCDC电源数据解析
     */
    private void read_YXWDCDC_Power() {
        String dcdcDeviceName = pwrDev_rtData.PowerDevProtocolName;
        try {
            DataSet ds = null;
            //************ 遥测量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsMeasure1)", dcdcDeviceName);
            ///-------------------------------------------------------------------------------------//
            ds = m_ServerModel.getDataSet(dcdcDeviceName + "/LLN0.dsMeasure1");
            if(null == ds) {
                setErrCommCountInc(0);
                return;
            }
            int idx_model = 0;
            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("/aciGGIO1.AnIn1.mag.f")) {//直流1输入电压
                        pwrDev_rtData.m_dcData.dcIn1_vol = ((BdaFloat32) fc_mode).getFloat();
                    }else if (fc_model_str.contains("/aciGGIO1.AnIn2.mag.f")) {//直流1输入电流
                        pwrDev_rtData.m_dcData.dcIn1_curr = ((BdaFloat32) fc_mode).getFloat();
                    }else if(fc_model_str.contains("/aciGGIO1.AnIn3.mag.f")) {//直流2输入电压
                        pwrDev_rtData.m_dcData.dcIn2_vol = ((BdaFloat32) fc_mode).getFloat();
                    }else if(fc_model_str.contains("/aciGGIO2.AnIn1.mag.f")) {//直流2输入电流
                        pwrDev_rtData.m_dcData.dcIn2_curr = ((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("/dbmGGIO1.AnIn2.mag.f")) {//第1路直流母线输出电流
                        pwrDev_rtData.m_dcData.dcOut1_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("/chmGGIO") && fc_model_str.contains(".AnIn1.mag.f")) {
                        if((idx_model%2) == 0) {
                            //模块电压
                            pwrDev_rtData.m_acdcData.m_out_vol[idx_model/2] = ((BdaFloat32) fc_mode).getFloat();
                        }else {
                            //模块电流
                            pwrDev_rtData.m_acdcData.m_out_curr[(idx_model-1)/2] = ((BdaFloat32) fc_mode).getFloat();
                        }
                        idx_model++;
                    }
                }
            }
            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.dsState1)", dcdcDeviceName);
            //-------------------------------------------------------------------------------------//
            ds = m_ServerModel.getDataSet(dcdcDeviceName + "/LLN0.dsState1");
            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;
            int model_close_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("/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("/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("/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("/btgGGIO1.Ind4.stVal")) {
                        origin_val = pwrDev_rtData.m_acdcData.is_battgroup1_down;
                        pwrDev_rtData.m_acdcData.is_battgroup1_down = ((BdaBoolean)fc_mode).getValue();
                        if(origin_val==false && pwrDev_rtData.m_acdcData.is_battgroup1_down==true) {
                            Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                            //Date dt = readNodeTimeStamp(acdcDeviceName + "/btgGGIO1.Ind4.t", Fc.ST);
                            timeout_tag = checkIfBoolNodeTimeOut(dt);
                            PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Batt1_Down_ID, 0, timeout_tag,dt);
                        }
                    }else if(fc_model_str.contains("/gswGGIO3.Alm.stVal")) {
                        origin_val = pwrDev_rtData.m_acdcData.is_loader_fuse;
                        pwrDev_rtData.m_acdcData.is_loader_fuse = ((BdaBoolean)fc_mode).getValue();
                        if(origin_val==false && pwrDev_rtData.m_acdcData.is_loader_fuse==true) {
                            Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                            //Date dt = readNodeTimeStamp(acdcDeviceName + "/gswGGIO3.Alm.t", Fc.ST);
                            timeout_tag = checkIfBoolNodeTimeOut(dt);
                            PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_LoaderFuse_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;
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerDev_dcData.java
@@ -8,6 +8,9 @@
    public float dcIn1_vol;  //第1路直流输入电压
    public float dcIn2_vol;  //第2路直流输入电压
    
    public float dcIn1_curr;  //第1路直流输入电流
    public float dcIn2_curr;  //第2路直流输入电流
    public float dcOut1_vol;     //第1路直流母线输出电压
    public float dcOut1_curr;    //第1路直流母线输出电流
    
IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt
@@ -10,6 +10,11 @@
        
        高频开关柜
        
V1.110    2024-12-24 lijun
    1.新增云鑫为DCDC电源数据解析[界面展示为直流配电柜和高频开关柜]
        第一套电源协议名称:      IEC61850-G10DDPS1
        第二套电源协议名称:       IEC61850-G10DDPS2
V1.109  2024-11-28 lijun
    1.新增紫晶DCDC电源数据解析[界面展示为直流配电柜和高频开关柜]      
        第一套电源协议名称:      ZJDYDDPS