实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其存储介质与流程

文档序号:24892737发布日期:2021-04-30 13:20阅读:171来源:国知局
实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其存储介质与流程

本发明涉及汽车领域,尤其涉及电机控制器领域,具体是指一种基于labview实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其计算机可读存储介质。



背景技术:

随着新能源电动汽车产业发展规模逐渐壮大,电机控制器,作为车辆电机驱动系统重要组成部分,越来越广泛地被应用到汽车领域。

电机控制器作为一种电力变换装置,调制处理的信号如电流、电压等,变化快速,要求系统必须具有极高的响应速度和可靠的保护措施。传统汽车部件中,记录一个时刻的故障冻结帧已经无法满足电机控制器的诊断需求。现阶段,通常做法是采用故障触发机制,记录故障时刻前后一段时间的电机控制器运行环境变量如温度、位置、电流、电压等,存储至mcu只读存储器中。故障数据记录了系统故障前后的连续运行状态,便于诊断者迅速定位问题,发现异常变化量。

传统电机控制器故障数据读取系统,基本是通过数据采集装置单向读取mcu中只读存储器中的故障数据,缺乏冗余机制,容易造成误读或者读取数据不完整,影响诊断结果。

labview多线程技术,一般通过队列或者全局变量等方式,实现数据在多个线程中的传输,非本领域技术人员惯用手段。

行业惯用手段一般为采用局部变量传输变量,或者通过状态机的跳转实现数据的流动,通常局部变量过多或者状态机越复杂,会增大计算机cpu运算负担,造成程序卡顿现象。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种满足数据精准、操作简便、适用范围较为广泛的基于labview实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其计算机可读存储介质。

为了实现上述目的,本发明的基于labview实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其计算机可读存储介质如下:

该基于labview实现车辆电机控制器故障数据记录读取的方法,其主要特点是,所述的方法包括以下步骤:

(1)初始化故障数据记录读取系统及usbcan转换卡;

(2)读取故障数据记录,调用usbcan转换卡的动态链接库函数,发送读取命令至电机控制器,同时根据时间戳timestamp寄存器数值,判断接收数据是否为有效数据,如果是,则接收标志位receivecount自增;否则,继续读取故障数据。

较佳地,所述的步骤(2)具体包括以下步骤:

(2.1)系统上电初始化;

(2.2)上位机发送读取命令;

(2.3)下位机发送故障报文帧,其他报文静默,传输至can总线,上位机运行数据校验策略,得到标志位receivecount;

(2.4)将receivecount值与下位机存储介质rom中的已写入的电机控制器环境变量参数个数比较,如果相等,则传输完成,校验成功,上位机数据有效;否则,重复发送读取命令,继续校验接收,累计失败5次则停止发送读取命令,反馈读取失败;

(2.5)上位机显示读取状态,保存参数。

较佳地,所述的方法还包括数据提取及解析的步骤,具体包括以下处理过程:

提取主线程队列buffer中的数据,根据标志位receivecount,对照rom中故障数据的存储数组按照行和列解析,得到电机控制器故障前后状态的各个环境变量。

较佳地,所述的方法还包括数据存储的步骤,具体包括以下处理过程:

通过故障数据记录读取系统保存运行参数按钮,将故障数据记录解析结果保存至本地存储设备。

较佳地,所述的数据校验策略具体包括以下步骤:

下位机反馈报文至can总线;

上位机首次读取usbcan转换卡的时间戳timestamp寄存器,timestamp寄存器赋值给全局变量ts_before,receivecount自增1;

can数据场数据存入主线程队列buffer,等待传送至辅线程,并将ts_before赋值至全局变量ts_after;

接收第二帧报文,更新ts_before,将ts_before与ts_after作差,得到ts_minus;

判断ts_minus是否为0,如果是,则继续步骤(2.6);否则,传输结束,反馈至故障数据记录读取系统,并将标志位receivecount反馈至上位机以供校验;

将can数据场数据继续存入队列buffer,接收标志位receivecount继续自增1,继续自增,更新得到ts_before和ts_after以及ts_minus;

