针对质量控制等非生产部门,我们不能为一种产品而单独开发一套测试设备,而必须能在一套测试系统上完成绝大多数的汽车电子模块的测试。同时,测试程序的开发必须十分快速,这样才能应对测试产品种类多、要求高、时间紧的特点。由于我们的测试系统主要运用于首件产品检验、故障件诊断和EOL系统的验证这三大方面,因此,这种系统必须具有测试序列可配置,既可实现自动测试又可以实现手动分析。并且对测试结果具有追溯能力(Traceability),即具有在数据库中记录自动测试结果的功能。针对以上的要求,我们基于National Instrument PXI系统,利用LABVIEW、CVI、Java等软件开发出了TVS(Test and Verification System)测试系统。此系统很好地解决了实际设计和生产中的一系列问题。
本系统采用NI PXI硬件平台,使用LABVIEW、NISWITCH EXECUITEIVE、CVI等软件编写程序,实现了基于虚拟仪器的汽车电子综合测试平台。
NI PXI平台构架的KTVS系统具有灵活、可配置、可快速开发等特点,十分适合用在汽车电子行业的产品分析、首件测试、功能实验等方面。它不同于EOL系统,可以提供全面、快速、准确的产品测试和分析能力,并且系统操作界面简单、清晰,使用方便。
汽车电子模块的功能测试要求综合利用CAN、LIN、KLINE等通信协议,并且测试的通道较多。功能测试除需要测试电压、电流、电阻、电容等参数外,还要测试管脚波形、响应时间。
针对以上传统的测试参数,我们利用NI PXI模块中的PXI 4071可以精确测试电压、电流和电阻值。这块板卡具有7位半的精度和1.8MS/S的采样速率,能够满足汽车电子对信号精度和变化率的苛刻要求。如需多通道测量.利用NI PXI 2532可以实现测量通道的切换。在我们的应用中,我们使用TB2641将矩阵接成8×64型式,可以实现8路仪表对64路通道的切换测量。由于NI PXI 2532切换速率高,且允许通过0.5A的电流,所以可以满足测试通道多和切换速率快的要求。
对于无线的产品如RKE(远程无钥匙系统)、PKE(被动无钥匙系统)、TPS(胎压检测)等,还需要进行射频通信的测试。在RKE的测试中,使用了NI的射频测试解决方案。我们使用NI PXI 5661和NI PXI 5671,并结合与硬件配套的调制解调工具包和频谱测量工具包组建了一个完整的射频信号调制、接收、解调的测试平台。由于Nl的射频测试系统中自带了ASK、FSK、QAM等常用的调制解调方法,与其他仪器相比不仅节省了大笔购买调制解调附件的成本,同时使程序的开发和调试变得方便快捷。
利用这两个测试模块,我们对RKE、PKE的载波偏移、功率、BER、EVM进行了测试和控制,并对产品发出的射频信号进行了解调比对,同时模拟RKE tag发射预定义的信号,对接收模块的灵敏度和可接收的载波偏移等参数进行了测量。通过NI PXI射频测试系统,使产品PPM值大大下降。同时发现了很多设计中潜在的问题。
采用具有高可靠性的NI PXI系统,借助其编程简单、快捷的特性和强大的功能,为开发一个基于配置的汽车电子产品测试分析系统KTVS提供了强有力的保证。
随着汽车工业的迅猛发展,汽车电子产业正在逐渐壮大。汽车电子行业的质量、设计等部门十分需要一种具有电子产品测试分析的系统,来帮助他们应对设计和生产过程中出现的质量问题。
由于部门的特殊性,这种系统将承担各种不同产品的测试和分析,所以要求能在该平台上迅速切换不同产品,并能快速开发出产品的测试软件。为此必须设计一种软件模版原型。通过简单配置就可以实现对各种产品的测试。
通过精心的设计和不断的实践,我们在KOSTAL中首先实现了一种能够通过配置文件实现产品测试软件开发的原型。通过它,我们基本不用修改LABVIEW程序,而只要调用配置文件进行配置就可以实现对新产品测试程序的开发。图1为TVS系统的整体结构图。
TVS使用NI PXI系统实现数据采集和控制,通过接口箱可以灵活、快速地实现负载的配置和测试通道的选择。
LABVIEW编写的测试程序控制整个测量的进行,测试的结果通过MYSQL API上传到远端的数据服务器,并通过Web服务进行发布。用户只要通过浏览器就可以在公司任何一台联网计算机中进行测试结果的查询和分析。
为了更清楚地进行介绍,以下把系统分为软件和硬件两个方面进行介绍。系统硬件的结构如图2所示:
TVS系统采用Agilent 6652A电源,此电源最大电流25A,最大电压20V,可以满足汽车电子产品电流大的特点。电源通过Mini GPIB与PXI 8106控制其相连,PXI8106使得用户可以通过笔记本来作为PXI系统的控制器,节省成本的同时增加了系统的灵活性。特定型号的笔记本BIOS支持特定的PCI桥个数,选择时根据NI的测试列表来选择。
为了实现多产品测试和负载可配置,我们对该系统的接口箱进行了精心的设计和规划。从而使其可以实现多个产品的切换测试和配置功能。
在接口箱的上面板上,通过接头和跳线可以任意地配置各个输入和输出通道的负载电阻,非常快捷高效,从而可以迅速实现多个产品切换测试,而不需要重新进行负载的制作,所有负载都是通过配置来实现的。
接口箱中的多路通道由NI 6251的数字量输出通道进行控制。NI 6251DAQ具有24路数字量输入输出通道和1.6路模拟量输入输出通道。1.25M/s的采用率可以用来测量±10V的电压信号,具有参考地、非参考地和差分多种方式。用它的数字量输出实现继电器的控制可以实现电源在三路产品间的切换。其目的是实现三个产品的轮回测试,从而节省测试时间。
对于产品的连接,我们采用了三个37针的接口,并且在每个接口上都分配了电源、输入和输出口,从而可以应对最多37×3个输入输出通道的产品。
接口箱是整个系统的中枢环节。TVS的接口箱很好地解决了负载可配置、多路切换、多点测量等一系列问题,从而使系统具有快速、高效、简单等特点。
在软件方面,该系统最大的特点就是模块化、可配置、手动与自动结合。正因为这些特点,所以可以快速地开发出针对不同产品的测试程序。软件系统的结构如图3所示。
该系统有一个非常强大软件系统,综合利用了LAB-VIEW、CVI、XML、WEB SERVICE、MYSQL、TOMCAT、Java等技术,实现了一个可以快速进行对新产品开发(通过配置文件)的软件模版。其主要的目标和思想是实现对用户透明的编程,即只要通过配置文件和稍微改动模版就可以实现新产品测试程序的编制,非常简单、快捷。
下面就具体介绍每个模块的工作原理和实现方法。
·配置文件子模块
这个模块用来与用户交互,生成XML配置文件。它分为两个文件,其中main.xmI用来配置通信参数(CAN、LIN、KLINE)的波特率、数据字节数、通道口、产品的信息(产品号、产品名、客户号、客户名、变种)和输入输出的通道,包括输出端口的测量方式、上限及下限等参数。
auto.xml是自动测试的配置文件。为了方便此文件的编写,所有的输入和输出相关配置都采用对话框的形式来完成。其内容则来自于maln.xml中的配置,从而实现了最方便的配置方式。
·KOSTIA通信模块
该模块包含了丰富的内容,包括LIN、CAN、KLINE模块。这些模块都是汽车电子产品的典型应用。所有的模块都针对KOSTIA协议进行了封装,并且做成了LABVIEW的用户自定义库。用户自定义库是通过LABVIEW中的call library function调用DLL来实现的,然后将其导入到VI编程面板上,因此可以十分方便地调用。
CANOE是汽车电子网络分析、开发、测试的常用工具。在我们的系统中,我们通过CANOE提供的COM组件,使用其自动化服务器,在LABVIEW中控制CANOE,并进行总线的仿真和测试,十分方便。
由此可见LABVIEW软件在与外部程序交互中显示出的强大功能。
·自动测试子模块
该子模块实现了从auto.xml中取出测试序列,实现自动测试的功能。它采用了用户自定义事件的方式实现,即测试序列形成一个测试事件发送序列,根据auto.xmI的定义形成此序列,发送测试事件。事件结构接收到测试事件后,就从此事件中取出相应的参数,然后进行测试。利用这一结构可以使用很少的代码量实现自动测试。具有程序结构清晰、代码量少、执行迅速等优点。
·输入输出扫描模块
主要利用了NI4071和NI SWITCH,通过main.xml中的输出配置进行逐个输出扫描。这样可以达到很高的扫描速率,从而实现了在手动分析功能下的各个输出同时显示的能力。另外,可以在手动分析的同时观察到所有管脚的电压,从而具有了分析、检测的能力。这种功能特别适合于失效产品的分析和检测。我们曾经利用这一功能,成功地分析出了如J60N座椅记忆模块等在内的很多产品的质量问题和缺陷。
·信号模拟子模块
该模块主要是利用了NI6251的模拟量输出通道,实现了两路信号输入功能。它可以模拟车速等信号,也可以实现频率、占空比、幅度的调节。通过此模块,用户可以使用LABVIEW程序快速地产生需要的信号,从而模拟整车信号,实现测试。[page]
·手动分析子模块
该模块可以实现产品的分析功能,实现所有输入,测量输出量,并实现KOSTIA诊断、输入口波形观察等功能。
·数据库模块
本模块采用了自行编写的MYSQL C API进行封装的库来实现自动测试时数据的上传。实际证明,该模块运行非常稳定,上传的数据进入系统后将由Web发布系统做处理并发布。该模块实现了LAB-VIEW和数据库的无缝连接,使上层的Web系统和底层的测试控制系统相结合。
·EOL测试信息发布子模块
这部分模块又是本系统的一大特点。整个系统通过使用J2EE开源构架,服务器使用TOMCAT,数据库使用MYSQL,Web应用使用IBATIS作为持久层。并且使用STRUTS作为引擎。
本模块可以实现测试数据的查询,并根据多种字段进行搜索,对结果生成报表。
通过这些数据源,我们还可以进行SPC、MSA等分析。从而把数据的采集、存储到发布、分析、报表系统连接成了一整套完整的体系。
·初始化和资源关闭子模块
主要是对使用过的数据采集卡、万用表卡、矩阵等的资源进行分配和回收。
·NI SWITCH模块
主要利用NI的开关工具包实现了继电器和routes之间的映射,从而通过routes来控制多个继电器的通断,实现通道控制。
NI SWITCH EXECUITIVE软件包功能强大。它将继电器组与路径的概念相结合。矩阵中的一组继电器闭合相当于一条路径,各种可能的组合就可以建立起许多条路径。
整个软件的设计全面考虑了各种测试的要求和可能的需要,在软件的模块化、可配置等方面做了很大努力,从而使系统在快速、稳定的同时实现了高效、精确的测量效果。
以上是对TVS整个硬件和软件平台的一个简单介绍。目前此系统在首件测试、质量分析、EOL系统验收等方面发挥着重要的作用。下面结合实际产品的测试过程,对本系统作一个介绍。
使用实例:
我们使用TVS系统对中华A1轿车的BCM模块进行了功能检测。
测试系统主界面包括产品相关信息。这些信息在文件中配置后,当程序运行之后会从main.xml中自动获取,并显示在界面上。
KOSTIA诊断部分主要是对于有KOSTIA的诊断功能的产品,可以通过这一模块实现KOSTIA所定义的所有功能,包括登陆、同步、读SENSOR、写Actua-tor、读写EEPROM、读写参数文件、参数文件对比、导入等功能,从而与firmware中的诊断程序交互实现产品诊断。当前此模块支持CAN、LIN、KLINE三种通信方式下的KOSTIA诊断。
管脚波形显示部分主要针对某些产品的特殊要求,需要获取输出端的上升时间、超调等特性,从而分析机械和电性能的问题。在波形显示区域。我们可以通过多路AI的同时监测来实现这一功能。
在自动测试过程中,界面右上角的部分是自动测试过程中每一步执行的信息,包括步号测试内容、测试结果、上限值、下限值、是否测试通过以及合格和不合格产品的计数情况。
对于开发新的电子产品测试程序只要完成下列步骤:
步骤1:根据测试说明上的产品管脚,在开关量工具包中定义输入,输出点
我们为中华BCM的所有输入输出脚定义了名称,对于可能的输入输出路由进行了定义。
步骤2:根据路由配置.编写线束连接说明文档,并且制作线束
步骤1完成后,可以打印出各个继电器通道与产品测试相关的信息,然后根据这些内容,为每个产品编写一份用以说明线束连接的说明文档。该文档主要说明输入输出管脚以及各种资源的分布。这份文档对线束的制作、故障的诊断和以后系统的查错等都有重要意义。文档定义好之后就可以根据文档来制作线束。[page]
对于需要连接负载的产品,我们还需要一份负载配置连接图,以便可以在接口箱上为输入输出端配置上特定的负载。
步骤3:进行main.xml的配置
主配置文件用来配置产品的显示信息,包括产品名、产品号、客户名、客户号,通信参数包括各种通道号、波特率、版本、ID、数据长度等信息。根据在NI开关量执行软件中的设置,对输入和输出通道进行配置,这些信息将成为在Auto.xmI中选择的数据源,从而十分灵活方便地实现编程。
步骤4:进行auto.xmI的配置
如果测试程序中有自动测试的要求,可以进行自动测试步骤的配置。每一步都有如下信息,包括步骤号、是否执行、步骤类型、输入激励、时间间隔、测量输出端等。如果是设置了步骤为KOSTIA诊断,那么还要设置发送信息诊断信息和诊断反馈值的上限和下限值。
步骤5:对界面和程序稍作调整和修改
主要是在界面修改一些标签,对于有KOSTIA诊断的程序则要修改KOSTlA部分。
步骤6:自动测试开始或手动分析
本系统拥有可以支持多次测试的功能,即对一个产品可以多次反复自动测试也可以单次测试。只需要输入产品序列号,并且选择测试结果是否上传到数据库中,然后就可以开始自动测试了。当选择保存数据后,每次的测试结果通过MYSQL API自动上传到数据库中,便于追溯。
步骤7:打开EOL系统。查询测试结果,生成测试报表
如果进行了自动测试,并且选择了保存数据,那么就可以进入EOL测试技术管理系统中的首件鉴定模块中的测试结果项目。用户可以通过产品编号和产品序号来查询某种产品或某个产品的各步具体测试结果。
上传的数据包括测试产品名、产品序列号、步骤号、每步的开始时间和结束时间、测试的结果和上下限、是否通过以及解释步骤作用的备注数据。最后,如果出现错误还会有错误代码。这些错误代码。都是根据历史经验总结出来的错误。