35cb975efca04acb726b57869a45f51c7112f147..49b6a24edf112017776de237a5ec89a1c0683f1f
4 天以前 DELL
修改版本号
49b6a2 对比 | 目录
4 天以前 DELL
V2.106 edit by lijun @ 2025-06-18 1.修复通信超时连接触发延迟较高bug. 2.通信程序兼容泰科ICD文件
2d49a2 对比 | 目录
9个文件已修改
277 ■■■■ 已修改文件
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java 258 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
@@ -5,6 +5,11 @@
     
    注意当前版本在设置南瑞的61850协转签名时用的     BTSE2/
    
V2.106 edit by lijun   @  2025-06-18
    1.修复通信超时连接触发延迟较高bug.
    2.通信程序兼容泰科ICD文件
V2.105 edit by lijun   @  2024-10-21
    1.采用预加载模型文件方式兼容内存占用过快问题    
    
iec61850_forFoShanAES_Model/bin/org/openmuc/jositransport/TConnection.class
Binary files differ
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -18,6 +18,7 @@
import org.openmuc.openiec61850.BdaBitString;
import org.openmuc.openiec61850.BdaBoolean;
import org.openmuc.openiec61850.BdaFloat32;
import org.openmuc.openiec61850.BdaInt32;
import org.openmuc.openiec61850.BdaInt64;
import org.openmuc.openiec61850.BdaVisibleString;
import org.openmuc.openiec61850.ClientAssociation;
@@ -84,6 +85,8 @@
    private ClientSap m_ClientSap;
    private ClientAssociation m_Association;
    private ServerModel m_ServerModel;
    private boolean isTaiKe = false;        //泰科设备
    
    private Logger logger = null;
@@ -861,6 +864,17 @@
                    }else {
                        //共济协转
                        ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");
                        if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
                            //泰科核容设备第二组,尝试通过泰科集合读取点位信息
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo");
                            m_FBS_VCData.m_SysState.AlarmState = (int)readFloatNodeData("TEMPLATEBTSE/btgGGIO1.AnIn28.mag.f",Fc.MX);
                            if(ds_tmp != null) {
                                isTaiKe = true;
                            }
                        }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
                            //泰科核容设备第第一组
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure");
                        }
                    }
                    //System.out.println(ds_tmp);
                    if(null == ds_tmp) {
@@ -884,129 +898,157 @@
                        if(null != fc_mode){                            
                            String fc_model_str = fc_mode.toString1();
                            //System.out.println("n:" + n + "\t" + fc_model_str);
                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//第一组组端电压
                            if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn1.mag.f")) {//第一组组端电压
//                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//第一组组端电压
                                m_FBS_VCData.groupvol[0] = ((BdaFloat32) fc_mode).getFloat();
                                //m_FBS_VCData.groupvol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f", Fc.MX);        //组端电压
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//第一组组端电流
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn2.mag.f")) {//第一组组端电流
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//第一组组端电流
                                m_FBS_VCData.battcurr[0] = ((BdaFloat32) fc_mode).getFloat();
                                //m_FBS_VCData.battcurr[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f", Fc.MX);        //组端电流
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//第一组在线电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn3.mag.f")) {//第一组在线电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//第一组在线电压
                                m_FBS_VCData.onlinevol[0] = ((BdaFloat32) fc_mode).getFloat();
                                //m_FBS_VCData.onlinevol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f", Fc.MX);        //在线电压
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//第一组除硫模块组端电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn4.mag.f")) {//第一组除硫模块组端电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//第一组除硫模块组端电压
                                fod_state.VGroupVol_one = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VGroupVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f", Fc.MX);        //除硫模块1组端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//第一组除硫模块峰值电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn5.mag.f")) {//第一组除硫模块峰值电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//第一组除硫模块峰值电压
                                fod_state.VpeakVol_one = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VpeakVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f", Fc.MX);            //除硫模块1峰端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//第二组除硫模块组端电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn6.mag.f")) {//第二组除硫模块组端电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//第二组除硫模块组端电压
                                fod_state.VGroupVol_two = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VGroupVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f", Fc.MX);        //除硫模块2组端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//第二组除硫模块峰值电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn7.mag.f")) {//第二组除硫模块峰值电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//第二组除硫模块峰值电压
                                fod_state.VpeakVol_two = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VpeakVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f", Fc.MX);            //除硫模块2峰端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//第三组除硫模块组端电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn8.mag.f")) {//第三组除硫模块组端电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//第三组除硫模块组端电压
                                fod_state.VGroupVol_three = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VGroupVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f", Fc.MX);        //除硫模块3组端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//第三组除硫模块峰值电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn9.mag.f")) {//第三组除硫模块峰值电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//第三组除硫模块峰值电压
                                fod_state.VpeakVol_three = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VpeakVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f", Fc.MX);        //除硫模块3峰端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//第四组除硫模块组端电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn10.mag.f")) {//第四组除硫模块组端电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//第四组除硫模块组端电压
                                fod_state.VGroupVol_four = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VGroupVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f", Fc.MX);        //除硫模块4组端电压值
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//第四组除硫模块峰值电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn11.mag.f")) {//第四组除硫模块峰值电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//第四组除硫模块峰值电压
                                fod_state.VpeakVol_four = ((BdaFloat32) fc_mode).getFloat();
                                //fod_state.VpeakVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f", Fc.MX);        //除硫模块4峰端电压值
                            }
                            
                            /**************************** 读取均衡供电模块信息 ****************************************/
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //供电模块版本号
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn12.mag.f")) { //供电模块版本号
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //供电模块版本号
                                fbs9100_jhpowerState.setDev_version(String.valueOf(((BdaFloat32) fc_mode).getFloat()));
                                //fbs9100_jhpowerState.setDev_version(String.valueOf(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f", Fc.MX)));    //均衡供电版本号
                            }
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//供电模块总输入电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn13.mag.f")) {//供电模块总输入电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//供电模块总输入电压
                                fbs9100_jhpowerState.setInput_vol_total(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setInput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f", Fc.MX));
                            }
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//供电模块总输入电流
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn14.mag.f")) {//供电模块总输入电流
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//供电模块总输入电流
                                fbs9100_jhpowerState.setInput_curr_total(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setInput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f", Fc.MX));                //总输入电流
                                
                            }
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//供电模块总输出电压
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn15.mag.f")) {//供电模块总输出电压
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//供电模块总输出电压
                                fbs9100_jhpowerState.setOutput_vol_total(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f", Fc.MX));                //总输出电压
                            }
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//供电模块总输出电流
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn16.mag.f")) {//供电模块总输出电流
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//供电模块总输出电流
                                fbs9100_jhpowerState.setOutput_curr_total(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f", Fc.MX));                //总输出电流
                            }
                            
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//供电模块输出电压1
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn17.mag.f")) {//供电模块输出电压1
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//供电模块输出电压1
                                fbs9100_jhpowerState.setOutput_vol_one(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_one(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f", Fc.MX));                    //总输出电压1
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//供电模块输出电压2
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn18.mag.f")) {//供电模块输出电压2
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//供电模块输出电压2
                                fbs9100_jhpowerState.setOutput_vol_two(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_two(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f", Fc.MX));                    //总输出电压2
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//供电模块输出电压3
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn19.mag.f")) {//供电模块输出电压3
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//供电模块输出电压3
                                fbs9100_jhpowerState.setOutput_vol_three(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_three(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f", Fc.MX));                //总输出电压3
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//供电模块输出电压4
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn20.mag.f")) {//供电模块输出电压4
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//供电模块输出电压4
                                fbs9100_jhpowerState.setOutput_vol_four(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_four(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f", Fc.MX));                //总输出电压4
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//供电模块输出电压5
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn21.mag.f")) {//供电模块输出电压5
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//供电模块输出电压5
                                fbs9100_jhpowerState.setOutput_vol_five(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_five(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f", Fc.MX));                //总输出电压5
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//供电模块输出电压6
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn22.mag.f")) {//供电模块输出电压6
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//供电模块输出电压6
                                fbs9100_jhpowerState.setOutput_vol_six(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_six(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f", Fc.MX));                    //总输出电压6
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//供电模块输出电压7
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn23.mag.f")) {//供电模块输出电压7
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//供电模块输出电压7
                                fbs9100_jhpowerState.setOutput_vol_seven(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_seven(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f", Fc.MX));                //总输出电压7
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//供电模块输出电压8
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn24.mag.f")) {//供电模块输出电压8
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//供电模块输出电压8
                                fbs9100_jhpowerState.setOutput_vol_eight(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_eight(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f", Fc.MX));                //总输出电压8
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//供电模块输出电压9
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn25.mag.f")) {//供电模块输出电压9
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//供电模块输出电压9
                                fbs9100_jhpowerState.setOutput_vol_nine(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_nine(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f", Fc.MX));                //总输出电压9
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//供电模块输出电压10
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn26.mag.f")) {//供电模块输出电压10
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//供电模块输出电压10
                                fbs9100_jhpowerState.setOutput_vol_ten(((BdaFloat32) fc_mode).getFloat());
                                //fbs9100_jhpowerState.setOutput_vol_ten(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f", Fc.MX));                    //总输出电压10
                            }
                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//供电模块环境温度
                            else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn27.mag.f")) {//供电模块环境温度
//                            else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//供电模块环境温度
                                fbs9100_jhpowerState.setDev_temp(((BdaFloat32) fc_mode).getFloat() - 10);
                                //fbs9100_jhpowerState.setDev_temp(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f", Fc.MX));                        //均衡模块温度
                            }
                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.f")) {
                            }else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn28.mag.f")) {
//                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.f")) {
                                //南瑞当前点位值为float格式
                                m_FBS_VCData.m_SysState.AlarmState = Math.round(((BdaFloat32)fc_mode).getFloat());
                                //m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX);    
                            }
                            else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) {
                            else if(fc_model_str.contains("/celGGIO") && fc_model_str.contains("AnIn")) {
//                            else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) {
                                if(isStartReadMonData) {
                                    m = n;
                                    isStartReadMonData = false;
@@ -1062,7 +1104,8 @@
                            String fc_model_str = fc_mode_i.toString1();
                            //System.out.println("n:" + n + "\t" + fc_model_str);
                            // 新添加用于提示告警(不启动核容原因)
                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) {
                            if (fc_model_str.contains("/btgGGIO1.AnIn28.mag.i")) {
//                            if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) {
                                m_FBS_VCData.m_SysState.AlarmState = (int) ((BdaInt64) fc_mode_i).getValue();
                                //m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX);    
                            }
@@ -1085,10 +1128,19 @@
                    
                    if(FBSDeviceName.contains("ZJDY")) {
                        //紫晶协转
                        ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm").copy();
                        ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm");
                    }else {
                        //共济协转
                        ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYx").copy();
                        ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYx");
                        if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
                            //泰科核容设备第二组,尝试通过泰科集合读取点位信息
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarmTwo");
                        }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
                            //泰科核容设备第第一组
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarm");
                            //System.err.println("TEMPLATEBTSE/LLN0.dsDevAlarm:" + ds_tmp);
                        }
                    }
                    if(null == ds_tmp) {
                        return false;
@@ -1101,32 +1153,56 @@
                    m_Association.getDataSetValues(ds_stat);
                    // 屏蔽当前根节点下新添加的ukey内容
                    for (int n = 0; n < size_cnt; n++) {
                        //System.out.println(ds_stat.getMembers().get(n).getChild("stVal"));
                        if(null == ds_stat.getMembers().get(n).getChild("stVal")) {
                            //System.err.println(ds.getMembers().get(n).getChild("mag").toString1());
                            //System.err.println(ds_stat.getMembers().get(n).getChild("mag").toString1());
                            continue;
                        }
                        FcModelNode fc_mode = (FcModelNode) ds_stat.getMembers().get(n).getChild("stVal");
                        if(fc_mode instanceof BdaBoolean) {
                            //JTextField tf_t = (JTextField) data.getValueField();
                            //System.out.println("n:"+n+" "+fc_mode.toString1());
                            System.out.println("n:"+n+" "+fc_mode.toString1() + "==" + ((BdaBoolean)fc_mode).getValue());
                            String fc_mode_str = fc_mode.toString1();
                            if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
                            if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm1")){
//                            if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
                                alm[0] = ((BdaBoolean)fc_mode).getValue();
                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
                            }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm2")){
//                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
                                alm[1] = ((BdaBoolean)fc_mode).getValue();
                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
                            }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm3")){
//                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
                                alm[2] = ((BdaBoolean)fc_mode).getValue();
                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
                            }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm4")){
//                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
                                alm[3] = ((BdaBoolean)fc_mode).getValue();
                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
                            }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm5")){
//                            }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
                                alm[4] = ((BdaBoolean)fc_mode).getValue();
                            }                            
                        }else{
                        }else if(fc_mode instanceof BdaInt32){
                            String fc_mode_str = fc_mode.toString1();
                            if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm1")){
//                                if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){
                                    alm[0] = ((BdaInt32)fc_mode).getValue()==1;
                                }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm2")){
//                                }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){
                                    alm[1] = ((BdaInt32)fc_mode).getValue()==1;
                                }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm3")){
//                                }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){
                                    alm[2] = ((BdaInt32)fc_mode).getValue()==1;
                                }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm4")){
//                                }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){
                                    alm[3] = ((BdaInt32)fc_mode).getValue()==1;
                                }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm5")){
//                                }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){
                                    alm[4] = ((BdaInt32)fc_mode).getValue()==1;
                                    //System.out.println("alm[4]:"+alm[4]);
                                }
                        }
                    }                
                    
                    String sb = String.format("%b,%b,%b,%b,%b",alm[0],alm[1],alm[2],alm[3],alm[4]);
                    //System.err.println("last_dev_61850alam:" + sb);
                    m_FBS_VCData.m_SysState.last_dev_61850alam = m_FBS_VCData.m_SysState.dev_61850alam; // 记录上一次告警状态
                    m_FBS_VCData.m_SysState.dev_61850alam = sb;
    
@@ -1153,6 +1229,13 @@
                            //兼容老版本协转数据
                            ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");                        
                        }
                        if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) {
                            //泰科核容设备第二组,尝试通过泰科集合读取点位信息
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo");
                        }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
                            //泰科核容设备第第一组
                            ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure");
                        }
                    }
                    if(null == ds_tmp) {
                        return false;
@@ -1172,7 +1255,8 @@
                        //JTextField tf_t = (JTextField) data.getValueField();
                        //System.out.println("n:"+n+" "+fc_mode.toString1()+"==="+((BdaFloat32) fc_mode).getFloat().intValue());
                        String fc_mode_str = fc_mode.toString1();
                        if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){
                        if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("StaNum.mag.f")){
//                        if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){
                            int st = ((BdaFloat32) fc_mode).getFloat().intValue();
                            //int st = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f", Fc.MX);
                            if (m_FBS_VCData.m_SysState.WorkState != st) {
@@ -1188,54 +1272,71 @@
                                    FBS9100_TestTime.restarttime();
                                }
                            }
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn1.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){
                            m_FBS_VCData.m_SysState.CapTestStopType = ((BdaFloat32) fc_mode).getFloat().intValue();
                            //m_FBS_VCData.m_SysState.CapTestStopType = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f", Fc.MX);
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn2.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){
                            m_FBS_VCData.battcap[0] = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.battcap[0] = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f", Fc.MX);
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
                            m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX);
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn55.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){
                            m_FBS_VCData.m_SysState.conresist = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.conresist = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f", Fc.MX);;
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn56.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){
                            m_FBS_VCData.m_SysState.concurr = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.concurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f", Fc.MX);;
                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn57.mag.f")){
//                        }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){
                            m_FBS_VCData.m_SysState.condvoldp = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.condvoldp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f", Fc.MX);;
                        }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){
//                        }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){
                            m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn58.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) {
                            m_FBS_VCData.m_SysState.condcurr = ((BdaFloat32) fc_mode).getFloat();
                            //m_FBS_VCData.m_SysState.condcurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f", Fc.MX);;
                        }else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) {
                        }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn60.mag.f")) {