其中,ts_before为全局变量,为timestamp前次更新值;ts_after为timestamp后次更新值。

该基于labview实现车辆电机控制器故障数据记录读取的系统,其主要特点是,所述的系统包括:

上位机,用于发送读取命令,接收电机控制器反馈的报文数据并解析报文;

usbcan转换卡,与所述的上位机相连接,用于充当上位机的通信口与下位机的通信口之间的转换器;

下位机通信线束,与所述的usbcan转换卡相连接,用于提供汽车can总线信号;

电机控制器,与所述的下位机通信线束相连接,用于作为下位机,接收读取命令,反馈故障数据记录至can总线。

较佳地,所述的usbcan转换卡包括can时间戳,是16位计数器,用于上位机读取故障数据报文帧数计数。

较佳地,所述的系统还包括显示模块,与所述的电机控制器相连接,用于将读取的进度以百分比显示,将接收到的数据分类索引。

该基于labview实现车辆电机控制器故障数据记录读取的装置,其主要特点是,所述的装置包括:

处理器,被配置成执行计算机可执行指令;

存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的步骤。

该基于labview实现车辆电机控制器故障数据记录读取的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的步骤。

该计算机可读存储介质,其主要特点是,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的各个步骤。

采用了本发明的基于labview实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其计算机可读存储介质,基于labview多线程任务系统,线程间的数据通过队列传输,传输快,读取效率高。适用于电机控制器台架调试工况,通过该系统,诊断者能直观得到电机控制器故障时刻前后连续运行过程,迅速定位故障原因,提高故障分析效率。

附图说明

图1为本发明的基于labview实现车辆电机控制器故障数据记录读取的系统的硬件结构示意图。

图2为本发明的基于labview实现车辆电机控制器故障数据记录读取的系统的can时间戳timestamp示意图。

图3为本发明的基于labview实现车辆电机控制器故障数据记录读取的方法的具体校验策略流程图。

图4为本发明的基于labview实现车辆电机控制器故障数据记录读取的方法的故障数据记录读取流程图。

图5为本发明的基于labview实现车辆电机控制器故障数据记录读取的方法的车辆电机控制器故障数据记录读取系统界面示意图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

本发明的该基于labview实现车辆电机控制器故障数据记录读取的方法,其中包括以下步骤:

(1)初始化故障数据记录读取系统及usbcan转换卡;

(2)读取故障数据记录,调用usbcan转换卡的动态链接库函数,发送读取命令至电机控制器,同时根据时间戳timestamp寄存器数值,判断接收数据是否为有效数据,如果是,则接收标志位receivecount自增;否则,继续读取故障数据;

(2.1)系统上电初始化;

(2.2)上位机发送读取命令;

(2.3)下位机发送故障报文帧,其他报文静默,传输至can总线,上位机运行数据校验策略,得到标志位receivecount;

(2.4)将receivecount值与下位机存储介质rom中的已写入的电机控制器环境变量参数个数比较,如果相等,则传输完成,校验成功,上位机数据有效;否则,重复发送读取命令,继续校验接收,累计失败5次则停止发送读取命令,反馈读取失败;

(2.5)上位机显示读取状态,保存参数。

作为本发明的优选实施方式,所述的方法还包括数据提取及解析的步骤,具体包括以下处理过程:

提取主线程队列buffer中的数据,根据标志位receivecount,对照rom中故障数据的存储数组按照行和列解析,得到电机控制器故障前后状态的各个环境变量。

作为本发明的优选实施方式,所述的方法还包括数据存储的步骤,具体包括以下处理过程:

通过故障数据记录读取系统保存运行参数按钮,将故障数据记录解析结果保存至本地存储设备。

作为本发明的优选实施方式,所述的数据校验策略具体包括以下步骤:

下位机反馈报文至can总线;

上位机首次读取usbcan转换卡的时间戳timestamp寄存器,timestamp寄存器赋值给全局变量ts_before,receivecount自增1;

