新疆锂电通信程序,兼容【常规BTS,老版本并联BTS;假负载BTS,逆变BTS】
V10.655 edit at date 2024-04-07 lijun
1.新增设备类型9150-山东定制版BTS,新增旁路以及对应状态传递
10个文件已修改
3个文件已添加
122 ■■■■■ 已修改文件
BattMonitor_FBS9100S_ForXinJiang/batt_ms_x64_fbsdev_logs/info-20240118-1.log.gz 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/comm/FBS9100S_SocketClient2.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/comm/FBS9100_Task_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/data/FBS9100S_DryNodeInput.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/data/FBS9100_ComBase.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/com/version_inf/version_inf.txt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/bin/main/main_MonitorServer_FBS9100S.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/comm/FBS9100S_SocketClient2.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/comm/FBS9100_Task_Thread_SQL.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/data/FBS9100S_DryNodeInput.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/data/FBS9100_ComBase.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/com/version_inf/version_inf.txt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/src/main/main_MonitorServer_FBS9100S.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_ForXinJiang/batt_ms_x64_fbsdev_logs/info-20240118-1.log.gz
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/comm/FBS9100S_SocketClient2.class
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/comm/FBS9100_Task_Thread_SQL.class
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/data/FBS9100S_DryNodeInput.class
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/bin/com/dev/btse/data/FBS9100_ComBase.class
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/bin/com/version_inf/version_inf.txt
@@ -1,4 +1,7 @@
V10.655 edit at date 2024-04-07 lijun
    1.新增设备类型9150-山东定制版BTS,新增旁路以及对应状态传递
V10.654 edit at date 2023-09-07 lijun
    1.修复记录历史数据时缺少db_batt_testdata.tb_battresdata_inf表,导致历史数据中的db_batt_testdata.tb_battresdata_inf数据无法插入导致历史数据记录故障
     该问题已在内阻数据记录线程中添加对应的创建语句预防当前情况发生    
BattMonitor_FBS9100S_ForXinJiang/bin/main/main_MonitorServer_FBS9100S.class
Binary files differ
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/comm/FBS9100S_SocketClient2.java
@@ -24,6 +24,7 @@
import com.dev.btse.data.ComFn;
import com.dev.btse.data.Ecb_Aes;
import com.dev.btse.data.FBS9100S_BusCoupleState;
import com.dev.btse.data.FBS9100S_DryNodeInput;
import com.dev.btse.data.FBS9100S_LIBMS_AlarmState;
import com.dev.btse.data.FBS9100S_LiBMS_AnalogData;
import com.dev.btse.data.FBS9100S_LiBMS_DATA;
@@ -114,6 +115,8 @@
    private FBS9100S_ResServeParam mResServerParam = null;
    
    private FBS9100S_TmpHumSensor mTHsensor = null;                //温湿度传感器信息
    private FBS9100S_DryNodeInput m_DryNodeInput = null;        //山东定制干接点状态
    
    private FBS9100S_SIMData mSimData = null;
    
@@ -320,6 +323,8 @@
            mTHsensor = new FBS9100S_TmpHumSensor();
            
            mSimData = new FBS9100S_SIMData();
            m_DryNodeInput = new FBS9100S_DryNodeInput();
            
            FBS9100_Task_Thread_SQL.insertFBS9100s_stemnode_state_Table(m_ConnPool, m_StatAndParam.dev_id);
            FBS9100_Task_Thread_SQL.insertFBS9100s_buscouple_state_Table(m_ConnPool, m_StatAndParam.dev_id);
@@ -738,6 +743,13 @@
                            SocketComm(FBS9100_ComBase.CMD_ReadTmpHum, ByteBuffer.allocate(0), socket);
                        }                    
                        
                    }else if(m_StatAndParam.dev_id/1000000 == 915) {
                        //读取干接点模块状态信息
                        if(0 == (DevReadCount%(15*DevReadCount_Rate))) {
                            //读取母联开关状态信息
                            //System.err.println("读取母联开关状态信息");
                            SocketComm(FBS9100_ComBase.CMD_ReadDryNodeState, ByteBuffer.allocate(0), socket);
                        }
                    }
                    
                    /******************  锂电BTS  ****************************************************************/
