本发明涉及通信,更具体的说是涉及一种基于modbus通信协议的bms串口数据传输方法。
背景技术:
1、传统的modbus通讯协议没有专门针对电池管理系统bms的数据定义,无法在modbus通信协议下实现bms端与服务器端(上位机)之间的通信,进而就无法实现modbus通信协议下对bms产品的远程数据传输、展示、配置和对电池运行状态的远程监控。
2、因此,如何提供一种modbus通讯协议下的bms串口数据传输方法是本领域技术人员亟需解决的问题。
技术实现思路
1、有鉴于此,本发明提供了一种基于modbus通信协议的bms串口数据传输方法,用于实现实现bms端与上位机之间在modbus通信协议下的数据传输,以及bms数据的展示和配置。
2、为了实现上述目的,本发明采用如下技术方案:
3、一种基于modbus通信协议的bms串口数据传输方法,包括以下步骤:
4、bms端根据modbus通讯协议判断是否响应上位机发送的请求,所述modbus通讯协议的约定波特率为9600位/秒,所述modbus通讯协议的数据位为8位,所述modbus通讯协议的停止位为1位,所述modbus通讯协议无奇偶校验位;
5、若响应上位机发送的请求,则解析请求并做出对应的响应动作。
6、进一步地,所述modbus通讯协议采用rtu模式。
7、进一步地,上位机发送的请求包括:
8、从机地址、功能码、寄存器地址、读取数据长度以及crc校验码;
9、所述从机地址与所述bms端相对应;
10、所述寄存器地址包括寄存器高位地址和寄存器低位地址。
11、进一步地,所述功能码包括,
12、用于读取单个或者多个寄存器数据的读寄存器功能码;用于写入单个寄存器数据的写寄存器功能码;
13、用于测试bms功能的测试模式功能码;
14、用于读取读取bms充放电flash缓存数据的读取充放电flash缓存数据功能码;
15、用于读取告警历史数据的读取警告历史数据功能码;
16、以及用于读取bms充放电运行数据的读取充放电运行数据功能码。
17、进一步地,所述寄存器地址由2个字节组成,包括只读、读写两种状态,且不同的寄存器地址对应不同的寄存器内容。
18、进一步地,所述不同的寄存器内容包括保护参数、保护延时参数、恢复参数以及bms系统参数。
19、进一步地,上位机发送的请求中,所述读取数据包括bms电压数据、bms电流数据、bms温度数据、充电状态数据、告警数据以及bms充放电运行数据。
20、进一步地,响应上位机发送的请求,解析请求具体包括以下步骤:
21、s21、bms端接收上位机发送的请求数据,获取所述请求数据的帧标识符进行解析;
22、s22、读取所述帧标识符对应的从机地址、功能码和寄存器地址;
23、s23、判断所述从机地址是否正确,若正确,则进入s24步骤;
24、s24、判断所述功能码是否正确,若正确,则进入s25步骤;
25、s25、判断所述寄存器地址是否正确,若正确,则进入s26步骤;
26、s26、所述bms端根据识别到的所述功能码,响应对应的读写操作。
27、经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于modbus通信协议的bms串口数据传输方法,具有以下有益效果:
28、本发明解决了modbus通讯协议下电池管理系统bms的数据通讯问题,扩展了modbus通讯协议的功能和应用场景。
29、基于发明可实现对电池运行状态以及历史状态数据传输,能更准确、更快速定位电池问题。
30、相对于传统的modbus通讯协议,本发明具备更丰富的功能指令,在安全性和应用场景上都有一定程度的提升。
1.一种基于modbus通信协议的bms串口数据传输方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,所述modbus通讯协议采用rtu模式。
3.根据权利要求1所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,上位机发送的请求包括:
4.根据权利要求3所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,所述功能码包括,
5.根据权利要求3所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,所述寄存器地址由2个字节组成,包括只读、读写两种状态,且不同的寄存器地址对应不同的寄存器内容。
6.根据权利要求5所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,所述不同的寄存器内容包括保护参数、保护延时参数、恢复参数以及bms系统参数。
7.根据权利要求3所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,上位机发送的请求中,所述读取数据包括bms电压数据、bms电流数据、bms温度数据、充电状态数据、告警数据以及bms充放电运行数据。
8.根据权利要求1所述的基于modbus通信协议的bms串口数据传输方法,其特征在于,响应上位机发送的请求,解析请求具体包括以下步骤: