技术中心
 
 

采用LabVIEW和NI-CAN开发燃料电池城市客车的整车信号监测与故障诊断系统

   日期:2006-01-15     来源:中国自动化网    作者:管理员    

挑战:燃料电池城市客车部件多、信号复杂,某些部件(如燃料电池、镍氢辅助电池等)还存在运行安全问题,需对各个部件进行实时监测及故障诊断,保证整车的安全性;同时还需记录试验数据,分析各个部件的运行特性,为整车控制策略提供依据。传统的信号采集与信号处理方式已不能胜任,急需一种全新的解决方案。
应用方案:设计燃料电池城市客车的整车CAN通讯网络,用NI的CAN卡和LabVIEW搭建一个基于PC的信号监测与故障系统,对整车各个部件进行实时监测和故障诊断,并记录试验数据,然后采用NI的DIAdem对试验数据进行处理,并生成试验报表。 
使用的产品:LabVIEW6.1, DIAdem9.0, PCMCIA-CAN/2 (Serious2)。 
介绍
   燃料电池城市客车属于混合动力汽车,其特点是车载电子控制单元多、整车信号烦杂。传统的信号采集与信号处理方式很难胜任,控制器局域网(CAN)以其拓扑结构简单、信号传输可靠等优点,可满足整车各个部件的实时监测与故障诊断需求。NI公司推出了基于PCMCIA 接口的CAN卡,并提供了功能完善的API函数,可在LabVIEW环境下很方便的搭建CAN总线信号采集与故障诊断系统。此外,NI公司推出的数据分析软件DIAdem,可与LabVIEW进行无缝连接,对试验数据进行分析处理并生成试验报表。 
整个系统的完成用时不到一个月,可以说,NI为我们提供了一整套高效、可靠的开发工具。
系统组成
   燃料电池城市客车的系统组成如图1所示,它包括用于传输大电流驱动功率的能量总线和用于传送监测信号及控制命令的信号总线--CAN总线。各个汽车子部件均包含一个CAN节点,用于向CAN总线发送自身的监测信号并接收整车控制器命令。 

按此在新窗口浏览图片

信号监测与故障诊断系统的构成如图2所示,在Windows平台上,用LabVIEW开发系统应用程序,通过NI的PCMCIA接口形式的CAN卡采集CAN总线数据,实现对整车的信号监测与故障诊断,同时利用NI的数据分析软件DIAdem与LabVIEW进行通讯,实现数据的自动存储、分析,并生成试验报表。 
按此在新窗口浏览图片

CAN总线技术
   控制器局部网(CAN-Controller Area Network)是一种有效支持分布式控制或实时控制的串行通信网络。多个CAN控制器节点以CAN总线为物理媒介相联系,每个节点均可在总线空闲期间向总送符合CAN通信协议的报文,如果同时有多个节点请求发送报文,即出现总线访问冲突时,则根据传送报文标识符ID所定义的优先权进行逐位仲裁,具有最高优先权的节点获得总线访问权,其它节点则停止发送数据。目前主要的CAN协议技术规范是1991年9月由Philips Semiconductors制定发布的Version2.0,该技术规范包括A和B两部分。CAN协议废除了传统的站地址编码,采用数据编码--由11位(标准通信模式)或29位(扩展通信模式)二进制标识码对数据块进行标识,因此可定义211或229个不同的数据块。这种通信方式具有网络结构简单、可扩展性强、灵活性高、抗干扰能力强等优点。此外,它还具有错误检测和错误界定功能,可判别暂时错误和永久性故障并自动断开故障节点的功能,容错性能很好,是非常理想的现场控制和车载系统控制方案。
    NI公司推出的CAN总线技术不仅包括PCI、PCMCIA等各种接口形式的CAN卡(支持2.0A和2.0B协议),还封装好了对应的API函数,在LabVIEW中只需简单调用NI-CAN的子VI即可实现与CAN总线的通讯。我们采用的是NI的Serious 2系列CAN卡,它以SJA1000作为CAN控制器,不仅通讯速率高(最高可到1M波特率),还具有CAN网络诊断功能,可以检测出CAN总线的各种故障,是非常理想的CAN网络开发工具。
系统软件设计
    图形化、模块化是LabVIEW的最大特点,在降低硬件操作难度的同时,它还大大简化了系统的构建以及代码的编写,可以使开发者把主要精力集中在系统的设计上,从而开发出功能完善、可靠性高、界面友好的应用程序。此外,LabVIEW功能强大而简单易学的特点,也是我们选择它作为开发工具的主要原因之一。
