一种基于xml的汽车ecu故障诊断信息匹配方法

文档序号:6265358阅读:633来源:国知局
专利名称:一种基于xml的汽车ecu故障诊断信息匹配方法
—种基于XML的汽车ECU故障诊断信息匹配方法技术领域
本发明属于自动控制技术领域,具体是汽车电控单元故障诊断技术。
背景技术
目前汽车ECU(电控单元)故障诊断仪大部分是由大型汽车制造商自行设计,其设计原理是将当前主流的汽车ECU故障信息全部打包进诊断仪的系统软件中并下载到诊断仪的微控制器中,然后每隔一段时间将新增加的汽车故障信息添加到诊断仪系统软件中,通过诊断仪系统升级的方式来实现让原先的诊断仪可以诊断更多车系的汽车ECU故障信息。上述设计原理存在一种弊端,随着新厂商、新型号汽车的不断生产,诊断仪的系统软件所包含的汽车ECU故障信息将会越来越多,占用存储空间将会更大,不仅浪费的诊断仪存储空间,同时需要通过不断地升级诊断仪系统软件来扩大诊断对象。其根本原因是没有找到一种好的将汽车ECU故障信息与诊断仪的诊断信息进行信息匹配的方法。申请号为 201010609104. 4的中国发明专利申请提出了一种优化汽车诊断仪用户操作界面而且降低诊断仪升级频率的方法,所述的方法包括以下步骤在诊断仪中建立全面的故障码、数据流、动作测试等数据库,在子系统控制器中写入车型等相关配置信息,当与诊断仪通讯时, 诊断仪即可获取识别。这样,可以将传统的以车型分类的诊断仪操作界面更改成以子系统分类的操作界面,达到简化诊断仪操作的目的。该专利方法存在以下几个弊端
I.对于“在子系统控制器中写入车型等相关配置信息,当与诊断仪通讯时,诊断仪即可识别”的方案,诊断仪的显示界面依赖于汽车的子系统控制器,若其他汽车厂商生产的子系统控制器没有按照与诊断仪一致设计的诊断方法时,诊断仪将无法正常工作。
2.对于“在诊断仪中建立全面的故障码、数据流、动作测试等数据库”的方案,由于全球各大厂商所生产汽车的故障码、数据流等数据定义形式不同,而且很难将所有厂商的数据都收集并汇总到一个数据库中,且这将使数据库所占容量非常大,浪费存储空间,而且每天都有不同车系的新汽车被生产出来,这个数据库需要每隔一段时间更新一次,这就需要周期性地对诊断仪进行系统升级才能使诊断仪拥有最新的数据库。虽然上述方法优化了诊断仪用户操作界面,部分降低了诊断仪升级频率,但它还是没能解决故障信息数据库需要周期性地通过升级诊断仪程序才能得到更新的问题。
本发明针对汽车ECU故障诊断仪的各车厂的故障诊断信息数据库需要通过周期性地升级诊断仪程序才能得到更新的问题,提出了一种基于XML的汽车ECU故障诊断信息匹配方法。发明内容
为了解决汽车ECU故障诊断仪的各车厂的故障诊断信息数据库需要通过周期性地升级诊断仪程序才能得到更新的问题,本发明提出了一种基于XML的汽车ECU故障诊断信息匹配方法。该方法通过将诊断仪所需的故障诊断信息数据库从诊断仪的系统程序中剥离出来,存放到诊断仪的外部存储器SD卡中,并且建立数据库,数据库中每一个车厂的故障诊断信息存放到一个故障匹配信息txt文件和一个数据流信息txt文件,故障匹配信息和数据流信息采用XML语言(Extensible Markup Language,可扩展标记语言)编写并存放在txt文件中。如此,当某个车厂的故障诊断信息需要更新时,只需将诊断仪SD卡中存放该车厂的故障匹配信息txt文件和数据流信息txt文件替换即可,而不必再升级诊断仪程序。同时,用XML语言编写的txt文件具有良好的扩展性和跨平台特性,可以方便地在不同的操作系统平台上进行建立和更新诊断信息数据库文件。
本发明的技术方案具体包括采用分割原理,将故障诊断信息数据库从诊断仪程序中分离出来,存放到诊断仪的外部存储器SD卡中,建立数据库,数据库包括为每个汽车厂商建立一个故障匹配信息txt文件和一个数据流信息txt文件,以方便管理和维护各车厂的故障诊断信息,故障匹配信息和数据流信息采用XML语言编写并分别存放在对应txt 文件中。当需要更新某车厂的故障诊断信息时,替换诊断仪SD卡中该车厂对应的txt文件, 本发明用XML语言将各车厂的故障诊断信息编写并存放在txt文件中,以此建立各车厂的诊断信息数据库。此外,从SD卡中调用和解析车厂的XML文件匹配ECU故障信息,通过此方法可以方便实现诊断仪的故障码解析和数据流信息解析的工作。具体为
I. 一种基于XML的汽车ECU故障诊断信息匹配方法,根据各汽车厂商定义的故障代码表、数据流信息说明表,建立相应车厂的故障诊断信息数据库,存入诊断仪的SD卡中; 故障诊断阶段,读取汽车故障码,查询SD卡中故障诊断信息数据库,调用并解析故障诊断信息数据库中XML文件匹配E⑶故障信息,将读取的故障码逐行与XML文件故障匹配信息中存储的故障码作比较,找到相同故障码所对应的故障信息;当执行对某车厂的汽车ECU 读取数据流时,从诊断仪SD卡中读取该车厂的数据流信息txt文件,解析出数据标识符DID 填写到UDS服务的读取数据服务请求里,向汽车ECU发送请求,解析出诊断仪SD卡中存储的数据换算公式,换算出对应该DID数据的实际物理信息,输出到显示单元进行显示。建立故障诊断信息数据库具体为建立一个故障匹配信息txt文件和一个数据流信息txt文件; 文本编辑器编辑故障匹配信息txt文件和数据流信息txt文件,依次将故障代码表中的内容填写到故障匹配信息txt文件中建立故障码与故障信息对照表,将数据流说明表中的一个数据标识符DID对应一个数据流描述、一个数据换算公式、一个数据流单位存储到数据流信息txt文件中。当诊断仪读取单元获取某车厂的汽车ECU的故障码时,从SD卡故障诊断信息数据库中读取存储该车厂故障匹配信息txt文件,将ECU的故障码与故障匹配信息 txt文件中的第一个“=”后的故障码逐行作比较,当与某一行存储的故障码则匹配,读取故障码所对应的故障信息,输出进行故障信息显示。解析数据标识符DID的步骤具体包括读取SD卡数据库中存储数据流信息txt文件,从第一行开始,逐行对txt文件中存储的数据流信息进行解析,将每一行中的第一个“=”后的引号内的数字提取出来,并转换成整数,分别存储在一个2字节大小的变量中。换算出对应该DID数据的实际物理信息,输出到显示单元进行显示具体包括将换算公式中参数“N”替换成ECU响应的数据获得字符串表达式, 将字符串表达式换算出对应该DID数据的实际物理信息,按照“数据流名称物理信息+单位”的字符串格式输出到显示单元进行显示。
本发明将故障信息数据库从诊断仪程序中剥离出来,存放在诊断仪的外部存储器SD卡中,并且数据库文件设计成每一个车厂的故障信息对应一个故障匹配信息txt文件和一个数据流信息txt文件。如此,当汽车厂商定义了新的故障代码表或数据流信息表后,用户只需将SD卡中存放该车厂的故障匹配信息txt文件和数据流信息txt文件替换即可, 而不必再升级诊断仪程序,从而从根本上解决了诊断信息数据库只能通过周期性升级诊断仪程序来得到更新的问题,并且故障诊断信息数据库用XML语言编写的txt文件组成,可以方便地在不同的操作系统平台上进行建立和更新诊断信息数据库文件。