//                        }else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) {
                            //m_FBS_VCData.m_SysState.resttest_count = readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn103.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) {
                            fod_state.WorkState_one = (int)((float)((BdaFloat32)fc_mode).getFloat());
                            //fod_state.WorkState_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn104.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) {
                            fod_state.RestTime_one = ((BdaFloat32) fc_mode).getFloat();
                            //fod_state.RestTime_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn105.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) {
                            fod_state.WorkState_two = (int)((float)((BdaFloat32)fc_mode).getFloat());
                            //fod_state.WorkState_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn106.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) {
                            fod_state.RestTime_two = ((BdaFloat32) fc_mode).getFloat();
                            //fod_state.RestTime_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn107.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) {
                            fod_state.WorkState_three = (int)((float)((BdaFloat32)fc_mode).getFloat());
                            //fod_state.WorkState_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn108.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) {
                            fod_state.RestTime_three = ((BdaFloat32) fc_mode).getFloat();
                            //fod_state.RestTime_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn109.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) {
                            fod_state.WorkState_four = (int)((float)((BdaFloat32)fc_mode).getFloat());
                            //fod_state.WorkState_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f", Fc.MX);
                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) {
                        }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn110.mag.f")) {
//                        }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) {
                            fod_state.RestTime_four = ((BdaFloat32) fc_mode).getFloat();
                            //fod_state.RestTime_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f", Fc.MX);
                        }
