CN108600192A - 一种基于正则表达式的dbc文件解析及报文分析方法 - Google Patents

一种基于正则表达式的dbc文件解析及报文分析方法 Download PDF

Info

Publication number
CN108600192A
CN108600192A CN201810289074.XA CN201810289074A CN108600192A CN 108600192 A CN108600192 A CN 108600192A CN 201810289074 A CN201810289074 A CN 201810289074A CN 108600192 A CN108600192 A CN 108600192A
Authority
CN
China
Prior art keywords
message
data
dbc
parsing
regular expression
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.)
Granted
Application number
CN201810289074.XA
Other languages
English (en)
Other versions
CN108600192B (zh
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.)
Nanjing Yuebo Power System Co Ltd
Original Assignee
Nanjing Yuebo Power System Co Ltd
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 Nanjing Yuebo Power System Co Ltd filed Critical Nanjing Yuebo Power System Co Ltd
Priority to CN201810289074.XA priority Critical patent/CN108600192B/zh
Publication of CN108600192A publication Critical patent/CN108600192A/zh
Application granted granted Critical
Publication of CN108600192B publication Critical patent/CN108600192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于正则表达式的DBC文件解析及报文分析方法,所述方法利用正则表达式匹配与替换的处理方法对DBC文件的内容进行解析,利用解析后的DBC数据对整车采集到的CAN报文进行分析,根据报文ID找到DBC文件中对应的CAN网络消息块以及包含的信号并通过其数据类型、起始位、位长度、偏移量、比例系数、解析类型得到实际数据,并且将数据存储在相应的文件中。本发明的优越效果是简单且拓展性强,不仅能够进行CAN报文解析,还能够进行XCP、CCP的协议的使用完成数据的采集和标定。

Description

