CN113067821A - 基于单个或多个dbc文件的can报文的解析方法 - Google Patents

基于单个或多个dbc文件的can报文的解析方法 Download PDF

Info

Publication number
CN113067821A
CN113067821A CN202110299499.0A CN202110299499A CN113067821A CN 113067821 A CN113067821 A CN 113067821A CN 202110299499 A CN202110299499 A CN 202110299499A CN 113067821 A CN113067821 A CN 113067821A
Authority
CN
China
Prior art keywords
data frame
dbc
message
data
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110299499.0A
Other languages
English (en)
Inventor
桑红燕
张溆金
田存伟
郭恒伟
王萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaocheng University
Original Assignee
Liaocheng University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Liaocheng University filed Critical Liaocheng University
Priority to CN202110299499.0A priority Critical patent/CN113067821A/zh
Publication of CN113067821A publication Critical patent/CN113067821A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

基于单个或多个DBC文件的CAN报文的解析方法,涉及CAN报文解析技术领域,特别是属于一种基于单个或多个DBC文件的CAN报文的解析方法。包括以下步骤:s1:将所需的CAN报文文件、DBC文件读取到开发平台;s2:读取CAN报文的第i行数据帧,并记录CAN报文的数据帧ID信息;s3:读取第j个DBC文件的数据帧ID信息;s4:判断当前DBC文件是否为当前数据帧的通信格式。本方法可以忽略对于多种DBC文件进行手动查找录入的过程,减少人为因素带来的时间成本。本发明通过针对DBC文件库的检索,对CAN报文进行逐条解析,极大程度上冗余了各种DBC文件,并节省了查找对应DBC文件的时间。

Description