@@ -1510,6 +1522,12 @@
                    isSuccess = true;              
                }                
                tmp_res_param = null;
            }else if(FBS9100_ComBase.CMD_ReadDryNodeState == m_FBS_Cmd.CMD) {
                if(m_DryNodeInput.putByteBuffer(bf)) {
                    //读取干接点状态成功
                    FBS9100_Task_Thread_SQL.updateFBS9100s_stemnode_state_Table(m_ConnPool, m_DryNodeInput, m_StatAndParam.dev_id);
                    isSuccess = true;
                }
            }
        }
        return isSuccess;
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/comm/FBS9100_Task_Thread_SQL.java
@@ -10,6 +10,7 @@
import com.battmonitor.sql.MysqlConnPool;
import com.battmonitor.sql.Sql_Mysql;
import com.dev.btse.data.FBS9100S_BusCoupleState;
import com.dev.btse.data.FBS9100S_DryNodeInput;
import com.dev.btse.data.FBS9100S_LIBMS_AlarmState;
import com.dev.btse.data.FBS9100S_LiBMS_AnalogData;
import com.dev.btse.data.FBS9100S_NT_DCDC_Data;
@@ -2614,6 +2615,36 @@
    
    }
    
    /**
     * 插入干节点状态信息
     * @param conn_pool
     * @param dev_id
     */
    public static void updateFBS9100s_stemnode_state_Table(MysqlConnPool conn_pool,FBS9100S_DryNodeInput m_DryNodeInput,int dev_id) {
        String sql_str_update = " UPDATE " + Sql_Mysql.FBS9100s_stemnode_state_Table +
                " SET " +
                " record_time = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"'," +
                " mode_state ="+m_DryNodeInput.DryinputData+"," +
                " drynode_commst ="+m_DryNodeInput.CheckComm_IsOk+"," +
                " k1_check_st = "+m_DryNodeInput.CheckK1_IsOk+"," +
                " k2_check_st = "+m_DryNodeInput.CheckK2_IsOk+"," +
                " urgentswitch_st = "+m_DryNodeInput.CheckUrgentSwitch_IsNotPressed + "," +
                " bypassswitch_st = "+m_DryNodeInput.CheckBypassSwitch_IsNotPressed + "," +
                " k1_st = "+m_DryNodeInput.k1_st + "," +
                " WHERE dev_id = "+dev_id;
        Sql_Mysql sql = new Sql_Mysql(conn_pool);
        try {
            //System.out.println(sql_str_update);
            sql.sqlMysqlExecute(sql_str_update);
        } catch (Exception e) {
            sql.logger.error("FBS9100_Task_Thread_SQL.updateFBS9100s_stemnode_state_Table():" + e.toString(), e);
        } finally {
            sql.close_con();
        }
    }
    /**
     * 母联开关状态信息
     * @param conn_pool
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/data/FBS9100S_DryNodeInput.java
New file
@@ -0,0 +1,53 @@
package com.dev.btse.data;
import java.nio.ByteBuffer;
public class FBS9100S_DryNodeInput {
    public static final int BYTE_LEN = 14;
    public int DryinputData;                      //干接点状态 bit0  bit1       uint16_t
    public int CheckComm_IsOk;                     //干接点通讯
    public int CheckK1_IsOk;                       //接触器K1
    public int CheckK2_IsOk;                       //接触器K2
    public int CheckUrgentSwitch_IsNotPressed;     //急停  -异常触发急停
    public int CheckBypassSwitch_IsNotPressed;     //旁路  -异常触发旁路
    public int Crc;
    public int k1_st;                            //接触器k1状态   1-闭合   0-断开
    public FBS9100S_DryNodeInput() {
    }
    public boolean putByteBuffer(final ByteBuffer bf)
    {
        //System.err.println(bf.limit()+"$$$$$$$$$$$$$$");
        if(bf.limit() < BYTE_LEN)
            return false;
        //System.err.println(ComFn.bytesToHexString(bf.array(), bf.array().length));
        ByteBuffer tmpbuf = bf;
        int crc0 = tmpbuf.getShort(BYTE_LEN-2) & 0xFFFF;
        int crc1 = FBS9100_Crc16.CalCRC16(tmpbuf, BYTE_LEN-2);
        if(crc0 != crc1) {
            //System.out.println(crc0+"==="+crc1);
            return false;
        }
        this.DryinputData = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                    //干接点状态 bit0  bit1       uint16_t
        this.CheckComm_IsOk = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                     //干接点通讯
        this.CheckK1_IsOk = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                       //接触器K1
        this.CheckK2_IsOk = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                       //接触器K2
        this.CheckUrgentSwitch_IsNotPressed = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());     //急停  -异常触发急停
        this.CheckBypassSwitch_IsNotPressed = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());     //旁路  -异常触发旁路
        this.k1_st = (this.DryinputData>>4)&1;                                                        //接触器k1状态
        this.Crc = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        tmpbuf.compact();
        tmpbuf.flip();
        return true;
    }
}
BattMonitor_FBS9100S_ForXinJiang/src/com/dev/btse/data/FBS9100_ComBase.java
@@ -220,6 +220,10 @@
    public static final int     CMD_SetMultModeParam_Ack        =   0x3D;                    //设置并联电源模块参数成功
    
    
    /**
     * 山东定制新增读取干接点状态
     */
    public static final int     CMD_ReadDryNodeState            =   0xA6;                    //读取干接点状态
    
    
    //------------ 测试类型 ---------------------------------------------------------