信号监测与故障诊断系统主要包括两个模块:在线实时监测系统,数据回放及故障再现系统。
在线实时监测系统主要负责在汽车运行过程中,实时监测各个部件的各种运行参数,并根据这些参数对其进行故障诊断,在发现故障的时候及时报警,避免事故的发生。此外,它还必须将这些实时数据保存到硬盘中,以供离线分析和报表制作所用。实时监测系统又划分为若干功能模块,如图3所示。其中,数据采集、数据转换、故障诊断和数据存储是基本功能模块,这一线程的实时性要求最高;而数据显示、数据查看和汽车性能试验模块主要负责与用户进行交互,实时性要求不高。因此在程序设计中应给前一个线程付以高优先级。该系统的部分LabVIEW程序框图如图4所示,图中下方的While循环采用了Event结构,用于响应用户输入以及显示数据,由于该线程优先级要求不高,因此设置了100ms的等待延时。 
按此在新窗口浏览图片

按此在新窗口浏览图片

   在线实时监测系统的前面板如图5所示。从图中可以看出,系统监测的信号非常多、非常复杂,主要分成以下几个区域:整车状态显示区(左上方)--用于显示车速、电机转速、档位、加速踏板、制动踏板以及各个动力部件的功率消耗等信号;电机状态显示区("Motor"区域)--用于显示电机控制器电流、控制器温度、电机温度等信号;整车控制器状态显示区("Main Controller"区域)--用于显示整车控制器发出的转矩需求、对燃料电池的功率需求、对主DC/DC的输出电压需求以及各个部件的开关等控制命令;主DC/DC状态显示区("Main DC/DC"区域)--用于显示主DC/DC的实际输出电压、电流以及温度等信号;燃料电池状态显示区("FC"区域)--用于显示燃料电池的输出电压、电流、冷却水温、单体电压、故障状态等信号;蓄电池状态显示区("Battery"区域)--用于显示蓄电池的电压、充放电电流、单体电压、电池箱温度等信号。对于以上各个信号,在燃料电池汽车试验过程中都必须进行实时监测和故障诊断。 
按此在新窗口浏览图片

   其中,对于蓄电池来说,由于采用的是锂离子或镍氢电池,各个单体的均一性显得尤为重要,它不仅影响蓄电池的使用性能和寿命,还关系到整车的安全问题,某个单体的过充或过放都可能导致电池箱温度急剧上升甚至爆炸。因此需要特别关注蓄电池的单体电压和单体温度,除了在主界面显示出来以外(右下方的白色线状图)外,还设置了两个按钮,用于调出详细显示单体信息的子VI,如图6所示。柱状图中的红色单体表明该单体的电压或温度超出了安全极限,予以警示。 
按此在新窗口浏览图片

    数据回放与故障再现系统的程序结构与前面板与实时监测系统基本一样,只是将数据采集模块换成了数据读取模块--从硬盘中读取记录好的试验数据和故障信息,在此不做详细介绍。该系统用于试验结束后再现试验过程,可连续回放,也能单步执行,因此可以在发生故障的时间点上详细显示当时各个零部件的运行状态,这对分析故障原因具有非常重要的作用。完成试验后,需要对试验数据进行分析和处理,并撰写试验报告。这里我们再一次采用了NI的数据分析软件--DIAdem,不仅因为它数据处理功能强大、数据量几乎没有限制(最长可到10亿个数据点),更因为它与LabVIEW的无缝连接--可在LabVIEW中直接调用DIAdem,也可在DIAdem中调用LabVIEW,大大简化了数据的导入、导出、分类等过程
LabVIEW的Web Sever技术
   NI的LabVIEW还集成了Web Sever技术,将复杂的TCP/IP、UDP、Socket等技术封装在若干子VI中。只需调用这些子VI,即可完成网络通讯,免去了底层网络协议的复杂工作。即使开发者没有网络协议方面的专业知识,也可以利用LabVIEW进行网络应用程序的开发。
   这里,我们在燃料电池城市客车上构建无线局域网,用一台笔记本电脑作为服务器,运行信号监测与故障诊断系统,实时监测整车信号,然后利用LabVIEW的Web Sever技术,将信号监测与故
 
标签: LabVIEW CAN
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