基于单个或多个DBC文件的CAN报文的解析方法
技术领域
本发明涉及CAN报文解析技术领域,特别是属于一种基于单个或多个DBC 文件的CAN报文的解析方法。
背景技术
随着整车控制器在汽车上的应用越来越广泛,CAN总线在车上的使用也越来越多。当前的汽车生产厂家,多数整车控制器都是从厂商处购进,不具备具体技术。在汽车发生故障时,能否快速的针对CAN总线读取的报文进行解析,对于快速找到故障点起着至关重要的作用。
目前,汽车生产商针对不同的车型有不同的DBC传输协议,大大增加了CAN 报文解析的难度,这样,对于汽车的故障点排查就造成了巨大困难。另外,现有市面上的解析工具多是针对单DBC文件来解析CAN报文,对于多DBC协议的 CAN报文解析需要多次执行,解析效率较低,过程繁琐。
发明内容
本发明的目的即在于提供一种基于单个或多个DBC文件的CAN报文的解析方法,以达到能够对基于不同DBC传输协议的CAN报文进行读取,并将读取到数据帧解析为简单直观的文本数据进行显示的目的。
本发明所提供的基于单个或多个DBC文件的CAN报文的解析方法,其特征在于,包括以下步骤:
s1:将所需的CAN报文文件、DBC文件读取到开发平台;
s2:读取CAN报文的第i行数据帧,并记录CAN报文的数据帧ID信息,并将CAN报文的数据帧ID转换为字符串格式,当i>M时,解析结束;其中,i定义为当前CAN报文的数据帧的行数,M为当前CAN报文数据帧的最大行数;
s3:读取第j个DBC文件的数据帧ID信息,并将DBC的数据帧ID转换为字符串格式,当j>N时,定义j=1,i=i+1,返回步骤s2;其中,j定义为当前调用DBC文件的顺序,N为当前所有的DBC文件的个数,
s4:判断当前DBC文件是否为当前数据帧的通信格式,包括以下事件处理机制:
事件a:DBC的数据帧ID信息与当前CAN报文的数据帧ID相同,记录当前DBC的数据帧ID的数据量的名称、起始位、数据长度、高低位设置、增益和偏移量等赋值到对应变量,写入Excel中,作为对应解析所得数据的表头;当前CAN报文根据读取当前DBC的数据帧ID进行对应信息检索,检索出的目标数据帧通过数据解析计算,将CAN报文解析为直观读取的实际值,对应设定的表头存入Excel中对应的数据分类下,保存Excel,此时,定义j=1,i=i+1,返回步骤s2;
事件b:DBC的数据帧ID信息与当前CAN报文的数据帧ID不同,此时,定义j=j+1,返回步骤s3。
进一步的,在事件a中,上述数据解析计算过程如下:
1)调用检索出的目标数据帧中信号变量的起始位和数据长度,并读取信号变量的数据帧;
2)判断信号变量数据帧的高低位是否高位在前,是则进行十位制转换,否则进行高低位互换;
3)判断是否有偏移量,根据偏移量还原数据;
4)判断是否有增益,根据增益还原数据;
5)得到CAN报文所对应的可直观读取的实际值。
进一步的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的基于单个或多个DBC文件的 CAN报文的解析方法的步骤。
本发明所提供的基于单个或多个DBC文件的CAN报文的解析方法,通过对应的DBC格式的协议与含有此协议的CAN报文,可直接解析出所需的数据信息并存入Excel中,从而将CAN报文解析为可以直观读取的实际值。本方法可以忽略对于多种DBC文件进行手动查找录入的过程,减少人为因素带来的时间成本。本发明通过针对DBC文件库的检索,对CAN报文进行逐条解析,极大程度上冗余了各种DBC文件,并节省了查找对应DBC文件的时间。对于CAN 总线同时包含多个DBC协议,向多个目标传输数据,本发明可以在只进行依次操作的情况下,就能够将所有需要的数据帧全部解析。另外,本发明可以根据实际工作的要求,随时修改DBC文件库,可以有目的的解析所需数据帧。综上所述,本发明具有提高CAN报文解析效率的积极效果。
附图说明
图1为本发明的算法流程图;
图2为本发明的数据解析计算的算法流程图;
图3为本发明解析所得的数据量信息示意图;
图4-5为本发明生成information.xls的Excel文件的部分内容示意图。
具体实施方式
如图1-2所示,本发明所提供的基于单个或多个DBC文件的CAN报文的解析方法,具体实现过程如下:
s1:将所需的CAN报文文件、DBC文件读取到开发平台;
s2:读取CAN报文的第i行数据帧,并记录CAN报文的数据帧ID信息,并将 CAN报文的数据帧ID转换为字符串格式,当i>M时,解析结束;其中,i定义为当前CAN报文的数据帧的行数,i≤M,M为当前CAN报文数据帧的最大行数;
s3:读取第j个DBC文件的数据帧ID信息,并将DBC的数据帧ID转换为字符串格式,当j>N时,定义j=1,i=i+1,返回步骤s2;其中,j定义为当前调用DBC文件的顺序,且j≤N,N为当前所有的DBC文件的个数, s4:判断当前DBC文件是否为当前数据帧的通信格式,包括以下事件处理机制:
事件a:DBC的数据帧ID信息与当前CAN报文的数据帧ID相同,记录当前DBC的数据帧ID的数据量的名称、起始位、数据长度、高低位设置、增益和偏移量等赋值到对应变量,写入Excel中,作为对应解析所得数据的表头;当前CAN报文根据读取当前DBC的数据帧ID进行对应信息检索,检索出的目标数据帧通过数据解析计算,将CAN报文解析为直观读取的实际值,对应设定的表头存入Excel中对应的数据分类下,保存Excel,此时,定义j=1,i=i+1,返回步骤s2。事件b:DBC的数据帧ID信息与当前CAN报文的数据帧ID不同,此时,定义j=j+1,返回步骤s3。其中,在事件a中,上述数据解析计算主要通过如下过程实现:
1)调用检索出的目标数据帧中信号变量的起始位和数据长度,并读取信号变量的数据帧;
2)判断信号变量数据帧的高低位是否高位在前,是则进行十位制转换,否则进行高低位互换;
3)判断是否有偏移量,根据偏移量还原数据;
4)判断是否有增益,根据增益还原数据;
5)得到CAN报文所对应的可直观读取的实际值。
下面,通过一个具体的例子,对本发明的上述数据解析计算过程做进一步的描述说明。
DBC文件中,BO开头为对应CAN报文的数据帧ID,本实例中的对应CAN 报文ID设置如下:
“BO_2350847233VCU发给BMS:8VCU”
根据DBC协议ID的生成过程,我们可反推出此DBC对应的CAN报文ID 为0x0cef7d03。
以下为数据帧实例中的一条实际读取的帧ID为0x0cef7d03的一个数据帧:
Figure RE-GDA0003056208640000051
现选取DBC中电池最高单体电压作为验证实例,电池最高单体电压的DBC 通信设定如下:“SG_电池最高单体电压_W:24|16@1+(0.001,0)[0|0]"" Vector__XXX”
从上述设定,我们可以看出:电池最高单体电压信号的起始位为24,数据长度为16,高低位设置为1,增益为0.001,偏移量为0。根据数据帧的数据 0e 69 6f 93 0c 3f 660c,将其转换为2进制可得如下信息:
00001110 0110 1001 0110 1111 1001 0011 0000 1100 0011 1111 0110 01100000 1100
由电池最高单体电压信号的起始位为24,数据长度为16,我们可以看出 10010011 0000 1100为对应的数据位。由高低位设置为1,增益为0.001,偏移量为0,我们可知原数据是先增大1000倍,然后加0,按照先高位后低位的顺序生成的数据位,因此,我们可以得到对应的电池最高单体电压为37.644。
本发明还提供了一种计算机可读存储介质,作为解析工具。解析工具上存储有计算机程序,计算机程序被处理器执行时实现本发明的基于单个或多个 DBC文件的CAN报文的解析方法的步骤。以下,为基于本发明的方法对DBC 协议下的CAN报文解析验证。
将所需的DBC文件与CAN报文文件分别以test.dbc,test.xls命名,并与解析工具放在同一根目录下。执行解析工具,如图3所示,桌面会弹出解析所得的数据量信息,如图4-5所示,生成具有所需的数据信息的information.xls 的Excel文件,其中,本次解析CAN报文30000帧,生成实际可读数据31566 条。本次运行约5秒。

