电机控制系统的故障信息采集和传输方法
技术领域
本发明涉及自动控制技术领域,尤其涉及一种电机控制系统的故障信息采集和传输方法。
背景技术
电机是指依据电磁感应定律实现电能转换或传递的一种电磁装置。把机械能转化为电能的电机称为发电机;利用电能产生驱动转矩的电机称为电动机,作为各种电器或各种机械的动力源。传统的电机调速控制方法有:串电阻调速、变频调速、变极调速。现代的电机调速均为利用高性能运动控制芯片(如DSP)实施矢量控制、直接转矩控制的数字化控制方法。矢量控制技术是由德国学者Blaschke在1971年提出的,通过对电机的励磁绕组和电枢绕组解耦,使控制感应电机与控制直流电机一样通过分别调节电机励磁与电枢电流的大小,来控制电机的转矩、转速、反电动势等。直接转矩控制由德国学者Depenbrock于1985年提出,它直接控制定子磁链空间矢量和电磁转矩,具有快速响应的能力。
据研究,现代故障诊断系统的研究占研发投入的6%-8%,系统能减少或预防安全事故发生的40%-60%,系统由此减少损失而带来的效益提升占20%-30%。由于电机的广泛使用,其可靠和安全备受重视,故障诊断技术层出不穷:从分析方法上分有电流分析法、诊断分析法、绝缘诊断法、温度诊断法、换向诊断法、振声诊断法;从诊断的实时性上分有在线诊断法、离线诊断法;从故障诊断的内容上分有研究故障的产生机理、研究故障信号和状态的采集、研究故障信号的传输、研究故障信号的综合统计及故障特征分析等。
在工业测控、工业自动化、交通等领域,一般是将低速或高速的通信网络和电机组合的方式应用在同一系统中,例如,在大部分电动汽车中,目前的主要组合方式是CAN和电机的组合。CAN和电机控制的组合应用,在故障诊断系统中涉及的技术问题是故障信息采集和传输,信息的时要性和传输的可靠性直接影响到故障诊断系统的质量。
然而,电机控制系统的变量多,实时数据量大,而低速通信网络如CAN通信总线的速率不能满足要求,因此怎样诊断实时的电机控制系统,使得故障诊断的方法有效、诊断质量高是需要解决的核心问题。另外,对于故障诊断来说,保持数据的同步对数据分析至关重要,也需要提供一种保持数据的同步的方法。
发明内容
本发明所要解决的技术问题之一是需要提供一种保证在低速通信网络中,能够有效实现故障诊断且诊断质量高的电机控制系统的故障信息采集和传输方法。
为了解决上述技术问题,本申请的实施例首先提供了一种电机控制系统的故障信息采集和传输方法,该方法包括:根据预设的时序,实现与电机实时控制同步的故障点附近的故障信息采样和异步的故障信息传输,其中,在故障点附近的故障信息采样时,通过设置缓冲区对故障信息进行数据缓冲,并在故障信息传输时通过该缓冲区进行数据转发。
在一个实施例中,在通过低速网络采样并发送故障信息时,所述预设的时序满足以下条件:
1)数据的缓冲时刻与电机控制的离散控制时刻是同步的;
2)触发故障时刻和故障记录定时的状态转换与离散控制时刻是同步的;
3)数据通过低速网络发送的时刻与数据产生的时刻是异步的;
4)数据的发送和数据缓冲是互斥的任务,且由故障触发后数据继续记录定时中的数据记录超时、数据的发送时序中的发送任务结束标志、结合当前的任务状态决定了数据发送任务和数据缓冲任务的互斥状态的转换;
5)根据实际应用系统的资源和应用需求,实现同步记录故障时刻前m个周期、故障时刻、故障后n个周期的数据;
6)依据故障记录的周期数和每个周期内的数据大小确定缓冲区的大小;
7)保证优先记录第一故障触发时刻的前后的数据;
8)在数据发送期间触发的故障被忽略。
在一个实施例中,故障信息的数据缓冲任务和基于低速网络发送数据的任务是异步的,通过根据任务信号量的取值来确定执行相应任务。
在一个实施例中,在任务信号量的取值为0时,则激活第一任务,使故障信息的数据缓冲任务与电机实时控制任务同步,组合成在每个预设时间周期执行一次的实时任务。
在一个实施例中,当实现同步记录故障时刻前m个周期、故障时刻、故障后n个周期的数据时,采用长度为m+n+1的环形滑动窗口来更新缓冲区的数据,且最新的数据总是覆盖滑动窗口中最旧的数据,其中的m和n是自然数。
在一个实施例中,在任务信号量的取值为0时、即当前激活的任务为数据缓冲任务,且故障触发时,若启动的数据继续记录定时器超时:则将任务信号量的取值置1,并且复位数据继续记录定时器,故障信息的数据缓冲任务停止;激活第二任务,根据设定的应用层的传输协议按照设定格式发送故障信息。
在一个实施例中,在采用CAN低速网络传输数据时,所述设定的应用层的传输协议如下:
其中,FrameId表示CAN的ID号;DEVICE_ID为设备编号;rsvd为保留字节;SynTimeCnt为同步计数;Var_n1、Var_n2表示不同的变量,且变量的长度均为16位。
在一个实施例中,所述设定格式为能够将同步记录的并行数据转换为可网络传输的串行数据的格式。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
本发明实施例在不改变目前总线系统的情况下,通过低速的CAN网络也可以有效地诊断实时电机控制系统的故障,由于故障信息的采样与电机实时控制周期同步,可区分故障发生的先后顺序,提高了故障定位的分析的准确性。
在交流电机的故障诊断中,电流分析法是最易于实现且非常有效的分析方法,现有技术的间隔采样方法由于受网络数据传输速率的限制,无法看到故障点附近交流电流和转子位置的快速变化,受到严重制约,而本发明实施例仅采样包括故障点时刻在内的连续周期的故障信息,因此不会受到速率的制约,电流分析法可以继续很好地应用。
相对于示波器来说,本发明实施例可以嵌入到电机控制系统中,故障触发源可选择程序内部任意的变量,变量可通过软件滤波来避免误触发,监控的变量可依据需要从一个到上百个,突破了示波器通道数的限制,触发条件可依据布尔代数做各种组合,并且变量的状态变化可与电机控制周期同步,这就更加具备了方便性和灵活性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
附图说明
附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。
图1为基于CAN总线的电机控制系统框图。
图2为基于CAN总线的故障采集和传输的时序逻辑。
图3为基于CAN总线的故障采集和传输的方法的流程图。
图4为电机控制任务与故障记录任务的组合。
图5为数据缓冲示意图。
图6为长度为8的环形滑动窗口。
图7为CAN发送的顺序。
图8为试验室测试的CAN总线传输的故障数据。
图9为在一款报故障的电动汽车上实际测试检测到的故障数据。
图10为对图9中部分故障数据的波形绘制。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
事先需要说明的是,在现有技术方案中,以下面为例:“控制周期在50us到500us之间,若控制周期固定为100us、监控变量(16bit)记为20个,则数据产生量DataSpeed为3200000bps”,这说明:此例的交流电机控制的有效信息速率为3.2Mbps(3200000bps),还不包括通信协议的效率损失(如实现协议要增加头部、尾部、ack等协议数据和交互数据,所以一般情况下1Mbps的CAN网络的有效信息速率在300kbps左右)。因此,可以理解,对本领域的实时数据信息量来说,10Mbps的通信速率是较低的要求,低于此速的通信网络可以认为都是低速网络,如CAN最高为1Mbps、RS232最高为256kbps。并且,普通的高速网络,如100Mbps的以太网,仅保持了速率,而时延过大(如需要间隔10ms才能发送一次数据),实时性达不到,则也必须按照本发明的思路先存储后转发。做到上述两点后,本发明还有价值,因为本发明的多个变量的数据是与电机控制同步的,因此,对实时电机控制进行故障诊断的话,对故障信息的采集和传输要求:
1)数据同步采集(与电机控制同步);
2)高速通信>=10Mbps;
3)通信交互低时延<=100us。
由于CAN和电机在工业测控、工业自动化、交通等领域的广泛应用,二者经常在同一系统中组合。因此本实施例主要以CAN和电机组合的系统为例,来说明是如何实现故障信息采集与传输的。然而,本发明的技术思想也可以直接应用到以USB、以太网等高速网络传输电机控制系统故障点附近的数据,另外,通过对本发明实施例稍作变动也可以应用到其他低速通信网络如RS232来传输电机控制系统故障点附近的数据。因此,采用本发明思想的其他变形技术方案也属于本发明要保护的范围。
在目前的CAN与电机组合的系统中,依据CAN的传输能力和分配给电机控制系统的传输速率,数据的采集必须以间隔采样方式来满足总线的数据传输控制,从而实现故障的在线动态监测功能。采用间隔采样方式是由CAN总线的传输速度远低于电机控制产生的大量高速实时数据,为了避免网络拥塞而决定的。下面以电动汽车中CAN总线与一个驱动电机组成的控制系统的情况为例来说明现有技术的缺点。
一方面,在电动汽车中,考虑到可靠性和交换性,CAN总线的通信速率和CAN的发送周期一般由系统设计决定,作为部件的电机控制系统必须遵守系统约束,不可擅自更改。通信速率(单位为Baud)一般选择为500kbps、250kbps或125kbps中的一种,周期选择从1ms到500ms中的一种。我们以选择每1ms发送一个CAN帧,每帧有效数据长度为CAN协议允许的最大的长度(8字节)来计算,则有效数据的传输速率NetSpeed为64000bps。现代的电机控制中,以带位置传感器的交流电机矢量控制系统为例,需要监控的变量(变量长度均为16位)有:工作模式、直流电压、直流电流、三相交流电流、转子位置、转速、转矩给定、电机温度、控制器温度、d轴电流给定与反馈、q轴电流给定与反馈、d轴pi调节输出、q轴pi调节输出、d轴电压、q轴电压等。控制周期在50us到500us间,若控制周期固定为100us、监控变量记为20个,则数据产生量DataSpeed为3200000bps。由上分析知DataSpeed是NetSpeed的50倍,所以需要在大于或等于50个数据中采样一个(即采样周期大于等于5ms),才能保证CAN总线在满足系统约束的情况下正常工作。由于间隔采样,往往导致前一采样时刻没有一个故障,到下一采样时刻,系统状态经过了多次控制变换,可能在此期间出现了多个故障,无法分辨故障发生的先后。然而,故障发生的先后顺序对故障诊断的定位和准确性非常重要,即丢失了重要的故障信息。
另一方面,在交流电机的故障诊断中,电流分析法是最易于实现且非常有效的分析方法。稳态时,交流电机电流近似为正弦波,为了保证绘制出完整的正弦波形,在一个正弦波形中至少要采集24个样本点。以2对极的交流同步电机工作在3000r/min来估计计算,此时电角频率为100Hz,每秒产生的样本点为2400个,即需要0.42ms采样一个点。显然,上述为了满足CAN传输要求的5ms采样周期,将绘制不出完整的正弦波形,从而严重影响故障诊断的准确性。因此,采用现有技术的CAN动态监测系统,对用电流分析法分析电机故障严重制约。在故障诊断时,仍然需要借助示波器(或其升级版录波仪)来协助诊断。即使以高性能的录波仪来记录电机控制系统的故障,也存在设备昂贵、携带不便、通道不足、故障触发源难以接入、无法与电机的控制量和状态量同步、对故障分析人员的能力和经验要求高等实际困难。
因此,本发明实施例的目的即在目前CAN总线与电机控制系统大量组合使用的情况下,设计一种故障信息的采集和传输方法,提高故障诊断系统的质量。
本发明实施例的核心思路为:只采样故障时间点附近的数据,丢弃其它时间点的数据,以及进行同步采样、缓冲转发、异步传输。具体采用该核心思路的原因如上面内容所述,系统的异常或故障特征在故障前后的时间序列的重要性最高。
只采样故障时间点附近的数据,使故障点附近的采样可以和电机实时控制同步,状态的转换步骤可一一记录下来。同时由于丢弃了其它时间点的数据,使得通过低速的CAN也能够把故障时间点的数据发送出去,保持了网络的通畅。由于和电机的实时控制同步,因此叫做同步采样。记录模块在随后的时间点才能接收到故障点的数据,因此叫做异步传输。中间的衔接则由一个缓冲区来存储和转发。
现代的基于CAN总线的电机控制系统如图1所示。其中的电机连续时间对象1即可视为被控电机实体。其中模块2、3、4、5、6构成了电机控制器实体的控制部分,2由电机控制器内部的AD转换模块来承担,3为根据电机控制算法对实体电机的建模,4可由电机控制器内部的DA转换器或PWM信号产生器构成,5为电机控制器内部的软件和硬件组合的控制逻辑和保护逻辑构成,6为电机控制器内部的CAN通信模块,7为系统的控制模块,8为故障诊断上位机,7和8通过CAN总线K与电机控制器相连结。其中的3要求具有真实时性,其采样信号E和控制信号F均保持真实时性;5中的一部分逻辑要求真实时,大部分逻辑仅要求准实时(注:真实时是指在固定的定时间隔内必须执行1次,否则系统将崩溃;准实时是指时间间隔可在允许范围内变动,偶尔超时只影响性能,不会导致系统崩溃)。由于CAN总线K的速率和发送周期约束,通信模块6是准实时的,即J状态采样针对E采样信号和控制信号F来说是间隔的。本发明实施例的设计即是在5中设计一种控制方法,在故障前后使得J状态采样与E、F信号同步。
不失一般性,以一个简化的系统为例,来说明为实现本发明实施例的故障信息采集和传输方法的时序。在此简化的系统中,要求同步采集故障前两个控制周期、故障时刻、故障后1个控制周期,共4个周期的数据。此简化系统的CAN发送速率约束了每2个控制周期仅可传输一个CAN帧;CAN的帧长度和大小决定了每个控制周期的数据需要通过2个CAN帧传输出去。
需要说明的是,采集4个周期的数据仅是针对本发明实施例的简化系统的逻辑来设置的,在实际应用中,系统要复杂得多,因此,根据实际应用系统的资源和应用需求,可实现同步记录故障时刻前m个周期、故障时刻、故障后n个周期的数据(共m+n+1个周期,其中的m、n为自然数、设为配置参数、可由程序配置确定)。
依据上述约束,则本发明实施例设计的时序如图2所示。其中a为连续时间域,也即电机实际工作的物理时间。b为离散化后电机的实时控制,在t0、t1、t2等离散时刻完成电机控制的状态转换。c为故障触发逻辑分别在t3、t9、t13、t23、t24时刻触发了故障Ea、Eb、Ec、Ed、Ee。d为故障触发后数据继续记录定时:t3时刻触发了故障Ea且g中数据缓冲标志为有效,由于要求故障后要再记录一个周期,故此时定时Da启动且到t4时刻超时;t9、t13、t24时刻虽然触发了故障(各自为Eb、Ec、Ee),但故障记录继续记录定时不被触发,因为g中数据缓冲标志在此时刻均无效;t23时刻触发了故障Ed且g中数据缓冲标志为有效,由于要求故障后要再记录一个周期,故此时定时Dd启动且到t24时刻超时。e为启动CAN发送标志,在d中的故障记录定时超时时启动,到CAN发送完成时关闭,图中Da在t4时刻超时,CAN发送标志有效,在t19时刻CAN发送完毕,CAN发送标志转为无效,在t24时刻由Dd超时CAN发送标志再次有效。f为故障记录通过CAN帧发送的时序,在t4到t8间发送2帧数据,把t1时刻记录的数据发送出去;在t8到t12期间发送2帧数据,把t2时刻记录的数据发送出去;在t12到t16期间发送2帧数据,把t3时刻记录的数据发送出去;在t16到t20期间发送2帧数据,把t4时刻记录的数据发送出去;在t24时刻后发送Ed故障触发而记录的t21时刻数据,等。g为数据缓冲标志,初始时默认为缓冲,在d中故障继续记录定时超时时刻结束缓冲,在e中CAN发送标志无效时开始缓冲。h为数据缓冲时刻,在g为有效时,开始缓冲,否则结束缓冲;数据缓冲的时刻与b中离散控制时刻保持同步;由于只需要缓冲4个周期的数据,故h中t0时刻的缓冲可丢弃,t19、t20时刻的数据也可丢弃。
由上述的时序分析,我们不难看出:
1)数据的缓冲时刻h与电机控制的离散控制时刻b是同步的;
2)触发故障时刻c和故障记录定时的状态转换与离散控制时刻b也是同步的;
3)数据通过CAN发送的时刻与数据产生的时刻是异步的;
4)从e和g的标志看,CAN数据的发送f和数据缓冲h是互斥的任务,且由d中的数据记录超时和f中的CAN发送结束、结合当前的任务状态决定了CAN数据发送任务和数据缓冲任务的互斥状态的转换;
5)实现了故障时刻、故障时刻前2个周期和后1个周期、共4个周期的数据记录;
6)可依据故障记录的周期数和每个周期内的数据大小确定缓冲区的大小;
7)保证了优先记录第一故障触发时刻的数据;
8)在CAN发送期间触发的故障被忽略(如Eb、Ec、Ee)。
关于8)的设置,主要考虑如下:由于CAN发送任务在工作、即已经有故障发生而触发了CAN发送,而在CAN发送期间的故障发生都要晚一些(很多故障都由第一个故障连带触发的),忽略掉对这些故障的原因分析影响不大。这些故障的忽略也是为了保证数据传输而作的牺牲,对整个系统的影响不大。
依据图2的时序分析的特点和要求,设计基于CAN总线的故障采集和传输的方法的流程图,如图3所示。在其他例子中,可以按照该流程图完成程序上的设计。
由于故障信息的数据缓冲任务和基于CAN发送数据的任务是互斥的任务,且具备不同是实时性,因此,在本实施例中设计为两个任务,以任务信号量TASK_FLAG取值为0或1来确定哪个任务激活,其中的Task0任务(第一任务)在TASK_FLAG为0时启动,Task1任务(第二任务)在TASK_FLAG为1时启动。TASK_FLAG仅能在Task0中置1且仅能在Task1中置0,从而保持任务的严格互斥性。TASK_FLAG默认为0,即Task0默认激活的。
Task0任务是实时的,与电机控制任务完全同步组合成一个新的实时任务,如图4所示,即电机控制任务是每100us的周期定时执行一次,则Task0任务也是每100us的周期定时执行一次。
在TASK_FLAG为0激活task0时,则启动图2中子图g的数据同步缓冲,缓冲示意如图5所示:图中变量有A、B、C,t0时刻同步缓冲A0、B0、C0值,t1时刻同步缓冲A 1、B1、C1值,等等。
为了防止缓冲区的溢出,可依据故障记录的周期数和每个周期内的数据大小确定缓冲区的大小,采用环形滑动窗口的设计来更新缓冲区的数据。当实现同步记录故障时刻前m个周期、故障时刻、故障后n个周期的数据(共m+n+1个周期,其中的自然数m、n的具体值可编程确定)时,采用长度为m+n+1的环形滑动窗口来更新缓冲区的数据,且最新的数据总是覆盖滑动窗口中最旧的数据。如图6所示,设计了一个长度为8的环形滑动窗口,共记录8个周期的数据:在t为n的时刻,头指针Head指向tn的存储位置,尾指针Tail指向tn-7的存储位置;在t为n+1的时刻,先把尾指针Tail滑动指向tn-6的存储位置,再把头指针Head滑动指向原尾指针所在的tn-7的存储位置并存储新数据(即原tn-7位置为最老的历史数据被覆盖了)。
当TASK_FLAG为0、即当前激活的任务为数据缓冲任务,且故障触发时,启动数据继续记录定时器DelayTimer,一旦启动,直到超时时刻才停止,并且超时时刻TASK_FLAG置1,并且服务数据继续记录定时器,数据记录任务(也可以称为故障信息的数据缓冲任务)停止。
当TASK_FLAG为1时,激活task1任务。在task1任务激活的情况下,需要满足网络的发送控制要求。CAN发送时,需要把图5中同步缓冲的并行数据排列成图7所示的串行格式,然后从A0开始依次发送。当CAN发送时间到时,判断上一帧发送数据是否成功,如果发送成功则启动缓冲区的数据发送,否则跳过(此时CAN的数据链路层协议依据重发控制策略会启动数据的重发)。同一时刻的数据发送完毕时(如图7中的C0成功发送后)移动滑动窗口的指针。当缓冲区的所有数据成功发送完毕后,置TASK_FLAG为0。
CAN发送一帧数据需要制订一个CAN总线应用层的传输协议,本发明实施例设计的协议如下表1所示,应用层的数据长度固定为8字节。
表1
其中,FrameId即CAN的ID号。以图2中时序对应的要求(同步采集故障前两个控制周期、故障时刻、故障后1个控制周期,共4个周期的数据;1个控制周期的数据需要通过2个CAN帧传输出去)为例(即上述的简化系统,应用表1所示的传输协议)来说明。1个周期需要2个CAN帧,则可设计占用两个CAN的ID号,如ID_DATA_1=2015,ID_DATA_2=2016。DEVICE_ID为设备编号,由厂家分配,如取电机控制系统1的DEVICE_ID为1,电机控制系统2的DEVICE_ID为2。rsvd为保留字节,SynTimeCnt为同步计数,在传输故障前两个周期的数据时取0,在传输故障前1个周期的数据时取1,在传输故障时刻的数据时取2,在传输故障后1个周期的数据时取3。变量的长度均为16位,则在ID_DATA_1=2015时可传变量Var1,Var2,在ID_DATA_2=2016时可传变量Var3,Var4,共可传输4个16位长的变量数据值。
如此设置表1所示的传输协议的优点在于:
1)ID_DATA_n是为了区分Var_n1、Var_n2的不同变量名称的。ID_DATA_n的多个FrameID号的形式,有利于降低上位机软件对接收到的数据进行解析难度;
2)设置DEVICE_ID有利于上位机定位故障发生的设备,多个设备同时发送故障数据也不会混淆;
3)SynTimeCnt至关重要,由于网络传输可能导致不按发送先后到达或重复发送的数据重复到达,根据SynTimeCnt的值可以对接收的数据进行同步,即此种形式有利于网络传输的乱序数据再被上位机数据接收后还原为故障发生时刻的同步并行数据的形式(也就是图5的形式)。
4)rsvd是保留字段,具备协议扩充能力。
因此,只要满足能够把网络传输的乱序数据再被上位机数据接收后还原为故障发生时刻的同步并行数据的形式的协议都是可以的。
在另一个例子中,还可以使用如下表2所示的另一种协议:可以固定用一个ID号(如ID_DATA=2016);VAR_ID作用如同表1的ID_DATA_n,区分Var_n1、Var_n2的具体含义:如在以上正文所说的“在ID_DATA_1=2015时可传变量Var1,Var2,在ID_DATA_2=2016时可传变量Var3,Var4”可等同为:“VAR_ID=1时可传变量Var1,Var2;在VAR_ID=2时可传变量Var3,Var4”,其他字段含义同表1。
表2
下面说明如何按照图7所示的模式传输CAN数据。由于故障信息存储在图6所示的环形滑动窗口内,因此先定位到环形滑动窗口的指向的最旧的周期时刻,此周期时刻存储的数据变量为A0、B0、C0、D0、E0等数值,则:
1)先将ID_DATA_n中的n取0,SynTimeCnt取0,Var_n1装载A0,Var_n2装载B0,发送出去;
2)将ID_DATA_n中的n取1,SynTimeCnt取0,Var_n1装载C0,Var_n2装载D0,发送出去;
3)递增ID_DATA_n中的n,在Var_n1、Var_n2中依次装载不同变量值,直到把此周期中的数据发送完毕;
4)移动滑动窗口到次旧周期位置,同时把ID_DATA_n重新归0,SynTimeCnt增1,重复1)到3)把数据次旧周期数据A1、B1、C1、D1、等发送完毕;
5)重复4),直到把所有数据按序发送完毕。
需要说明的是,图7所示的设定格式仅仅是一个例子,只要该设定格式为能够将同步记录的并行数据转换为可网络传输的串行数据的格式,其他形式也可以,此处不做限定。
当如图1所示的故障诊断上位机接收到数据故障传输数据后,根据CAN的ID号辨别出是故障数据的传输,且依据CAN的ID号的大小确定传输的具体变量(如:ID_DATA_1=2015时为变量Var1,Var2,在ID_DATA_2=2016时为变量Var3,Var4。也就是通过ID号为2015或2016来区分是变量Var1、Var2或Var3、Var4);依据DEVICE_ID的值确定产生故障的电机控制系统,依据SynTimeCnt值来确定数据相对故障时刻的发生时刻。
依据上述故障信息采集和传输方法,在一款电动汽车的电机控制系统产品中加以实现(电机控制周期为125us),此处仍用表1所示的传输协议来实现。其中在试验室测试的原始数据如图8所示,其中启用的CAN的ID号从0x26b9始递增到0x26cc共20个ID号,即传输了40个16位长变量的数据。
图9为把图8测试合格的故障采集和传输程序应用到一款报功率模块过流故障的电动汽车上实际测试情况:记录了故障前104个周期、故障周期、故障后5个周期共110个周期的数据,此实施例存储了110个控制周期数据,故滑动窗口长度为110。图10是对其中记录的交流电流iu、iv、iw,转矩给定(cmd_tor)、电机转速(Speed)、故障标志(Flag1)绘制的波形图,其中的横轴为从故障前104个周期开始计的周期数。从图10分析,在周期为105(即横轴坐标为104)时,Flag1从0变为4,查故障表找到为报功率模块过流故障。我们发现,在转矩给定恒定和转速基本不变的情况下,交流电流iu、iv呈现了交流变化的趋势,而iw在0附近波动,而正常情况下应为iu、iv、iw是平衡地交替变化,因此我们得出是iw相有故障,检查控制器,发现是驱动功率模块的驱动电路的W相损坏造成的。
从图8、图9、图10的故障数据传输和记录及分析的实际例子,可以看出,本发明基于CAN总线的电机控制系统的故障信息采集和传输方法是很有效的。
本发明根据系统的异常或故障特征在故障前后的时间序列的重要性最高的特点,只采样故障时间点附近的数据,丢弃其它时间点的数据,数据的采样与电机控制周期同步,应用环形滑动窗口的缓冲算法,通过低速CAN总线异步传输。这样,在不改变目前总线系统的情况下,通过低速的CAN网络也可以有效地诊断实时电机控制系统的故障,提高了故障诊断的准确性。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。