一种基于正则表达式的DBC文件解析及报文分析方法
技术领域
本发明涉及一种基于正则表达式的DBC文件解析及报文分析方法,属于新能源汽车 CAN总线技术领域。
背景技术
目前,随着新能源汽车技术的发展,整车的功能越来越复杂,安全性要求也越来越高,所以越来越多的控制器被应用到整车上。为了实现不同控制器之间的实时通讯,CAN总线也被广泛应用。通过CAN网络,不同控制器的数据以ID作为区分发送到CAN总线上,控制器从总线上快速找到需要的数据,CAN总线具有仲裁、检验的功能,能够保证数据的准确性,是一种高可靠性、稳定性的现场总线。但是由于控制器之间的报文ID、总线数据都不相同,CAN网络上的数据量非常大,难以对CAN网络上的数据进行管理并快速提取需要的数据,由于不同控制器的厂家对CAN协议的理解不同,会导致对同一帧报文使用不同的解析方式,导致解析错误。
目前,传统的报文解析方式是通过人工进行提取,再进行计算,或是根据通讯协议编写相应的计算脚本,再在Excel表格中完成数据的计算,这种方式需要浪费大量人力和时间成本,而且很容易因为操作人员的错误操作和疏漏导致解析的数据错误,尤其是对于CAN网络数据样本非常大的情况下,操作难度也会随之增加。另外通过脚本的方式也不适用于多种不同车型间的数据解析,因为必须为每个通信协议编写不同的脚本,针对不同车型通讯协议的不同,应用不同的脚本,复杂度和难度都大,兼容性差,修改麻烦,并且不能够支持将数据反向解析,无法快速重新将数据组成CAN网络报文,应用具有局限性。
发明内容
本发明的目的在于提供一种能够克服上述技术问题的基于正则表达式的DBC文件解析及报文分析方法。
本发明所述方法能够使用数据处理软件的正则表达式对DBC文件进行解析并提取中DBC文件中的CAN网络消息和信号的结构,然后利用正则表达式匹配与替换的处理方法对DBC文件的内容进行解析,利用解析后的DBC数据(以下简称数据)对整车采集到的CAN报文进行分析,根据报文ID找到DBC文件中对应的CAN网络消息块以及包含的信号并通过其数据类型、起始位、位长度、偏移量、比例系数、解析类型得到实际数据,并且将数据存储在相应的文件中;解析后的DBC数据以下简称数据;具体包括以下步骤:
步骤1、对DBC文件进行解析,以文本的方式对DBC文件进行读取,然后通过正则表达式进行匹配,查找DBC文件中对应的CAN网络消息块,提取出对应的CAN报文ID、节点名称、消息名称,然后再向下对CAN网络中包含的内容进行查找,提取出相应的数据类型、起始位、位长度、偏移量、比例系数、解析类型,存储在结构体数组中。
所述的DBC文件中的CAN网络消息块是一条消息后立刻会跟随多行信号,直到解析到另外一条消息,说明一个CAN网络消息块结束,当解析完所有行时则所有CAN网络消息块都被解析完毕。当CAN网络消息块不包含信号则忽略不计。
DBC文件中的消息的结构为:
BO报文ID报文名称报文长度发送节点;
上式中:
BO:DBC文件中消息的标志前缀;
报文ID:十进制的报文ID,只有后29位有效;
报文名称:区分不同的消息;
报文长度:报文中包含的数据个数,0~8;
发送节点:发送报文的节点名称。
DBC文件中的信号的结构为:
SG_信号M:起始位|位长度@0+(比例,偏移)[最大|最小]“备注”接收节点;
上式中:
SG_:DBC文件中信号的标志前缀;
M:共享索引值,每个消息只能有一个;
0/1:数据解析格式,0为Intel格式,1为Motorola格式;
+/-:数据类型,+为有符号数,-为无符号数。
所述的正则表达式能够根据DBC文件的结构直接解析出消息和信号所包含所有信息,并且通过消息和信号所包含所有信息能够进行从报文到数据或者从数据到报文的双向转换。
所述的消息的解析正则表达式结构为:
BO_(?<ID>\d+)(?<Msg>.*):(?<DLC>\d+)(?<Node>.*);
上式中:
ID:报文ID,十进制表示;
Msg:消息名,由字母、数字、下划线组成;
DLC:数据长度,0~8;
Node:发送节点名称。
信号的解析正则表达式结构为:
SG_(?<Sig>.*)[mM](?<Index>\d*):(<StBit>\d+)\|(?<BitL>\d+)@(\d)[+-]
\((?<Factor>.*),(?<Offset>.*)\)\[(.*)\|(.*)\]“.*”(?<Node>.*);
上式中:
Sig:信号名,由字母、数字、下划线组成;
Index:索引下标,若为空字符则为母索引;
StBit:起始位;
BitL:位长度;
Factor:比例系数,为小数、整数、科学计数法;
Offset:偏移量,为负数、小数;
Node:接收节点名称。
步骤2、将采集的CAN报文中报文ID、报文数据长度提取出来,并转换为所需要的格式以供解析,不同工具采集出的CAN报文的格式是不同的,读取CAN报文的脚本对CAN 报文解析程序进行配置,CAN报文解析是基于正则表达式。
CAN报文的格式为:
时间是否拓展帧消息ID接收/发送帧格式数据;
序号传输方向时间标志消息ID帧格式帧类型数据长度数据;
上式中:
时间:以秒为单位的时间;
时间标志:按照时分秒组成的字符串;
消息ID:以0x开头或者以x结尾或者只保留ID,以十六或者十进制表示;
数据:8个字节的数据,以十六或者十进制表示,以逗号或者空格分隔。
所述CAN报文需要提取的信息包括时间、ID和数据,所述CAN报文最终都转换为十进制的数值类型进行保存以便于用统一的格式进行解析、计算和存储。
第一种CAN报文解析的正则表达式为:
(.*).*(\w+)x[TR]x\w\d(\w{2}){8};
对应的转换计算函数为:
$1,hex2dec($2),hex2dec($3);
第二种CAN报文解析的正则表达式为:
\d+.*(\d+):(\d+):(\d+)\.(\d+)\.0 0x(\w+).*.*0x\d+(\w{2}){8};
对应的转换计算函数为:
$1*3600+$2*60+$3+$4/1000,hex2dec($5),hex2dec($6);
将CAN报文解析后得到了CAN报文中所包含的时间、ID、报文数据的信息,保存在工作空间中以供解析调用。
步骤3、根据步骤1、2得到的数据对CAN报文进行解析,以DBC文件中信号名的方式进行存储,保存在Mat、Excel、Txt的文件中以供程序使用并能够选择保存的格式。
步骤4、数据分析;
步骤4.1:读取CAN报文ID,并根据CAN报文ID查找对应解析方式,当未查找到则跳过此步骤。
步骤4.2:将CAN报文多个字节的数据按照顺序组合成一个N字节的数据的大数值,将每个字节从最低字节到最高字节向右移动N*字节序号位,然后相加得到一个数据,当是Intel格式需要高字节在前,低字节在后。
步骤4.3:根据起始位和位长度将CAN报文数据中的需要的部分提取出来,先计算出起始位和终止位,然后根据CAN报文数据的位长度计算出向右移动的位数,然后屏蔽掉高位,得到的即是需要使用的CAN报文数据。
步骤4.4:将需要使用的CAN报文数据转换为十进制数,乘以比例因子,加上偏移量,得到最终的CAN报文数据。
步骤4.5:将最终的CAN报文数据和时间填充到经过解析之前的CAN报文数据中,当没有变量则重新创建一个新变量。
步骤4.6:重复上述步骤,直到所有的CAN报文数据解析完成为止。
步骤4.7:将解析完的CAN报文数据存储在文件中。
本发明的优越效果是:
1、能够根据DBC文件对CAN报文进行解析,统一对CAN报文中的信号进行定义,减少报文定义错误的概率,能够快速移植使用,编写简单、高效,能够自定义属性和解析值。
2、能够配置DBC及CAN报文的解析模板,即使是不同厂家、工具采集得到的不同格式的CAN报文也能够使用,弥补了传统软件只能解析自带报文格式的不足,另外利用数据处理软件强大的函数功能,能够批量实现数据的自定义解析。
3、能够自动存储为多种数据格式,根据需要对解析出的数据进行存储和分析,能够直接使用数据处理软件进行画图和计算,不仅支持离线的CAN报文解析,还能够支持实时的CAN报文解析并将采集的数据以报文或者曲线的方式显示出来以便于对数据的分析,提高了采集后再分析的效率。
4、能够支持数据的反向解析,将数据根据DBC文件转换为CAN报文,再通过CAN 盒将报文发送到CAN总线上,能够完成对程序功能的验证,能够搭建实时的控制器模型。
本发明所述方法使用简单且拓展性强,不仅能够进行CAN报文解析,还能够进行XCP、 CCP的协议的使用完成数据的采集和标定。
附图说明
图1是本发明所述方法的流程示意图。
具体实施方式
下面结合附图对本发明的实施方式进行详细描述。如图1所示,本发明所述方法包括以下步骤:
步骤1、对DBC文件进行解析,以文本的方式对DBC文件进行读取,然后通过正则表达式进行匹配,查找DBC文件中对应的CAN网络消息块,提取出对应的CAN报文ID、节点名称、消息名称,然后再向下对CAN网络中包含的内容进行查找,提取出相应的数据类型、起始位、位长度、偏移量、比例系数、解析类型,存储在结构体数组中。
所述的DBC文件中的CAN网络消息块是一条消息后立刻会跟随多行信号,直到解析到另外一条消息,说明一个CAN网络消息块结束,当解析完所有行时则所有CAN网络消息块都被解析完毕。当CAN网络消息块不包含信号则忽略不计。
DBC文件中的消息的结构为:
BO报文ID报文名称报文长度发送节点;
上式中:
BO:DBC文件中消息的标志前缀;
报文ID:十进制的报文ID,只有后29位有效;
报文名称:区分不同的消息;
报文长度:报文中包含的数据个数,0~8;
发送节点:发送报文的节点名称。
DBC文件中的信号的结构为:
SG_信号M:起始位|位长度@0+(比例,偏移)[最大|最小]“备注”接收节点;
上式中:
SG_:DBC文件中信号的标志前缀;
M:共享索引值,每个消息只能有一个;
0/1:数据解析格式,0为Intel格式,1为Motorola格式;
+/-:数据类型,+为有符号数,-为无符号数。
所述的正则表达式能够根据DBC文件的结构直接解析出消息和信号所包含所有信息,并且通过消息和信号所包含所有信息能够进行从报文到数据或者从数据到报文的双向转换。
所述的消息的解析正则表达式结构为:
BO_(?<ID>\d+)(?<Msg>.*):(?<DLC>\d+)(?<Node>.*);
上式中:
ID:报文ID,十进制表示;
Msg:消息名,由字母、数字、下划线组成;
DLC:数据长度,0~8;
Node:发送节点名称。
信号的解析正则表达式结构为:
SG_(?<Sig>.*)[mM](?<Index>\d*):(<StBit>\d+)\|(?<BitL>\d+)@(\d)[+-]
\((?<Factor>.*),(?<Offset>.*)\)\[(.*)\|(.*)\]“.*”(?<Node>.*);
上式中:
Sig:信号名,由字母、数字、下划线组成;
Index:索引下标,若为空字符则为母索引;
StBit:起始位;
BitL:位长度;
Factor:比例系数,为小数、整数、科学计数法;
Offset:偏移量,为负数、小数;
Node:接收节点名称。
步骤2、将采集的CAN报文中报文ID、报文数据长度提取出来,并转换为所需要的格式以供解析,不同工具采集出的CAN报文的格式是不同的,读取CAN报文的脚本对CAN 报文解析程序进行配置,CAN报文解析是基于正则表达式。
CAN报文的格式为:
时间是否拓展帧消息ID接收/发送帧格式数据;
序号传输方向时间标志消息ID帧格式帧类型数据长度数据;
上式中:
时间:以秒为单位的时间;
时间标志:按照时分秒组成的字符串;
消息ID:以0x开头或者以x结尾或者只保留ID,以十六或者十进制表示;
数据:8个字节的数据,以十六或者十进制表示,以逗号或者空格分隔。
所述CAN报文需要提取的信息包括时间、ID和数据,所述CAN报文最终都转换为十进制的数值类型进行保存以便于用统一的格式进行解析、计算和存储。
第一种CAN报文解析的正则表达式为:
(.*).*(\w+)x[TR]x\w\d(\w{2}){8};
对应的转换计算函数为:
$1,hex2dec($2),hex2dec($3);
第二种CAN报文解析的正则表达式为:
\d+.*(\d+):(\d+):(\d+)\.(\d+)\.0 0x(\w+).*.*0x\d+(\w{2}){8};
对应的转换计算函数为:
$1*3600+$2*60+$3+$4/1000,hex2dec($5),hex2dec($6);
将CAN报文解析后得到了CAN报文中所包含的时间、ID、报文数据的信息,保存在工作空间中以供解析调用。
步骤3、根据步骤1、2得到的数据对CAN报文进行解析,以DBC文件中信号名的方式进行存储,保存在Mat、Excel、Txt的文件中以供程序使用并能够选择保存的格式。
步骤4、数据分析;
步骤4.1:读取CAN报文ID,并根据CAN报文ID查找对应解析方式,当未查找到则跳过此步骤。
步骤4.2:将CAN报文多个字节的数据按照顺序组合成一个N字节的数据的大数值,将每个字节从最低字节到最高字节向右移动N*字节序号位,然后相加得到一个数据,当是Intel格式需要高字节在前,低字节在后。
步骤4.3:根据起始位和位长度将CAN报文数据中的需要的部分提取出来,先计算出起始位和终止位,然后根据CAN报文数据的位长度计算出向右移动的位数,然后屏蔽掉高位,得到的即是需要使用的CAN报文数据。
步骤4.4:将需要使用的CAN报文数据转换为十进制数,乘以比例因子,加上偏移量,得到最终的CAN报文数据。
步骤4.5:将最终的CAN报文数据和时间填充到经过解析之前的CAN报文数据中,当没有变量则重新创建一个新变量。
步骤4.6:重复上述步骤,直到所有的CAN报文数据解析完成为止。
步骤4.7:将解析完的CAN报文数据存储在文件中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。

Claims (3)

1.一种基于正则表达式的DBC文件解析及报文分析方法,其特征在于,能够使用数据处理软件的正则表达式对DBC文件进行解析并提取中DBC文件中的CAN网络消息和信号的结构,然后利用正则表达式匹配与替换的处理方法对DBC文件的内容进行解析,利用解析后的DBC数据对整车采集到的CAN报文进行分析,根据报文ID找到DBC文件中对应的CAN网络消息块以及包含的信号并通过其数据类型、起始位、位长度、偏移量、比例系数、解析类型得到实际数据,并且将数据存储在相应的文件中;解析后的DBC数据以下简称数据,具体包括以下步骤:
步骤1、对DBC文件进行解析,以文本的方式对DBC文件进行读取,然后通过正则表达式进行匹配,查找DBC文件中对应的CAN网络消息块,提取出对应的CAN报文ID、节点名称、消息名称,然后再向下对CAN网络中包含的内容进行查找,提取出相应的数据类型、起始位、位长度、偏移量、比例系数、解析类型,存储在结构体数组中;
步骤2、将采集的CAN报文中报文ID、报文数据长度提取出来,并转换为所需要的格式以供解析,不同工具采集出的CAN报文的格式是不同的,读取CAN报文的脚本对CAN报文解析程序进行配置,CAN报文解析是基于正则表达式;
步骤3、根据步骤1、2得到的数据对CAN报文进行解析,以DBC文件中信号名的方式进行存储,保存在Mat、Excel、Txt的文件中以供程序使用并能够选择保存的格式;
步骤4、数据分析;
步骤4.1:读取CAN报文ID,并根据CAN报文ID查找对应解析方式,当未查找到则跳过此步骤;
步骤4.2:将CAN报文多个字节的数据按照顺序组合成一个N字节的数据的大数值,将每个字节从最低字节到最高字节向右移动N*字节序号位,然后相加得到一个数据,当是Intel格式需要高字节在前,低字节在后;
步骤4.3:根据起始位和位长度将CAN报文数据中的需要的部分提取出来,先计算出起始位和终止位,然后根据CAN报文数据的位长度计算出向右移动的位数,然后屏蔽掉高位,得到的即是需要使用的CAN报文数据;
步骤4.4:将需要使用的CAN报文数据转换为十进制数,乘以比例因子,加上偏移量,得到最终的CAN报文数据;
步骤4.5:将最终的CAN报文数据和时间填充到经过解析之前的CAN报文数据中,当没有变量则重新创建一个新变量;
步骤4.6:重复上述步骤,直到所有的CAN报文数据解析完成为止;
步骤4.7:将解析完的CAN报文数据存储在文件中。
2.根据权利要求1所述的一种基于正则表达式的DBC文件解析及报文分析方法,其特征在于,所述步骤1中,DBC文件中的CAN网络消息块是一条消息后立刻会跟随多行信号,直到解析到另外一条消息,说明一个CAN网络消息块结束,当解析完所有行时则所有CAN网络消息块都被解析完毕,当CAN网络消息块不包含信号则忽略不计;
DBC文件中的消息的结构为:
BO 报文 ID 报文名称 报文长度 发送节点;
上式中:
BO:DBC文件中消息的标志前缀;
报文ID:十进制的报文ID,只有后29位有效;
报文名称:区分不同的消息;
报文长度:报文中包含的数据个数,0~8;
发送节点:发送报文的节点名称;
DBC文件中的信号的结构为:
SG_信号M:起始位|位长度@0+(比例,偏移)[最大|最小]“备注”接收节点;
上式中:
SG_:DBC文件中信号的标志前缀;
M:共享索引值,每个消息只能有一个;
0/1:数据解析格式,0为Intel格式,1为Motorola格式;
+/-:数据类型,+为有符号数,-为无符号数;
所述的正则表达式能够根据DBC文件的结构直接解析出消息和信号所包含所有信息,并且通过消息和信号所包含所有信息能够进行从报文到数据或者从数据到报文的双向转换;
所述的消息的解析正则表达式结构为:
BO_(?<ID>\d+)(?<Msg>.*):(?<DLC>\d+)(?<Node>.*);
上式中:
ID:报文ID,十进制表示;
Msg:消息名,由字母、数字、下划线组成;
DLC:数据长度,0~8;
Node:发送节点名称;
信号的解析正则表达式结构为:
SG_(?<Sig>.*)[mM](?<Index>\d*):(<StBit>\d+)\|(?<BitL>\d+)@(\d)[+-]
\((?<Factor>.*),(?<Offset>.*)\)\[(.*)\|(.*)\]“.*”(?<Node>.*);
上式中:
Sig:信号名,由字母、数字、下划线组成;
Index:索引下标,若为空字符则为母索引;
StBit:起始位;
BitL:位长度;
Factor:比例系数,为小数、整数、科学计数法;
Offset:偏移量,为负数、小数;
Node:接收节点名称。
3.根据权利要求1所述的一种基于正则表达式的DBC文件解析及报文分析方法,其特征在于,所述步骤2中,CAN报文的格式为:
时间 是否拓展帧 消息 ID 接收/发送 帧格式 数据;
序号 传输方向 时间标志 消息 ID 帧格式 帧类型 数据长度 数据;
上式中:
时间:以秒为单位的时间;
时间标志:按照时分秒组成的字符串;
消息ID:以0x开头或者以x结尾或者只保留ID,以十六或者十进制表示;
数据:8个字节的数据,以十六或者十进制表示,以逗号或者空格分隔;
所述CAN报文需要提取的信息包括时间、ID和数据,所述CAN报文最终都转换为十进制的数值类型进行保存以便于用统一的格式进行解析、计算和存储;
第一种CAN报文解析的正则表达式为:
(.*).*(\w+)x[TR]x\w\d(\w{2}){8};
对应的转换计算函数为:
$1,hex2dec($2),hex2dec($3);
第二种CAN报文解析的正则表达式为:
\d+.*(\d+):(\d+):(\d+)\.(\d+)\.0 0x(\w+).*.*0x\d+(\w{2}){8};
对应的转换计算函数为:
$1*3600+$2*60+$3+$4/1000,hex2dec($5),hex2dec($6);
将CAN报文解析后得到了CAN报文中所包含的时间、ID、报文数据的信息,保存在工作空间中以供解析调用。
CN201810289074.XA 2018-04-03 2018-04-03 一种基于正则表达式的dbc文件解析及报文分析方法 Active CN108600192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810289074.XA CN108600192B (zh) 2018-04-03 2018-04-03 一种基于正则表达式的dbc文件解析及报文分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810289074.XA CN108600192B (zh) 2018-04-03 2018-04-03 一种基于正则表达式的dbc文件解析及报文分析方法