Claims (3)

1.一种基于单个或多个DBC文件的CAN报文的解析方法,其特征在于,包括以下步骤:
包括以下步骤:
s1:将所需的CAN报文文件、DBC文件读取到开发平台;
s2:读取CAN报文的第i行数据帧,并记录CAN报文的数据帧ID信息,并将CAN报文的数据帧ID转换为字符串格式,当i>M时,解析结束;其中,i为当前CAN报文的数据帧的行数,M为当前CAN报文数据帧的最大行数;
s3:读取第j个DBC文件的数据帧ID信息,并将DBC的数据帧ID转换为字符串格式,当j>N时,定义j=1,i=i+1,返回步骤s2;其中,j为当前调用DBC文件的顺序,N为当前所有的DBC文件的个数;
s4:判断当前DBC文件是否为当前数据帧的通信格式,包括以下事件处理机制:
事件a:DBC的数据帧ID信息与当前CAN报文的数据帧ID相同,记录当前DBC的数据帧ID的数据量的名称、起始位、数据长度、高低位设置、增益和偏移量等赋值到对应变量,写入Excel中,作为对应解析所得数据的表头;当前CAN报文根据读取当前DBC的数据帧ID进行对应信息检索,检索出的目标数据帧通过数据解析计算,将CAN报文解析为直观读取的实际值,对应设定的表头存入Excel中对应的数据分类下,保存Excel,此时,定义j=1,i=i+1,返回步骤s2;
事件b:DBC的数据帧ID信息与当前CAN报文的数据帧ID不同,此时,定义j=j+1,返回步骤s3。
2.根据权利要求1所述的基于单个或多个DBC文件的CAN报文的解析方法,其特征还在于,在事件a中,上述数据解析计算过程如下:
1)调用检索出的目标数据帧中信号变量的起始位和数据长度,并读取信号变量的数据帧;
2)判断信号变量数据帧的高低位是否高位在前,是则进行十位制转换,否则进行高低位互换;
3)判断是否有偏移量,根据偏移量还原数据;
4)判断是否有增益,根据增益还原数据;
5)得到CAN报文所对应的可直观读取的实际值。
3.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1-2中任意一项所述的基于单个或多个DBC文件的CAN报文的解析方法的步骤。
CN202110299499.0A 2021-03-22 2021-03-22 基于单个或多个dbc文件的can报文的解析方法 Pending CN113067821A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110299499.0A CN113067821A (zh) 2021-03-22 2021-03-22 基于单个或多个dbc文件的can报文的解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110299499.0A CN113067821A (zh) 2021-03-22 2021-03-22 基于单个或多个dbc文件的can报文的解析方法

Publications (1)

Publication Number Publication Date
CN113067821A true CN113067821A (zh) 2021-07-02

Family

ID=76563314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110299499.0A Pending CN113067821A (zh) 2021-03-22 2021-03-22 基于单个或多个dbc文件的can报文的解析方法

Country Status (1)