图I为本发明解析和匹配故障码信息的功能示意图2为本发明解析和匹配故障码信息的工作流程图3为本发明的读取和解析数据流信息的功能示意图4为本发明的读取和解析数据流信息的工作流程图。
具体实施方式
本发明将故障诊断信息数据库从诊断仪程序中剥离出来,存放到诊断仪外部存储器SD卡中,并且将数据库设计成为每一个汽车厂商建立一个故障匹配信息txt文件和一个数据流信息txt文件的形式。如此,当需要更新某车厂的故障诊断信息时,只需将诊断仪 SD卡中该车厂对应的txt文件替换即可,通过此方法可以从根本上解决诊断仪的故障诊断信息数据库需要通过周期性地升级诊断仪程序才能得到更新的问题。同时,本发明设计了一种简易的用XML语言将各车厂的故障诊断信息编写并存放在txt文件中的方法并以此来建立各车厂的诊断信息数据库。本发明可方便地从SD卡中调用和解析车厂的XML文件匹配ECU故障信息。
根据各汽车厂商定义的故障代码表(故障码与故障信息对应表)、数据流信息说明表(数据标识符列表、数据流描述、数据换算公式及数据流单位的说明表)建立原始资料数据库;为每个车厂分别建立一个存储故障匹配信息txt文件和一个存储数据流信息txt文件;文本编辑器打开存储故障匹配信息txt文件,根据故障代码表中的一个故障码对应一条故障信息的原则,用XML语言将一条故障码与对应的故障信息填写在一行XML语句中, 依次将故障代码表中的内容全部用XML语言填写到存储故障匹配信息txt文件中;文本编辑器打开存储数据流信息txt文件,根据数据流说明表中的一个数据标识符(DID),对应一个数据流描述、一个数据换算公式、一个数据流单位的原则,用XML语言将一条数据流信息填写在一行XML语句中,依次将数据流信息说明表中的内容全部用XML语言填写到存储数据流信息txt文件中,如此,建立了一个车厂的故障诊断信息数据库。依次分别建立好各车厂的故障诊断信息数据库,该数据库存储到诊断仪的SD卡中。
从SD卡中调用和解析车厂的XML文件匹配E⑶故障信息。包括解析与匹配故障码信息,以及读取和解析数据流信息。具体包括诊断仪信息采集单元从汽车ECU中读取故障码,比较单元从SD卡中读取该车厂对应的故障匹配信息txt文件,将读取的故障码与故障匹配信息txt文件每一行中存储的故障码作比较,寻找到相同故障码时,将该行中存储的对应该故障码的故障信息输出到诊断仪进行显示单元,完成一次解析与匹配故障码信息的过程。
当诊断仪执行对某车厂的汽车ECU进行读取数据流功能时,从SD卡中读取该车厂的数据流信息txt文件,将数据流信息txt文件每一行中存储的数据标识符(DID)解析出来,并把解析出的DID填充到UDS (Unified Diagnostic Services,统一诊断服务)服务的读取数据服务请求中,向汽车ECU发送请求。当接收到汽车ECU响应的数据后,将数据流信息txt文件当前行中与该DID对应的数据换算公式解析出来,根据换算公式将汽车ECU响应的数据进行换算获得故障代码,将故障代码和存储在txt文件当前行中与该DID对应的数据流名称以及数据流单位按照“数据流名称故障代码+单位”的字符串格式,输出到诊断仪显示单元,直到将整个txt文件的每一行的DID数据全部读完,完成了一次读取和解析数据流信息的过程。
以下结合附图和具体实例对本发明的具体实施方式
进行描述。
本发明采用XML语言将各车厂的故障诊断信息编写并存放在txt文件中,并建立各车厂的诊断信息数据库。具体过程为首先采集各汽车厂商定义的故障代码表(故障码与故障信息对应表)、数据流信息说明表(数据标识符列表、数据流描述、数据换算公式及数据流单位的说明表);根据上述信息为建立一个存储故障匹配信息txt文件和一个存储数据流信息txt文件;文本编辑器打开存储故障匹配信息txt文件(如表1:故障码与故障信息对照表),将故障代码表中的一个故障码对应一条故障信息。
表1:故障码与故障信息对照表
权利要求
1.一种基于XML的汽车ECU故障诊断信息匹配方法,其特征在于,根据各汽车厂商定义的故障代码表、数据流信息说明表,建立相应车厂的故障诊断信息数据库,存入诊断仪的SD 卡中;故障诊断阶段,读取汽车故障码,查询SD卡中故障诊断信息数据库,调用并解析故障诊断信息数据库中XML文件匹配E⑶故障信息,将读取的故障码逐行与XML文件故障匹配信息中存储的故障码作比较,找到相同故障码所对应的故障信息;当执行对某车厂的汽车 ECU读取数据流时,从诊断仪SD卡中读取该车厂的数据流信息txt文件,解析出数据标识符 DID填写到UDS服务的读取数据服务请求里,向汽车ECU发送请求,解析出诊断仪SD卡中存储的数据换算公式,换算出对应该DID数据的实际物理信息,输出到显示单元进行显示。
2.根据权利要求I所述的故障诊断信息匹配方法,其特征在于,建立故障诊断信息数据库具体为建立一个故障匹配信息txt文件和一个数据流信息txt文件;文本编辑器编辑故障匹配信息txt文件和数据流信息txt文件,依次将故障代码表中的内容填写到故障匹配信息txt文件中建立故障码与故障信息对照表,将数据流说明表中的一个数据标识符 DID对应一个数据流描述、一个数据换算公式、一个数据流单位存储到数据流信息txt文件中。
3.根据权利要求I所述的故障诊断信息匹配方法,其特征在于,当诊断仪读取单元获取某车厂的汽车ECU的故障码时,从SD卡故障诊断信息数据库中读取存储该车厂故障匹配信息txt文件,将E⑶的故障码与故障匹配信息txt文件中的第一个“=”后的故障码逐行作比较,当与某一行存储的故障码则匹配,读取故障码所对应的故障信息,输出进行故障信息显不O
4.根据权利要求I所述的故障诊断信息匹配方法,其特征在于,解析数据标识符DID的步骤具体包括读取SD卡数据库中存储数据流信息txt文件,从第一行开始,逐行对txt文件中存储的数据流信息进行解析,将每一行中的第一个“=”后的引号内的数字提取出来,并转换成整数,分别存储在一个2字节大小的变量中。
5.根据权利要求I所述的故障诊断信息匹配方法,其特征在于,换算出对应该DID数据的实际物理信息,输出到显示单元进行显示具体包括将换算公式中参数“N”替换成ECU 响应的数据获得字符串表达式,将字符串表达式换算出对应该DID数据的实际物理信息, 按照“数据流名称物理信息+单位”的字符串格式输出到显示单元进行显示。
6.根据权利要求2所述的故障诊断信息匹配方法,其特征在于,故障码与故障信息对照表用XML语言将故障码与对应的故障信息填写在一条XML语句中,在每一行语句的第一个“=”后存放故障码,第二个“=”后存放故障码对应的故障信息;数据流信息txt文件为 用XML语言将一条数据流信息填写在一行XML语句中,XML语句的第一个“=”后存放DID, 第4个“=”后为对应该DID数据的换算公式。
全文摘要
本发明提出一种基于XML的汽车ECU故障诊断信息匹配方法,本发明针对需要对ECU故障诊断信息进行定期升级,使用不便的问题,为每一个汽车厂商建立故障诊断信息库采用XML语言编写并分别存放在对应txt文件中,建立一个故障匹配信息txt文件和一个数据流信息txt文件,将故障诊断信息数据库存放到诊断仪的外部存储器SD卡中,通过从SD卡中调用和解析车厂的XML文件来匹配ECU故障信息,可以方便实现诊断仪的故障码解析和数据流信息解析的工作。当需要更新某车厂的故障诊断信息时,只需将诊断仪SD卡中该车厂对应的txt文件替换即可,使用方便。
文档编号G05B23/02GK102981501SQ201210504280
公开日2013年3月20日 申请日期2012年11月30日 优先权日2012年11月30日
发明者黄智宇, 陈倍新, 冯辉宗, 孙小芳, 李宗华, 李澌翰 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1