一种诊断方法、上位机及下位机与流程

文档序号:15928753发布日期:2018-11-14 01:24阅读:231来源:国知局

本申请涉及数据处理技术领域,尤其涉及一种诊断方法、上位机及下位机。

背景技术

随着我国生产力的发展,经济水平的提高,汽车保有量的急剧增长,轿车快速地进入普通百姓家庭。在快速发展的互联网时代,用户对生活质量的要求逐步提高,为了满足用户的需求并适应新形势下汽车的发展变化,汽车诊断设备也随之不断发展。目前常用的汽车诊断设备都是单通道的,对车辆进行诊断时要针对车辆中的多个系统按照顺序逐个进行诊断,降低了诊断效率。为了解决这一问题,现有的方法是对诊断设备中的软硬件进行升级,将诊断设备中的软硬件都更换为支持多通道诊断的软硬件,但是使用多通道占用系统资源较多,而且软件和硬件需要大的改动,增大了诊断设备各方面的开销。



技术实现要素:

本申请实施例提供了一种诊断方法、上位机及下位机,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

第一方面,本申请实施例提供了一种诊断方法,包括:

当接收到用户输入的诊断指令时,上位机确定诊断指令对应的诊断对象集合,诊断对象集合中包括至少两个诊断对象;

上位机从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据;

上位机将配置数据按照预设格式生成配置文件;

上位机根据配置文件生成配置消息,并将配置消息发送给下位机,配置消息中携带配置文件,配置消息用于指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。

可选的,诊断方法还包括:

若上位机接收到下位机发送的配置完成提示消息,上位机从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令;

上位机基于诊断命令按照预设格式生成诊断文件;

上位机根据诊断文件生成诊断消息,并将诊断消息发送给下位机,诊断消息中携带诊断文件,诊断消息用于指示下位机将诊断消息发送给车载终端。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

第二方面,本申请实施例提供了另一种诊断方法,包括:

下位机接收上位机发送的配置消息,配置消息中携带配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的;

下位机根据配置文件对各个诊断对象对应的收发器进行配置。

可选的,诊断方法还包括:若下位机根据配置文件对各个诊断对象对应的收发器配置完成,下位机向上位机发送配置完成提示消息;下位机接收上位机发送的诊断消息,诊断消息为上位在接收到配置完成提示消息之后生成的,诊断消息中携带诊断文件,诊断文件为上位机根据各个诊断对象对应的诊断命令按照预设格式生成的;

下位机将诊断消息发送给车载终端,以便于指示车载终端根据诊断消息中携带的诊断文件对各个诊断对象进行诊断。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

第三方面,本申请实施例提供了一种上位机,包括:

接收单元,用于接收用户输入的诊断指令;

确定单元,用于在接收单元接收到用户输入的诊断指令时,确定诊断指令对应的诊断对象集合,诊断对象集合中包括至少两个诊断对象;

查找单元,用于从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据;

生成单元,用于将配置数据按照预设格式生成配置文件;

生成单元,还用于根据配置文件生成配置消息;

发送单元,用于将配置消息发送给下位机,配置消息中携带配置文件,配置消息用于指示下位机根据配置消息中的配置文件对所述各个诊断对象对应的收发器进行配置。

可选的,上位机还包括:

接收单元,还用于接收下位机发送的配置完成提示消息;

查找单元,还用于从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令,诊断命令包括诊断对象的系统进入命令和数据读取命令;

生成单元,还用于将诊断命令按照预设格式生成诊断文件;

生成单元,还用于根据诊断文件生成诊断消息,诊断消息中携带诊断文件;

发送单元,还用于将诊断消息发送给下位机,诊断消息用于指示下位机将诊断消息发送给车载终端。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

第四方面,本申请实施例提供了一种下位机,包括:

接收单元,用于接收上位机发送的配置消息,配置消息中携带配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的;

配置单元,用于根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。

可选的,下位机还包括发送单元:

发送单元,用于若配置单元根据配置文件对各个诊断对象对应的收发器配置完成,向上位机发送配置完成提示消息;

接收单元,还用于接收上位机发送的诊断消息,诊断消息为上位机在接收到配置完成提示消息之后生成的,诊断消息中携带诊断文件,诊断文件为上位机根据各个诊断对象对应的诊断命令按照预设格式生成的;

