基于LABVIEW和.NET实现DBC报文的解析方法及系统技术方案

技术编号:20915101 阅读:44 留言:0更新日期:2019-04-20 09:24
本申请实施例提供的基于LABVIEW和.NET实现DBC报文的解析方法,包括:在LABVIEW中导入当前DBC文件;检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。通过对DBC文件中的信号进行提取形成簇数组,并调用.NET容器,对DBC文件中的信号进行图形化显示,突破了LABVIEW自身的局限性。

Method and system of DBC message parsing based on LABVIEW and. NET

The method of parsing DBC messages based on LABVIEW and. NET provided by the embodiment of this application includes: importing the current DBC file in LABVIEW; detecting the frame messages in the current DBC file and the signals contained in each frame message; establishing the corresponding relationship between the frame messages and the signals, generating cluster arrays, and importing the cluster arrays into the tree control of LABVIEW; Load the. NET container in LABVIEW, import the ZEDGraph control, define the size of the ZEDGraph control; send the corresponding frame message and signal to the display window according to the user's choice of needs, to parse the corresponding frame message and signal; match the parsed frame message and signal with the received CAN message, and parse through the USBCAN device. Frame messages and signals are sent to the display device for display. By extracting signals from DBC files to form cluster arrays and calling. NET containers, the signals in DBC files are displayed graphically, which breaks through the limitations of LABVIEW itself.

【技术实现步骤摘要】
基于LABVIEW和.NET实现DBC报文的解析方法及系统
本申请涉及自动控制领域,尤其涉及一种基于LABVIEW和.NET实现DBC报文的解析方法及系统。
技术介绍
CAN总线协议是ISO国际标准化的一种串行通信协议,由于它具有极好的抗干扰能力、极强的差错检测和处理能力,能够满足信息传输实时性的要求,同时具有控制接口结构简单、易于配置的优点,因此在汽车电子等领域得到了日益广泛的应用。随着技术的进步及人们对驾驶要求的不断提高,汽车网络中的CAN节点不断增加,网络中的数据也越来越庞大。因此,为了便于整车的设计和维护,现有技术中提出了采用DBC数据库文件对汽车CAN数据进行解析和管理的技术方案。DBC文件是一个标准的数据库文件,绝大多数汽车生产厂家都有相应的DBC文件数据库。DBC解析的过程就是将汽车CAN网络传输的十六进制数据转换成通常熟知的物理量,比如车速、转速、温度等。现有技术中,已有技术利用LABVIEW实现DBC中信号部分参数提取,但是未能将DBC中所有属于该信号信息提取完毕,同时,现有技术除CANOE使用图形显示外,其余仅显示信号值,并未将信号在显示控件中显示,但CANOE成本太高,不便于普及,并且,现有技术中,LABVIEW自身的局限,显示的信号有数量限制,不便于对信号的观测。
技术实现思路
有鉴于此,本申请的目的在于提出一种基于LABVIEW和.NET实现DBC报文的解析方法及系统,来解决现有技术中利用LABVIEW对DBC进行信号提取时,未能将DBC中所有属于该信号信息提取完毕,同时LABVIEW自身的局限,显示的信号有数量限制,不便于对信号的观测的技术问题。基于上述目的,在本申请的一个方面,提出了一种基于LABVIEW和.NET实现DBC报文的解析方法,包括:在LABVIEW中导入当前DBC文件;检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。在一些实施例中,根据权利要求1所述的方法,其特征在于,所述检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号,包括:逐行对所述当前DBC文件进行检测,根据“BO_”帧消息标识节点提取所述当前DBC文件中的所有帧,对每一帧,根据“SG_”信号标识节点提取该帧内的所有信号。在一些实施例中,还包括:对于每一帧,记录该帧的帧ID、帧名称、帧字节数和帧注释。在一些实施例中,还包括:对于每一信号,记录该信号的信号名称、信号起始位、信号位长度、转换因子、偏移量、最小值、最大值、实际值、原始值、是否为有符号数据、是否为摩托罗拉格式、多路复用类型、多路复用值、单位、注释、值描述。在一些实施例中,还包括:将信号的信号名称、信号起始位、信号位长度、转换因子、偏移量、最小值、最大值、实际值、原始值、是否为有符号数据、是否为摩托罗拉格式、多路复用类型、多路复用值、单位、注释、值描述形成信号簇。在一些实施例中,还包括:将同一帧中的信号簇形成簇数组,并将多个簇数组形成帧簇。在一些实施例中,还包括:将信号以数组的形式传送至ZEDGraph,ZEDGraph自动识别需要显示的信号数量,信号名称,并自适应设置Pane面板个数、pointpairlist个数,将信号以图形的方式进行显示。基于上述目的,在本申请的另一个方面,还提出了一种基于LABVIEW和.NET实现DBC报文的解析系统,其特征在于,包括:DBC文件导入模块,用于在LABVIEW中导入当前DBC文件;帧消息和信号检测模块,用于检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;簇数组生成模块,用于建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;.NET容器加载模块,用于在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;帧消息和信号解析模块,用于根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;帧消息和信号显示模块,用于将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。在一些实施例中,所述帧消息和信号检测模块,具体用于:逐行对所述当前DBC文件进行检测,根据“BO_”帧消息标识节点提取所述当前DBC文件中的所有帧,对每一帧,根据“SG_”信号标识节点提取该帧内的所有信号。在一些实施例中,所述簇数组生成模块,具体用于:将同一帧中的信号簇形成簇数组,并将多个簇数组形成帧簇。本申请实施例提供的基于LABVIEW和.NET实现DBC报文的解析方法,包括:在LABVIEW中导入当前DBC文件;检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。通过对DBC文件中的信号进行提取形成簇数组,并调用.NET容器,对DBC文件中的信号进行图形化显示,突破了LABVIEW自身的局限,显示的信号无数量限制,便于对信号进行观测。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请实施例一的基于LABVIEW和.NET实现DBC报文的解析方法的流程图;图2是本申请实施例二的基于LABVIEW和.NET实现DBC报文的解析方法的流程图;图3是本申请实施例二中根据DBC报文中的信号形成的簇数组的示意图;图4是本申请实施例二中利用.NET对DBC报文中的信号进行显示的示意图;图5是本申请实施例三的基于LABVIEW和.NET实现DBC报文的解析系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。作为本申请的一个实施例,如图1所示,是本申请实施例一的基于LABVIEW和.NET实现DBC报文的解析方法的流程图。从图1中可以看出,本实施的基于LABVIEW和.NET实现DBC报文的解析方法,可以包括本文档来自技高网...

