首页> 中国专利> 燃料电池测试系统DBC文件的解析方法及系统

燃料电池测试系统DBC文件的解析方法及系统

摘要

本发明公开了一种燃料电池测试系统DBC文件的解析方法及系统,通过CAN总线获取燃料电池测试系统的CAN通讯数据库的DBC文件;对解析任务的DBC文件进行参量定义;功能函数体实现DBC文件的具体解析任务和解析文件;功能函数体根据关键字功能函数和设定的条件循环完成对DBC文件的信息解析;输出数据结构体中定义了上述解析后的数据类型混合结构体,对每一项解析后的数据类型以簇的类型表示,将解析出的簇类型数据赋值到输出结构体,整个输出结构体作为整体的输出节点供外部功能函数进行调用。本发明基于原生的虚拟仪器的图形化语言开发的解析工具,实现直接解析CAN数据库文件功能的应用程序。

著录项

  • 公开/公告号CN112685031A

    专利类型发明专利

  • 公开/公告日2021-04-20

    原文格式PDF

  • 申请/专利权人 江苏兴邦能源科技有限公司;

    申请/专利号CN202011626839.8

  • 发明设计人 李朝凯;周忠发;魏耀晖;

    申请日2020-12-31

  • 分类号G06F8/34(20180101);G06F9/448(20180101);

  • 代理机构11506 北京东方灵盾知识产权代理有限公司;

  • 代理人王娟

  • 地址 224056 江苏省盐城市盐都区盐龙街道办事处纬七路与凤凰南路交汇处

  • 入库时间 2023-06-19 10:41:48

说明书

技术领域

本发明涉及一种汽车网络通讯的技术领域,尤其是燃料电池测试系统的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

6.若不成立,执行功能函数解析第i类型数据;

7.若成立,将解析项目封装为输出结构体簇类型;

8.将解析出的簇类型数据赋值到输出结构体;

9.结束。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号