Country Link
CN (1) CN113067821A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390119A (zh) * 2021-12-28 2022-04-22 杭州鸿泉物联网技术股份有限公司 自适应多车型can数据自动解析方法及系统
CN114448744A (zh) * 2022-01-28 2022-05-06 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质
CN114979314A (zh) * 2022-06-30 2022-08-30 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备
CN114448744B (zh) * 2022-01-28 2024-05-03 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107132832A (zh) * 2016-02-29 2017-09-05 株洲南车时代电气股份有限公司 一种基于can通讯的dbc文件解析及其程序设计方法
CN107347101A (zh) * 2016-08-19 2017-11-14 武汉英泰斯特电子技术有限公司 一种车联网can数据采集方法
CN107992026A (zh) * 2017-12-13 2018-05-04 南京越博动力系统股份有限公司 一种基于labveiw的解析dbc分析报文的方法
CN108415408A (zh) * 2018-03-16 2018-08-17 宁波杉杉汽车有限公司 基于can通讯的汽车报文解析及故障诊断方法
CN108600192A (zh) * 2018-04-03 2018-09-28 南京越博动力系统股份有限公司 一种基于正则表达式的dbc文件解析及报文分析方法
CN110380842A (zh) * 2019-08-08 2019-10-25 北方工业大学 适用于智慧网联汽车的can总线报文签名方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107132832A (zh) * 2016-02-29 2017-09-05 株洲南车时代电气股份有限公司 一种基于can通讯的dbc文件解析及其程序设计方法
CN107347101A (zh) * 2016-08-19 2017-11-14 武汉英泰斯特电子技术有限公司 一种车联网can数据采集方法
CN107992026A (zh) * 2017-12-13 2018-05-04 南京越博动力系统股份有限公司 一种基于labveiw的解析dbc分析报文的方法
CN108415408A (zh) * 2018-03-16 2018-08-17 宁波杉杉汽车有限公司 基于can通讯的汽车报文解析及故障诊断方法
CN108600192A (zh) * 2018-04-03 2018-09-28 南京越博动力系统股份有限公司 一种基于正则表达式的dbc文件解析及报文分析方法
CN110380842A (zh) * 2019-08-08 2019-10-25 北方工业大学 适用于智慧网联汽车的can总线报文签名方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
花信风ZQ: "CAN报文DBC解析的编程方法说明", 《个人图书馆》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390119A (zh) * 2021-12-28 2022-04-22 杭州鸿泉物联网技术股份有限公司 自适应多车型can数据自动解析方法及系统
CN114448744A (zh) * 2022-01-28 2022-05-06 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质
CN114448744B (zh) * 2022-01-28 2024-05-03 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质
CN114979314A (zh) * 2022-06-30 2022-08-30 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备
CN114979314B (zh) * 2022-06-30 2023-04-25 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备

Similar Documents

Publication Publication Date Title
CN107273280B (zh) 一种日志处理方法、装置、电子设备和存储介质
CN107656520B (zh) Can总线数据解析方法及计算机可读存储介质
CN113067821A (zh) 基于单个或多个dbc文件的can报文的解析方法
US20210291843A1 (en) Method and apparatus for acquiring sample deviation data, and electronic device
CN111258290A (zh) 整车控制器自动化测试方法及系统
CN110769002A (zh) 基于LabVIEW的报文解析方法、系统、电子设备和介质
CN112416775A (zh) 基于人工智能的软件自动化测试方法、装置及电子设备
CN110569230A (zh) 数据库设计模型与设计文档互相转换方法、系统及设备
CN113010473B (zh) 一种编辑yaml文件的方法和设备
CN107679159B (zh) 故障诊断类问题答复的生成方法、装置、服务器及存储介质
CN109657127A (zh) 一种答案获取方法、装置、服务器及存储介质
CN113609008A (zh) 测试结果分析方法、装置和电子设备
CN111427917A (zh) 搜索数据处理方法及相关产品
CN108132783A (zh) 一种Web App的配置方法及装置
CN116629606A (zh) 一种基于电力数据的产业链预警方法、装置、设备及介质
CN107515720B (zh) 一种消息处理方法、介质、装置和计算设备
CN116226681A (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
CN110888920B (zh) 一种项目功能相似度的确定方法及装置
CN110853327B (zh) 一种基于单片机的船舶机舱设备数据现场调试采集方法及装置
CN114171107A (zh) 固态硬盘vpd信息的检测方法、装置、设备及存储介质
CN116450487B (zh) 一种ufs日志分析方法、装置、可读存储介质及电子设备
CN112162951A (zh) 一种信息检索方法、服务器及存储介质
CN110471961A (zh) 一种产品需求获取方法、装置、设备和存储介质
CN114124992B (zh) 整车域控制器的运行状态监控方法、装置、设备和系统
CN110609990B (zh) 一种基于人工智能的结构化数据文本编辑方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210702