【技术保护点】
1.基于LABVIEW和.NET实现DBC报文的解析方法,其特征在于,包括:在LABVIEW中导入当前DBC文件;检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。

【技术特征摘要】
1.基于LABVIEW和.NET实现DBC报文的解析方法,其特征在于,包括:在LABVIEW中导入当前DBC文件;检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号;建立所述帧消息和所述信号的对应关系,生成簇数组,并将所述簇数组导入到LABVIEW的树形控件中;在LABVIEW中加载.NET容器,导入ZEDGraph控件,定义ZEDGraph控件大小;根据用户选择的需要显示的帧消息和信号将对应的帧消息和信号发送至显示窗口,以对对应的帧消息和信号进行解析;将解析完成的帧消息和信号与接收到的CAN消息进行匹配,并通过USBCAN设备将解析完成的帧消息和信号发送至显示设备进行显示。2.根据权利要求1所述的方法,其特征在于,所述检测所述当前DBC文件中的帧消息以及每个所述的帧消息中包含的信号,包括:逐行对所述当前DBC文件进行检测,根据“BO_”帧消息标识节点提取所述当前DBC文件中的所有帧,对每一帧,根据“SG_”信号标识节点提取该帧内的所有信号。3.根据权利要求2所述的方法,其特征在于,还包括:对于每一帧,记录该帧的帧ID、帧名称、帧字节数和帧注释。4.根据权利要求2或3所述的方法,其特征在于,还包括:对于每一信号,记录该信号的信号名称、信号起始位、信号位长度、转换因子、偏移量、最小值、最大值、实际值、原始值、是否为有符号数据、是否为摩托罗拉格式、多路复用类型、多路复用值、单位、注释、值描述。5.根据权利要求4所述的方法,其特征在于,还包括:将信号的信号名称、信号起始位、信号位长度、转换因子、偏移量、最小值、最大值、实际值、原始值、是否为有符号数据、是否为摩托罗拉格式、多路复用类型、多路复用值、单位、注释、值描述形成...

【专利技术属性】
技术研发人员:杨啸风马宇王六闰周飞
申请(专利权)人:浙江台运汽车科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1