CN112685031A - 燃料电池测试系统dbc文件的解析方法及系统 - Google Patents
燃料电池测试系统dbc文件的解析方法及系统 Download PDFInfo
- Publication number
- CN112685031A CN112685031A CN202011626839.8A CN202011626839A CN112685031A CN 112685031 A CN112685031 A CN 112685031A CN 202011626839 A CN202011626839 A CN 202011626839A CN 112685031 A CN112685031 A CN 112685031A
- Authority
- CN
- China
- Prior art keywords
- analysis
- function
- file
- dbc file
- 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
Images
Landscapes
- Automatic Analysis And Handling Materials Therefor (AREA)
Abstract
本发明公开了一种燃料电池测试系统DBC文件的解析方法及系统,通过CAN总线获取燃料电池测试系统的CAN通讯数据库的DBC文件;对解析任务的DBC文件进行参量定义;功能函数体实现DBC文件的具体解析任务和解析文件;功能函数体根据关键字功能函数和设定的条件循环完成对DBC文件的信息解析;输出数据结构体中定义了上述解析后的数据类型混合结构体,对每一项解析后的数据类型以簇的类型表示,将解析出的簇类型数据赋值到输出结构体,整个输出结构体作为整体的输出节点供外部功能函数进行调用。本发明基于原生的虚拟仪器的图形化语言开发的解析工具,实现直接解析CAN数据库文件功能的应用程序。
Description
技术领域
本发明涉及一种汽车网络通讯的技术领域,尤其是燃料电池测试系统的CAN通讯数据文件的解析。
背景技术
在汽车网络通讯的技术领域中,广泛使用的是CAN总线通讯技术,CAN总线是一种被广泛应用于汽车计算机控制系统和嵌入式工业控制局域网的标准总线,具有结构简单、可靠性强、实时性高等特点。这种通讯技术目前在汽车车载网络中主要通过CAN数据库(DBC)文件的形式进行报文解析,然后才可以实现车载设备间交互数据的收发功能。
然而,在燃料电池测试系统使用的虚拟仪器技术领域,目前进行CAN数据库文件的解析方法主要还是调用第三方编程环境开发的动态链接库文件(DLL)或互操作集的库文件来实现。
发明内容
本发明要解决的技术问题是:提供一种在虚拟仪器开发环境下的解析方法及系统,基于原生的虚拟仪器的图形化语言开发的解析工具,实现直接解析CAN数据库文件功能的应用程序,不要调用第三方编程环境开发的动态链接或操作集的库文件。
为了解决上述技术问题,本发明提供了一种燃料电池测试系统燃料电池测试系统DBC文件的解析方法,其基于原生的虚拟仪器的图形化语言开发的,包括以下步骤:
S1:通过燃料电池测试系统获取任一种型号发动机的CAN通讯数据库的DBC文件;
S2:对解析任务的DBC文件进行参量定义;
S3:功能函数体实现DBC文件的具体解析任务和解析文件;
S4:功能函数体根据关键字功能函数和设定的条件循环完成对DBC文件的信息解析;
S5:输出数据结构体中定义了上述解析后的数据类型混合结构体,对每一项解析后的数据类型以簇的类型表示,将解析出的簇类型数据赋值到输出结构体,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
进一步,步骤S2中所述参量定义:包括DBC文件的加载路径,以及解析DBC文件数据组成的枚举类型变量。
进一步,步骤S3中所述DBC文件的信息包括:版本、波特率、网络节点、报文帧、信号、注解、属性和数值表。
进一步,所述语法分析器和解析文件的功能器。
进一步,其包括:
本发明还公开了一种技术方案在于:一种燃料电池测试系统DBC文件的解析系统,其包括虚拟仪器,所述虚拟仪器包括:
输入结构体:输入参量的定义;
功能函数体:自动识别关键字功能函数和条件循环完成DBC文件的解析;
输出结构体:定义了上述解析后的数据类型混合结构体;
输入数据结构体是实现功能函数体重参数的定义和初始化,功能函数体具有解析任务的语法分析器和解析文件的功能器,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
本发明的技术效果在于:
1、本发明电池测试系统燃料电池测试系统DBC文件的解析方法及系统,支持所有遵循DBC文件规范的CAN接口设备交互数据,而不需绑定特定的CAN接口设备才能使用。
2、本发明针对燃料电池测试系统使用的虚拟仪器技术领域,目前进行CAN数据库文件的解析方法不需要调用第三方编程环境开发的动态链接库文件(DLL)或互操作集的库文件,基于原生的虚拟仪器的图形化语言开发的解析工具,实现解析CAN数据库文件功能的应用程序。
3、本发明基于原生的虚拟仪器的图形化语言开发的解析工具,人机界面非常友好,用户方便构建自己需要的各种功能图形,直观地显示汽车电池测控系统中的测控对象流程。
附图说明
图1为本发明虚拟仪器开发环境中输入数据结构体定义示意图;
图2为本发明虚拟仪器开发环境中输出数据结构体定义示意图。
图3所示为本发明DBC属性值解析的图形代码化的实施例图;
图4所示为本发明DBC注解解析的图形代码化的实施例图;
图5所示为本发明DBC信号数据解析的图形代码化的实施例图;
图6所示为本发明DBC数值表解析的图形代码化的实施例图;
图7所示为本发明燃料电池测试系统DBC文件的解析方法的工作流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明是燃料电池测试系统燃料电池测试系统DBC文件的解析方法,是基于虚拟仪器技术的解析的方法,虚拟仪器的硬件,只是用于建立测试及控制对象与运算控制器之间的物理联系,而硬件的控制、测试与控制数据的分析则由软件来实现。
如果用户选择好编译型图形化编程语言,采用采用图形化编程,不需要再用键盘输入程序文本,只需要按照菜单或图标,点出所需要的功能框,用线条正确连接各功能框之间的数据流向,就完成了编程。或者说在界面上画好了流程框图。
用户选择好编程语言,以数据流驱动的图形化编程语言,它代替文本编程语言来创建应用程序,其源程序完全是图形化的框图,而不是文本代码。它把复杂、繁琐、费时的语言编程,简化为利用线条把各种不同的图形化功能模块连接起来的图形编程,在编写软件的过程,其实就变成了一个程序流程框图绘制的过程,结合它提供的各种控件、信号分析处理函数库,可以大大提高我们的编程效率。
本发明提供一种基于虚拟仪器技术的燃料电池测试系统DBC文件的解析方法,该方法包括:输入数据结构体、功能函数体、输出数据结构体和工作流程实现。
本发明一种燃料电池测试系统燃料电池测试系统DBC文件的解析方法,其基于原生的虚拟仪器的图形化语言开发的,包括以下步骤:
S1:通过燃料电池测试系统获取任一种型号发动机的CAN通讯数据库的DBC文件;
S2:对解析任务的DBC文件进行参量定义;
S3:功能函数体实现DBC文件的具体解析任务和解析文件;
S4:功能函数体根据关键字功能函数和设定的条件循环完成对DBC文件的信息解析;
S5:输出数据结构体中定义了上述解析后的数据类型混合结构体,对每一项解析后的数据类型以簇的类型表示,将解析出的簇类型数据赋值到输出结构体,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
进一步,步骤S2中所述参量定义:包括DBC文件的加载路径,以及解析DBC文件数据组成的枚举类型变量。
进一步,步骤S3中所述DBC文件的信息包括:版本、波特率、网络节点、报文帧、信号、注解、属性和数值表。
进一步,所述语法分析器和解析文件的功能器。
进一步,其包括:
本本发明一种燃料电池测试系统DBC文件的解析系统,其包括虚拟仪器,所述虚拟仪器包括:
输入结构体:输入参量的定义;
功能函数体:自动识别关键字功能函数和条件循环完成DBC文件的解析;
输出结构体:定义了上述解析后的数据类型混合结构体。
输入数据结构体是实现功能函数体重参数的定义和初始化,功能函数体具有解析任务的语法分析器和解析文件的功能器,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
其中,输入数据结构体是实现功能函数体中输入参量的定义和初始化功能。其中定义了DBC文件的加载路径,及解析DBC文件数据组成的枚举类型变量。
枚举类型变量定义如下:
Typedef enum
{
version&sign_;
Baudrate_;
netNode_;
Messages_;
Signals_;
Comment_;
Attribute_;
valueTable_;ValueType
}Method_ID;
Typedef structure
{
String pathFile;
Method_ID methodID;
}inputData;
如图1所示,虚拟仪器开发环境中输入数据结构体定义。
功能函数体是实现DBC文件具体解析任务的语法分析器和解析文件的功能器。功能函数体通过自动识别关键字功能函数和条件循环体完成版本、波特率、网络节点、报文帧、信号、注解、属性和数值表的数据解析工作。
以下为功能函数体部分功能实现实例,具体参见附图中的界面所示。
如图3所示为DBC属性值解析的图形代码化的实施例图。
如图4所示为DBC注解解析的图形代码化的实施例图。
如图5所示为DBC信号数据解析的图形代码化的实施例图。
如图6所示为DBC数值表解析的图形代码化的实施例图。
本发明输出数据结构体中定义了上述解析后的数据类型混合结构体,每一项解析的数据以簇的类型表示,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
定义如下:
Typedef structure
{
String version;
String sign;
}_version&sign;
Typedef structure
{
uint32 baudrate;
}_baudrate;
Typedef structure
{
String node;
}_nodes;
Typedef structure
{
String signalName;
Uint8 signalLength;
Uint8 singalStartBit;
Double factor;
Int32 offset;
Double Min;
Double Max;
String unit;
String receiver;
}_signals;
Typedef structure
{
string comment;
}_comment;
Typedef structure
{
string attribute;
}_attribute;
Typedef structure
{
string valueTable;
}_valueTable;
Typedef structure
{
_version&sign version_array[];
_baudrate baudRate_array[];
_nodes node_array[];
_signals signal_array[];
_comment comment_array[];
_attribute attribute_array[];
_valueTable valueTable_array[];
}outputData;
如图2所示,为虚拟仪器开发环境中输出数据结构体定义:
如图7所示,为本发明解析方法工作流程如下:
1.开始;
2.初始化输入数据结构体;
3.初始化输出数据结构体;
4.创建变量N,i;赋值:N=解析项目数,i=0;
5.判断i<N是否成立;
6.若不成立,执行功能函数解析第i类型数据;
7.若成立,将解析项目封装为输出结构体簇类型;
8.将解析出的簇类型数据赋值到输出结构体;
9.结束。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (5)
1.一种燃料电池测试系统DBC文件的解析方法,其特征在于:其基于原生的虚拟仪器的图形化语言开发的,包括以下步骤:
S1:通过燃料电池测试系统获取任一种型号发动机的CAN通讯数据库的DBC文件;
S2:对解析任务的DBC文件进行参量定义;
S3:功能函数体实现DBC文件的具体解析任务和解析文件;
S4:功能函数体根据关键字功能函数和设定的条件循环完成对DBC文件的信息解析;
S5:输出数据结构体中定义了上述解析后的数据类型混合结构体,对每一项解析后的数据类型以簇类型表示,将解析出的簇类型数据赋值到输出结构体,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
2.根据权利要求1所述的燃料电池测试系统DBC文件的解析方法,其特征在于,步骤S2中所述参量定义:包括DBC文件的加载路径,以及解析DBC文件数据组成的枚举类型变量。
3.根据权利要求1所述的燃料电池测试系统DBC文件的解析方法,其特征在于,步骤S3中所述DBC文件的信息包括:版本、波特率、网络节点、报文帧、信号、注解、属性和数值表。
4.根据权利要求1所述的燃料电池测试系统DBC文件的解析方法,其特征在于,所述语法分析器和解析文件的功能器。
5.一种燃料电池测试系统燃料电池测试系统DBC文件的解析系统,其包括虚拟仪器,其特征在于,所述虚拟仪器包括:
输入结构体:输入参量的定义;
功能函数体:自动识别关键字功能函数和条件循环完成DBC文件的解析;
输出结构体:定义了上述解析后的数据类型混合结构体;
输入数据结构体是实现功能函数体重参数的定义和初始化,功能函数体具有解析任务的语法分析器和解析文件的功能器,整个输出结构体作为整体的输出节点供外部功能函数进行调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626839.8A CN112685031A (zh) | 2020-12-31 | 2020-12-31 | 燃料电池测试系统dbc文件的解析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626839.8A CN112685031A (zh) | 2020-12-31 | 2020-12-31 | 燃料电池测试系统dbc文件的解析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685031A true CN112685031A (zh) | 2021-04-20 |
Family
ID=75455818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011626839.8A Pending CN112685031A (zh) | 2020-12-31 | 2020-12-31 | 燃料电池测试系统dbc文件的解析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685031A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095405A (zh) * | 2022-01-21 | 2022-02-25 | 国汽智控(北京)科技有限公司 | 车辆功能单元测试方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN104536812A (zh) * | 2014-12-30 | 2015-04-22 | 北京无线电计量测试研究所 | 一种基于LabVIEW的动态链接库的调用方法 |
CN107623728A (zh) * | 2017-09-07 | 2018-01-23 | 国营芜湖机械厂 | 基于产品接口控制文件的fc‑ae‑asm数据通用解析方法 |
CN110769002A (zh) * | 2019-11-01 | 2020-02-07 | 上海电气集团股份有限公司 | 基于LabVIEW的报文解析方法、系统、电子设备和介质 |
-
2020
- 2020-12-31 CN CN202011626839.8A patent/CN112685031A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN104536812A (zh) * | 2014-12-30 | 2015-04-22 | 北京无线电计量测试研究所 | 一种基于LabVIEW的动态链接库的调用方法 |
CN107623728A (zh) * | 2017-09-07 | 2018-01-23 | 国营芜湖机械厂 | 基于产品接口控制文件的fc‑ae‑asm数据通用解析方法 |
CN110769002A (zh) * | 2019-11-01 | 2020-02-07 | 上海电气集团股份有限公司 | 基于LabVIEW的报文解析方法、系统、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
汪琦等: "燃料电池空压机自动化测试系统设计", 制造业自动化, no. 7, pages 1 - 3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095405A (zh) * | 2022-01-21 | 2022-02-25 | 国汽智控(北京)科技有限公司 | 车辆功能单元测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765013B (zh) | 一种流程自动化执行方法及系统 | |
US5694578A (en) | Computer-implemented method and apparatus for converting data according to a selected data transformation | |
US7926024B2 (en) | Method and apparatus for managing complex processes | |
CN110399299B (zh) | 自动化测试框架和测试用例的执行方法 | |
CN112363695B (zh) | Pmml文件及其运行时环境与工业软件的集成方法 | |
CN110673854A (zh) | Sas语言编译方法、装置、设备及可读存储介质 | |
CN112306861A (zh) | 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法 | |
CN111626028A (zh) | 基于函数解析的报表生成方法、装置、设备及计算机介质 | |
CN110908789B (zh) | 面向多源数据处理的可视化数据配置方法及系统 | |
CN111026670A (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN112433701A (zh) | 工业软件开发项目实施流程、内容及代码生成方法及装置 | |
CN111596902A (zh) | 一种前后端开发框架的搭建方法、装置、设备及存储介质 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN111427321A (zh) | 一种兼容多协议的mes数据采集系统及其方法 | |
CN115543290A (zh) | 可视化编程方法及系统 | |
CN112464620A (zh) | 一种财务规则引擎的实现方法及实现系统 | |
CN113806429A (zh) | 基于大数据流处理框架的画布式日志分析方法 | |
CN115712422A (zh) | 表单页面的生成方法、装置、计算机设备及存储介质 | |
CN112685031A (zh) | 燃料电池测试系统dbc文件的解析方法及系统 | |
CN114185750A (zh) | 流程监控方法、装置、设备及存储介质 | |
CN114064601B (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN114047970A (zh) | 一种autosar架构软件的配置方法及系统 | |
CN116301735B (zh) | 将软件要素组织为软件数据链路的方法、装置及存储介质 | |
CN108073389B (zh) | 一种基于脚本语言的引擎系统 | |
CN115480940A (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 |