发送单元,还用于将诊断消息发送给车载终端,以便于指示车载终端根据诊断消息中携带的诊断文件对各个诊断对象进行诊断。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

第五方面,本申请实施例提供了一种上位机,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,其中,存储器用于存储支持终端执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行上述第一方面及其任一种可选方式的方法。

第六方面,本申请实施例提供了一种下位机,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,其中,存储器用于存储支持终端执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行上述第二方面及其任一种可选方式的方法。

第七方面,本申请实施例提供了一种计算机可读存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行上述第一方面及其任一种可选方式的方法。

第八方面,本申请实施例提供了一种计算机可读存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行上述第二方面及其任一种可选方式的方法。

本申请实施例中上位机根据用户输入的诊断指令确定出诊断对象集合,进而从数据库中查找诊断对象集合中至少两个诊断对象分别对应的配置数据,并将配置数据按照预设格式生成配置文件,进一步的上位机基于配置文件生成配置消息并发送给下位机,指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的一种诊断系统的框架图;

图2是本申请实施例提供的一种诊断系统的结构图;

图3是本申请实施例提供的一种诊断方法的流程图;

图4是本申请实施例提供的另一种诊断方法的流程示意图;

图5是本申请实施例提供的另一种诊断方法的流程示意图;

图6是本申请实施例提供的一种上位机的结构示意图;

图7是本申请实施提供的一种下位机的结构示意图;

图8是本申请实施例提供的另一种上位机的结构示意图;

图9是本申请实施提供的另一种下位机的结构示意图。

具体实施方式

在对利用汽车诊断设备对车辆进行诊断检测时发现,现在常用的诊断设备对都是单通道的,在对车辆的多个系统进行诊断时,通常是按照预定的顺序逐个系统进行的,如此导致诊断效率较低。针对这一问题,现有提出的解决方案中涉及将诊断设备中的软硬件升级为支持多通道的,但是使用多通道会占用较多的系统资源,造成系统开销大。为了解决上述问题,本申请实施例提出了一种诊断方法、上位机以及下位机:上位机根据用户输入的诊断指令确定出诊断对象集合,进而从数据库中查找诊断对象集合中至少两个诊断对象分别对应的配置数据,并将配置数据按照预设格式生成配置文件,进一步的上位机基于配置文件生成配置消息并发送给下位机,指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

参考图1,为本申请实施例提供的一种诊断系统的架构图。如图1所示的架构中包括上位机10、下位机20和车载终端30。其中,上位机10与下位机20可以通过usb接口、rs232串口或者无线保真(wirelessfidelity,wifi)等方式连接,以实现上位机与下位机之间的通信;下位机20可通过车辆总线与车载终端30连接,以使得车载终端将车辆的各个诊断对象的诊断数据发送给下位机,进而下位机将诊断数据发送给上位机,从而实现对车辆的各个诊断对象的诊断。

可选的,上位机10用于接收用户输入的诊断指令,并根据诊断指令确定诊断对象集合,进而根据从数据库中查找到的与诊断对象集合中各个诊断对象对应的配置数据生成配置消息,将配置消息发送给下位机,以指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。在一种可行的实施方式中,上位机10还用于若接收到下位机发送的配置完成的提示消息,从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令;上位机10将诊断命令按照预设格式生成诊断文件;进一步的,上位机10根据诊断文件生成诊断消息,并将诊断消息发送给下位机,诊断消息用于指示下位机将诊断消息发送给车载终端。可选的,上述的上位机10将配置数据按照预设格式生成配置文件,其中的预设格式中包括了数据类型;配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

在一种可行的实施方式中,下位机20用于接收上位机发送的配置消息,并根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。其中,配置消息中携带有配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的。在另一种可行的实施方式中,若对各个诊断对象对应的收发器配置完成,下位机20向上位机10发送配置完成提示消息;下位机20接收上位机发送的诊断消息,并将该诊断消息发送给车载终端30。其中,诊断消息为上位机在接收到配置完成提示消息之后生成的,诊断消息中携带有诊断文件,诊断文件为上位机将各个诊断对象对应的诊断命令按照预设格式生成的。可以理解的,下位机20将诊断消息发送给车载终端30以便于车载终端30根据诊断消息中的诊断文件对车辆的各个诊断对象进行诊断。

作为一种可行的实施方式,车载终端30用于接收下位机发送的诊断消息,并根据诊断消息中的诊断文件对车辆的各个诊断对象进行诊断。可选的,车载终端30根据诊断文件对车辆的各个诊断对象进行诊断的方式可以为:针对诊断对象集合中的任一个诊断对象,车载终端30获取诊断文件中包括的诊断对象的诊断命令,诊断命令包括诊断对象的系统进入命令和数据读取命令;车载终端30根据诊断对象的系统进入命令进入诊断对象对应的系统,并根据数据读取命令读取任一个诊断对象的诊断数据。可选的,车载终端30根据诊断文件对车辆的各个诊断对象进行诊断之后,将获取到各个诊断对象的诊断数据发送给下位机20;下位机20再将诊断数据发送给上位机,上位机对接收到的各个诊断对象的诊断数据进行处理,最终得到车辆诊断结果并可以将诊断结果显示在上位机20的显示屏幕中,便于用户查看诊断结果。

参见图2和图3,图2为另一种诊断系统的架构图,图3为应用于图2和图1所示的诊断系统中的一种诊断方法的流程图。在一种可行的实施方式中,将结合图2和图3,对图1所示的诊断系统的工作流程进行详细的描述。需要说明的是,图2所示的诊断系统的工作流程只是本申请实施例提供的一种可行的实施方式,诊断系统的工作流程不仅限于此。

如图2所示的车辆诊断系统结构图中,上位机10中可包括显示界面、与多个诊断对象对应的多个获取通讯命令/上传诊断数据模块、数据处理模块和通讯线程模块。其中,在显示界面中可显示多个诊断对象,诊断对象可以为车辆的发动机系统、仪表系统、波箱系统等等。需要说明的是,车辆的不同系统所支持的通讯协议不同,比如发动机系统所使用的通讯协议是控制器区域网络协议(controllerareanetwork,can),波箱系统所使用的通讯协议为关键字协议(keywordprotocol,kwp)协议,仪表系统所使用的通讯协议为脉宽调制协议(pulse-widthmodulation,pwm)。

可以理解的,一个诊断对象对应一个获取通讯命令/上传诊断数据模块,在上位机中可包括至少两个获取通讯命令/上传诊断数据模块。举例来说,假设诊断对象为发动机系统,则与发动机系统对应的获取通讯命令/上传诊断数据模块为获取can通讯命令/上传can诊断数据模块;假设诊断对象为波箱系统,则与波箱系统对应的获取通讯命令/上传诊断数据模块为获取kwp通讯命令/上传kwp诊断数据模块。上述举例只是本申请一些可能的实施方式,对于具体的实施方式本申请不做限定。

在一种可行的实施方式中,用户可以通过上位机10的显示界面输入诊断指令,用户输入诊断指令的方式可以是用户点击选择显示界面中显示的至少两个诊断对象,或者用户通过语音方式控制上位机选择显示界面中的至少两个诊断对象。可选的,在s301中若上位机接收到用户通过显示界面输入的诊断指令,确定诊断指令对应的诊断对象集合,也就是说若上位机检测到上位机中包括的与诊断对象集合中各个诊断对象对应的获取通讯命令/上传诊断数据模块分别获取到了各个诊断对象的诊断指令,上位机便可以根据哪些获取通讯命令/上传诊断数据模块接收到了诊断指令,来确定诊断对象集合。比如获取can通讯命令/上传can诊断数据模块检测到了诊断指令,则可确定车辆的发动机系统是诊断对象集合中的一个诊断对象。在s301之后,s302中上位机从数据库中查找与诊断集合中各个诊断对象对应的配置数据,配置数据为收发器参数设置数据。可选的,上位机可根据接收到了诊断指令的获取通讯命令/上传诊断数据模块,在数据库中查找与上述模块相关的收发器配置数据。比如,获取can通讯命令/上传can诊断数据模块接收到了诊断指令,则上位机可在数据库中查找与该模块相关的收发器配置数据,也即can收发器配置数据。

