本公开涉及数据处理、can报文处理,尤其涉及一种用于储能的控制器局域网总线报文的处理方法及其装置。
背景技术:
1、控制器局域网总线(controller area network,can)具有高性能和可靠性,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。但是can的数据内容均为十六进制数据,可能会影响识别效率,相关技术中,can报文分析上位机系统,只能接收和发送can报文,例如在电池管理系统(bms)中常用到的电压和电流等信息,can通信报文需要使用计算器、协议文档等经过多次变换才能得到真实值。当数据快速变换时,一分钟的数据可能要用几小时甚至更长的时间才能分析完毕,效率低下。
2、储能ems也叫能量管理系统,大体包含了数据采集监控等功能。储能电池bms系统常用协议是can,由于can协议的特殊性,每帧报文的数据格式都不相同,各种设备的报文个数也不相同,因此,如何兼容不同的帧和不同的设备,降低开发需求,增加can数据解析的灵活性,快速的识别can报文内容,实现在线解析,已经成为重要的研究方向之一。
技术实现思路
1、本公开旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本公开的一个目的在于提出一种用于储能的控制器局域网总线报文的处理方法。
2、本公开的第二个目的在于提出一种用于储能的控制器局域网总线报文的处理装置。
3、本公开的第三个目的在于提出一种电子设备。
4、本公开的第四个目的在于提出一种非瞬时计算机可读存储介质。
5、本公开的第五个目的在于提出一种计算机程序产品。
6、为达上述目的,本公开第一方面实施例提出了一种用于储能的控制器局域网总线报文的处理方法,包括:
7、获取数据采集设备生成的控制器局域网总线can通讯协议点表,并获取预设的can帧定义表、can接收帧定义表、can发送帧定义表;
8、将can通讯协议点表分别配置到can帧定义表、can接收帧定义表、can发送帧定义表;
9、接收用于储能的第一can报文,并基于can帧定义表、can接收帧定义表、can发送帧定义表分别对第一can报文进行报文处理,获取第二can报文;
10、将第二can报文发送给预设终端设备。
11、在一些实施方式中,can报文包括can发送帧和can接收帧;
12、在一些实施方式中,can帧定义表用于定义任一参与can方式通信的远程终端rtu下的所有can帧,can帧包括can发送帧和can接收帧,can帧定义表的表结构具有的第一字段包括第一rtu号、第一帧报文标识id、第一帧序号、第一发送周期、第一帧类型。
13、在一些实施方式中,can接收帧定义表用于定义任一can接收帧中的任一数据,can接收帧定义表的表结构具有的第二字段包括第二rtu号、第二帧报文id、第一起始比特bit位、第一数据bit位长度、偏移量、第一转发系数、数据描述。
14、在一些实施方式中,can发送帧定义表用于定义任一can发送帧中的任一数据,can发送帧定义表的表结构具有的第三字段包括第三rtu号、第三帧报文id、第二起始bit位、第二数据bit位长度、转发数据rtu号、转发数据序号、数据类型、第二转发系数。
15、在一些实施方式中,数据类型包括遥测、遥信、固定值、循环数值、循环冗余校验crc8值、遥调。
16、在一些实施方式中,接收用于储能的第一can报文之后,还包括:
17、以can接收帧定义表的第一起始bit位作为can接收帧的全数据信息数组的索引下标,或,以can发送帧定义表的第二起始bit位作为can发送帧的全数据信息数组的索引下标,以初始化第一can报文的数据信息;
18、将rtu的can接收帧的全数据信息列表按帧序号frmno从小到大进行排序,生成can接收帧的采集序号。
19、在一些实施方式中,第一can报文中的任一数据段包括n个bit位,1≤n≤64,其中,任一can接收帧的全数据信息中最大包含64个can接收帧的基本数据,任一can发送帧的全数据信息中最大包含64个can发送帧的基本数据。
20、在一些实施方式中,接收用于储能的第一can报文之后,还包括:
21、从can接收帧中提取并解析第二帧报文id;
22、根据解析后的第二帧报文id查找can接收帧的全数据信息,并根据can接收帧进行赋值。
23、在一些实施方式中,将第二can报文发送给预设终端设备,包括:
24、对第二can报文的can发送帧进行遍历,确定当前遍历到的目标can发送帧;
25、根据目标can发送帧的发送周期与上次发送时间确定目标can发送帧是否达到当前发送时间;
26、对达到当前发送时间的第二can报文进行组帧,并将组帧后的第二can报文发送给预设终端设备。
27、为达上述目的,本公开第二方面实施例提出了一种用于储能的控制器局域网总线报文的处理装置,包括:
28、获取模块,用于获取数据采集设备生成的can通讯协议点表,并获取预设的can帧定义表、can接收帧定义表、can发送帧定义表;
29、配置模块,用于将can通讯协议点表分别配置到can帧定义表、can接收帧定义表、can发送帧定义表;
30、处理模块,用于接收用于储能的第一can报文,并基于can帧定义表、can接收帧定义表、can发送帧定义表分别对第一can报文进行报文处理,获取第二can报文;
31、发送模块,用于将第二can报文发送给预设终端设备。
32、在一些实施方式中,can报文包括can发送帧和can接收帧。
33、在一些实施方式中,can帧定义表用于定义任一参与can方式通信的远程终端rtu下的所有can帧,can帧包括can发送帧和can接收帧,can帧定义表的表结构具有的第一字段包括第一rtu号、第一帧报文标识id、第一帧序号、第一发送周期、第一帧类型。
34、在一些实施方式中,can接收帧定义表用于定义任一can接收帧中的任一数据,can接收帧定义表的表结构具有的第二字段包括第二rtu号、第二帧报文id、第一起始比特bit位、第一数据bit位长度、偏移量、第一转发系数、数据描述。
35、在一些实施方式中,can发送帧定义表用于定义任一can发送帧中的任一数据,can发送帧定义表的表结构具有的第三字段包括第三rtu号、第三帧报文id、第二起始bit位、第二数据bit位长度、转发数据rtu号、转发数据序号、数据类型、第二转发系数。
36、在一些实施方式中,数据类型包括遥测、遥信、固定值、循环数值、循环冗余校验crc8值、遥调。
37、在一些实施方式中,处理模块,还用于:
38、以can接收帧定义表的第一起始bit位作为can接收帧的全数据信息数组的索引下标,或,以can发送帧定义表的第二起始bit位作为can发送帧的全数据信息数组的索引下标,以初始化第一can报文的数据信息;
39、将rtu的can接收帧的全数据信息列表按帧序号frmno从小到大进行排序,生成can接收帧的采集序号。
40、在一些实施方式中,第一can报文中的任一数据段包括n个bit位,1≤n≤64,其中,任一can接收帧的全数据信息中最大包含64个can接收帧的基本数据,任一can发送帧的全数据信息中最大包含64个can发送帧的基本数据。
41、在一些实施方式中,处理模块,还用于:
42、从can接收帧中提取并解析第二帧报文id;
43、根据解析后的第二帧报文id查找can接收帧的全数据信息,并根据can接收帧进行赋值。
44、在一些实施方式中,将第二can报文发送给预设终端设备,包括:
45、对第二can报文的can发送帧进行遍历,确定当前遍历到的目标can发送帧;
46、根据目标can发送帧的发送周期与上次发送时间确定目标can发送帧是否达到当前发送时间;
47、对达到当前发送时间的第二can报文进行组帧,并将组帧后的第二can报文发送给预设终端设备。
48、为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:
49、至少一个处理器;以及
50、与至少一个处理器通信连接的存储器;其中,
51、存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例中提供的用于储能的控制器局域网总线报文的处理方法。
52、为达上述目的,本公开第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机指令,其中,计算机指令用于使计算机执行根据本公开第一方面实施例中提供的用于储能的控制器局域网总线报文的处理方法。
53、为达上述目的,本公开第五方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例中提供的用于储能的控制器局域网总线报文的处理方法。
54、本公开实施例中,将can通讯协议点表分别配置到can帧定义表、can接收帧定义表、can发送帧定义表;接收用于储能的第一can报文,并基于can帧定义表、can接收帧定义表、can发送帧定义表分别对第一can报文进行报文处理,获取第二can报文;将第二can报文发送给预设终端设备。本公开实施例通过定义can帧定义表、can接收帧定义表和can发送帧定义表的方式,将接收的can通讯报文标准格式化,数据解析速度快,解析效率高,可以快速解析can通信报文并能直观的输出解析数据,可以兼容不同的帧和不同的设备,降低开发需求,增加can数据解析的灵活性。