@@ -1250,18 +1351,6 @@
                
            } else if (FBS9100_ComBase.CMD_SetDischargeParm == cmd) {
                boolean write_res_t = true;
                /******************************************************************************
                if(true == write_res_t) {
                    try {
                        write_res_t = BTS_IEC61850_Write_SetMag_Node(FBSDeviceName+"/ncdGGIO1.Para1.setMag.f",
                                                                        m_StatAndParam.m_FBS_DiscParam);
                    } catch (ServiceError e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    }
                }
                sleep(1500);
                 **************************************************************************/
                if (true == write_res_t) {
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para1.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para1.setMag.f", "SP",(float) m_StatAndParam.m_FBS_DiscParam.DisCurr);
@@ -1300,6 +1389,31 @@
                }else {
                    //共济协转
                    ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc");
                    if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) {
                        ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarmTwo");
                        if(null != ds_tmp) {
                            isTaiKe = true;
                            //泰科核容设备第第一组[读取参数]
                            m_FBS_DiscParamFromDev.DisCurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60);
                            m_FBS_DiscParamFromDev.DisCap = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiTestBatAh.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.MonomerTmp_High = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiCelTemp.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.MonomerVol_LOW= readFloatNodeData(FBSDeviceName + "/ncdGGIO1.LoCelVol.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.DCVolHighLimit = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.DCVolLimit.mag.f", Fc.MX);
                            m_FBS_DiscParamFromDev.ChargeCurrSet = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.ChargeCurr.mag.f", Fc.MX);
                            ds_tmp = null;
                            //---------------------------------Log Level.DEBUG-------------------------------------//
                            logger.printf(Level.DEBUG, "DevIp:%s operate FBS9100_ComBase.CMD_GetDischargeParm, \n param:%s",
                                                        FBSDeviceIp, m_FBS_DiscParamFromDev);
                            return true;
                        }
                    }
                }
                
                if(null == ds_tmp) {
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java
@@ -29,7 +29,7 @@
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static double m_VersionNum = 2.105;
    public final static double m_VersionNum = 2.106;
    public final static String m_Version = "Welcome To Use BattMonitor_BTS_IEC61850 V" 
                                            + m_VersionNum + " RC_20201003";
    /**************************************************************************/
iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
@@ -5,6 +5,11 @@
     
    注意当前版本在设置南瑞的61850协转签名时用的     BTSE2/
    
V2.106 edit by lijun   @  2025-06-18
    1.修复通信超时连接触发延迟较高bug.
    2.通信程序兼容泰科ICD文件
V2.105 edit by lijun   @  2024-10-21
    1.采用预加载模型文件方式兼容内存占用过快问题    
    
iec61850_forFoShanAES_Model/src/org/openmuc/jositransport/TConnection.java
@@ -591,7 +591,12 @@
        int li = 0;
        int tPduCode;
        socket.setSoTimeout(messageTimeout);
//      socket.setSoTimeout(messageTimeout);
      //System.err.println("超时时间:"+messageTimeout);
      //修复Linux环境下不超时,通信故障延迟严重问题
      //socket.setSoTimeout(messageTimeout);
      socket.setSoTimeout(30000);
        byte version;
        try {
            version = is.readByte();