Publications (2)

Publication Number Publication Date
CN108600192A true CN108600192A (zh) 2018-09-28
CN108600192B CN108600192B (zh) 2021-03-30

Family

ID=63624275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810289074.XA Active CN108600192B (zh) 2018-04-03 2018-04-03 一种基于正则表达式的dbc文件解析及报文分析方法

Country Status (1)

Country Link
CN (1) CN108600192B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491660A (zh) * 2018-09-30 2019-03-19 大连莱克科技发展有限公司 一种机车事件数据动态解析方法
CN109639789A (zh) * 2018-12-05 2019-04-16 广东国鸿氢能科技有限公司 燃料电池模块数据监测方法及系统
CN109688026A (zh) * 2018-12-24 2019-04-26 北京新能源汽车股份有限公司 一种网络协议数据检测方法及装置
CN109889482A (zh) * 2018-12-27 2019-06-14 北京理工大学 一种车辆协议解析方法及系统
CN111049717A (zh) * 2019-12-26 2020-04-21 潍柴动力股份有限公司 变量采集方法及设备
CN111191422A (zh) * 2019-12-31 2020-05-22 湖南中联重科智能技术有限公司 一种文件格式转换方法、装置和计算机可读存储介质
CN111309684A (zh) * 2020-03-13 2020-06-19 佛山市飞驰汽车制造有限公司 一种基于脚本工具解析汽车网络dbc文件的方法
CN111626585A (zh) * 2020-05-21 2020-09-04 广西电网有限责任公司 脚本数据提取方法、装置、计算机设备和存储介质
CN112714134A (zh) * 2021-01-19 2021-04-27 广州导远电子科技有限公司 Can报文的解析方法、适配方法、装置、设备及介质
CN113067821A (zh) * 2021-03-22 2021-07-02 聊城大学 基于单个或多个dbc文件的can报文的解析方法
CN113419513A (zh) * 2021-06-18 2021-09-21 上海小鹏汽车科技有限公司 一种数据处理的方法和装置
CN113542086A (zh) * 2021-06-28 2021-10-22 合肥国轩高科动力能源有限公司 Can信号起始位置计算方法、dbc文件生成方法
CN114519025A (zh) * 2022-02-16 2022-05-20 北京清研宏达信息科技有限公司 一种自动解析智能网联汽车can总线数据的方法及系统
CN114691605A (zh) * 2022-02-25 2022-07-01 智己汽车科技有限公司 一种dbc信号起始位格式转换方法及系统
CN114691604A (zh) * 2022-02-25 2022-07-01 智己汽车科技有限公司 一种dbc信号导出起始位格式转换方法及系统
CN114785843A (zh) * 2022-03-22 2022-07-22 成都爱瑞无线科技有限公司 数据通信方法、设备、通信系统及存储介质
CN114793250A (zh) * 2022-04-28 2022-07-26 重庆长安汽车股份有限公司 一种可配置化的can数据解析方法
CN114979314A (zh) * 2022-06-30 2022-08-30 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备
CN115118543A (zh) * 2022-08-29 2022-09-27 中国汽车技术研究中心有限公司 Can信号解析的预处理方法、电子设备及存储介质
CN115657594A (zh) * 2022-12-23 2023-01-31 盛瑞传动股份有限公司 数据采集系统及采集方法
CN116016724A (zh) * 2023-01-06 2023-04-25 一汽解放汽车有限公司 一种报文的解析方法、装置、设备及介质
CN117176507A (zh) * 2023-11-02 2023-12-05 上海鉴智其迹科技有限公司 数据分析方法、装置、电子设备及存储介质
US12021879B2 (en) 2022-02-08 2024-06-25 Ford Global Technologies, Llc Verification of message patterns for vehicle ECUs

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN104834510A (zh) * 2014-12-19 2015-08-12 北汽福田汽车股份有限公司 Can协议代码源文件的生成方法和装置
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
US20160188396A1 (en) * 2014-12-30 2016-06-30 Battelle Memorial Institute Temporal anomaly detection on automotive networks
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN107465695A (zh) * 2017-09-21 2017-12-12 扬州航盛科技有限公司 一种基于数据库动态更新can解析参数的方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN104834510A (zh) * 2014-12-19 2015-08-12 北汽福田汽车股份有限公司 Can协议代码源文件的生成方法和装置
US20160188396A1 (en) * 2014-12-30 2016-06-30 Battelle Memorial Institute Temporal anomaly detection on automotive networks
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN107465695A (zh) * 2017-09-21 2017-12-12 扬州航盛科技有限公司 一种基于数据库动态更新can解析参数的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李昔阳: "基于CAN总线和OBD-II的车辆数据采集系统的研究与开发", 《中国优秀硕士学位论文全文数据库》 *
知乎用户: "DBC标准格式说明", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/26882148》 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491660A (zh) * 2018-09-30 2019-03-19 大连莱克科技发展有限公司 一种机车事件数据动态解析方法
CN109639789A (zh) * 2018-12-05 2019-04-16 广东国鸿氢能科技有限公司 燃料电池模块数据监测方法及系统
CN109688026A (zh) * 2018-12-24 2019-04-26 北京新能源汽车股份有限公司 一种网络协议数据检测方法及装置
CN109889482A (zh) * 2018-12-27 2019-06-14 北京理工大学 一种车辆协议解析方法及系统
CN109889482B (zh) * 2018-12-27 2020-05-12 北京理工大学 一种车辆协议解析方法及系统
CN111049717A (zh) * 2019-12-26 2020-04-21 潍柴动力股份有限公司 变量采集方法及设备
CN111191422A (zh) * 2019-12-31 2020-05-22 湖南中联重科智能技术有限公司 一种文件格式转换方法、装置和计算机可读存储介质
CN111191422B (zh) * 2019-12-31 2023-09-05 湖南中联重科智能技术有限公司 一种文件格式转换方法、装置和计算机可读存储介质
CN111309684A (zh) * 2020-03-13 2020-06-19 佛山市飞驰汽车制造有限公司 一种基于脚本工具解析汽车网络dbc文件的方法
CN111626585A (zh) * 2020-05-21 2020-09-04 广西电网有限责任公司 脚本数据提取方法、装置、计算机设备和存储介质
CN111626585B (zh) * 2020-05-21 2022-11-08 广西电网有限责任公司 脚本数据提取方法、装置、计算机设备和存储介质
CN112714134A (zh) * 2021-01-19 2021-04-27 广州导远电子科技有限公司 Can报文的解析方法、适配方法、装置、设备及介质
CN112714134B (zh) * 2021-01-19 2023-09-26 广州导远电子科技有限公司 Can报文的解析方法、适配方法、装置、设备及介质
CN113067821A (zh) * 2021-03-22 2021-07-02 聊城大学 基于单个或多个dbc文件的can报文的解析方法
CN113419513A (zh) * 2021-06-18 2021-09-21 上海小鹏汽车科技有限公司 一种数据处理的方法和装置
CN113542086A (zh) * 2021-06-28 2021-10-22 合肥国轩高科动力能源有限公司 Can信号起始位置计算方法、dbc文件生成方法
CN113542086B (zh) * 2021-06-28 2023-03-10 合肥国轩高科动力能源有限公司 Can信号起始位置计算方法、dbc文件生成方法
US12021879B2 (en) 2022-02-08 2024-06-25 Ford Global Technologies, Llc Verification of message patterns for vehicle ECUs
CN114519025A (zh) * 2022-02-16 2022-05-20 北京清研宏达信息科技有限公司 一种自动解析智能网联汽车can总线数据的方法及系统
CN114691605A (zh) * 2022-02-25 2022-07-01 智己汽车科技有限公司 一种dbc信号起始位格式转换方法及系统
CN114691604A (zh) * 2022-02-25 2022-07-01 智己汽车科技有限公司 一种dbc信号导出起始位格式转换方法及系统
CN114691604B (zh) * 2022-02-25 2024-05-14 智己汽车科技有限公司 一种dbc信号导出起始位格式转换方法及系统
CN114691605B (zh) * 2022-02-25 2024-05-14 智己汽车科技有限公司 一种dbc信号起始位格式转换方法及系统
CN114785843A (zh) * 2022-03-22 2022-07-22 成都爱瑞无线科技有限公司 数据通信方法、设备、通信系统及存储介质
CN114785843B (zh) * 2022-03-22 2024-05-31 成都爱瑞无线科技有限公司 数据通信方法、设备、通信系统及存储介质
CN114793250A (zh) * 2022-04-28 2022-07-26 重庆长安汽车股份有限公司 一种可配置化的can数据解析方法
CN114979314B (zh) * 2022-06-30 2023-04-25 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备
CN114979314A (zh) * 2022-06-30 2022-08-30 重庆长安新能源汽车科技有限公司 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备
CN115118543A (zh) * 2022-08-29 2022-09-27 中国汽车技术研究中心有限公司 Can信号解析的预处理方法、电子设备及存储介质
CN115657594B (zh) * 2022-12-23 2023-05-16 盛瑞传动股份有限公司 数据采集系统及采集方法
CN115657594A (zh) * 2022-12-23 2023-01-31 盛瑞传动股份有限公司 数据采集系统及采集方法
CN116016724A (zh) * 2023-01-06 2023-04-25 一汽解放汽车有限公司 一种报文的解析方法、装置、设备及介质
CN116016724B (zh) * 2023-01-06 2024-05-14 一汽解放汽车有限公司 一种报文的解析方法、装置、设备及介质
CN117176507A (zh) * 2023-11-02 2023-12-05 上海鉴智其迹科技有限公司 数据分析方法、装置、电子设备及存储介质
CN117176507B (zh) * 2023-11-02 2024-02-23 上海鉴智其迹科技有限公司 数据分析方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108600192B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN108600192A (zh) 一种基于正则表达式的dbc文件解析及报文分析方法
CN110012031B (zh) 数据报文通用自动解析方法和存储方法
CN110933146B (zh) 一种数据转换方法、装置和服务器
CN111970353A (zh) 云计算平台物联网中异构设备的数据处理方法及装置
CN101651683B (zh) 一种信令消息解析源代码生成方法
CN110457526A (zh) 基于xml文件的通用化数据解析方法
CN101877659A (zh) 一种丢包监控的方法、设备和系统
CN112765175B (zh) 一种接口数据的处理方法、装置、计算机设备及介质
CN109257367A (zh) 一种用于工业物联网终端的数据通信协议及实现方法
CN103777934A (zh) 一种基于matlab生成控制器can交互层的方法及系统
CN109861782A (zh) 一种基于pcie采集板卡的sdh协议信号分析平台
CN110545283B (zh) 一种基于比特位的j1939变量数据采集方法
CN116634042A (zh) 大数据报文解析方法、装置及存储介质
CN110390082A (zh) 一种通信矩阵对比方法及系统
CN117714562A (zh) 一种网络通信协议语法信息的自动化提取方法及系统
WO2013170796A1 (zh) 数据更新方法、系统和设备
CN113722340A (zh) 基于配电装置的远程自动点表更新的处理方法及系统
CN110213297B (zh) 一种数据解析方法、装置及计算机可读存储介质
CN116074232A (zh) 一种基于dbc文件解析生成车载网关路由表的处理方法
CN109743362B (zh) 一种应用于全格式数据结构的数据存储方法
CN107506339B (zh) 一种基于字符偏移的scd节点校验出错定位方法及装置
CN111211939A (zh) 一种基于网络处理器实现流表高效计数的装置和方法
CN103457957B (zh) 一种具有自适应功能的网络渗透测试系统及方法
CN116166640A (zh) 全球导航卫星观测数据实时采集与管理方法及系统
CN110381019A (zh) 一种基于xml数据结构的海警系统数据检测解析系统

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
GR01 Patent grant
GR01 Patent grant