V3.324 edit by lijun @ 2021-10-22
1.佛山二期修改,新增兼容两组BTS,修改设置UKEY点位信息动态传递
2个文件已修改
155 ■■■■ 已修改文件
iec_61850_forFoShanAES/src/com/dec/fbs9100/BTS_61850_SocketClient.java 151 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/version_inf/version_inf.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -1023,25 +1023,25 @@
                sleep(1500);
                 **************************************************************************/
                if (true == write_res_t) {
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para1.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para1.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para1.setMag.f", "SP",(float) m_StatAndParam.m_FBS_DiscParam.DisCurr);
                    float dis_hour_t = m_StatAndParam.m_FBS_DiscParam.DisTime;
                    dis_hour_t = dis_hour_t / 60;
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para2.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para2.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para2.setMag.f", "SP", (float) dis_hour_t);
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para3.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para3.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para3.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DisCap);
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para4.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para4.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para4.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.getMonomerLowCount());
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para5.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para5.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para5.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.GroupVol_LOW);
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para6.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para6.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para6.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerVol_LOW);
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para7.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para7.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
                    if(!setBTSPublicKeyY("BTSE/btgGGIO1.Para1.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para1.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/btgGGIO1.Para1.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.ChargeCurrSet);
                    if(!setBTSPublicKeyY("BTSE/btgGGIO1.Para2.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para2.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/btgGGIO1.Para2.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DCVolHighLimit);
                    
                    sleep(2000);
@@ -1099,7 +1099,7 @@
                                            FBSDeviceIp, m_FBS_DiscParamFromDev);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_Stop == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO1")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO1")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO1.Oper", false);
                int count = 1;
                if (m_FBS_VCData.m_SysState.WorkState == 2 || m_FBS_VCData.m_SysState.WorkState == 3) {
@@ -1114,21 +1114,21 @@
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_Stop, res:%b", FBSDeviceIp, comm_res);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_StartDischarge == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO1")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO1")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO1.Oper", true);
                comm_res = checkMakeSuccess(0);
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartDischarge, res:%b", FBSDeviceIp, comm_res);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_StartResDischarge == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO2")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO2")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO2.Oper", true);
                comm_res = checkMakeSuccess(2);
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartResDischarge, res:%b", FBSDeviceIp, comm_res);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_StartKIDI == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO3")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO3")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO3.Oper", true);
                comm_res = checkMakeSuccess(1);
                //---------------------------------Log Level.WARN-------------------------------------//
@@ -1175,13 +1175,13 @@
                long ip = Long.parseLong(Stringip.toString());
                // System.out.println("ip:"+ip);
                long ipWG = Long.parseLong(StringipWG.toString());
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para8.setMag.i")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para8.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para8.setMag.i", "SP", ip);
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para9.setMag.i")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para9.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para9.setMag.i", "SP", ipWG);
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para10.setMag.i")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para10.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para10.setMag.i", "SP", ipYM);
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO5")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO5")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO5.Oper", (FBS9100_ComBase.CMD_SetIp==cmd));
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_SetIp, op_bool:%b, "
@@ -1302,64 +1302,64 @@
                                            FBSDeviceIp, m_StatAndParam.clParam);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_WriteFodParam == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para12.setMag.f")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para12.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para12.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_one);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para13.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para13.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para13.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_one);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para14.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para14.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para14.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_one);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para15.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para15.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para15.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_one);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para16.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para16.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para16.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_one);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para18.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para18.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para18.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_two);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para19.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para19.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para19.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_two);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para20.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para20.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para20.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_two);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para21.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para21.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para21.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_two);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para22.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para22.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para22.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_two);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para24.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para24.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para24.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_three);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para25.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para25.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para25.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_three);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para26.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para26.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para26.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_three);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para27.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para27.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para27.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_three);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para28.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para28.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para28.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_three);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para30.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para30.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para30.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_four);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para31.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para31.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para31.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_four);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para32.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para32.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para32.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_four);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para33.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para33.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para33.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_four);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para34.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para34.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para34.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_four);
                comm_res = true;
@@ -1374,19 +1374,19 @@
                // System.out.println(m_StatAndParam.clParam.num);
                switch (m_StatAndParam.clParam.GroupNum) {
                case 1:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO6")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO6")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO6.Oper", true); // 模块1除硫
                }break;
                case 2:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO7")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO7")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO7.Oper", true); // 模块21除硫
                }break;
                case 3:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO8")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO8")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO8.Oper", true); // 模块31除硫
                }break;
                case 4:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO9")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO9")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO9.Oper", true); // 模块41除硫
                }break;
                }
@@ -1399,27 +1399,27 @@
                // System.out.println(m_StatAndParam.clParam.GroupNum);
                switch (m_StatAndParam.clParam.GroupNum) {
                    case 1:{
                        if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO6")) return false;
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO6"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO6.Oper", false);
                        setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO10");
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO10"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO10.Oper", false);
                    }break;
                    case 2:{
                        if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO7")) return false;
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO7"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO7.Oper", false);
                        setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO11");
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO11"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO11.Oper", false);
                    }break;
                    case 3:{
                        if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO8")) return false;
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO8")) return false;
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO8.Oper", false);
                        setBTSPublicKeyY("BTSE/ncdGGIO1.SPCS12");
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCS12"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCS12.Oper", false);
                    }break;
                    case 4:{
                        if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO9")) return false;
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO9")) return false;
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO9.Oper", false);
                        setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO13");
                        if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO13"));
                        comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO13.Oper", false);
                    }break;
                }