可选的,当上位机在数据库中查找到与上述模块相关的收发器配置数据后,在s303中上位机按照预设格式将配置数据生成配置文件,也可以理解为上位机的数据处理模块按照预设格式将步骤s302中查找到的各个配置数据生成配合文件。其中,数据处理模块按照预设格式将各个配置数据生成配置文件的可以理解为数据处理模块将各个配置数据按照预设的格式封装在一起得到一个配置文件。在一种可行的实施方式中,预设格式可以如表1所示,预设格式中可包括多个收发器的配置数据、数据类型、数据总长度以及校验字节等。其中,数据类型包括参数设置类型和通讯类型。

表1

在一种可行的实施方式中,生成配置文件之后,在s304中上位机根据配置文件生成携带配置文件的配置消息,并将该配置消息发送给下位机。可选的,上位机可以通过通讯线程模块将配置文件发送给下位机,上位机通过通讯线程模块向下位机发送的配置消息中包括配置文件,配置文件的数据类型为参数设置类型。

如图2所示的车辆诊断系统结构图中,下位机20包括通讯模块,文件解析模块、文件上传模块、命令整理模块、收发器参数设置模块以及收发器等。其中,命令整理模块可以包括多个诊断对象所使用的协议接收/发送命令的整理模块,如图所示可以包括can协议接收/发送命令整理模块、kwp协议接收/发送命令整理模块以及vpw/pwm协议接收/发送命令整理模块;由于不同的命令整理模块接收或者发送的命令是由不同的收发器得到的,因此下位机中包括的收发器数量与命令整理模块相同,可参见图2。

在一种可行的实施方式中,s305中下位机接收上位机发送的配置消息。可选的,下位机接收上位机发送的配置消息的方式可以为上位机将配置消息传输到上位机的通讯线程模块,然后上位机的通讯线程再将配置消息发给下位机的通讯模块。进一步的,下位机的通讯模块接收到配置消息之后,在s306中下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行参数设置。在一种可行的实施方式中,下位机根据配置消息中的配置文件对各个诊断对象相关的收发器进行参数设置的具体方式可以为:下位机的通讯模块接收到配置消息之后,将配置消息传递给文件解析模块;文件解析模块解析配置消息中的配置文件,得到多个诊断对象对应的收发器的配置数据;文件解析模块将多个收发器的配置数据传递到对应的收发器参数设置模块;各个收发器参数设置模块接收到配置数据之后,根据配置数据对与其对应的收发器进行参数设置。需要说明的是,每个收发器参数设置模块只接收与其相关的配置数据,比如can协议收发器参数设置模块只接收can协议收发器有关的配置数据。

可选的,在收发器配置模块对收发器的参数进行设置完成后,下位机可以向上位机发送配置完成提示消息,s307、若上位机接收到下位机发送的配置完成提示消息,上位机从数据库中查找与诊断集合中各个诊断对象对应的诊断命令;s308、上位机将诊断命令按照预设格式生成诊断文件;s309、上位机根据诊断文件生成诊断消息,并向下位机发送诊断消息。在一种可行的实施方式中,步骤s307-s309中包括的一些可行的实施方式与上述步骤s301-s304的方式相似,在此处不再赘述。s3010、下位机将诊断消息发送给车载终端,在一种可行的实施方式中下位机的收发器将与其相关的诊断消息发送给车载终端。s3011、车载终端根据诊断消息中的诊断消息对各个诊断对象进行诊断,并将各个诊断对象的诊断数据发送给下位机;s3012、下位机将诊断数据返回给上位机,以便于上位机完成对各个诊断对象的诊断。

可选的,在步骤s3012中,下位机在将诊断数据返回给上位机之前,还可以判断从车载终端接收到的诊断数据中是否包括中诊断集合中所有诊断对象的诊断数据:若是,则下位机将诊断数据返回给上位机;若否,则可进一步判断从下位机发送诊断消息给车载终端到当前时间之间的时长是否超过了最大等待时长:若是,则将未收到车载终端发送的诊断数据的诊断对象确定为没有诊断数据的诊断对象,也即将这部分诊断对象的诊断数据设置为空白;若时长没有超过最大等待时长,则下位机继续等至最大时长以保证接收所有诊断对象的诊断数据。举例来说,假设诊断对象集合中包括3个诊断对象,如果下位机接收到了车载终端发送的2个诊断对象诊断数据,则下位机可确定还有一个诊断对象的诊断数据未接收到,此时下位机继续等待车载终端发送诊断数据。进一步的,若下位机等待的时长超过了预设最大等待时长,则下位机可确定该诊断对象的诊断数据为空白。

