蓄电池监控管理平台数据库初始化程序
whycrzg
2021-09-14 10908d9377a3ad98b4f576bfcd3bbecb7df7b782
新增数据库表:db_ram_db.tb_li9130_dcdc_param 等三张表
4个文件已修改
292 ■■■■■ 已修改文件
BattMonitor_DB_Builder/src/com/database_util/DB_Ram_db.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_Ram_db.java
@@ -88,10 +88,258 @@
        
        //创建FGCD充放电一体机下载控制表
        createFgcd_filedownload_Table(pool, recreate);
        //创建双向DCDC工作参数表
        createTb_li9130_dcdc_param(pool, recreate);
        //创建双向DCDC内部数据表
        createTb_li9130_dcdc_data(pool, recreate);
        //创建锂电池BMS模拟量表
        createTb_li9130_bms_state(pool, recreate);
        //创建锂电池BMS告警量表
        createTb_li9130_bms_alm(pool, recreate);
    }
    
    
    /**
     *
     * @Title: createTb_li9130_bms_alm
     * @Description: 创建锂电池BMS告警量表
     * @param pool
     * @param recreate
     * @author author
     * @date 2021年9月14日
     */
    private static void createTb_li9130_bms_alm(MysqlConnPool pool, boolean recreate) {
        String sql_str01 = " DROP TABLE IF EXISTS "+Sql_Mysql.Tb_li9130_bms_alm;
        String sql_str02 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_li9130_bms_alm + " (" +
                "`num` bigint(20) NOT NULL AUTO_INCREMENT," +
                "  `dev_id` int(11) NOT NULL DEFAULT '0' COMMENT '设备ID'," +
                "  `bms_idx` int(11) NOT NULL DEFAULT '0' COMMENT '信息索引'," +
                "  `op_cmd` int(11) NOT NULL DEFAULT '0' COMMENT '命令控制'," +
                "  `data_flag` int(11) NOT NULL DEFAULT '0'," +
                "  `pack_pos` int(11) NOT NULL DEFAULT '0' COMMENT '上位机需要获取的pack组位置'," +
                "  `monomer_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '单体电池数量'," +
                "  `mon_vol_alm1` int(11) NOT NULL DEFAULT '0' COMMENT '单体1电压告警'," +
                "  `mon_vol_alm2` int(11) NOT NULL DEFAULT '0' COMMENT '单体2电压告警'," +
                "  `mon_vol_alm3` int(11) NOT NULL DEFAULT '0' COMMENT '单体3电压告警'," +
                "  `mon_vol_alm4` int(11) NOT NULL DEFAULT '0' COMMENT '单体4电压告警'," +
                "  `mon_vol_alm5` int(11) NOT NULL DEFAULT '0' COMMENT '单体5电压告警'," +
                "  `mon_vol_alm6` int(11) NOT NULL DEFAULT '0' COMMENT '单体6电压告警'," +
                "  `mon_vol_alm7` int(11) NOT NULL DEFAULT '0' COMMENT '单体7电压告警'," +
                "  `mon_vol_alm8` int(11) NOT NULL DEFAULT '0' COMMENT '单体8电压告警'," +
                "  `mon_vol_alm9` int(11) NOT NULL DEFAULT '0' COMMENT '单体9电压告警'," +
                "  `mon_vol_alm10` int(11) NOT NULL DEFAULT '0' COMMENT '单体10电压告警'," +
                "  `mon_vol_alm11` int(11) NOT NULL DEFAULT '0' COMMENT '单体11电压告警'," +
                "  `mon_vol_alm12` int(11) NOT NULL DEFAULT '0' COMMENT '单体12电压告警'," +
                "  `mon_vol_alm13` int(11) NOT NULL DEFAULT '0' COMMENT '单体13电压告警'," +
                "  `mon_vol_alm14` int(11) NOT NULL DEFAULT '0' COMMENT '单体14电压告警'," +
                "  `mon_vol_alm15` int(11) NOT NULL DEFAULT '0' COMMENT '单体15电压告警'," +
                "  `mon_vol_alm16` int(11) NOT NULL DEFAULT '0' COMMENT '单体16电压告警'," +
                "  `temp_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '电芯温度数量'," +
                "  `mon_tmp_alm1` int(11) NOT NULL DEFAULT '0' COMMENT '单体1电芯温度告警'," +
                "  `mon_tmp_alm2` int(11) NOT NULL DEFAULT '0' COMMENT '单体2电芯温度告警'," +
                "  `mon_tmp_alm3` int(11) NOT NULL DEFAULT '0' COMMENT '单体3电芯温度告警'," +
                "  `mon_tmp_alm4` int(11) NOT NULL DEFAULT '0' COMMENT '单体4电芯温度告警'," +
                "  `env_temp_alm` int(11) NOT NULL DEFAULT '0' COMMENT '环境温度'," +
                "  `mos_temp_alm` int(11) NOT NULL DEFAULT '0' COMMENT 'MOS管温度'," +
                "  `current_alm` int(11) NOT NULL DEFAULT '0' COMMENT '电流'," +
                "  `sum_vol_alm` int(11) NOT NULL DEFAULT '0' COMMENT '总压'," +
                "  `user_def_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '自定义告警数量'," +
                "  `junheng_event_code` int(11) NOT NULL DEFAULT '0' COMMENT '均衡事件代码'," +
                "  `vol_event_code` int(11) NOT NULL DEFAULT '0' COMMENT '电压事件代码'," +
                "  `temp_event_code` int(11) NOT NULL DEFAULT '0' COMMENT '温度事件代码'," +
                "  `curr_event_code` int(11) NOT NULL DEFAULT '0' COMMENT '电流事件代码'," +
                "  `rest_cap_alm` int(11) NOT NULL DEFAULT '0' COMMENT '剩余容量告警'," +
                "  `fet_state_code` int(11) NOT NULL DEFAULT '0' COMMENT 'FET状态代码'," +
                "  `junheng_state_code` int(11) NOT NULL DEFAULT '0' COMMENT '均衡状态代码'," +
                "  `sys_state_code` int(11) NOT NULL DEFAULT '0' COMMENT '系统状态代码'," +
                "  PRIMARY KEY (`num`)," +
                "  KEY `idx_dev_id` (`dev_id`) USING BTREE" +
                ") ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            if(true == recreate) {
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *
     * @Title: createTb_li9130_bms_state
     * @Description: 创建锂电池BMS模拟量表
     * @param pool
     * @param recreate
     * @author author
     * @date 2021年9月14日
     */
    private static void createTb_li9130_bms_state(MysqlConnPool pool, boolean recreate) {
        String sql_str01 = " DROP TABLE IF EXISTS "+Sql_Mysql.Tb_li9130_bms_state;
        String sql_str02 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_li9130_bms_state + " (" +
                "`num` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," +
                "  `dev_id` int(11) NOT NULL DEFAULT '0' COMMENT '设备ID'," +
                "  `bms_idx` int(11) NOT NULL DEFAULT '0' COMMENT '信息索引'," +
                "  `op_cmd` int(11) NOT NULL DEFAULT '0' COMMENT '控制'," +
                "  `data_flag` int(11) NOT NULL DEFAULT '0'," +
                "  `pack_pos` int(11) NOT NULL DEFAULT '0' COMMENT '上位机需要获取的pack组位置'," +
                "  `monomer_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '单体电池数量'," +
                "  `mon_vol1` float NOT NULL DEFAULT '0' COMMENT '单体1电压'," +
                "  `mon_vol2` float NOT NULL DEFAULT '0' COMMENT '单体2电压'," +
                "  `mon_vol3` float NOT NULL DEFAULT '0' COMMENT '单体3电压'," +
                "  `mon_vol4` float NOT NULL DEFAULT '0' COMMENT '单体4电压'," +
                "  `mon_vol5` float NOT NULL DEFAULT '0' COMMENT '单体5电压'," +
                "  `mon_vol6` float NOT NULL DEFAULT '0' COMMENT '单体6电压'," +
                "  `mon_vol7` float NOT NULL DEFAULT '0' COMMENT '单体7电压'," +
                "  `mon_vol8` float NOT NULL DEFAULT '0' COMMENT '单体8电压'," +
                "  `mon_vol9` float NOT NULL DEFAULT '0' COMMENT '单体9电压'," +
                "  `mon_vol10` float NOT NULL DEFAULT '0' COMMENT '单体10电压'," +
                "  `mon_vol11` float NOT NULL DEFAULT '0' COMMENT '单体11电压'," +
                "  `mon_vol12` float NOT NULL DEFAULT '0' COMMENT '单体12电压'," +
                "  `mon_vol13` float NOT NULL DEFAULT '0' COMMENT '单体13电压'," +
                "  `mon_vol14` float NOT NULL DEFAULT '0' COMMENT '单体14电压'," +
                "  `mon_vol15` float NOT NULL DEFAULT '0' COMMENT '单体15电压'," +
                "  `mon_vol16` float NOT NULL DEFAULT '0' COMMENT '单体16电压'," +
                "  `tmp_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '电芯温度数量'," +
                "  `mon_tmp1` float NOT NULL DEFAULT '0' COMMENT '电芯1温度'," +
                "  `mon_tmp2` float NOT NULL DEFAULT '0' COMMENT '电芯2温度'," +
                "  `mon_tmp3` float NOT NULL DEFAULT '0' COMMENT '电芯3温度'," +
                "  `mon_tmp4` float NOT NULL DEFAULT '0' COMMENT '电芯4温度'," +
                "  `env_temp` int(11) NOT NULL DEFAULT '0' COMMENT '环境温度'," +
                "  `mos_temp` int(11) NOT NULL DEFAULT '0' COMMENT 'MOS管温度'," +
                "  `current` int(11) NOT NULL DEFAULT '0' COMMENT '电流'," +
                "  `sum_vol` int(11) NOT NULL DEFAULT '0' COMMENT '总压'," +
                "  `rest_cap` int(11) NOT NULL DEFAULT '0' COMMENT '剩余容量'," +
                "  `sum_cap` int(11) NOT NULL DEFAULT '0' COMMENT '总容量'," +
                "  `cycle_times` int(11) NOT NULL DEFAULT '0' COMMENT '电池循环次数'," +
                "  `user_def_cnt` int(11) NOT NULL DEFAULT '0' COMMENT '自定义遥测数量'," +
                "  PRIMARY KEY (`num`)," +
                "  KEY `idx_dev_id` (`dev_id`) USING BTREE" +
                ") ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            if(true == recreate) {
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *
     * @Title: createTb_li9130_dcdc_data
     * @Description: 创建双向DCDC内部数据表
     * @param pool
     * @param recreate
     * @author author
     * @date 2021年9月14日
     */
    private static void createTb_li9130_dcdc_data(MysqlConnPool pool, boolean recreate) {
        String sql_str01 = " DROP TABLE IF EXISTS "+Sql_Mysql.Tb_li9130_dcdc_data;
        String sql_str02 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_li9130_dcdc_data + " (" +
                "  `num` bigint(20) NOT NULL AUTO_INCREMENT," +
                "  `op_cmd` int(11) NOT NULL DEFAULT '0' COMMENT '命令控制'," +
                "  `dev_id` int(11) NOT NULL DEFAULT '0' COMMENT '设备id'," +
                "  `dcdc_index` int(11) NOT NULL DEFAULT '0' COMMENT 'dcdec模块索引[每种锂电BTS带4个dcdc模块信息]'," +
                "  `powerState` int(11) NOT NULL DEFAULT '0' COMMENT '电源状态:0-停止;1-正常输出;2/3/4/5-异常保护'," +
                "  `imuxian` float NOT NULL DEFAULT '0' COMMENT '电源(母线)端电流'," +
                "  `vmuxian` float NOT NULL DEFAULT '0' COMMENT '电源(母线)端电压'," +
                "  `ibatt` float NOT NULL DEFAULT '0' COMMENT '电池端电流'," +
                "  `vbatt` float NOT NULL DEFAULT '0' COMMENT '电流端电压'," +
                "  `currState` int(11) NOT NULL DEFAULT '0' COMMENT '电流状态:0-母线对电池充电;1-电池对母线放电'," +
                "  `version` float NOT NULL DEFAULT '0' COMMENT '版本号'," +
                "  `setChgVol` float NOT NULL DEFAULT '0' COMMENT '充电电压设置'," +
                "  `setChgCurr` float NOT NULL DEFAULT '0' COMMENT '充电电流设置'," +
                "  `setChgStopCurr` float NOT NULL DEFAULT '0' COMMENT '充电截止电流设置'," +
                "  `setReChgVol` float NOT NULL DEFAULT '0' COMMENT '电压跌落再次充电阀值设置'," +
                "  `setDisStartVol` float NOT NULL DEFAULT '0' COMMENT '母线放电电压阈值设置'," +
                "  `setDisVol` float NOT NULL DEFAULT '0' COMMENT '放电电压设置'," +
                "  `setDisCurr` float NOT NULL DEFAULT '0' COMMENT '放电电流设置'," +
                "  `setChgStartVol` float NOT NULL DEFAULT '0' COMMENT '电池充电电压阈值设置'," +
                "  `commTxCnt` int(11) NOT NULL DEFAULT '0' COMMENT '发送计数'," +
                "  `commRxCnt` int(11) NOT NULL DEFAULT '0' COMMENT '接收计数'," +
                "  PRIMARY KEY (`num`)" +
                ") ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            if(true == recreate) {
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *
     * @Title: createTb_li9130_dcdc_param
     * @Description: 创建双向DCDC工作参数表
     * @param pool
     * @param recreate
     * @author author
     * @date 2021年9月14日
     */
    private static void createTb_li9130_dcdc_param(MysqlConnPool pool, boolean recreate) {
        String sql_str01 = " DROP TABLE IF EXISTS "+Sql_Mysql.Tb_li9130_dcdc_param;
        String sql_str02 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_li9130_dcdc_param + " (" +
                "  `num` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," +
                "  `dev_id` int(11) NOT NULL DEFAULT '0' COMMENT '设备id'," +
                "  `op_cmd` int(11) NOT NULL DEFAULT '0' COMMENT '命令标识'," +
                "  `dev_type` int(11) NOT NULL DEFAULT '0' COMMENT '设备类型[0:锂电池;1铅酸电池]'," +
                "  `setChgVol` float NOT NULL DEFAULT '0' COMMENT '充电电压设置'," +
                "  `setChgCurr` int(11) NOT NULL DEFAULT '0' COMMENT '充电电流设置'," +
                "  `setChgStopCurr` float NOT NULL DEFAULT '0' COMMENT '充电截止电流设置'," +
                "  `setReChgVol` float NOT NULL DEFAULT '0' COMMENT '电压跌落再次充电阀值设置'," +
                "  `setDisStartVol` float NOT NULL DEFAULT '0' COMMENT '母线放电电压阀值设置'," +
                "  `setDisVol` float NOT NULL DEFAULT '0' COMMENT '放电电压设置'," +
                "  `setDisCurr` int(11) NOT NULL DEFAULT '0' COMMENT '放电电流设置'," +
                "  `setChgStartVol` float NOT NULL DEFAULT '0' COMMENT '电池充电电压阀值设置'," +
                "  `ifSaveToFlash` int(11) NOT NULL DEFAULT '0' COMMENT '是否写Flash[0:不写;1:写]'," +
                "  `setWorkMode` int(11) NOT NULL DEFAULT '0' COMMENT '工作模式[手动/自动]'," +
                "  PRIMARY KEY (`num`)," +
                "  UNIQUE KEY `idx_dev_id` (`dev_id`) USING BTREE" +
                ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            if(true == recreate) {
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java
@@ -148,7 +148,12 @@
    
    public final static String FBS9100s_stemnode_state_Table = DB_RamDB + ".`tb_fbs9100s_stemnode_state`";            //干节点状态表
    public final static String FBS9100s_buscouple_state_Table = DB_RamDB + ".`tb_fbs9100s_buscouple_state`";        //母联开关状态表
    public final static String Fgcd_filedownload_Table = DB_RamDB + ".`tb_fgcd_filedownload`";                        //FGCD充放电一体机控制
    public final static String Fgcd_filedownload_Table = DB_RamDB + ".`tb_fgcd_filedownload`";                        //双向DCDC工作参数
    public static final String Tb_li9130_dcdc_param = DB_RamDB + ".`tb_li9130_dcdc_param`";                            //双向DCDC内部数据
    public static final String Tb_li9130_dcdc_data = DB_RamDB + ".`tb_li9130_dcdc_data`";                            //锂电池BMS模拟量
    public static final String Tb_li9130_bms_state = DB_RamDB + ".`tb_li9130_bms_state`";                            //锂电池BMS告警量
    public static final String Tb_li9130_bms_alm = DB_RamDB + ".`tb_li9130_bms_alm`";
    
    
    /**************************** db_user数据库 ***************************************************/
@@ -275,7 +280,7 @@
    
    /***************************** db_fbo_testdata 数据库  ************************************/
    public final static String Fbotestdata_Inf_Table = DB_FBO_TESTDATA + ".`tb_fbotestdata_inf`";
    //--------------------------------------------------------------------------------------------//
    //--------------------------------------------------------------------------------------------//
    public Connection mysql_con;
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt
@@ -225,4 +225,33 @@
    1:db_user库新建表tb_user_work、tb_work_alarm,db_alarm数据库中新建表`tb_alarm_message`,修改`db_ram_db`.`tb_fbs9100_sysparam`表
    JunHeng_Enabled字段类型为float
    
V1.72 edit at date 2021-9-14
    一、双向DCDC工作参数
    op_cmd 字段控制含义:
    public static final int CMD_GetLiDCDCParam=0x8B;        //读取锂电DCDC参数
    public static final int CMD_GetLiDCDCParam_Ack    = 0x8D;    //读取锂电DCDC参数成功
    public static final int CMD_SetLiDCDCParam    =0x8C;        //设置锂电DCDC参数
    public static final int CMD_SetLiDCDCParam_Ack    = 0x8E;    //设置锂电DCDC参数成功
    dev_type读取和设置时的含义分别为[这2种类型参数字段含义一致]
    0------------>设置或读取锂电BTS双向DCDC工作参数
    1------------>设置或读取铅酸BTS双向DCDC工作参数
    数据库表:db_ram_db.tb_li9130_dcdc_param
    二、 双向DCDC内部数据
    op_cmd 字段控制含义:
    public static final int CMD_GetSXDCDCData    =    0x8F;    //读取双向DCDC内部数据
    public static final int CMD_GetSXDCDCData_Ack    = 0x92;    //读取双向DCDC内部数据成功
    每次返回4行数据目前最多有4个DCDC模块
    三、锂电池BMS模拟量
    op_cmd 字段控制含义:
    public static final int CMD_GetLiBMSData=    0x95;        //读取锂电池BMS模拟量
    public static final int CMD_GetLiBMSData_Ack =     0x93;    //读取锂电池BMS模拟量成功
    每次返回4行数据目前最多有4个BMS模拟量
    数据库表:db_ram_db.tb_li9130_bms_state
    四、锂电池BMS告警量
    op_cmd 字段控制含义:
    public static final int CMD_GetLiBMSState    =0x96;        //读取锂电池BMS告警量
    public static final int CMD_GetLiBMSState_Ack= 0x94;        //读取锂电池BMS告警量成功
    每次返回4行数据目前最多有4个BMS模拟告警量
    数据库表:db_ram_db.tb_li9130_bms_alm
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java
@@ -27,7 +27,7 @@
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static float m_VersionNum = (float) 1.71;
    public final static float m_VersionNum = (float) 1.72;
    public final static String m_Version = "Welcome To Use BTS DB BUILDER V" + m_VersionNum + " RC_20180908";
    /**************************************************************************/
    /**************************************************************************/