@@ -1431,19 +1431,19 @@
            } else if (FBS9100_ComBase.CMD_Start_FODYH_test == cmd) {
                switch (m_StatAndParam.clParam.GroupNum) {
                case 1:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO10")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO10")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO10.Oper", true);
                }break;
                case 2:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO11")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO11")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO11.Oper", true);
                }break;
                case 3:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO12")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO12")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO12.Oper", true);
                }break;
                case 4:{
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO13")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO13")) return false;
                    comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO13.Oper", true);
                }break;
                }
@@ -1479,16 +1479,16 @@
                boolean write_res_t = true;
                if (true == write_res_t) {
                    if(!setBTSPublicKeyY("BTSE/ncdGGIO1.Para35.setMag.f")) return false;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para35.setMag.f")) return false;
                    // 离线养护周期
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para35.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.OffLineYH_Cycle);
                    setBTSPublicKeyY("BTSE/ncdGGIO1.Para36.setMag.f");
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para36.setMag.f"));
                    // 在线压低
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para36.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.OnLineVol_Low);
                    sleep(1500);
                    setBTSPublicKeyY("BTSE/ncdGGIO1.Para7.setMag.f");
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para7.setMag.f"));
                    // 单体温度上限
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
@@ -1503,21 +1503,21 @@
                                        m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
                //------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_StartOffLineYH == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO14")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO14")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO14.Oper", true);
                comm_res = checkMakeSuccess(5);
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartOffLineYH, res:%b", FBSDeviceIp, comm_res);
                //------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_StopOffLineYH == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO14")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO14")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO14.Oper", false);
                comm_res = checkMakeSuccess(10);
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StopOffLineYH, res:%b", FBSDeviceIp, comm_res);
                //------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_ResetSystem == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO04")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO04")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO04.Oper", true);
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_ResetSystem, res:%b", FBSDeviceIp, comm_res);
@@ -1546,30 +1546,30 @@
                                        + "\n m_FBS_SysParam param:%s ", FBSDeviceIp, m_FBS_SysParam);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_SetSYSSetParam == cmd) {
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para37.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para37.setMag.f"));
                // 电压过低阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para37.setMag.f", "SP",
                        (float) m_FBS_SysParam.POF_BG_Boost_VolStart);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para38.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para38.setMag.f"));
                // 电压过高阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para38.setMag.f", "SP",
                        (float) m_FBS_SysParam.POF_BG_Boost_VolStop);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para39.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para39.setMag.f"));
                // 电流异常阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para39.setMag.f", "SP",
                        (float) m_FBS_SysParam.PowerBreakChargeCurr);
                sleep(1500);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para40.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para40.setMag.f"));
                // 浮充电流阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para40.setMag.f", "SP",
                        ((float) m_FBS_SysParam.CurrentTyte) / 10);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para41.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para41.setMag.f"));
                // 在线电压低阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para41.setMag.f", "SP",
                        ((float) m_FBS_SysParam.GroupVolSorce) / 10);
                sleep(1500);
                setBTSPublicKeyY("BTSE/ncdGGIO1.Para42.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para42.setMag.f"));
                // 设置主从机模式
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para42.setMag.f", "SP", ((float) m_FBS_SysParam.MonomerOrder));
                
@@ -1579,7 +1579,7 @@
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_SetSYSSetParam: %s", FBSDeviceIp, m_FBS_SysParam);
                //------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_ClearSysAlarm == cmd) {
                if(!setBTSPublicKeyY("BTSE/ncdGGIO1.SPCSO15")) return false;
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO15")) return false;
                // 清除设备告警
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO15.Oper", true);
                //---------------------------------Log Level.WARN-------------------------------------//
@@ -1594,13 +1594,13 @@
                m_FBS_SysParam.JunHeng_StVol = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn32.mag.f",Fc.MX);             //均衡停止电压阀值
                m_FBS_SysParam.JunHeng_StCurr = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn33.mag.f",Fc.MX);             //均衡停止电流阀值
            }else if(FBS9100_ComBase.CMD_SetJuHengParam == cmd) {
                setBTSPublicKeyY("BTSE/btgGGIO1.Para3.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para3.setMag.f"));
                //均衡功能启用状态
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para3.setMag.f", "SP",    m_FBS_SysParam.JunHeng_Enabled);
                setBTSPublicKeyY("BTSE/btgGGIO1.Para4.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para4.setMag.f"));
                //均衡停止电压阀值
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para4.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StVol);
                setBTSPublicKeyY("BTSE/btgGGIO1.Para5.setMag.f");
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para5.setMag.f"));
                //均衡停止电流阀值
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para5.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StCurr);
            
@@ -2021,6 +2021,19 @@
        return Float.parseFloat(text);
    }
    
    /**
     *     根据协议名称截取对应ukey点位
     * @param agree
     * @return
     */
    public static String getUKEYRootDomStr(String agree) {
        String str1=agree.substring(0, agree.indexOf("BTSE"));
        return agree.substring(str1.length(), agree.length());
    }
    /*********************************************************************************************/
}
/*********************************
iec_61850_forFoShanAES/src/com/version_inf/version_inf.txt
@@ -75,5 +75,5 @@
    1. 历史实时数据检测线程中;循环删除检测统计查询占用MySQL资源大且频繁查询,已修改成24小时定期检测删除指定天数之前的历史实时表
    2. 均衡电压设置修改为浮点数修改
    
V3.324 edit by lijun @ 2021-09-11
    1.新增锂电BTS信息读取以及对应参数设置
V3.324 edit by lijun @ 2021-10-22
    1.佛山二期修改,新增兼容两组BTS,修改设置UKEY点位信息动态传递