一种基于UDS诊断的上位机执行方法
技术领域
本发明涉及汽车诊断信息技术领域,
尤其是,本发明涉及一种基于UDS诊断的上位机执行方法。
背景技术
汽车故障诊断技术起始于60年代的西方发达国家,随着汽车结构的日益复杂,必然要求有相应的诊断手段来满足其维护的需求,因此,汽车诊断技术在过去的几十年中取得了迅速的发展。
随着诊断技术经过人工检验阶段,运用简单的仪器、仪表进行测量,利用专用设备进行综合诊断阶段,人工智能诊断的四个阶段的发展,目前的汽车诊断正趋于逐渐的完善。
开发阶段VECTOR的系列诊断开发工具,服务市场上多种多样的诊断工具,可以覆盖完整的整车的诊断开发周期。VECTOR工具主要针对ECU开发中使用,但购买该系列的成本较高,针对目前整车多个ECU的开发,将是一个非常大的投入。服务市场的诊断工具又是针对量产的ECU开发的工具。
UDS(Unified diagnostic services),统一诊断服务,是诊断服务的规范化标准,比如读取故障码应该向ecu发什么指令,读数据流又是发什么指令,它只是一个应用层协议(ISO 14229-1),所以它既可以在CAN线上实现(见下图.1),甚至也能在Ethernet上实现,并且,UDS提供的是一个诊断服务的基本框架,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来,所以基于UDS协议的诊断又常常被称为Enhanced diagnosic(增强型诊断),UDS不是法规要求的,没有统一实现标准,其优势在于方便生产线检测设备的开发,同时更大的方便了售后维修保养和车联网的功能实现。
所以,如何设计一种基于UDS诊断的上位机执行方法,成为我们当前急需要解决的问题。
发明内容
本发明的目的在于提供一种操作稳定,方便可靠,诊断迅速,便于操作人员准确快速的判断实行状态,且在诊断系统开发与调试期间,使用高级诊断开发工具的辅助工具,有效的解决开发工具成本过高的问题的基于UDS诊断的上位机执行方法。
为达到上述目的,本发明采用如下技术方案得以实现的:
一种基于UDS诊断的上位机执行方法,该方法包括以下步骤:
S1:上位机读取车辆实时报文信息;
S2:判断报文信息为通信报文或诊断报文,若报文信息为通信报文,则执行步骤S3,反之,若报文信息为诊断报文,则执行步骤S4;
S3:对通信报文进行过滤和解读;
S4:判断诊断报文中诊断服务标识符、长度检查以及安全检查是否满足要求,若满足,则执行步骤S5,反之,则发出否定响应代码;
S5:执行应用,判断该应用是否满足执行要求,若满足,则执行应用,反之,则发出执行失败代码。
作为本发明的优选,执行步骤S1之前,连接车辆与上位机。
作为本发明的优选,执行步骤S2时,判断报文信息为通信报文或诊断报文的方式为对报文信息进行解读。
作为本发明的优选,执行步骤S3时,对通信报文进行过滤和解读之后,将报文信息进行显示至上位机。
作为本发明的优选,执行步骤S4时,否定响应代码包括诊断服务标识符否定响应代码、长度检查否定响应代码以及安全检查否定响应代码。
作为本发明的优选,步骤S4具体包括:
S41:判断诊断报文中诊断服务标识符是否满足要求,若满足,则执行步骤S42,反之,则发出诊断服务标识符否定响应代码;
S42:判断诊断报文中长度检查是否满足要求,若满足,则执行步骤S43,反之,则发出长度检查否定响应代码;
S43:判断诊断报文中安全检查是否满足要求,若满足,则执行步骤S5,反之,则发出安全检查否定响应代码。
作为本发明的优选,执行步骤S4中,发出否定响应代码之后,将否定响应代码发送至上位机并显示。
作为本发明的优选,执行步骤S4中,发出否定响应代码之后,将否定响应代码发送至上位机,上位机通知车辆控制单元退出当前请求。
作为本发明的优选,执行步骤S5时,执行应用完成之后,反馈相应的执行相应。
作为本发明的优选,执行步骤S5时,发出执行失败代码之后,执行失败代码发送至上位机并显示
本发明一种基于UDS诊断的上位机执行方法有益效果在于:操作稳定,方便可靠,诊断迅速,便于操作人员准确快速的判断实行状态,且在诊断系统开发与调试期间,使用高级诊断开发工具的辅助工具,有效的解决开发工具成本过高的问题。
附图说明
图1为本发明一种基于UDS诊断的上位机执行方法的流程示意图。
具体实施方式
以下是本发明的具体实施例,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的模块和步骤的相对布置和步骤不限制本发明的范围。
同时,应当明白,为了便于描述,附图中的流程并不仅仅是单独进行,而是多个步骤相互交叉进行。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法及系统可能不作详细讨论,但在适当情况下,技术、方法及系统应当被视为授权说明书的一部分。
随着诊断技术经过人工检验阶段,运用简单的仪器、仪表进行测量,利用专用设备进行综合诊断阶段,人工智能诊断的四个阶段的发展,目前的汽车诊断正趋于逐渐的完善。
开发阶段VECTOR的系列诊断开发工具,服务市场上多种多样的诊断工具,可以覆盖完整的整车的诊断开发周期。VECTOR工具主要针对ECU开发中使用,但购买该系列的成本较高,针对目前整车多个ECU的开发,将是一个非常大的投入。服务市场的诊断工具又是针对量产的ECU开发的工具。
实施例一
如图1所示,仅为本发明的其中一个实施例,本发明提供一种基于UDS诊断的上位机执行方法,该方法包括以下步骤:
S1:上位机读取车辆实时报文信息;
首先,车辆的ECU处理中心发出的实时报文,上位机进行获取且进行实时报文信息的读取,从而进行处理。
当然,在执行步骤S1之前,连接车辆与上位机,这样方便上位机对车辆实时报文进行获取。
S2:判断报文信息为通信报文或诊断报文,若报文信息为通信报文,则执行步骤S3,反之,若报文信息为诊断报文,则执行步骤S4;
在上位机对车辆实时报文信息进行处理之前,需要知道实时报文的类型,根据实时报文的类型,采取不同的处理方法。
若报文信息为诊断报文,需要调用服务和程序对该报文内容进行诊断和执行,解决相应问题(即执行步骤S4)。
若报文信息不为诊断报文,那么报文信息为常规报文也就是通信报文,需要进行信息获取(即执行步骤S3)。
S3:对通信报文进行过滤和解读;
若报文信息为常规报文也就是通信报文,那么需要对通信报文进行过滤和解读,获取通信报文内容。
S4:判断诊断报文中诊断服务标识符、长度检查以及安全检查是否满足要求,若满足,则执行步骤S5,反之,则发出否定响应代码;
若报文信息为诊断报文,需要调用服务和程序对该报文内容进行诊断和执行,判断诊断报文中诊断服务标识符、长度检查以及安全检查是否满足要求,若是可以依据诊断服务标识符激活会话,且PDU(Power Distribution Unit,电源分配单元)的DATA Length长度检查满足要求以及DID(Digital Information Display)安防监控的安全检查满足要求,那么处理相应的诊断执行程序;反之,若是判断诊断报文中诊断服务标识符、长度检查以及安全检查任意一项不满足要求,那么发出否认响应代码,不处理相应的诊断执行程序。
而且执行步骤S4时,否定响应代码包括诊断服务标识符否定响应代码、长度检查否定响应代码以及安全检查否定响应代码。
在这里不同的否定响应代码分别对应判断诊断报文中诊断服务标识符、长度检查以及安全检查不满足要求的一种可能,即判断诊断报文中诊断服务标识符不满足要求,则发出诊断服务标识符否定响应代码;若判断诊断报文中长度检查不满足要求,则发出长度检查否定响应代码;若是判断诊断报文中安全检查不满足要求,则发出安全检查否定响应代码。
那么相对应的,步骤S4具体包括:
S41:判断诊断报文中诊断服务标识符是否满足要求,若满足,则执行步骤S42,反之,则发出诊断服务标识符否定响应代码;
S42:判断诊断报文中长度检查是否满足要求,若满足,则执行步骤S43,反之,则发出长度检查否定响应代码;
S43:判断诊断报文中安全检查是否满足要求,若满足,则执行步骤S5,反之,则发出安全检查否定响应代码。
这样,逐一对诊断报文中各项进行判断,是否满足执行程序的要求,若是满足要求,那么处理相应的诊断执行程序;反之不满足要求,则不处理相应的诊断执行程序。
而且,若是判断诊断报文某一项不满足执行要求,则发出不满足要求项指定的否定响应代码,那么方便操作人员准确快速的判断实行状态的同时,知晓诊断报文具体错误点。
S5:执行应用,判断该应用是否满足执行要求,若满足,则执行应用,反之,则发出执行失败代码。
当然执行失败代码与步骤S4中的各个否定响应代码均不同,方便上位机和操作人员识别诊断报文的错误方式。
需要注意的是,本发明基于UDS(Unified diagnostic services)统一诊断服务,主要是针对电动汽车的诊断信息,本发明的通信基础依据ISO15765-2004,应用协议满足ISO14229-2016。
那么本发明一种基于UDS诊断的上位机执行方法不仅操作稳定,方便可靠,诊断迅速,便于操作人员准确快速的判断实行状态,而且在诊断系统开发与调试期间,使用高级诊断开发工具的辅助工具,有效的解决开发工具成本过高的问题,有效的减少工具购买的成本问题,相对与市场销售的开发诊断工具,可以节约购买工具成本10%的资金。
实施例二
仍如图1所示,依然为本发明的其中一个实施例,为了使得本发明一种基于UDS诊断的上位机执行方法更加的安全稳定,停车更便捷,本发明中还具有以下几个设计:
首先,执行步骤S2时,判断报文信息为通信报文或诊断报文的方式为对报文信息进行解读,可以判断报文信息为通信报文和诊断报文。
然后,执行步骤S3时,对通信报文进行过滤和解读之后,将报文信息进行显示至上位机。方便上位机进行记录,也方便操作人员获取当前报文实行的状态信息。
而且,执行步骤S4中,发出否定响应代码之后,将对应的否定响应代码发送至上位机并显示。上位机进行记录实时状态。由于诊断报文不满足执行条件的可能性有多个,即诊断报文中诊断服务标识符、长度检查以及安全检查任意一项不满足要求,均不执行程序,那么诊断报文中诊断服务标识符、长度检查以及安全检查某一项不满足要求,发送指定的否定响应代码至上位机且进行显示,方便操作人员获取实时诊断结果,了解当前实行状态。
或者,执行步骤S4中,发出否定响应代码之后,将否定响应代码发送至上位机,上位机通知车辆控制单元退出当前请求。
最后,执行步骤S5时,执行应用完成之后,反馈相应的执行相应,便于操作人员准确快速的判断实行状态。
同样的,执行步骤S5时,发出执行失败代码之后,执行失败代码发送至上位机并显示。上位机进行记录的同时,方便操作人员获取实时诊断结果,了解当前实行状态。
本发明一种基于UDS诊断的上位机执行方法操作稳定,方便可靠,诊断迅速,便于操作人员准确快速的判断实行状态,且在诊断系统开发与调试期间,使用高级诊断开发工具的辅助工具,有效的解决开发工具成本过高的问题。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围,本发明所属技术领域的技术人员可以对所描述的具体实施例来做出各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的方向或者超越所附权利要求书所定义的范围。本领域的技术人员应该理解,凡是依据本发明的技术实质对以上实施方式所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围。