CN114390119A - 自适应多车型can数据自动解析方法及系统 - Google Patents
自适应多车型can数据自动解析方法及系统 Download PDFInfo
- Publication number
- CN114390119A CN114390119A CN202111629356.8A CN202111629356A CN114390119A CN 114390119 A CN114390119 A CN 114390119A CN 202111629356 A CN202111629356 A CN 202111629356A CN 114390119 A CN114390119 A CN 114390119A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- file
- analyzing
- dbc
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 13
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 238000009877 rendering Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 31
- 230000003044 adaptive effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 19
- 238000007405 data analysis Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000000446 fuel Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- XSQUKJJJFZCRTK-UHFFFAOYSA-N Urea Chemical compound NC(N)=O XSQUKJJJFZCRTK-UHFFFAOYSA-N 0.000 description 2
- 239000004202 carbamide Substances 0.000 description 2
- 239000002826 coolant Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种自适应多车型CAN数据自动解析方法,该方法包括:定义用于解析CAN数据的模板文件;获取定义了所需CAN报文及过滤规则的DBC文件;通过解析DBC文件,得到第一C代码;基于所述模板文件对所述第一C代码进行渲染,得到第二C代码;将从CAN总线上面接收的CAN报文注入到第二C代码,第二C代码对CAN报文进行自动解析,并将解析的CAN信号写入到共享内存中。通过本发明可以利用Python脚本,对DBC文件进行处理,生成自动解析CAN报文的C功能代码,最终将解析出来的CAN信号写入共享内存,从而可以提高解析CAN数据的工作效率并降低错误率。
Description
技术领域
本发明涉及车辆智能化领域,更具体地,涉及一种自适应多车型CAN数据自动解析方法、系统、电子设备及介质。
背景技术
CAN(Controller Area Network,控制器局域网络)总线是汽车内部网络应用最广泛的总线。对于汽车行业而言,CAN数据是一个很重要的数据来源。
不同的发动机厂家,基于差异性和保密性的考虑,其CAN网络协议也各不相同。每次在对接新的发动机时,都需要去重新解析不同的CAN网络协议。一份CAN网络协议,少则包括几十份CAN报文协议,多则包括几百分CAN报文协议,而解析CAN报文的传统方式是按照CAN协议手动解析CAN报文中的每一项数据,这是一项重复繁杂、没有技术含量并且容易出错的工作。基于传统的解析CAN数据的缺点,本发明提出了一种全新的解析CAN数据的方法。
发明内容
本发明提供了一种自适应多车型CAN数据自动解析方法、系统、电子设备及介质,可以通过Python脚本自动化地对CAN数据进行解析,并将解析出来的CAN信号写入共享内存,提高了解析CAN数据的工作效率并降低了错误率。
具体地,本发明是通过以下技术方案来实现的:
第一方面,本发明提供了一种自适应多车型CAN数据自动解析方法,该方法包括:
定义用于解析CAN数据的模板文件;
获取定义了所需CAN报文及过滤规则的DBC文件;
解析所述定义了过滤规则的DBC文件,得到第一C代码;
基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
进一步地,所述模板文件为手动编辑文件,并且与所述待解析的DBC文件的类型无关。
进一步地,所述获取定义了过滤规则的DBC文件,包括:自定义过滤规则,并将过滤规则添加到DBC文件。
进一步地,所述过滤规则用于获得所关心的CAN数据。
进一步地,所述解析所述含有过滤规则的DBC文件,得到第一C代码,包括:通过调用第三方开源库CAN tools来自动生成所述待解析的DBC文件的所述第一C代码。
进一步地,所述基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,包括:以所述第一C代码和所述模板文件为输入,在Python脚本的驱动下,得到所述第二C代码。
进一步地,所述基于所述模板文件对所述第一C代码进行渲染,得到第二C代码即解析CAN数据的C代码,包括:基于所述Jinja2模板引擎的渲染规则对所述第一C代码进行渲染。
第二方面,本发明提供了一种自适应多车型CAN数据自动解析系统,该系统包括:
模板文件定义单元,用于定义解析CAN数据的模板文件;
DBC文件及过滤规则定义单元,用于获得含有所需CAN报文及过滤规则的DBC文件;
第一C代码单元,用于解析所述经过滤的DBC文件,得到第一C代码;
CAN数据解析单元,用于基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中的任一项所述的自适应多车型CAN数据自动解析方法的步骤。
第四方面,本发明提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中的任一项所述的自适应多车型CAN数据自动解析方法的步骤。
本发明通过定义用于解析CAN数据的模板文件,过滤待解析的DBC文件,解析经过滤的DBC文件得到第一C代码,基于模板文件对第一C代码进行渲染得到第二C代码,并且将第二C代码写入共享内存,从而实现了从对CAN数据进行解析到将解析出来的CAN信号写入共享内存整个过程的自动化,由此可以提高解析CAN数据的工作效率并降低错误率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明的一个实施例的自适应多车型CAN数据自动解析方法的流程图;
图2是根据本发明的一个实施例的自适应多车型CAN数据自动解析系统的示意图;以及
图3是根据本发明的又一实施例的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明的一个实施例的自适应多车型CAN数据自动解析方法的流程图。参照图1,该方法可以包括如下步骤:
步骤101:定义用于解析CAN数据的模板文件;
步骤102:获取定义了所需CAN报文及过滤规则的DBC文件;
步骤103:解析所述含有过滤规则的DBC文件,得到第一C代码;
步骤104:基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
具体地,在本实施例中,需要说明的是,在步骤101中,首先可以定义用于解析CAN数据的模板文件。该模板文件为手动编辑文件,并且基于jinja2模板引擎的渲染规则,定义该模板文件。Jinja2主要有如下三种渲染规则:
a、控制结构 {%%}
b、变量取值 {{}}
c、注释 {##}
另外,该模板文件与待解析的DBC文件的类型无关,即与发动机的型号无关。针对不同的DBC文件或不同的项目,只需要获取对应的DBC文件,就可以自动完成对CAN数据的解析工作,可以大大地提高工作效率。
在步骤102中,首先从发动机厂家获取待解析的DBC文件,待解析的DBC文件为标准DBC文件,然后自定义一套过滤规则,并将这一套过滤规则定义到文件中,从而可以从DBC文件获得所关心的CAN数据。例如,一套完整的过滤规则可以如表1所示。需要说明的示,对于CAN ID不一样但是Pgn一样的数据的解析,为了增加解析数据的通用性,可以在DBC文件中增加掩码的概念,只要是Pgn一样的CAN数据就可以按照相同的规则去解析CAN数据。
表1 DBC文件过滤规则
在步骤103中,具体地,可以通过调用Python的第三方开源库CAN tools来自动解析在步骤102中得到的含有过滤规则的DBC文件,得到第一C代码,该第一C代码包含所关心的报文和信号等信息。
在步骤104中,可以首先以第一C代码和模板文件为输入,在Python脚本的驱动下,对第一C代码进行渲染,得到第二C代码,然后将第二C代码写入共享内存中。其中,可以基于Jinja2模板引擎的渲染规则对第一C代码进行渲染。第二C代码为可写入共享内存的包含所关心的报文和信号等信息的代码。另外,该共享内存为车载存储系统的缓冲区(buf)。
另外,在本发明中,可以通过Excel表的方式来维护CAN数据的存储地址。CAN数据的存储地址的示例如下面的表2所示。参照表2,其中第一列的代码元素与DBC中定义的信号名一一对应,第二列的数据类型表示信号占用的缓冲区的大小,各种数据类型对应的数据长度如下面的表3所示。
表2 CAN数据的存储地址
代码元素 | 数据类型 | 位置偏移 |
CanVehiSpeedJCcvs | WORD | 102 |
CanClutchSwitchJCcvs | BYTE | 148 |
CanBrakeSwitchJCcvs | BYTE | 149 |
CanCruiseactiveJCcvs | BYTE | 150 |
CanEngineSpeedJEec1 | WORD | 104 |
CanEngineTorqueJEec1 | BYTE | 151 |
CanTorqueDemandJEec1 | BYTE | 152 |
CanTorqueModeJEec1 | BYTE | 153 |
CanCoolantTempJEt1 | BYTE | 154 |
CanEngineFuelRateJLfe | WORD | 106 |
CanTotalFuelUsedJLfc | DWORD | 24 |
CanTotalFuelUsedJGfc | DWORD | 28 |
CanTotalDistanceJVdhr | DWORD | 32 |
CanTotalHourJHours | DWORD | 36 |
CanCurGearJEtc2 | BYTE | 155 |
CanPedalPosition1JEec2 | BYTE | 156 |
CanFuelLevel1JDd | BYTE | 157 |
CanBattPotentialJVep1 | WORD | 108 |
CanOilPressJP1 | WORD | 110 |
CanIntakeManiFold1PressJIc1 | DWORD | 40 |
CanIntakeManiFold1TempJIc1 | BYTE | 158 |
CanGrossCombinationJCvw | DWORD | 44 |
CanBrakePedalPositionJEbc1 | BYTE | 159 |
CanCatalystTankLevelJAt1t1i | BYTE | 160 |
CanCatalystTankTempJAt1t1i | BYTE | 161 |
CanCircuit1AirPressJAir1 | WORD | 112 |
CanCircuit2AirPressJAir1 | WORD | 114 |
表3各种数据类型对应的数据长度
在表2中,第三列的位置偏移表示的是当前信号在共享内存中的偏移地址;将表2中的数据信息通过Python脚本进行解析,可以生成如下的代码片段:
enum TSrtPidDefineTag
{
VehiSpeedJCcvs=0x00000000,///<WORD Can车速
ClutchSwitchJCcvs=0x00000002,///<BYTE离合器状态
BrakeSwitchJCcvs=0x00000003,///<BYTE刹车状态
CruiseactiveJCcvs=0x00000004,///<BYTE巡航控制使能
EngineSpeedJEec1=0x00000005,///<WORD发动机转速
EngineTorqueJEec1=0x00000007,///<BYTE实际发动机扭矩
TorqueDemandJEec1=0x00000008,///<BYTE驾驶员请求扭矩
TorqueModeJEec1=0x00000009,///<BYTE发动机扭矩模式
CoolantTempJEt1=0x0000000a,///<BYTE发动机冷却液温度
EngineFuelRateJLfe=0x0000000b,///<WORD发动机燃油率(瞬时油耗)
TotalFuelUsedJLfc=0x0000000d,///<DWORD总油耗
TotalFuelUsedJGfc=0x00000011,///<DWORD总气耗
TotalDistanceJVdhr=0x00000015,///<DWORD高分辨率总里程
TotalHourJHours=0x00000019,///<DWORD发动机总工作时间
CurGearJEtc2=0x0000001d,///<BYTE当前档位
PedalPosition1JEec2=0x0000001e,///<BYTE油门
FuelLevel1JDd=0x0000001f,///<BYTE燃油液位
BattPotentialJVep1=0x00000020,///<WORD电瓶电压
OilPressJP1=0x00000022,///<WORD机油压力
IntakeManiFold1PressJIc1=0x00000024,///<DWORD进气压力
IntakeManiFold1TempJIc1=0x00000028,///<BYTE进气温度
GrossCombinationJCvw=0x00000029,///<DWORD整车总质量
BrakePedalPositionJEbc1=0x0000002d,///<BYTE制动踏板位置
CatalystTankLevelJAt1t1i=0x0000002e,///<BYTE尿素液位
CatalystTankTempJAt1t1i=0x0000002f,///<BYTE尿素温度
Circuit1AirPressJAir1=0x00000030,///<WORD制动回路1气压
Circuit2AirPressJAir1=0x00000032,///<WORD制动回路2气压
};
上面的代码片段中的枚举定义的名字与信号名是一一对应的,最后可以将解析出来的信号值写入到对应的共享内存的地址。
由上述实施例可知,本发明可以通过定义用于解析CAN数据的模板文件,定义了过滤规则的DBC文件,得到第一C代码,基于模板文件对第一C代码进行渲染得到第二C代码,并且将第二C代码写入共享内存,实现从对CAN数据进行解析到将解析出来的CAN信号写入共享内存整个过程的自动化,由此可以提高解析CAN数据的工作效率并降低错误率。
图2是根据本发明的另一实施例的自适应多车型CAN数据自动解析系统的示意图。
在本实施例中,需要说明的是,参照图2,根据本发明的自适应多车型CAN数据自动解析系统可以包括:模板文件定义单元201,用于定义解析CAN数据的模板文件;DBC文件及过滤规则定义单元202,用于获取定义了所需CAN报文及过滤规则的DBC文件;CAN数据解析单元203,用于解析所述定义了过滤规则的DBC文件,得到第一C代码;第二C代码单元204,用于基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
由于本发明实施例提供的自适应多车型CAN数据自动解析系统,可以用于执行上述实施例所述的自适应多车型CAN数据自动解析方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
在本实施例中,需要说明的是,本发明实施例的装置中的各个单元可以集成于一体,也可以分离部署。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图3,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信。
所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述的自适应多车型CAN数据自动解析方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:定义用于解析CAN数据的模板文件;获取定义了过滤规则的DBC文件;解析定义了过滤规则的DBC文件,得到第一C代码;基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码解析出来的CAN信号写入共享内存。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的自适应多车型CAN数据自动解析方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:定义用于解析CAN数据的模板文件;获取定义了过滤规则的DBC文件;解析所述定义了过滤规则的DBC文件,得到第一C代码;基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码解析出来的CAN信号写入共享内存。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现上述的自适应多车型CAN数据自动解析方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:定义用于解析CAN数据的模板文件;获取定义了过滤规则的DBC文件;解析所述定义了过滤规则的DBC文件,得到第一C代码;基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码解析出来的CAN信号写入共享内存
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的自适应多车型CAN数据自动解析方法。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自适应多车型CAN数据自动解析方法,其特征在于,包括:
定义用于解析CAN数据的模板文件;
获取定义了所需CAN报文及过滤规则的DBC文件;
解析所述DBC文件,得到第一C代码;
基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
2.根据权利要求1所述的自适应多车型CAN数据自动解析方法,其特征在于,所述模板文件为手动编辑文件,并且与所述待解析的DBC文件的类型无关。
3.根据权利要求2所述的自适应多车型CAN数据自动解析方法,其特征在于,定义所需CAN报文及过滤规则的DBC文件包括:自定义过滤规则,并且将过滤规则添加到DBC文件。
4.根据权利要求3所述的自适应多车型CAN数据自动解析方法,其特征在于,所述过滤规则用于获得所关心的CAN数据。
5.根据权利要求4所述的自适应多车型CAN数据自动解析方法,其特征在于,所述解析所述DBC文件,得到第一C代码,包括:通过调用第三方开源库CAN tools来自动生成所述待解析的DBC文件的所述第一C代码。
6.根据权利要求5所述的自适应多车型CAN数据自动解析方法,其特征在于,所述基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,包括:以所述第一C代码和所述模板文件为输入,在Python脚本的驱动下,得到所述第二C代码。
7.根据权利要求6所述的自适应多车型CAN数据自动解析方法,其特征在于,所述基于所述模板文件对所述第一C代码进行渲染,得到第二C代码即解析CAN数据的C代码,包括:基于所述Jinja2模板引擎的渲染规则对所述第一C代码进行渲染。
8.一种自适应多车型CAN数据自动解析系统,其特征在于,包括:
模板文件定义单元,用于定义解析CAN数据的模板文件;
DBC文件及过滤规则定义单元,用于获得含有所需CAN报文及过滤规则的DBC文件;
第一C代码单元,用于解析所述含有所需CAN报文及过滤规则的DBC文件,得到第一C代码;
CAN数据解析单元,用于基于所述模板文件对所述第一C代码进行渲染,得到第二C代码,并将所述第二C代码写入共享内存。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的自适应多车型CAN数据自动解析方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的自适应多车型CAN数据自动解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629356.8A CN114390119A (zh) | 2021-12-28 | 2021-12-28 | 自适应多车型can数据自动解析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629356.8A CN114390119A (zh) | 2021-12-28 | 2021-12-28 | 自适应多车型can数据自动解析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114390119A true CN114390119A (zh) | 2022-04-22 |
Family
ID=81199326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111629356.8A Pending CN114390119A (zh) | 2021-12-28 | 2021-12-28 | 自适应多车型can数据自动解析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390119A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495133A (zh) * | 2022-11-17 | 2022-12-20 | 达芬骑动力科技(北京)有限公司 | Dbc动态自适应更新方法、装置、电子设备及存储介质 |
CN115791210A (zh) * | 2023-02-01 | 2023-03-14 | 江苏魔视智能科技有限公司 | 一种车辆测试方法、装置及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171801A1 (en) * | 2014-12-11 | 2016-06-16 | Hyundai Motor Company | Apparatus and method for processing a plurality of logging policies |
CN106506703A (zh) * | 2016-12-28 | 2017-03-15 | 掌阅科技股份有限公司 | 基于共享内存的服务发现方法、装置及系统、服务器 |
KR101797005B1 (ko) * | 2017-03-09 | 2017-12-13 | 슈어소프트테크주식회사 | 차종 별 테스트 케이스 생성 방법 |
CN108540363A (zh) * | 2017-12-30 | 2018-09-14 | 天津清源电动车辆有限责任公司 | 一种电动汽车远程监控系统的监控配置方法 |
CN111953575A (zh) * | 2020-07-31 | 2020-11-17 | 中科领目(常州)智能科技有限公司 | 一种适用于异构多核芯片的can协议栈系统及配置方法 |
CN112256670A (zh) * | 2020-10-10 | 2021-01-22 | 中国农业银行股份有限公司河北省分行 | 数据迁移方法、终端设备及可读存储介质 |
US20210029170A1 (en) * | 2018-03-26 | 2021-01-28 | Virsec Systems, Inc. | Trusted Execution Security Policy Platform |
CN112379886A (zh) * | 2020-11-30 | 2021-02-19 | 北京一流科技有限公司 | 数据格式转换系统及其方法 |
CN112714134A (zh) * | 2021-01-19 | 2021-04-27 | 广州导远电子科技有限公司 | Can报文的解析方法、适配方法、装置、设备及介质 |
CN113067821A (zh) * | 2021-03-22 | 2021-07-02 | 聊城大学 | 基于单个或多个dbc文件的can报文的解析方法 |
CN113438211A (zh) * | 2021-06-07 | 2021-09-24 | 杭州鸿泉物联网技术股份有限公司 | Dbc格式解析和报文解析方法、装置、电子设备及介质 |
CN113568876A (zh) * | 2021-08-04 | 2021-10-29 | 江苏爱玛车业科技有限公司 | 自动生成dbc文件的方法和装置 |
-
2021
- 2021-12-28 CN CN202111629356.8A patent/CN114390119A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171801A1 (en) * | 2014-12-11 | 2016-06-16 | Hyundai Motor Company | Apparatus and method for processing a plurality of logging policies |
CN106506703A (zh) * | 2016-12-28 | 2017-03-15 | 掌阅科技股份有限公司 | 基于共享内存的服务发现方法、装置及系统、服务器 |
KR101797005B1 (ko) * | 2017-03-09 | 2017-12-13 | 슈어소프트테크주식회사 | 차종 별 테스트 케이스 생성 방법 |
CN108540363A (zh) * | 2017-12-30 | 2018-09-14 | 天津清源电动车辆有限责任公司 | 一种电动汽车远程监控系统的监控配置方法 |
US20210029170A1 (en) * | 2018-03-26 | 2021-01-28 | Virsec Systems, Inc. | Trusted Execution Security Policy Platform |
CN111953575A (zh) * | 2020-07-31 | 2020-11-17 | 中科领目(常州)智能科技有限公司 | 一种适用于异构多核芯片的can协议栈系统及配置方法 |
CN112256670A (zh) * | 2020-10-10 | 2021-01-22 | 中国农业银行股份有限公司河北省分行 | 数据迁移方法、终端设备及可读存储介质 |
CN112379886A (zh) * | 2020-11-30 | 2021-02-19 | 北京一流科技有限公司 | 数据格式转换系统及其方法 |
CN112714134A (zh) * | 2021-01-19 | 2021-04-27 | 广州导远电子科技有限公司 | Can报文的解析方法、适配方法、装置、设备及介质 |
CN113067821A (zh) * | 2021-03-22 | 2021-07-02 | 聊城大学 | 基于单个或多个dbc文件的can报文的解析方法 |
CN113438211A (zh) * | 2021-06-07 | 2021-09-24 | 杭州鸿泉物联网技术股份有限公司 | Dbc格式解析和报文解析方法、装置、电子设备及介质 |
CN113568876A (zh) * | 2021-08-04 | 2021-10-29 | 江苏爱玛车业科技有限公司 | 自动生成dbc文件的方法和装置 |
Non-Patent Citations (2)
Title |
---|
COOLDOG123PP: "基于Python的对汽车电子ECU的通信矩阵数据库文件(.dbc)的解析", pages 1, Retrieved from the Internet <URL:https://bbs.21ic.com/icview-3121448-1-1.html> * |
李婧;王建平;: "面向共享内存并行程序的测试技术", 计算机与现代化, no. 08 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495133A (zh) * | 2022-11-17 | 2022-12-20 | 达芬骑动力科技(北京)有限公司 | Dbc动态自适应更新方法、装置、电子设备及存储介质 |
CN115791210A (zh) * | 2023-02-01 | 2023-03-14 | 江苏魔视智能科技有限公司 | 一种车辆测试方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114390119A (zh) | 自适应多车型can数据自动解析方法及系统 | |
CN112104664B (zh) | 物联网数据的协议转换方法、装置及设备 | |
CN103593456B (zh) | 表单自定义设计方法及装置 | |
CN112861501A (zh) | 报表的生成方法、装置、电子设备及计算机可读存储介质 | |
JP2013246644A (ja) | ソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラム | |
CN111046046A (zh) | 一种可定制驾驶日报自动生成系统和方法 | |
US9996296B2 (en) | Electronic control unit and method for rewriting data | |
JP2004199676A (ja) | ユーザ・コマンドの出力をカスタマイズするための方法および装置 | |
CN111897573A (zh) | 数据库字典文档的生成方法、装置、设备及存储介质 | |
CN107329756A (zh) | 程序文件的生成方法、装置、存储介质、处理器和终端 | |
CN116467871A (zh) | 文件参数修改方法、装置、设备及存储介质 | |
ATE392668T1 (de) | Datenverarbeitungseinheit und datenverarbeitungsprogramm gespeichert in einem computerlesbaren aufzeichnungsmedium | |
CN111860996B (zh) | 一种空气质量模型的排放源数据生成方法及装置、介质 | |
CN108415922B (zh) | 数据库修改方法及应用服务器 | |
CN113934384B (zh) | 数据渲染方法、装置、计算机设备和存储介质 | |
CN112232032B (zh) | docx文档的内容样式自动转换方法 | |
CN110727838B (zh) | 虚拟样车和装车清单中零件号的一致性校验方法及系统 | |
CN114125079B (zh) | 一种火电安全模拟平台协议解析系统及其解析方法 | |
CN112084757A (zh) | 一种基于工业应用平台的列表构建方法及装置 | |
US20220375280A1 (en) | Performance system for analyzing a vehicle's performance | |
JP2023143535A (ja) | 車両情報管理システム、車両情報管理方法、およびプログラム | |
CN116243968A (zh) | 用户信息修正方法、装置、电子设备及存储介质 | |
CN117806272A (zh) | 电子控制单元的标定方法及装置、电子控制单元及载具 | |
CN112363981A (zh) | 用于ldif文件的自动纠错方法及系统 | |
KR20240100248A (ko) | 임베디드 시스템에서 트루타입 폰트 파일을 처리하기 위한 컴퓨터 구현 방법 |
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 |