用于汽车统一诊断服务信息的代码生成方法及系统技术方案

技术编号:38671951 阅读:16 留言:0更新日期:2023-09-02 22:49
本发明专利技术涉及一种用于汽车统一诊断服务信息的代码生成方法及系统,包括以下步骤:在预设的表格模板中输入统一诊断服务的相关信息;对输入的相关信息进行校验,判断是否符合预设标准,若是,整理表格模板中的相关信息并输出C语言代码,否则,返回重新输入统一诊断服务的相关信息。本发明专利技术利用预设的表格模板进行数据管理,对输入的数据进行校验并输出统一诊断服务信息的C语言代码,达成了将数据管理与工具合二为一的效果。合二为一的效果。合二为一的效果。

【技术实现步骤摘要】
用于汽车统一诊断服务信息的代码生成方法及系统


[0001]本专利技术涉及汽车控制
,具体涉及一种用于汽车统一诊断服务信息的代码生成方法及系统。

技术介绍

[0002]UDS(Unified Diagnostic Service,统一诊断服务)诊断协议是ISO 15765和ISO 14229定义的一种汽车通用诊断协议,它的应用层定义源于ISO 14229

1,目前大部分汽车厂商采用的都是UDS on CAN的诊断协议。UDS本质上就是一系列诊断服务,通过诊断设备与控制器之间的通信,可以实现故障信息读取、例程控制、输入输出控制、在线编程等多种诊断功能,是车辆售后维修检查的重要手段之一。
[0003]目前汽车控制器的代码主要有两种实现方式,一种是基于MBD开发的自动化代码生成,一种是手写代码。具体到UDS服务的代码实现,这两种方式都存在缺点,前者使用数据字典或其他特殊文件类型进行管理,管理上依赖于商业工具,后者对工程师的代码水平要求较高,一般工程师不易上手,不易推广。
[0004]现有技术公开了一种UDS诊断接口软件生成的方法及系统及设备,通过在接收到软件生成命令时,加载UDS诊断问卷调查表文件,从UDS诊断问卷调查表文件中读取与UDS诊断接口相关的列表,并在列表中获取诊断参数,按预设规则将诊断参数转换为软件源代码,以根据软件源代码生成UDS诊断接口软件,提供了一个自动生成UDS诊断接口软件的方式,当需要重新对UDS诊断接口软件进行重建或更新时,无需软件工程师手动编写,从而使UDS诊断接口软件的创建更加高效且不易出错,进而保证了UDS对电池包在线诊断的准确性。该方案的缺陷是,需要借助其他工具(如Matlab)建立工具界面,在工具界面上进行操作,UDS数据与工具分开管理,管理上较繁琐;生成的UDS接口内容不包含例程列表,功能几乎都通过预设固定,不支持更多的拓展内容。

技术实现思路

[0005]本专利技术的目的之一在于提供一种用于汽车统一诊断服务信息的代码生成方法,以解决现有技术中的管理上依赖于商业工具,以及不支持对UDS接口内容进行拓展的问题;目的之二在于提供一种用于汽车统一诊断服务信息的代码生成系统。
[0006]为了实现上述目的,本专利技术采用的技术方案如下:
[0007]一种用于汽车统一诊断服务信息的代码生成方法,包括以下步骤:在预设的表格模板中输入统一诊断服务的相关信息;对输入的相关信息进行校验,判断是否符合预设标准,若是,整理表格模板中的相关信息并输出C语言代码,否则,返回重新输入统一诊断服务的相关信息。
[0008]进一步,所述统一诊断服务的相关信息包括有:接口信息、DID信息、例程信息、DTC信息和快照信息,分别填写至接口相关信息列表、DID列表、例程ID列表、DTC列表和快照列表;所述预设的表格为EXCEL表格,所述预设的表格模板中还设置有操作控件,点击所述操
作控件展开操作面板,所述操作面板中包括有所述C语言代码的输出地址和生成代码按钮,点击所述生成代码按钮则执行校验流程,校验通过则生成C语言代码并存储至C语言代码的输出地址。
[0009]根据上述技术手段,利用预设的EXCEL表格进行数据管理,通过操作控件中VBA代码生成统一诊断服务信息的C语言代码,将数据管理与工具合二为一,同时支持例程列表的代码生成、快照列表的定制和拓展。
[0010]进一步,所述接口相关信息包括有:统一诊断服务的配置信息、底层软件的配置信息和应用层允许通信控制的条件变量;所述DID列表中包括有:每个DID的DID编号、DID类型、DID长度、DID检查条件变量和单调性校验属性;所述例程ID列表包括有:每个例程ID的开始变量、结束变量、状态变量和结果变量;所述DTC列表包括有:每个DTC的优先级、快照ID、排放相关属性;所述快照列表包括有快照ID的个数和与快照ID对应的DID编号。
[0011]进一步,所述DID类型包括有只读、可读可写和输入输出控制;当所述DID类型为可读可写或输入输出控制时,需要在DID列表中输入DID检查条件变量;当所述DID类型为可读可写时,需要在DID列表中输入单调性校验属性,所述结果为是或否;当所述DID类型为输入输出控制时,需要在DID列表中输入所述输入输出控制涉及的输出变量和输出状态。
[0012]根据上述技术手段,在嵌入式程序运行期间,对当前DID进行操作时,通过单调性校验属性值判断是否需要进行单调性判断,保证了统一诊断服务所需相关信息的完整度,并保留了扩展和定制的余地。
[0013]进一步,所述校验流程具体为:依次执行接口信息校验流程、DID信息校验流程、例程信息校验流程和DTC信息校验流程,完成校验流程则执行统一诊断服务信息代码自动化生成流程,将所述接口信息、DID信息、例程信息和DTC信息输出为C语言代码文件,并保存至预设的输出地址。
[0014]根据上述技术手段,将表格中数据输出为C语言代码时,根据预设,能够按不同服务功能将输出多个C语言代码文件,根据需要,C语言代码中的变量信息可定制为标定量或观察量,以用于标定需要。
[0015]进一步,所述接口信息校验流程的具体步骤包括:
[0016]判断接口相关信息列表是否存在,若是,执行下一步,否则,本次校验不通过,返回重新输入接口相关信息。
[0017]判断接口相关信息的阈值是否在预设范围之内,若是,本次校验通过,执行接口信息输出C语言代码文件流程,否则,本次校验不通过,返回重新输入接口相关信息。
[0018]其中,所述接口信息输出C语言代码文件流程具体包括以下步骤。
[0019]将接口相关信息列表内的信息整理并存储至数组。
[0020]将数组输出为接口信息C语言代码文件,并存储至预设的输出地址。
[0021]进一步,所述DID信息校验流程的具体步骤包括:
[0022]判断DID列表是否存在,若是,从DID列表第二行开始对DID信息进行查验,否则,本次校验不通过,返回重新输入DID信息。
[0023]判断DID信息的数值范围是否合理,若是,对DID类型进行区分,否则,本次校验不通过,返回重新输入DID信息。
[0024]若DID类型为可读,则将DID信息存储至数组,忽略条件变量和输出变量。
[0025]若DID类型为可读可写,则判断条件变量是否存在,若是,则将DID信息存储至数组,忽略输出变量,否则,提示条件变量未填写,本次校验不通过,返回重新输入DID信息。
[0026]若DID类型为输入输出控制,则判断条件变量、输出变量和输出状态是否存在,若是,将DID信息存储至数组,否则,提示条件变量、输出变量和输出状态未填写,本次校验不通过,返回重新输入DID信息。
[0027]判断是否已校验至DID列表的最后一行,若是,结束本次校验,执行DID信息输出C语言代码文件流程,否则,进入下一行并返回判断DID信息的数值范围是否合理。
[0028]其中,DID信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于汽车统一诊断服务信息的代码生成方法,包括以下步骤:在预设的表格模板中输入统一诊断服务的相关信息;对输入的相关信息进行校验,判断是否符合预设标准,若是,整理表格模板中的相关信息并输出C语言代码,否则,返回重新输入统一诊断服务的相关信息。2.根据权利要求1所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述统一诊断服务的相关信息包括有:接口信息、DID信息、例程信息、DTC信息和快照信息,分别填写至接口相关信息列表、DID列表、例程ID列表、DTC列表和快照列表;所述预设的表格为EXCEL表格,所述预设的表格模板中还设置有操作控件,点击所述操作控件展开操作面板,所述操作面板中包括有所述C语言代码的输出地址和生成代码按钮,点击所述生成代码按钮则执行校验流程,校验通过则生成C语言代码并存储至C语言代码的输出地址。3.根据权利要求2所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述接口相关信息包括有:统一诊断服务的配置信息、底层软件的配置信息和应用层允许通信控制的条件变量;所述DID列表中包括有:每个DID的DID编号、DID类型、DID长度、DID检查条件变量和单调性校验属性;所述例程ID列表包括有:每个例程ID的开始变量、结束变量、状态变量和结果变量;所述DTC列表包括有:每个DTC的优先级、快照ID、排放相关属性;所述快照列表包括有快照ID的个数和与快照ID对应的DID编号。4.根据权利要求3所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述DID类型包括有只读、可读可写和输入输出控制;当所述DID类型为可读可写或输入输出控制时,需要在DID列表中输入DID检查条件变量;当所述DID类型为可读可写时,需要在DID列表中输入单调性校验属性,所述结果为是或否;当所述DID类型为输入输出控制时,需要在DID列表中输入所述输入输出控制涉及的输出变量和输出状态。5.根据权利要求2

4任一项所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述校验流程具体为:依次执行接口信息校验流程、DID信息校验流程、例程信息校验流程和DTC信息校验流程,完成校验流程则执行统一诊断服务信息代码自动化生成流程,将所述接口信息、DID信息、例程信息和DTC信息输出为C语言代码文件,并保存至预设的输出地址。6.根据权利要求5所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述接口信息校验流程的具体步骤包括:判断接口相关信息列表是否存在,若是,执行下一步,否则,本次校验不通过,返回重新输入接口相关信息;判断接口相关信息的阈值是否在预设范围之内,若是,本次校验通过,执行接口信息输出C语言代码文件流程,否则,本次校验不通过,返回重新输入接口相关信息;其中,所述接口信息输出C语言代码文件流程具体包括以下步骤:将接口相关信息列表内的信息整理并存储至数组;将数组输出为接口信息C语言代码文件,并存储至预设的输出地址。7.根据权利要求5所述的一种用于汽车统一诊断服务信息的代码生成方法,其特征在于:所述DID信息校验流程的具体步骤包括:判断DID列表是否存在,若是,从DID列表第二行开始对DID信息进行查验,否则,本次校验不通过,返回重新输入DID信息;
判断DID信息的数值范围是否合理,若是,对DID类型进行区分,否则,本次校验不通过,返回重新输入DID信息;若DID类型为可读,则将DID信息存储至数组,忽略条件变量和输出变量;若DID...

【专利技术属性】
技术研发人员:殷雪余盼霞王银张学勇刘斌
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1