CAN信号的源文件自动生成方法及系统技术方案

技术编号:16818464 阅读:30 留言:0更新日期:2017-12-16 11:39
本发明专利技术公开了一种CAN信号的源文件自动生成方法及系统。该方法包括:从CAN信号文件中读取多个CAN信号;根据所述多个CAN信号生成CAN信号数组,其中,所述CAN信号数组存储有所述多个CAN信号的属性;根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文;根据所述一个或多个CAN报文生成相应的发送数组或者接收数组;将所述多个CAN信号分别添加到相应的发送数组或者接收数组中,以生成所述CAN信号的源文件。本发明专利技术的方法,节省人力成本,提升CAN信号的源文件的生成效率,并具有准确率高的优点。

An automatic source file generation method and system for CAN signal

The invention discloses an automatic source file generation method and system for a CAN signal. The method includes reading a plurality of CAN signals from the CAN signal file; according to the plurality of CAN signals to generate CAN signal array, the attributes of the CAN signal is stored in an array of the plurality of CAN signals; according to one or more CAN message attributes of the plurality of CAN signals corresponding to the the plurality of CAN signals; according to the one or more CAN messages sent or received the corresponding array array; the plurality of CAN signals were added to send or receive the corresponding array array, to generate the CAN signal source file. The method of the invention saves the manpower cost, improves the generating efficiency of the source files of the CAN signal, and has the advantage of high accuracy.

【技术实现步骤摘要】
CAN信号的源文件自动生成方法及系统
本专利技术涉及汽车
,特别涉及一种CAN信号的源文件自动生成方法及系统。
技术介绍
汽车电子控制器在汽车中的应用越来越广泛,已经成为影响汽车性能的重要因素,而控制器与控制器的之间的数据交换都是通过CAN网络来实现的,这些数据体现在CAN总线上就是CAN信号,控制器在发送CAN信号前和接收CAN信号后要对CAN信号进行打包和解包的操作,而打包解包又是通过编写源代码来实现的。相关技术中,CAN信号打包解包源文件是人工来手动编写和修改的,一个信号修改,就要找出所有跟它相关的源文件并一一进行修改,不仅费时费力、效率底下,而且还容易出错。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种CAN信号的源文件自动生成方法。该方法节省人力成本,提升CAN信号的源文件的生成效率,并具有准确率高的优点。本专利技术的第二个目的在于提出一种CAN信号的源文件自动生成系统。为了实现上述目的,本专利技术的第一方面的实施例公开了一种CAN信号的源文件自动生成方法,包括以下步骤:从CAN信号文件中读取多个CAN信号;根据所述多个CAN信号生成CAN信号数组,其中,所述CAN信号数组存储有所述多个CAN信号的属性;根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文;根据所述一个或多个CAN报文生成相应的发送数组或者接收数组;将所述多个CAN信号分别添加到相应的发送数组或者接收数组中,以生成所述CAN信号的源文件。根据本专利技术实施例的CAN信号的源文件自动生成方法,可以根据CAN信号文件自动生成CAN信号的源文件,尤其在CAN信号需要更改的情况下,不需要人工来查找并手动编写和修改与更改的CAN信号相关的所有源文件,只需要将变动的CAN信号在CAN信号文件中进行修改,便可以根据更改的CAN信号文件自动生成CAN信号的源文件,节省人力成本,提升CAN信号的源文件的生成效率,并具有准确率高的优点。在一些示例中,所述CAN信号的属性至少包括CAN信号ID和传输方向。在一些示例中,所述根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文,包括:根据同一个CAN信号ID得到一个CAN报文。在一些示例中,所述根据所述一个或多个CAN报文生成相应的发送数组或者接收数组,包括:如果所述传输方向为发送方向,则生成相应的发送数组;如果所述传输方向为接收方向,则生成相应的接收数组。在一些示例中,在将所述多个CAN信号分别添加到相应的发送数组或者接收数组中之前,还包括:根据每个CAN报文中的CAN信号生成相应的结构体变量;为所述结构体变量中每个CAN信号设置相应的打包或解包函数,并将所述结构体变量中每个CAN信号传递到相应的打包或解包函数中。本专利技术的第二方面的实施例公开了一种CAN信号的源文件自动生成系统,包括:读取模块,用于从CAN信号文件中读取多个CAN信号;CAN信号数组生成模块,用于根据所述多个CAN信号生成CAN信号数组,其中,所述CAN信号数组存储有所述多个CAN信号的属性;源文件生成模块,用于根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文,并根据所述一个或多个CAN报文生成相应的发送数组或者接收数组,以及将所述多个CAN信号分别添加到相应的发送数组或者接收数组中,以生成所述CAN信号的源文件。根据本专利技术实施例的CAN信号的源文件自动生成系统,可以根据CAN信号文件自动生成CAN信号的源文件,尤其在CAN信号需要更改的情况下,不需要人工来查找并手动编写和修改与更改的CAN信号相关的所有源文件,只需要将变动的CAN信号在CAN信号文件中进行修改,便可以根据更改的CAN信号文件自动生成CAN信号的源文件,节省人力成本,提升CAN信号的源文件的生成效率,并具有准确率高的优点。在一些示例中,所述CAN信号的属性至少包括CAN信号ID和传输方向。在一些示例中,所述源文件生成模块用于根据同一个CAN信号ID得到一个CAN报文。在一些示例中,所述源文件生成模块用于在所述传输方向为发送方向时生成相应的发送数组,以及在所述传输方向为接收方向时生成相应的接收数组。在一些示例中,所述源文件生成模块还用于在将所述多个CAN信号分别添加到相应的发送数组或者接收数组中之前,根据每个CAN报文中的CAN信号生成相应的结构体变量,并为所述结构体变量中每个CAN信号设置相应的打包或解包函数,并将所述结构体变量中每个CAN信号传递到相应的打包或解包函数中。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述的或附加的方面和优点结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本专利技术一个实施例的CAN信号的源文件自动生成方法的流程图;图2是根据本专利技术另一个实施例的CAN信号的源文件自动生成方法的流程图;图3是根据本专利技术一个实施例的CAN信号的源文件自动生成方法中CAN信号数组的示意图;以及图4是根据本专利技术另一个实施例的CAN信号的源文件自动生成系统的结构框图。附图标记说明:CAN信号的源文件自动生成系统400、读取模块410、CAN信号数组生成模块420、源文件生成模块430。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。以下结合附图描述根据本专利技术实施例的电机的标定方法及系统。图1是根据本专利技术一个实施例的CAN信号的源文件自动生成方法的流程图。如图1所示,并结合图2,根据本专利技术一个实施例的CAN信号的源文件自动生成方法,包括如下步骤:S101:从CAN信号文件中读取多个CAN信号。其中,在从CAN信号文件中读取多个CAN信号之前,需要预先建立CAN信号文件。结合图2所示,预先创建含有CAN信号的CAN信号文件,如:CAN_Signal.csv文件。其中,CAN_Signal.csv文件中预先写入了多个CAN信号。S102:根据多个CAN信号生成CAN信号数组,其中,CAN信号数组存储有所述多个CAN信号的属性。具体地说,例如通过Python脚本读入CAN_Signal.csv文件,对此文件进行解析转换成字符串保存到CAN信号数组中,CAN信号数组的行信息为每个CAN信号的属性,列信息为所有的CAN信号索引。如图3所示CAN_Signal.csv文件对应的CAN信号数组为:string_tSignalArray[27][8]。在该示例中,CAN信号的属性包括CAN信号所在的报文ID(即:CAN信号ID)以及传输方向(如Rx和Tx)。当然,CAN信号的属性还可以包括报文序号,报文发送或接收周期、信号名、信号数据类型、信号起始位以及信号长度等。S103:根据多个CAN信号的属性得到对应于多个CAN信号的一个或多个CAN报文。作为一个具体的示例,可以根据同一个CAN信号ID得到一个CAN报文。例如:根据CAN信号ID和传输方向在CAN信号数组本文档来自技高网...
CAN信号的源文件自动生成方法及系统

