全功能逆变/假负载61850通信程序
DELL
2024-11-25 894ed0de9d242b59f78f2bcf0040b5e9a1a22735
兼容定制1Z240M通信程序开发
2个文件已添加
8个文件已修改
40613 ■■■■■ 已修改文件
iec61852_forQGN/bin/com/dec/fbs9100/BTS61851_Task_Thread.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/bin/com/dec/fbs9100/BTS_61851_SocketClient.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/bin/com/version_inf/version_inf.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/bin/zjdy_zk-M240.icd 20227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/src/com/dec/fbs9100/BTS61851_Task_Thread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/src/com/dec/fbs9100/BTS_61851_SocketClient.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/src/com/version_inf/version_inf.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/zjdy_zk-M240.icd 20227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61852_forQGN/bin/com/dec/fbs9100/BTS61851_Task_Thread.class
Binary files differ
iec61852_forQGN/bin/com/dec/fbs9100/BTS_61851_SocketClient.class
Binary files differ
iec61852_forQGN/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class
Binary files differ
iec61852_forQGN/bin/com/version_inf/version_inf.txt
@@ -1,5 +1,6 @@
全功能逆变假负载设备带61850 通信程序
    设备ID  618520001
               当前协议为1组240节单体定制,前120节在BTSE中,后面120节在BTSE2中。
V10.205    edit lijun at 2024-09-06 
    1.修复通信程序在异常情况下,MSQL异常导致通信线程异常结束,无法重新连接bug
iec61852_forQGN/bin/zjdy_zk-M240.icd
New file
Diff too large
iec61852_forQGN/src/com/dec/fbs9100/BTS61851_Task_Thread.java
@@ -35,7 +35,7 @@
        logger.info("reading model from file...");
        try {
            //加载模型文件
            List<ServerSap> serverSaps = ServerSap.getSapsFromSclFile("zjdy_zk-qgn.icd");
            List<ServerSap> serverSaps = ServerSap.getSapsFromSclFile("zjdy_zk-M240.icd");
            m_ServerModel = serverSaps.get(0).serverModel;
        } catch (Exception e1) {
            logger.error("Error parsing SCL file: " + e1.getMessage());
iec61852_forQGN/src/com/dec/fbs9100/BTS_61851_SocketClient.java
@@ -84,6 +84,8 @@
    private ClientAssociation m_Association;
    private ServerModel m_ServerModel;
    
    private boolean isM240Device = false;
    private Logger logger = null;
    
    private int bg_num = 1;
@@ -134,6 +136,10 @@
        if (m_BattMonCount > (FBS9100_ComBase.MonomerCountMax - 120)) {
            m_BattMonCount = (FBS9100_ComBase.MonomerCountMax - 120);
        }
        if(m_BattMonCount > 120) {
            //当前设备为1托1,240节单体模式
            isM240Device = true;
        }
    }
    
@@ -501,7 +507,7 @@
            m_Association.disconnect();
            Thread.sleep(1000);
            m_Association.close();
            //m_ServerModel = null;
            m_ServerModel = null;
        } catch (Exception e) {
            logger.error(e.toString(), e);
        }
@@ -918,7 +924,41 @@
                            }
                            
                        }            
                    }
                    }
                    if(isM240Device) {
                        Thread.sleep(10);
                        //---------------------------------Log Level.TRACE-------------------------------------//
                        logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s2/LLN0.dsMeasure1)", FBSDeviceName);
                        //-------------------------------------------------------------------------------------//
                        //-------------------------------------------------------------------------------------//
                        ds = m_ServerModel.getDataSet(FBSDeviceName + "2/LLN0.dsMeasure1").copy();
                        size_cnt = ds.getMembers().size();
                        m_Association.getDataSetValues(ds);
                        m = 0;
                        isStartReadMonData = true;
                        for (int n = 0; n<size_cnt; n++) {
                            if((null == ds.getMembers().get(n).getChild("mag")) || (null == ds.getMembers().get(n).getChild("mag").getChild("f"))) {
                                continue;
                            }
                            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f");
                            if(null != fc_mode){
                                String fc_model_str = fc_mode.toString1();
                                if(fc_model_str.contains("/celGGIO1.AnIn")) {
                                    if(isStartReadMonData) {
                                        m = n;
                                        isStartReadMonData = false;
                                    }
                                    //单体电压数据
                                    if ((n >= m) && (n < (m + 120 * 1))) {
                                        m_FBS_VCData.vol[n - m + 120] = ((BdaFloat32) fc_mode).getFloat();
                                    }
                                }
                            }
                        }
                    }
                    //操作失败原因
                    m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX);                //核容启动失败原因
                    //System.out.println("AlarmState:"+m_FBS_VCData.m_SysState.AlarmState);