在一种可行的实施方式中,上位机接收到下位机发送的诊断数据之后,按照预设的诊断方式对诊断数据进行处理,得到诊断结果。比如,上位机接收到定位诊断数据为发动机的转速,则上位机可按照预设诊断方式比如按照转速是否正常的计算公式确定车辆对发动机的诊断结果。

综上图1、图2和图3所示描述的车辆诊断系统,上位机根据用户输入的诊断指令确定出诊断对象集合,进而从数据库中查找诊断对象集合中至少两个诊断对象分别对应的配置数据,并将配置数据按照预设格式生成配置文件,进一步的上位机基于配置文件生成配置消息并发送给下位机,指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

参考图4,为本申请实施例提供的一种诊断方法的流程示意图,如图4所示的诊断方法可应用在图1所示的诊断系统中,诊断方法可包括以下步骤:

s401、当接收到用户输入的诊断指令时,上位机确定诊断指令对应的诊断对象集合。

在一种可行的实施方式中,诊断对象集合中包括至少两个诊断对象,诊断对象是指用户想要诊断的车辆系统。可以理解的,车辆中包括多个系统比如发动机系统、波箱系统以及仪表系统等等,只有当所有车辆系统都正常工作时,才能保证车辆正常运行。其中,各个系统所使用的通讯协议不同。

可选的,上位机接收用户输入的诊断指令的方式可以为:上位机可以向用户展示诊断界面;当在诊断界面接收到用户输入的操作指令时,上位机可确定接收到了用户输入的诊断指令。在一种可行的实施方式中,上位机确定诊断指令对应的诊断对象集合的方式可以为:用户在诊断界面上点击想要诊断的诊断对象,上位机将用户点击的各个诊断对象组成诊断对象集合。

s402、上位机从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据。

可选的,上位机从数据库中查找与诊断集合中各个诊断对象对应的配置数据具体来说:上位机先确定诊断对象集合中包括的各个诊断对象对应于下位机中哪个收发器;然后从数据库中查找与各个收发器相关的配置数据。举例来说,假设上位机确定诊断对象集合中包括的诊断对象分别为发动机系统、波箱系统和仪表系统,并假设发动机系统所使用的通讯协议为can协议,则发动机系统对应的收发器则为can协议收发器;假设波箱系统所使用的通讯协议为kwp系统,则波箱系统对应的收发器为kwp协议收发器;假设仪表系统所使用的通讯协议为pwm协议,则仪表系统对应的收发器为pwm协议收发器。上位机可以根据上述假设的诊断对象与收发器的对应关系,确定各个诊断对象对应的收发器;然后从数据库中找到与各个收发器相关的配置数据。比如,假设诊断对象为发动机系统,上位机可确定发动机系统对应的收发器为can协议收发器;进一步的,上位机可以从数据库中查找到与can协议收发器对应的配置数据,例如波特率为400k、输入输出管脚分别为管脚6和管脚14。

s403、上位机将配置数据按照预设格式生成配置文件。

可选的,上位机将配置数据按照预设格式生成配置文件的方式可以为:上位机将配置数据按照与诊断对象相关联的帧格式生成配置帧数据;上位机将得到的各个配置帧数据按照表1所示的格式生成配置文件,配置文件中包括多个配置帧数据。可以理解的,不同的诊断对象所使用的通讯协议不同,因此不同的诊断对象对应的配置帧数据的帧格式也不同。比如,若诊断对象使用的通讯协议为can协议,can配置帧数据的帧格式中可包括通讯输入管脚、通讯输出管脚、通讯波特率、系统id个数以及can多针关键字数据等;若诊断对象使用的通讯协议为kwp协议,kwp协议配置帧数据的帧格式中可包括通讯输入管脚、通讯输出管脚、通讯波特率、系统id、输入输出电压以及起始位数等;若诊断对象使用的通讯协议为pwm/vpw,pwm/vpw协议配置帧数据的帧格式中可包括通讯输入管脚、输出管脚、通讯波特率、系统地址、设备地址以及最大等待时间等。

