一种基于soa服务的车辆远程诊断方法及系统
技术领域
1.本发明涉及车辆故障远程诊断技术领域,具体涉及一种基于soa服务的车辆远程诊断方法及系统。
背景技术:2.随着汽车工业的快速发展,汽车越来越多地采用电子化的控制模块和车载集成网络系统,通过车载终端采集控制模块可以把汽车内部总线上的数据通过移动互联网和大数据的应用采集传输到后台。通过实时采集和监控车辆电子控制系统数据,诊断中心可以对车辆部件的工作状态以及模块故障实在线诊断;此外,对于累计的监控与诊断数据进行分析,分析结果帮助设计部门改善车辆的电子系统开发提升动力性能、安全性能和车辆稳定性。
3.soa(service-oriented architecture)全称是面向服务架构。当一个系统收到一个服务请求后,往往需要调用另一个系统去完成这个服务请求。
4.在对车辆远程诊断的现有技术中,普遍存在以下缺点:当前的已存远程诊断技术中,可以基于单个控制器或者多个控制器间的can或者doip协议的远程诊断,但是基于soa服务的can与doip协议的远程诊断暂时没有成熟的方法。在已有的专利中,也有对车辆远程诊断方法的描述,如专利201980058783x通过数据传输控制协议tcp通讯方式接收诊断设备的tcp数据包并封装成第一数据包,并通过远程通信传输给车辆连接器;车辆连接器将接收到的第一数据包转换为tcp诊断指令数据包,并发送给车辆。该方法运行稳定程度完全依赖网络畅通,且其远程模拟的doip本地诊断方法的方式难以达到远程、本地同时诊断的目的。
技术实现要素:5.针对现有技术存在的上述不足,本发明的目的在于提供一种基于soa服务的车辆远程诊断方法及系统,以解决现有技术中的如下问题:1)无法远程诊断基于soa的服务;2)无法实现基于soa服务的can协议远程诊断;3)无法实现基于soa服务的doip协议远程诊断。
6.为了解决上述技术问题,本发明采用如下技术方案:一种基于soa服务的车辆远程诊断方法,包括如下步骤:步骤1:车载终端向tsp发送进行远程诊断的请求;步骤2:tsp接收请求后,向tbox发送诊断指令;步骤3:tbox判断诊断指令是否执行;如果是,进行步骤4;如果否,返回错误代码至tsp,同时车载终端进行无法进行远程诊断的提示;步骤4:tbox根据诊断指令的类型,对相应的目标控制器进行诊断;步骤5:tbox完成诊断后,向tsp反馈诊断结果数据。
7.本发明还提供了一种基于soa服务的车辆远程诊断系统,其特征在于,包括tsp、tbox和车载控制器终端;
其中,tsp作为远程读取诊断数据的主体,用于接收远程诊断请求,向tbox发送远程诊断指令,接收并解析tbox上传的诊断数据;tbox用于对当前车辆状态进行判断,判断其是否能够进行诊断,如果不能进行诊断则反馈tsp相应的错误代码,并在车载终端作出不能进行诊断的提示;同时,tbox用于接收并解析tsp下发的诊断指令,根据doip报文中的ip地址和控制器逻辑地址对与之对应的目标控制器进行诊断;在诊断完成后,tbox向tsp反馈诊断结果数据;车载控制器终端作为被诊断的目标控制器,用于响应tbox由以太网节点发送的诊断请求;同时,车载控制器终端作为下挂can、canfd节点的诊断网关,用于将tbox由can节点发送的doip报文转换为docan报文发送至与之对应的can/canfd节点,与can/canfd节点对应的can/canfd node作为被诊断的目标控制器,响应tbox发送的诊断请求,对其自身进行诊断,并反馈诊断结果。
8.与现有技术相比,本发明具有如下有益效果:本发明所述方法及系统通过建立基于soa服务架构下的can节点、以太网节点诊断流程,达到对车辆进行远程诊断的目的,从而帮助改善车辆的电子开发,提升车辆动力性能、安全性能和车辆稳定性。
附图说明
9.图1为本发明所述基于soa服务的车辆远程诊断方法的流程图。
具体实施方式
10.为了使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
11.一、一种基于soa服务的车辆远程诊断方法步骤1:车载终端向tsp发送进行远程诊断的请求。用户通过车载终端向tsp发送进行远程诊断的请求,tsp(telematics service provider)汽车远程服务提供商,在车辆网产业链居于核心地位,上接汽车、车载设备制造商、网络运营商,下接内容提供商。
12.步骤2:tsp接收请求后,向tbox发送诊断指令。在诊断指令下发过程中,tsp调用远控接口(基于mqtt协议)下发诊断指令,tbox收到tsp下发的远控指令,将mqtt协议转换为dds,通过dds服务,调用诊断服务,再根据诊断指令下发指令到对应的域控上。
13.步骤3:tbox判断诊断指令是否执行;如果是,进行步骤4;如果否,返回错误代码至tsp,同时车载终端进行无法进行远程诊断的提示。其中,远程诊断、本地诊断和ota三个进程,车端只能同时支持一个进程,其中不存在优先级的划分,哪个进程先获取到资源就先执行对应进程,以及如果车辆正在本地诊断或者ota,代表远程诊断条件不满足,不能对车辆进行远程诊断,如果车辆当前没有远程诊断或者ota,则代表远程诊断条件满足,可以进行远程诊断。
14.步骤4:tbox根据诊断指令的类型,对相应的目标控制器进行诊断。其中,tbox接收并解析tsp发送的诊断指令,并根据doip报文中的ip地址和控制器逻辑地址,向对应的目标控制器进行诊断。在具体实施时,车载控制器终端作为被诊断的目标控制器,不仅负责正确
响应tbox由以太网节点下发的诊断请求,同时还作为下挂can、canfd节点的诊断网关,负责将由can节点发送的doip报文转换为docan报文转发至相应的can/canfd节点。can/canfd node作为进一步被诊断的目标控制器,负责正确响应tbox下发的诊断请求。如果tbox由以太网节点下发的诊断请求,车载控制器终端就作为被诊断的目标控制器,直接诊断域控自身。如果需要诊断域控下挂的can/canfd控制器,域控将doip转can/canfd,然后下发指令到对应的控制器,控制器响应can/canfd协议,域控再将can/canfd转doip,上传云端。
15.步骤5:tbox完成诊断后,向tsp反馈诊断结果数据。在数据上传过程中,诊断结果在tbox的域控中,通过dds服务,调用数据采集中心,数据采集中心将数据通过dds上传至数据上传模块,通过mqtt反馈至tsp。
16.二、一种基于soa服务的车辆远程诊断系统所述基于soa服务的车辆远程诊断系统用于执行上述诊断方法,包括tsp(汽车远程服务提供商)、tbox(车载通讯基础终端)和车载控制器终端;其中,tsp作为远程读取诊断数据的主体,用于接收远程诊断请求,向tbox发送远程诊断指令,接收并解析tbox上传的诊断数据。
17.tbox用于对当前车辆状态进行判断,判断其是否能够进行诊断,如果不能进行诊断则反馈tsp相应的错误代码,并在车载终端作出不能进行诊断的提示;同时,tbox用于接收并解析tsp下发的诊断指令,根据doip报文中的ip地址和控制器逻辑地址对与之对应的目标控制器进行诊断;在诊断完成后,tbox向tsp反馈诊断结果数据;车载控制器终端(eth node)作为被诊断的目标控制器,用于响应tbox由以太网节点发送的诊断请求;同时,车载控制器终端作为下挂can、canfd节点的诊断网关,用于将tbox由can节点发送的doip报文转换为docan报文发送至与之对应的can/canfd节点。而can/canfd node作为被诊断的最终目标控制器,负责正确响应tbox下发的诊断请求。
18.如图1所示,本发明所述系统的实施过程如下:步骤1:tsp判断是否需要下发诊断指令。若需要,则进入步骤2;否则执行步骤1;步骤2:tsp下发诊断指令给tbox,进入步骤3;步骤3:tbox判断诊断指令是否可以执行。若可执行,执行步骤4;若不可执行,执行步骤12;步骤4:tbox下发诊断指令给eth node,进入步骤5;步骤5:eth node判断诊断指令类型,若指令依托以太网节点,则进入步骤6;若指令依托can节点,则进入步骤7;若指令不可执行,则进入步骤12;步骤6:诊断域控自身,进入步骤10;步骤7:下发诊断指令给can/canfd node,进入步骤8;步骤8:can/canfd node判断指令是否可以执行。若可执行,执行步骤9,若不可执行,执行步骤12;步骤9:can/canfd node响应诊断,并返回诊断数据给eth node,进入步骤10;步骤10:eth node返回诊断数据给tbox,进入步骤11;步骤11:tbox返回诊断数据给tsp,进入步骤1;步骤12:返回错误代码至tsp,进入步骤1。
19.如上所述,本发明的提醒系统不限于所述配置,其他可以实现本发明的实施例的
系统均可落入本发明所保护的范围内。
20.最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。