【技术保护点】
一种CAN信号的源文件自动生成方法,其特征在于,包括以下步骤:从CAN信号文件中读取多个CAN信号;根据所述多个CAN信号生成CAN信号数组,其中,所述CAN信号数组存储有所述多个CAN信号的属性;根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文;根据所述一个或多个CAN报文生成相应的发送数组或者接收数组;将所述多个CAN信号分别添加到相应的发送数组或者接收数组中,以生成所述CAN信号的源文件。

【技术特征摘要】
1.一种CAN信号的源文件自动生成方法,其特征在于,包括以下步骤:从CAN信号文件中读取多个CAN信号;根据所述多个CAN信号生成CAN信号数组,其中,所述CAN信号数组存储有所述多个CAN信号的属性;根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文;根据所述一个或多个CAN报文生成相应的发送数组或者接收数组;将所述多个CAN信号分别添加到相应的发送数组或者接收数组中,以生成所述CAN信号的源文件。2.根据权利要求1所述的CAN信号的源文件自动生成方法,其特征在于,所述CAN信号的属性至少包括CAN信号ID和传输方向。3.根据权利要求2所述的CAN信号的源文件自动生成方法,其特征在于,所述根据所述多个CAN信号的属性得到对应于所述多个CAN信号的一个或多个CAN报文,包括:根据同一个CAN信号ID得到一个CAN报文。4.根据权利要求2所述的CAN信号的源文件自动生成方法,其特征在于,所述根据所述一个或多个CAN报文生成相应的发送数组或者接收数组,包括:如果所述传输方向为发送方向,则生成相应的发送数组;如果所述传输方向为接收方向,则生成相应的接收数组。5.根据权利要求1-4任一项所述的CAN信号的源文件自动生成方法,其特征在于,在将所述多个CAN信号分别添加到相应的发送数组或者接收数组中之前,还包括:根据每个CAN报文中的CAN信号生成相应的结构体变量;为所述结构体变量中每个CAN信号设置相应的打包或解包函数,并将所述结构体变量中每个CAN信号传递到相应的打包或解包函数中。6.一种C...

【专利技术属性】
技术研发人员:吴昊
申请(专利权)人:宝沃汽车中国有限公司
类型:发明
国别省市:北京,11

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

1