可选的,上位机按照表1所示的格式将各个诊断对象对应的配置数据生成配置文件时,各个诊断对象对应的配置数据在表1中的顺序可以由上位机设定,也可以是上位机中默认的顺序。假设诊断对象集合中包括两个诊断对象:发动机和波箱,则在表1所示的配置文件格式中第一帧数据可以为can帧数据也可以kwp帧数据。需要说明的是,配置文件中配置数据的顺序决定了上位机接收下位机发送的诊断数据的顺序。也即如果上位机配置文件中的配置数据的顺序为第一帧数据为can数据,第二帧数据为kwp数据,则当上位机接收下位机发送的诊断数据的顺序为第一帧接收can诊断数据,第二帧接收kwp数据。

s404、上位机根据配置文件生成配置消息,并将配置消息发送给下位机。

可选的,配置消息中携带配置文件,配置消息用于提示下位机根据配置消息中的各个配置文件的分别对下位机中相应的收发器进行参数设置。

在一种可行的实施方式中,诊断方法还包括:若上位机接收到下位机发送的配置完成提示消息,上位机从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令;上位机将诊断命令按照预设格式生成诊断文件;上位机根据诊断文件生成诊断消息,并将诊断消息发送给下位机。可选的,诊断命令包括诊断对象的系统进入命令和数据读取命令。诊断消息中携带诊断文件,诊断消息用于指示下位机将该诊断消息发送给车载终端,以便于车载终端根据诊断消息中的诊断文件对车辆进行诊断。在一种可行的实施方式中,车载终端根据诊断文件对车辆进行诊断的方式为:车载终端获取诊断文件中包括的诊断命令;根据诊断命令中的系统进入命令进入各个诊断对象对应的车辆系统;根据数据读取命令读取各个车辆系统中的诊断数据。

本申请实施例中上位机根据用户输入的诊断指令确定出诊断对象集合,进而从数据库中查找诊断对象集合中至少两个诊断对象分别对应的配置数据,并将配置数据按照预设格式生成配置文件,进一步的上位机基于配置文件生成配置消息并发送给下位机,指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

参考图5,为本申请实施例提供的另一种诊断方法的流程示意图。如图5所示的诊断方法可应用在图1所示的诊断系统中,可包括以下步骤:

s501、下位机接收上位机发送的配置消息。

可选的,配置消息中携带有配置文件,该配置文件是由上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的。可以理解的,配置文件中包括至少两组配置数据。可选的,配置数据为对收发器的参数进行设置的数据,比如波特率、输入管脚以及输出管脚等数据。因此,下位机在接收到上位机发送的配置消息后,可执行s502根据配置消息中的配置文件对各个诊断对象相关的收发器具进行配置的步骤。

在一种可行的实施方式中,配置文件中包括校验数据,下位机接收到上位机发送的配置消息后,可根据校验数据对配置文件校验:若校验通过,则下位机执行步骤s502;若校验未通过,则下位机可不执行步骤s502。可选的,校验数据可以为循环冗余校验(cyclicredundancycheck,crc)数据,或者为其他校验数据,本申请实施例中不做具体限定。

s502、下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行参数设置。

在一种可行的实施方式中,下位机根据配置文件中包括的配置数据分别对各个收发器进行参数设置。举例来说,假设下位机接收到的配置文件中包括的配置数据can协议的波特率为500k、输入管脚为6以及输出管脚为14,则下位机将can收发器的参数设置为波特率为500k、输入管脚为6以及输出管脚为14。

可选的,下位机在根据配置文件对各个诊断对象相关的收发器配置完成之后,可以向上位机发送配置完成提示消息。基于此在一种可行的实施方式中,图5所示的诊断方法还包括:下位机接收上位机发送的诊断消息;下位机将诊断消息发送给车载终端。也就是说,下位机对各个诊断对象对应的收发器参数设置完成后,向上位机发送配置完成提示消息;上位机接收到提示消息后,进一步的向下位机发送诊断消息;下位机将该诊断消息发送给车载终端,以便于车载终端根据诊断消息对车辆进行诊断。其中,诊断消息中携带有诊断文件,该诊断文件是上位机将各个诊断对象对应的诊断命令按照预设格式生成的。需要说明的是,上位机用于生成配置文件和诊断文件的预设格式可以是相同的,也可以是不同的,在本申请实施例中不做限定。

