CN116822480A - 一种汽车控制器诊断模块a2l文件的生成方法 - Google Patents
一种汽车控制器诊断模块a2l文件的生成方法 Download PDFInfo
- Publication number
- CN116822480A CN116822480A CN202310777554.1A CN202310777554A CN116822480A CN 116822480 A CN116822480 A CN 116822480A CN 202310777554 A CN202310777554 A CN 202310777554A CN 116822480 A CN116822480 A CN 116822480A
- Authority
- CN
- China
- Prior art keywords
- file
- variable
- information
- generating
- data
- 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
- 238000003745 diagnosis Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000011084 recovery Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 4
- 238000011161 development Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XXQGYGJZNMSSFD-UHFFFAOYSA-N 2-[2-(dimethylcarbamoyl)phenoxy]acetic acid Chemical compound CN(C)C(=O)C1=CC=CC=C1OCC(O)=O XXQGYGJZNMSSFD-UHFFFAOYSA-N 0.000 description 1
- 102100026291 Arf-GAP with SH3 domain, ANK repeat and PH domain-containing protein 2 Human genes 0.000 description 1
- 102100022443 CXADR-like membrane protein Human genes 0.000 description 1
- 101000785915 Homo sapiens Arf-GAP with SH3 domain, ANK repeat and PH domain-containing protein 2 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Landscapes
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
Abstract
本发明提出一种汽车控制器诊断模块A2L文件的生成方法,涉及汽车控制器开发的技术领域,首先根据预设的表格模板填写汽车控制器的诊断信息,再对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中判断诊断信息的数据是否处于预设范围内,将预设范围内的诊断信息的数据写入结构体数组,然后将结构体数组格式化输出为包含空地址信息的A2L文件,最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件,独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间,高效便捷。
Description
技术领域
本发明涉及汽车控制器开发的技术领域,具体涉及一种汽车控制器诊断模块A2L文件的生成方法。
背景技术
汽车控制器的软件设计架构通常包含多个模块,如上电、下电、NVM(Non-volatileMemory,非易失性内存)存储、离合器控制、诊断模块等,其中,通过诊断模块实现对控制软件CAN(Controller Area Network,控制器局域网总线)信号、传感器信号、电磁阀电流信号等信号数据的实时监控、在线诊断、故障提示、故障码存储等功能。
通常,在汽车控制器软件的集成发布过程中,除了需要必须的刷写文件,还包含整个工程的A2L(ASAM MCD-2MC Language)文件。A2L文件是汽车控制器标定时必须用到的描述文件,它包含汽车控制器通信相关的参数,以及标定变量、测量变量的类型、地址、转化公式等信息,通过A2L文件可对汽车控制器进行标定、测试。
现有技术公开了一种自动生成A2L文件的方法和装置,首先设置MATLAB(MatrixLaboratory,矩阵实验室)模型环境,获取输入输出接口数据库,再根据MATLAB模型环境和输入输出接口数据库,生成A2L输入输出接口模型,最后根据A2L输入输出接口模型生成A2L模板文件,实现低成本的A2L文件自动生成。但是,该方案一方面需要依赖MATLAB等专业工具软件生成A2L文件,另一方面,该方案只能生成整个工程项目整体的A2L文件,对于功能策略多的汽车控制器而言,基于整个工程项目生成A2L文件需要的时间较长,效率较低。
发明内容
为解决当前汽车控制器的A2L文件生成耗时较长、效率较低的问题,本发明提出一种汽车控制器诊断模块A2L文件的生成方法,独立生成汽车控制器诊断模块的A2L文件,提高了A2L文件的生成效率。
为了达到上述技术效果,本发明的技术方案如下:
一种汽车控制器诊断模块A2L文件的生成方法,包括:
S1.根据预设的表格模板填写汽车控制器的诊断信息;
S2.对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
本技术方案在表格模板填写汽车控制器的诊断信息,对表格中每一行预设范围内的诊断信息的数据写入结构体数组,将结构体数组格式化输出,单独生成诊断模块的A2L文件,并对A2L文件的变量地址进行更新,减少对专业工具软件的依赖,提高了A2L文件的生成效率。
优选地,在步骤S1中,所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略。
优选地,在步骤S2中,判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255。
优选地,在步骤S2中,对表格中每一行诊断信息的数据进行遍历处理时,将每一行的替换策略转换为一个无符号32位类型的变量,所述无符号32位类型的变量的每一位分别以BOOL(布尔)类型表示变量信息0或1。
优选地,在步骤S2中,将表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型。
优选地,在步骤S2中,将替换策略对应的变量信息写入结构体数组时,将表格中每一行列出的多个替换策略合成为一个无符号32位的数值,替换策略的序号表示32位数据的所在BIT(Binary Digit,比特)位。
优选地,在步骤S2中,所述存储变量还包括每一行诊断信息的数据对应的故障结果。
优选地,还包括将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件进行编译,得到包含所有变量地址信息的MAP文件。
优选地,在步骤S3中,根据结构体数组的变量类型,将所述变量信息按A2L文件的格式输出变量类型对应的文本块;所述变量类型分为标定量和观察量。
优选地,在步骤S4中,将MAP文件中的地址信息更新至诊断模块A2L文件中对应的存储变量中,得到参与汽车控制器标定的诊断模块A2L文件。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种汽车控制器诊断模块A2L文件的生成方法,首先根据预设的表格模板填写汽车控制器的诊断信息,再对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中判断诊断信息的数据是否处于预设范围内,将预设范围内的诊断信息的数据写入结构体数组,然后将结构体数组格式化输出为包含空地址信息的A2L文件,最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件,独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间,且不需要依靠MATLAB等外部专业工具软件,高效便捷,方便开发人员操作。
附图说明
图1为本发明提出的汽车控制器诊断模块A2L文件的生成方法的流程示意图;
图2为本发明提出的Excel预设表格示意图;
图3为本发明提出的操作面板示意图;
图4为本发明提出的汽车控制器诊断模块A2L文件输出流程示意图;
图5为本发明提出的结构体数组格式化输出流程示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
附图中描述位置关系的仅用于示例性说明,不能理解为对本专利的限制;
如图1所示,本实施例提出一种汽车控制器诊断模块A2L文件的生成方法,包括以下步骤:
S1.根据预设的EXCEL表格模板填写汽车控制器的诊断信息;
所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略等;
S2.对EXCEL表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
在实际应用中,如图2所示,用户将汽车控制器的诊断信息填入预设的EXCEL表格模板后,点击EXCEL表格中的操作控件,此时弹出操作面板,参见图3,用户可自行更改A2L文件的输出地址;一般情况下,无需更改输出A2L文件地址,用户可直接点击生成A2L文件按钮,调用宏命令,即VBA(Visual Basic for Applications)代码,对诊断信息的数据进行遍历处理,如图4所示。
在本实施例中,如图2所示,预设的EXCEL表格中的替换策略可填写多个,可根据策略需要直接向后拓展,VBA代码会自动识别EXCEL表格中填写的替换策略,并增加到结构体数组中。
如图2所示,利用VBA代码,从已填写的EXCEL表格的第二行第二列开始,依次对EXCEL表格中的每一行诊断信息的数据进行遍历处理,直至EXCEL表格中每一行的诊断信息的数据遍历完成;将EXCEL表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型;
在本实施例中,还包括新增每一行诊断信息的数据对应的故障结果的变量,所述故障结果的变量通过BOOL类型表示;将故障结果的变量也存储到写入结构体数组中;
在实际操作中,所述作为存储变量的诊断信息至少包括滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略、故障结果6个变量。
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
根据结构体数组的变量类型,参见图5,从结构体数组的第一项开始,将所述变量信息逐项按A2L文件的格式输出变量类型对应的文本块,直至输出结构体数组中的最后一项;所述变量类型分为标定量和观察量;例如,如标定量以“/begin CHARACTERISTIC”开始,“/end CHARACTERISTIC”结尾,中间包含变量名、变量地址、变量最大值、最小值等属性,而观察量则以“/begin MEASUREMENT”开始,“/end MEASUREMENT”结尾,中间包含变量名、变量地址、变量转换方式等属性。
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
在本实施例中,首先调用VBA代码检查预设的EXCEL表格是否存在,若存在,则进入诊断信息的数据的遍历处理,否则,将结束A2L生成流程并通知用户。
在此,利用EXCEL表格进行诊断信息的数据管理,通过内部VBA代码独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间。
在本实施例提出的汽车控制器诊断模块A2L文件的生成方法的步骤中,首先根据预设的EXCEL表格模板填写汽车控制器的诊断信息;在预设的EXCEL表格模板填写汽车控制器的诊断信息时,EXCEL表格中的滤波时间和恢复时间的数据类型为无符号32位类型,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的数据类型为无符号8位类型;
在遍历过程中判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255,
在本实施例中,表格中的替换策略可填写为False/True、FALSE/TRUE、false/true、F/T、0/1,在遍历过程中,将替换策略中填写为False/FALSE/false/F/0的信息转换为变量信息0,将填写为True/TRUE/true/T/1的信息转换为变量信息1,代表不同的替换策略类型;
将替换策略对应的变量信息写入结构体数组时,在实际操作中,EXCEL表格中的每个替换策略通过BOOL类型表示,通过VBA代码按位与的方式,将每一行的所有替换策略合成为一个无符号32位数据类型,其中,替换策略的序号表示32位数据的所在BIT位;在本实施例中,如2所示,第一行故障的替换策略现有3个位,合成的数值为4。
判断诊断信息的数据是否处于预设范围内后,再将预设范围内的诊断信息的数据写入结构体数组;然后将结构体数组格式化输出为包含空地址信息的A2L文件;最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
在本实施例提出的汽车控制器诊断模块A2L文件的生成方法的步骤中,根据预设的EXCEL表格模板填写汽车控制器的诊断信息;调用VBA代码,依次对每一行诊断信息的数据进行遍历,将EXCEL表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型;根据结构体数组的变量类型,从结构体数组的第一项开始,将所述变量信息逐项输出为包含空地址信息的A2L文件;
如图4所示,将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件与其他的工程代码进行统一编译,编译过程的产物包括可刷写的二进制文件、工程代码的主A2L文件、包含所有变量地址信息的MAP文件等;
在得到诊断模块的包含空地址信息的A2L文件和包含所有变量地址信息的MAP文件后,通过地址更新工具,将MAP文件中的地址信息更新至诊断模块的包含空地址信息的A2L文件中对应的存储变量中,最终得到参与汽车控制器标定的诊断模块A2L文件;在本实施例中,地址更新工具可以选择ASAP2工具。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种汽车控制器诊断模块A2L文件的生成方法,其特征在于,包括:
S1.根据预设的表格模板填写汽车控制器的诊断信息;
S2.对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
2.根据权利要求1所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S1中,所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略。
3.根据权利要求2所述的汽车控制器诊断模块A2L文件的生成方法,在步骤S2中,判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255。
4.根据权利要求3所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,其特征在于,在步骤S2中,对表格中每一行诊断信息的数据进行遍历处理时,将每一行的替换策略转换为一个无符号32位类型的变量,所述无符号32位类型的变量的每一位分别以BOOL类型表示变量信息0或1。
5.根据权利要求4所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,将表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型。
6.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,所述存储变量还包括每一行诊断信息的数据对应的故障结果。
7.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,还包括:将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件进行编译,得到包含所有变量地址信息的MAP文件。
8.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,将替换策略对应的变量信息写入结构体数组时,将表格中每一行列出的多个替换策略类型合成为一个无符号32位的数值,替换策略的序号表示无符号32位的数值的所在BIT位。
9.根据权利要求8所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S3中,根据结构体数组的变量类型,将所述变量信息按A2L文件的格式输出变量类型对应的文本块;所述变量类型分为标定量和观察量。
10.根据权利要求8所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S4中,将MAP文件中的地址信息更新至诊断模块A2L文件中对应的存储变量中,得到参与汽车控制器标定的诊断模块A2L文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310777554.1A CN116822480A (zh) | 2023-06-28 | 2023-06-28 | 一种汽车控制器诊断模块a2l文件的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310777554.1A CN116822480A (zh) | 2023-06-28 | 2023-06-28 | 一种汽车控制器诊断模块a2l文件的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116822480A true CN116822480A (zh) | 2023-09-29 |
Family
ID=88127054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310777554.1A Pending CN116822480A (zh) | 2023-06-28 | 2023-06-28 | 一种汽车控制器诊断模块a2l文件的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116822480A (zh) |
-
2023
- 2023-06-28 CN CN202310777554.1A patent/CN116822480A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6550052B1 (en) | Software development framework for constructing embedded vehicle controller software | |
CN111817938B (zh) | 一种汽车can通讯矩阵编制的方法、系统及存储介质 | |
CN111538488B (zh) | 一种单片机驱动程序生成方法及装置 | |
CN107885500A (zh) | 一种面向autosar软件架构的运行时环境生成方法 | |
US20020147505A1 (en) | Process for programming an automation application | |
CN110888354A (zh) | 接入设备自动识别的实现方法、装置、计算机设备及介质 | |
US6604214B1 (en) | One-chip microcomputer capable of internally producing ECC data | |
CN115167831A (zh) | 基于autosar的软件集成方法、设备和使用方法 | |
CN116737117A (zh) | 基于Autosar架构的模型开发方法 | |
CN111399816A (zh) | 汽车ecu程序文件生成方法及系统、存储介质及终端 | |
CN114707449A (zh) | 寄存器间接访问的验证模型实现框架 | |
CN116822480A (zh) | 一种汽车控制器诊断模块a2l文件的生成方法 | |
US20100058276A1 (en) | Method for the integration of an integrated circuit into a standardized software architecture for embedded systems | |
CN116663491B (zh) | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 | |
CN109871001B (zh) | 一种对发动机大数据量标定的方法 | |
CN108984178B (zh) | 一种通信方法和装置 | |
CN116208438A (zh) | 动力电池系统上位机交互方法以及单体电压和/或温度的显示方法 | |
CN111914380A (zh) | 零件模型的确定方法、装置、计算机设备和存储介质 | |
EP4321947A1 (en) | Communicating with field devices based on semantically identified variables | |
CN114546451B (zh) | 一种基于文件上传的对mpu端程序内部参数进行标定的方法 | |
US20020095652A1 (en) | Program generating apparatus for built-in microcomputer | |
CN111045740A (zh) | 一种基于usbcan的mcu软件参数标定方法及系统 | |
CN113515485B (zh) | 一种SoC芯片控制寄存器模块RTL代码自动生成方法 | |
Ginther et al. | Developing Production Software Applications Utilizing a Common Architecture and Complete Model-Based Design | |
CN115730395B (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 |