FBS9600通信程序,带了均衡电压版本
Administrator
2021-08-16 8c29d7514b6bc5c5c29e77a59726a51248744a0c
V1.102
1.为兼容老版本fuguang.war平台和fg.war平台的控制功能
14个文件已修改
1个文件已添加
123 ■■■■ 已修改文件
BattMonitor_FBS9600S/bin/.gitignore 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/battdata_rt/BattData_RT_Array.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/dev/fbs9009/MyModBusSocketThread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_ComBase.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_SocketClient_Thread.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_SocketClient_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/com/version_inf/version_inf.txt 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/main/main_MonitorServer_FBS9600S.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/com/battdata_rt/BattData_RT_Array.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_ComBase.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_SocketClient_Thread.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_SocketClient_Thread_SQL.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/com/version_inf/version_inf.txt 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/src/main/main_MonitorServer_FBS9600S.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600S/bin/.gitignore
New file
@@ -0,0 +1,2 @@
/com/
/main/
BattMonitor_FBS9600S/bin/com/battdata_rt/BattData_RT_Array.class
Binary files differ
BattMonitor_FBS9600S/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class
Binary files differ
BattMonitor_FBS9600S/bin/com/dev/fbs9009/MyModBusSocketThread_SQL.class
Binary files differ
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_ComBase.class
Binary files differ
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_SocketClient_Thread.class
Binary files differ
BattMonitor_FBS9600S/bin/com/dev/fbs9600s/FBS9600S_SocketClient_Thread_SQL.class
Binary files differ
BattMonitor_FBS9600S/bin/com/version_inf/version_inf.txt
@@ -1,2 +1,7 @@
FBS9600设备通信程序
V1.101
    当前版本为直接与FBS通讯程序,目前协议中只添加了单体数据读取和内阻测试控制以及单体内阻数据记录等等
    当前版本为直接与FBS通讯程序,目前协议中只添加了单体数据读取和内阻测试控制以及单体内阻数据记录等等
V1.102
    1.为兼容老版本fuguang.war平台和fg.war平台的控制功能
BattMonitor_FBS9600S/bin/main/main_MonitorServer_FBS9600S.class
Binary files differ
BattMonitor_FBS9600S/src/com/battdata_rt/BattData_RT_Array.java
@@ -106,7 +106,7 @@
                    + " FBSDeviceId,FBSDeviceIp,FBSDeviceName,GroupIndexInFBSDevice,"
                    + " BattGroupId,BattGroupNum,MonCount,BattFloatCurrent,FloatVolLevel,MonCapStd,MonVolStd"
                    + " FROM " + Sql_Mysql.BattInf_Table
                    + " WHERE FLOOR(FBSDeviceId/100000)=9611"
                    + " WHERE FLOOR(FBSDeviceId/10000000)=96"
                    + " ORDER BY BattGroupId ASC";
            
            res = sql.sqlMysqlQuery(sql_str);
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_ComBase.java
@@ -53,10 +53,16 @@
    public static final int     CMD_ResetSystemAck                =     0x0F;        //重启成功15
    public static final int     CMD_ResetSystem                    =     0x10;        //重启设备16
    
    /**
     *     老版本的平台只需要将 fbs9100_state表中op_cmd设置为1即为启动内阻测试
     */
    public static final int       CMD_StartResTestAck                =     0x00;        //启动内阻成功
    public static final int       CMD_StartResTest                =     0x01;        //启动内阻
    
    public static final int       CMD_StartResTestNewAck            =     0x52;        //启动内阻成功
    public static final int       CMD_StartResTestNew                =     0x51;        //启动内阻
    public static final int       CMD_SetJunHeng                    =     0xC1;        //设置均衡
    public static final int       CMD_SetJunHengAck                =     0xC2;        //设置均衡成功
    
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_SocketClient_Thread.java
@@ -127,31 +127,36 @@
                        monCount = 0;
                    }
                }
                FBS9600S_SystemState devState = FBS9600S_SocketClient_Thread_SQL.queryFBS9600SSysCmd(pool, systemState.dev_id);
                FBS9600S_SystemState devState = FBS9600S_SocketClient_Thread_SQL.queryFBS9100SSysCmd(pool, systemState.dev_id);
                if(devState.op_cmd >0) {
                    if(devState.op_cmd == FBS9600S_ComBase.CMD_StartResTest) {
                        //启动内阻测试
                        m_cmd = new FBS9600S_Cmd(FBS9600S_ComBase.CMD_SINGL_WRITE_MODBUS, FBS9600S_ComBase.CMD_StartResTest_Addr, FBS9600S_ComBase.CMD_ControlRegCount);
                        if(SocketComm(m_cmd, m_cmd.createByteBuffer(m_cmd.reg_count))) {
                            devState.op_cmd = FBS9600S_ComBase.CMD_StartResTestAck;
                        }else {
                            devState.op_cmd = FBS9600S_ComBase.DataType_Null;
                        }
                        devState.op_cmd = FBS9600S_ComBase.DataType_Null;
                    }
                    if(devState.op_cmd == FBS9600S_ComBase.CMD_ResetSystem) {
                        //重启系统
                        m_cmd = new FBS9600S_Cmd(FBS9600S_ComBase.CMD_SINGL_WRITE_MODBUS, FBS9600S_ComBase.CMD_SystemReStart_Addr, FBS9600S_ComBase.CMD_ControlRegCount);
                        if(SocketComm(m_cmd, m_cmd.createByteBuffer(m_cmd.reg_count))) {
                            devState.op_cmd = FBS9600S_ComBase.CMD_ResetSystemAck;
                        }else {
                            devState.op_cmd = FBS9600S_ComBase.DataType_Null;
                        }
                        devState.op_cmd = FBS9600S_ComBase.DataType_Null;
                    }
                                        
                    FBS9600S_SocketClient_Thread_SQL.updateFbs9100StateCmdBydev_id(pool, devState);
                }
                
                
                FBS9600S_SystemState param = FBS9600S_SocketClient_Thread_SQL.queryFBS9600SSetParam(pool, systemState.dev_id);
                if(param.op_cmd == FBS9600S_ComBase.CMD_GetJunHeng || param.op_cmd == FBS9600S_ComBase.CMD_SetJunHeng) {
                FBS9600S_SystemState param = FBS9600S_SocketClient_Thread_SQL.queryFBS9100SSetParam(pool, systemState.dev_id);
                if(param.op_cmd == FBS9600S_ComBase.CMD_GetJunHeng
                        || param.op_cmd == FBS9600S_ComBase.CMD_SetJunHeng
                        || param.op_cmd == FBS9600S_ComBase.CMD_ResetSystem
                ) {
                    //设置均衡功能
                    //System.out.println("读取均衡");
                    if(param.op_cmd == FBS9600S_ComBase.CMD_GetJunHeng) {
@@ -170,9 +175,34 @@
                            param.op_cmd = FBS9600S_ComBase.CMD_SetJunHengAck;
                        }
                    }
                    //2021-08-16 lijun 新增兼容新版本平台,重启功能,但是发送命令后设备没返回,默认设置重启成功
                    if(param.op_cmd == FBS9600S_ComBase.CMD_ResetSystem) {
                        //重启系统
                        m_cmd = new FBS9600S_Cmd(FBS9600S_ComBase.CMD_SINGL_WRITE_MODBUS, FBS9600S_ComBase.CMD_SystemReStart_Addr, FBS9600S_ComBase.CMD_ControlRegCount);
                        if(SocketComm(m_cmd, m_cmd.createByteBuffer(m_cmd.reg_count))) {
                            param.op_cmd = FBS9600S_ComBase.CMD_ResetSystemAck;
                            //System.out.println("重启FBS成功");
                        }
                        param.op_cmd = FBS9600S_ComBase.CMD_ResetSystemAck;
                    }
                    FBS9600S_SocketClient_Thread_SQL.updateFbs9100SetParamCmdBydev_id(pool, param);                
                }
                
                FBS9600S_SystemState temp = FBS9600S_SocketClient_Thread_SQL.queryFbs9600StateCmdBydev_id(pool, systemState.dev_id);
                if(temp.op_cmd == FBS9600S_ComBase.CMD_StartResTestNew) {
                    //启动内阻测试
                    m_cmd = new FBS9600S_Cmd(FBS9600S_ComBase.CMD_SINGL_WRITE_MODBUS, FBS9600S_ComBase.CMD_StartResTest_Addr, FBS9600S_ComBase.CMD_ControlRegCount);
                    if(SocketComm(m_cmd, m_cmd.createByteBuffer(m_cmd.reg_count))) {
                        temp.op_cmd = FBS9600S_ComBase.CMD_StartResTestNewAck;
                        System.out.println("启动内阻测试成功");
                    }else {
                        temp.op_cmd = FBS9600S_ComBase.DataType_Null;
                    }
                    FBS9600S_SocketClient_Thread_SQL.updateFbs9600StateCmdBydev_id(pool, temp);
                }
                //System.out.println("$$$$$$$$$$$$$$$");
                FBS9600S_SocketClient_Thread_SQL.UpdateFBS9600StateByDev_id(pool, systemState);
                