本申请实施例下位机将接收到的上位机发送的配置消息发送给车载终端,以便于车载终端根据配置消息对各个诊断文件相关的收发器进行参数配置,以便于下位机可以从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

参考图6,为本申请实施例提供的一种上位机的结构示意图,如图6所示的终端,可包括接收单元601、确定单元602、查找单元603、生成单元604和发送单元605:

接收单元601,用于接收用户输入的诊断指令;

确定单元602,用于在接收单元接收到用户输入的诊断指令时,确定诊断指令对应的诊断对象集合,诊断对象集合中包括至少两个诊断对象;

查找单元603,用于从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据;

生成单元604,用于将配置数据按照预设格式生成配置文件;

生成单元604,还用于根据配置文件生成配置消息;

发送单元605,用于将配置消息发送给下位机,配置消息中携带配置文件,配置消息用于指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。

可选的,上位机还包括:

接收单元601,还用于接收下位机发送的配置完成提示消息;

查找单元602,还用于从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令,诊断命令包括诊断对象的系统进入命令和数据读取命令;

生成单元604,还用于将诊断命令按照预设格式生成诊断文件;

生成单元604,还用于根据诊断文件生成诊断消息,诊断消息中携带诊断文件;

发送单元605,还用于将诊断消息发送给下位机,诊断消息用于指示下位机将诊断消息发送给车载终端。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

本申请实施例中若接收单元601接收到用户输入的诊断指令,确定单元602则根据诊断指令确定诊断对象集合。进而,查找单元603从数据库中查找诊断对象集合中至少两个诊断对象分别对应的配置数据,并生成单元604将配置数据按照预设格式生成配置文件。进一步的,生成单元604根据配置文件生成配置消息,最后由发送单元605将配置消息发送给下位机以指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置,通过上位机查找到各个诊断对象的配置参数,下位机对各个诊断对象对应的收发器进行参数设置,以便于下位机可以通过各个收发器从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

参考图7,为本申请实施例提供的一种下位机的结构示意图,如图7所示的下位机,可包括接收单元701和配置单元702:

接收单元701,用于接收上位机发送的配置消息,配置消息中携带配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的;

设置单元702,用于根据配置消息中的配置文件对各个诊断对象对应的收发器进行配置。

可选的,下位机包括发送单元703:

发送单元703,用于若配置单元根据配置文件对各个诊断对象对应的收发器配置完成,向上位机发送配置完成提示消息;

接收单元701,还用于接收上位机发送的诊断消息,诊断消息为上位机在接收到配置完成提示消息之后生成的,诊断消息中携带诊断文件,诊断文件为上位机根据各个诊断对象对应的诊断命令按照预设格式生成的;

发送单元703,还用于将诊断消息发送给车载终端,以便于指示车载终端根据诊断消息中携带的诊断文件对各个诊断对象进行诊断。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

本申请实施例中接收单元701接收到上位机发送的配置消息后,配置单元702根据配置消息中包括的配置文件对各个诊断对象对应的收发器进行设置,以便于下位机可从车辆各个诊断对象中获取车辆数据以完成车辆诊断,实现了利用单通道同时对多个车辆诊断对象进行诊断,提高了诊断效率。

参见图8,是本申请实施例提供的一种上位机的示意性框图。如图8所示的本实施例中的上位机可以包括:一个或多个处理器801;一个或多个发送设备802、一个或多个接收设备803和存储器804。上述处理器801、发送设备802、接收设备803和存储器804通过总线805连接。存储器804用于存储计算机程序,计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令。其中,处理器801被配置用于调用程序指令执行:

当接收到用户输入的诊断指令时,确定诊断指令对应的诊断对象集合,诊断对象集合中包括至少两个诊断对象;

从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据;

将配置数据按照预设格式生成配置文件;

根据配置文件生成配置消息,并将配置消息发送给下位机,配置消息中携带配置文件,配置消息用于指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行参数设置。

可选的,处理器801被配置用于调用程序指令还执行:

若接收到下位机发送的配置完成提示消息,从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令;

将诊断命令按照预设格式生成诊断文件;

根据诊断文件生成诊断消息,并将诊断消息发送给下位机,诊断消息中携带诊断文件,诊断消息用于指示下位机将诊断消息发送给车载终端。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

应当理解,在本申请实施例中,所称处理器801可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

发送设备802用于发送数据,接收设备803用于接收数据。

该存储器803可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器803的一部分还可以包括非易失性随机存取存储器。例如,存储器803还可以存储设备类型的信息。

具体实现中,本申请实施例中所描述的处理器801、发送设备802和接收设备803可执行本申请实施例图4提供的诊断方法的实施例和图6所描述的上位机的实现方式,在此不再赘述。

参见图9,是本申请实施例提供的一种上位机的示意性框图。如图9所示的本实施例中的下位机可以包括:一个或多个处理器901;一个或多个发送设备902、一个或多个接收设备903和存储器904。上述处理器901、发送设备902、接收设备903和存储器904通过总线905连接。存储器904用于存储计算机程序,计算机程序包括程序指令,处理器901用于执行存储器904存储的程序指令。其中,处理器901被配置用于调用程序指令执行:

接收上位机发送的配置消息,配置消息中携带配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的;

根据配置文件对各个诊断对象对应的收发器进行配置。

可选的,处理器901被配置用于调用程序指令还执行:

若根据配置文件对各个诊断对象对应的收发器配置完成,向上位机发送配置完成提示消息;

接收上位机发送的诊断消息,诊断消息为上位在接收到配置完成提示消息之后生成的,诊断消息中携带诊断文件,诊断文件为上位机根据各个诊断对象对应的诊断命令按照预设格式生成的;

将诊断消息发送给车载终端,以便于指示车载终端根据诊断请求中携带的诊断文件对各个诊断对象进行诊断。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

应当理解,在本申请实施例中,所称处理器901可以是中央处理单元cpu,该处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic、现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

发送设备902用于发送数据,接收设备903用于接收数据。

该存储器904可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器。例如,存储器904还可以存储设备类型的信息。

具体实现中,本申请实施例中所描述的处理器901、发送设备902和接收设备903可执行本申请实施例图5提供的诊断方法的实施例和图7所描述的下位机的实现方式,在此不再赘述。

在本申请的实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时实现:

当接收到用户输入的诊断指令时,确定诊断指令对应的诊断对象集合,诊断对象集合中包括至少两个诊断对象;

从数据库中查找与诊断对象集合中各个诊断对象对应的配置数据;

将配置数据按照预设格式生成配置文件;

根据配置文件生成配置消息,并将配置消息发送给下位机,配置消息中携带配置文件,配置消息用于指示下位机根据配置消息中的配置文件对各个诊断对象对应的收发器进行参数设置。

可选的,程序指令被处理器执行时还实现:

若接收到下位机发送的配置完成提示消息,从数据库中查找与诊断对象集合中各个诊断对象对应的诊断命令;

将诊断命令按照预设格式生成诊断文件;

根据诊断文件生成诊断消息,并将诊断消息发送给下位机,诊断消息中携带诊断文件,诊断消息用于指示下位机将诊断消息发送给车载终端。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

在本申请的实施例中提供另一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时实现:

接收上位机发送的配置消息,配置消息中携带配置文件,配置文件为上位机将诊断对象集合中的各个诊断对象对应的配置数据按照预设格式生成的;

根据配置消息中的配置文件对各个诊断对象相关的收发器进行配置。

可选的,程序指令被处理器执行时还实现:

若根据配置文件对各个诊断对象对应的收发器配置完成,向上位机发送配置完成提示消息;

接收上位机发送的诊断消息,诊断消息为上位在接收到配置完成提示消息之后生成的,诊断消息中携带诊断文件,诊断文件为上位机根据各个诊断对象对应的诊断命令按照预设格式生成的;

将诊断消息发送给车载终端,以便于指示车载终端根据诊断请求中携带的诊断文件对各个诊断对象进行诊断。

可选的,预设格式中包括数据类型,配置文件中数据类型为参数设置类型,诊断文件中数据类型为通讯类型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,计算机可读取存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1