can数据场数据存入主线程队列buffer,等待传送至辅线程,并将ts_before赋值至全局变量ts_after;

接收第二帧报文,更新ts_before,将ts_before与ts_after作差,得到ts_minus;

判断ts_minus是否为0,如果是,则继续步骤(2.6);否则,传输结束,反馈至故障数据记录读取系统,并将标志位receivecount反馈至上位机以供校验;

将can数据场数据继续存入队列buffer,接收标志位receivecount继续自增1,继续自增,更新得到ts_before和ts_after以及ts_minus;

其中,ts_before为全局变量,为timestamp前次更新值;ts_after为timestamp后次更新值。

本发明的该基于labview实现车辆电机控制器故障数据记录读取的系统,其中包括:

上位机,用于发送读取命令,接收电机控制器反馈的报文数据并解析报文;

usbcan转换卡,与所述的上位机相连接,用于充当上位机的通信口与下位机的通信口之间的转换器;

下位机通信线束,与所述的usbcan转换卡相连接,用于提供汽车can总线信号;

电机控制器,与所述的下位机通信线束相连接,用于作为下位机,接收读取命令,反馈故障数据记录至can总线。

作为本发明的优选实施方式,所述的usbcan转换卡包括can时间戳,是16位计数器,用于上位机读取故障数据报文帧数计数。

作为本发明的优选实施方式,所述的系统还包括显示模块,与所述的电机控制器相连接,用于将读取的进度以百分比显示,将接收到的数据分类索引。

本发明的该基于labview实现车辆电机控制器故障数据记录读取的装置,其中包括:

处理器,被配置成执行计算机可执行指令;

存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的步骤。

本发明的该基于labview实现车辆电机控制器故障数据记录读取的处理器,其被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的步骤。

本发明的该计算机可读存储介质,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的基于labview实现车辆电机控制器故障数据记录读取的方法的各个步骤。

本发明的具体实施方式中,纯电动车电机控制器在运行过程中,电机控制器发生故障,下位机记录故障前后状态,存储于掉电不丢失数据的rom中。针对电机控制器故障诊断需求,上位机需完整读取rom中的故障数据记录,并按信号名正确解析。本发明基于labview多线程技术,包括数据读取主线程及数据分类解析辅线程,数据通过usbcan接口转换卡采集can总线数据,并依据can时间戳timestamp标识符,设计冗余策略,防止数据误读或读取不完整。

本发明基于labview开发平台的车辆电机控制器故障数据记录读取系统,利用labview多线程并行运行机制,线程之间通过指令的顺序完成数据流的传递。

系统硬件结构如图1所示,基于labview的车辆电机控制器故障数据记录读取系统,硬件结构包括:

电脑上位机,含基于labview的读取界面程序,发送读取命令,接收电机控制器反馈的报文数据并解析报文。

usbcan转换卡,上位机通信口为usb接口,下位机通信口为can总线接口,usbcan转换卡充当两种通信接口的转换器。

下位机通信线束,提供汽车can总线信号。例如,电机台架上的低压线束连接器,整车上的obd接口。

电机控制器,作为下位机,接收到读取命令后,反馈rom中的故障数据记录至can总线。

can报文时间戳如图2所示,can时间戳是usbcan转换卡硬件的一个16位计数器,为设备收到某一帧的时间标识,计时单位为0.1ms。因此,该计数器自增溢出复位需6.5秒左右,汽车can总线报文周期一般为毫秒数量级,故该计数器在相邻报文收发时间区间内,单调自增,可用于上位机读取故障数据报文帧数计数。

labview多线程任务,其中主线程包括:

系统初始化:初始化故障数据记录读取系统界面、usbcan转换卡设备等;

故障数据记录读取:调用usbcan设备动态链接库函数,发送读取命令至下位机,同时根据usbcan转化卡时间戳timestamp寄存器数值,判断接收到的数据是否为有效数据,如是,接收标志位receivecount自增,如图3所示具体校验策略如下:

其中,ts_before,全局变量,为timestamp前次更新值。ts_after,为timestamp后次更新值。ts_before与ts_after作差,得到ts_minus.ts_minus作为上位机判断总线数据是否更新的依据,从而决定是否将can数据场内容存入主线程队列buffer。

辅线程包括:

数据提取及解析:提取主线程队列buffer中的数据,根据receivecount,对照rom中故障数据的存储数组,按行和列解析,得到电机控制器故障前后状态的各个环境变量。

数据存储:诊断操作者通过界面保存运行参数按钮,将故障数据记录解析结果,保存至电脑本地存储设备,便于离线后处理分析。

如图4所示,所述的故障数据记录读取流程主要包括:

系统上电初始化:初始化上位机界面、usbcan转换卡设备参数。

数据校验,如图3所示,上位机读取usbcan转换卡timestamp寄存器,运行校验策略,得到receivecount。receivecount值与下位机存储介质rom中的已写入的电机控制器环境变量参数个数比较,相等,则认为传输完整,没有丢帧,且上位机校验通过,数据有效,诊断成功;不等,则认为传输失败或数据不完整,重复发送读取命令,继续校验接收,若5次校验不过,则认为接收数据非有效,或者总线传输受干扰,反馈诊断失败结果。

保存参数:供诊断者将读取结果,存入本地存储介质,便于数据备份,离线分析。

本发明的基于labview的车辆电机控制器故障数据记录读取系统的界面主要控件包含:

控制按钮:如读取、初始化、保存运行参数等按钮,供诊断者通过上位机向下位机发送命令。

显示部件:读取进度,以百分比显示,直观反映读取过程;显示表格,将接收到的数据,分类索引,行名代表接收到的帧数,表示参数随时间连续变化的过程。列名代表环境变量参数名,与下位机rom中存储格式一致。

本案提出电机控制器检测到故障发生后,将故障数据记录存储在单片机存储介质。诊断者需要借助带通信功能的诊断工具,从存储介质中,读取原始数据序列。并将该数据序列按照存储的索引,解析成特定变量参数,如电流、电压、转速、温度等。因此,通信过程中,控制器发出来的每一帧报文,需要严格按照索引去进行解析。

usbcan转换卡设备的时间戳寄存器timestamp,具有计数报文接收特性,usbcan每接收一帧报文,该寄存器值+1,直至溢出,重新计数,溢出时间6.5秒,对于毫秒级汽车can总线报文周期来说,是绝对够用的。本案利用该寄存器特性,设计了一种冗余校验策略,防止上位机解析数据参数错误,影响诊断结果,大大提高诊断结果的可靠性。

硬件的具体实施例的步骤如下:

第一步:按照图1系统硬件连接图,连接系统各个部件;

第二步:确认电机控制器处于上电状态,上位机点击“初始化”,准备读取。

第三步:初始化后,上位机界面无异常报错,初始化正常,点击“读取”,读取下位机故障数据记录。

第四步:观察读取进度,若无进度,检查硬件连接是否有误,重试“读取”,若有,进度条显示100%后,完成读取。

第五步:系统下电,保存运行参数,读取结果存入本地存储介质,结束操作。

具体实施例的基于labview的纯电动车电机驱动器故障监控系统,包括以下操作步骤:

a、诊断操作前,确认系统电气连接正常,现场无强电磁干扰源,影响can总线传输效果;

b、保存运行参数后,得到的本地存储数据,可进行画图或拟合等操作,进行数据后处理,便于找到突变点,得到异常环境变量。

本实施例的具体实现方案可以参见上述实施例中的相关说明,此处不再赘述。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

采用了本发明的基于labview实现车辆电机控制器故障数据记录读取的方法、系统、装置、处理器及其计算机可读存储介质,基于labview多线程任务系统,线程间的数据通过队列传输,传输快,读取效率高。适用于电机控制器台架调试工况,通过该系统,诊断者能直观得到电机控制器故障时刻前后连续运行过程,迅速定位故障原因,提高故障分析效率。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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