@@ -946,7 +986,7 @@
                        if(null != fc_mode){                            
                            String fc_model_str = fc_mode.toString1();
                            
                            if(fc_model_str.contains(FBSDeviceName + "/celGGIO2.AnIn")) {
                            if(fc_model_str.contains("/celGGIO2.AnIn")) {
                                if(isStartReadMonData) {
                                    m = n;
                                    isStartReadMonData = false;
@@ -957,7 +997,40 @@
                                }                                
                            }                            
                        }            
                    }
                    }
                    if(isM240Device) {
                        Thread.sleep(10);
                        //---------------------------------Log Level.TRACE-------------------------------------//
                        logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s2/LLN0.dsMeasure2)", FBSDeviceName);
                        //-------------------------------------------------------------------------------------//
                        //-------------------------------------------------------------------------------------//
                        ds = m_ServerModel.getDataSet(FBSDeviceName + "2/LLN0.dsMeasure2").copy();
                        size_cnt = ds.getMembers().size();
                        m_Association.getDataSetValues(ds);
                        m = 0;
                        isStartReadMonData = true;
                        for (int n = 0; n<size_cnt; n++) {
                            if((null == ds.getMembers().get(n).getChild("mag")) || (null == ds.getMembers().get(n).getChild("mag").getChild("f"))) {
                                continue;
                            }
                            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f");
                            if(null != fc_mode){
                                String fc_model_str = fc_mode.toString1();
                                if(fc_model_str.contains("/celGGIO2.AnIn")) {
                                    if(isStartReadMonData) {
                                        m = n;
                                        isStartReadMonData = false;
                                    }
                                    //120-240节单体内阻数据
                                    if ((n >= m) && (n < (m + 120 * 1))) {
                                        m_FBS_VCData.res[n - m + 120] = ((BdaFloat32) fc_mode).getFloat();
                                    }
                                }
                            }
                        }
                    }
                    m_FBS_VCData.m_SysState.setCommCountInc();
                    ds = null;
                }
@@ -992,7 +1065,41 @@
                                }                                
                            }                            
                        }            
                    }
                    }
                    if(isM240Device) {
                        Thread.sleep(10);
                        //---------------------------------Log Level.TRACE-------------------------------------//
                        logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s2/LLN0.dsMeasure3)", FBSDeviceName);
                        //-------------------------------------------------------------------------------------//
                        //-------------------------------------------------------------------------------------//
                        ds = m_ServerModel.getDataSet(FBSDeviceName + "2/LLN0.dsMeasure3").copy();
                        size_cnt = ds.getMembers().size();
                        m_Association.getDataSetValues(ds);
                        m = 0;
                        isStartReadMonData = true;
                        for (int n = 0; n<size_cnt; n++) {
                            if((null == ds.getMembers().get(n).getChild("mag")) || (null == ds.getMembers().get(n).getChild("mag").getChild("f"))) {
                                continue;
                            }
                            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f");
                            if(null != fc_mode){
                                String fc_model_str = fc_mode.toString1();
                                if(fc_model_str.contains("/celGGIO3.AnIn")) {
                                    if(isStartReadMonData) {
                                        m = n;
                                        isStartReadMonData = false;
                                    }
                                    //单体温度数据
                                    if ((n >= m) && (n < (m + 120 * 1))) {
                                        m_FBS_VCData.tmp[n - m + 120] = ((BdaFloat32) fc_mode).getFloat();
                                    }
                                }
                            }
                        }
                    }
                    m_FBS_VCData.m_SysState.setCommCountInc();
                    ds = null;
                }
@@ -1026,7 +1133,41 @@
                                }                                
                            }                            
                        }            
                    }
                    }
                    if(isM240Device) {
                        Thread.sleep(50);
                        //---------------------------------Log Level.TRACE-------------------------------------//
                        logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s2/LLN0.dsMeasure5)", FBSDeviceName);
                        //-------------------------------------------------------------------------------------//
                        //-------------------------------------------------------------------------------------//
                        ds = m_ServerModel.getDataSet(FBSDeviceName + "2/LLN0.dsMeasure5").copy();
                        size_cnt = ds.getMembers().size();
                        m_Association.getDataSetValues(ds);
                        m = 0;
                        isStartReadMonData = true;
                        for (int n = 0; n<size_cnt; n++) {
                            if((null == ds.getMembers().get(n).getChild("mag")) || (null == ds.getMembers().get(n).getChild("mag").getChild("f"))) {
                                continue;
                            }
                            FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f");
                            if(null != fc_mode){
                                String fc_model_str = fc_mode.toString1();
                                if(fc_model_str.contains("/celGGIO5.AnIn")) {
                                    if(isStartReadMonData) {
                                        m = n;
                                        isStartReadMonData = false;
                                    }
                                    //单体单体均衡电流数据
                                    if ((n >= m) && (n < (m + 120 * 1))) {
                                        m_FBS_VCData.mon_JH[n - m + 120] = ((BdaFloat32) fc_mode).getFloat();
                                    }
                                }
                            }
                        }
                    }
                    m_FBS_VCData.m_SysState.setCommCountInc();
                    ds = null;
                }
iec61852_forQGN/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
@@ -295,7 +295,7 @@
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
         String str1 = " UPDATE `web_site`.`tb_process_survey` SET ProcessTime="+"'"
                    +df.format(day)+"'"+", Process_starttime="+"'"+df.format(day)+"'"
                            + ", ProcessVersion='V" + version + "' WHERE "
                            + ", ProcessVersion='1Z240_V" + version + "' WHERE "
                            + "ProcessName='BMS_FBS61852_NIBIAN' AND "
                            + "ServerName='BMS_FBS61852_NIBIAN'";    
         try {
iec61852_forQGN/src/com/version_inf/version_inf.txt
@@ -1,5 +1,6 @@
全功能逆变假负载设备带61850 通信程序
    设备ID  618520001
               当前协议为1组240节单体定制,前120节在BTSE中,后面120节在BTSE2中。
V10.205    edit lijun at 2024-09-06 
    1.修复通信程序在异常情况下,MSQL异常导致通信线程异常结束,无法重新连接bug
iec61852_forQGN/zjdy_zk-M240.icd
New file
Diff too large