@@ -234,7 +264,7 @@
                byte[] cipher_tx_t = makeCommBuf(data, bf, false);
                //=====================================================================//
                Date d1 = new Date();
                System.out.println("发送数据:"+ComFn.bytesToHexString(cipher_tx_t, cipher_tx_t.length)+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
                //System.out.println("发送数据:"+ComFn.bytesToHexString(cipher_tx_t, cipher_tx_t.length)+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
                int rx_read_time_out = 0; 
                out.write(cipher_tx_t);
                out.flush();
BattMonitor_FBS9600S/src/com/dev/fbs9600s/FBS9600S_SocketClient_Thread_SQL.java
@@ -82,7 +82,7 @@
     * @param dev_id
     * @return
     */
    public static FBS9600S_SystemState queryFBS9600SSysCmd(MysqlConnPool pool,int dev_id) {
    public static FBS9600S_SystemState queryFBS9100SSysCmd(MysqlConnPool pool,int dev_id) {
        FBS9600S_SystemState state = new FBS9600S_SystemState("", dev_id);
        String sql_str = "SELECT * from db_ram_db.tb_fbs9100_state WHERE dev_id = "+dev_id;
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
@@ -120,6 +120,55 @@
        }
    }
    
    /**
     *     查询9600State
     * @param con_pool
     * @param sysState
     */
    public static FBS9600S_SystemState queryFbs9600StateCmdBydev_id(MysqlConnPool con_pool, int dev_id)
    {
        FBS9600S_SystemState sys = new FBS9600S_SystemState("", dev_id);
        String sql_str = " select * from " + Sql_Mysql.FBS9600State_Table + " "
                       + " where dev_id= " + dev_id;
        Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
        ResultSet res = null;
        try {
            res = sql.sqlMysqlQuery(sql_str);
            if(res.next()) {
                sys.op_cmd = res.getInt("op_cmd");
            }
        } catch (SQLException e) {
            //e.printStackTrace();
        } finally {
            if(null != res) {
                 try {
                    res.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            sql.close_con();
        }
        return sys;
    }
    public static void updateFbs9600StateCmdBydev_id(MysqlConnPool con_pool, FBS9600S_SystemState sysState)
    {
        String sql_str_base = Sql_Mysql.FBS9600State_Table + " SET "
                            + "dev_id=" + sysState.dev_id + ", "
                            + "op_cmd=" + sysState.op_cmd;
        String sql_str_update = "UPDATE " + sql_str_base + " WHERE dev_id = " + sysState.dev_id;
        //String sql_str_replace = "REPLACE INTO " + sql_str_base;
        Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
        try {
            sql.sqlMysqlExecute(sql_str_update);
        } catch (SQLException e) {
            //e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    
    /**
     * 根据获取当前设备的命令
@@ -127,7 +176,7 @@
     * @param dev_id
     * @return
     */
    public static FBS9600S_SystemState queryFBS9600SSetParam(MysqlConnPool pool,int dev_id) {
    public static FBS9600S_SystemState queryFBS9100SSetParam(MysqlConnPool pool,int dev_id) {
        FBS9600S_SystemState state = new FBS9600S_SystemState("", dev_id);
        String sql_str = "SELECT * from db_ram_db.tb_fbs9100_setparam WHERE dev_id = "+dev_id;
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
BattMonitor_FBS9600S/src/com/version_inf/version_inf.txt
@@ -1,2 +1,7 @@
FBS9600设备通信程序
V1.101
    当前版本为直接与FBS通讯程序,目前协议中只添加了单体数据读取和内阻测试控制以及单体内阻数据记录等等
    当前版本为直接与FBS通讯程序,目前协议中只添加了单体数据读取和内阻测试控制以及单体内阻数据记录等等
V1.102
    1.为兼容老版本fuguang.war平台和fg.war平台的控制功能
BattMonitor_FBS9600S/src/main/main_MonitorServer_FBS9600S.java
@@ -27,7 +27,7 @@
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static double m_VersionNum = 1.101;
    public final static double m_VersionNum = 1.102;
    public final static String m_Version = "Welcome To Use main_MonitorServer_FBS9600S V" 
                                            + m_VersionNum + " RC_20180314";
    /**************************************************************************/