@@ -295,6 +299,14 @@
    public static final int     ALARM_XIEZHUANG_COMM_ERR_STOP    =    25;        //协转通信异常停止
    public static final int     ALARM_MONOMER_COMM_ERR_STOP        =    26;        //单体通信异常停止
    public static final int     ALARM_UNKOWN                     =    27;        //δ֪
    /**
     * 2024-04-07 上东定制BTS新增告警
     */
    public static final int     ALARM_DRYNOTE_COMM_ERR_STOP        =    28;        //干接点通信异常停止
    public static final int     ALARM_K_ERR_STOP                =    29;        //接触器K异常
    public static final int     ALARM_URGENT_STOP                =    30;        //急停
    public static final int     ALARM_BYPASS_STOP                =    31;        //旁路停止
    //-------------------------------------------------------------------------------------------
    public static byte changeIntToByte(int data)
    {
BattMonitor_FBS9100S_ForXinJiang/src/com/version_inf/version_inf.txt
@@ -1,4 +1,7 @@
V10.655 edit at date 2024-04-07 lijun
    1.新增设备类型9150-山东定制版BTS,新增旁路以及对应状态传递
V10.654 edit at date 2023-09-07 lijun
    1.修复记录历史数据时缺少db_batt_testdata.tb_battresdata_inf表,导致历史数据中的db_batt_testdata.tb_battresdata_inf数据无法插入导致历史数据记录故障
     该问题已在内阻数据记录线程中添加对应的创建语句预防当前情况发生    
BattMonitor_FBS9100S_ForXinJiang/src/main/main_MonitorServer_FBS9100S.java
@@ -31,7 +31,7 @@
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static double m_VersionNum = 10.654;
    public final static double m_VersionNum = 10.655;
    public final static String m_Version = "Welcome To Use BattMonitorFBS9100S V" 
                                            + m_VersionNum + " RC_20201110";
    /**************************************************************************/