蔡保海,刘静,赵泽生,袁媛,闫菲,张雷,常素强
(1.天津电气科学研究院有限公司,天津300180;2.电气传动国家工程研究中心,天津300180;3.优美科催化剂(天津)有限公司,天津300280;4.中国机械设备工程股份有限公司,北京100073)
TestStand是美国国家仪器公司(National Instruments)推出的一款全英文自动化测试流程执行管理软件,可根据复杂的自动测试流程和测试资源的需要进行测试环境的管理,其人机界面友好、稳定性高、二次开发时间短,并且可以按照要求存储结果或生成固定格式的测试报告。通过TestStand软件平台,研发工程师可将主要精力聚焦于更重要的测试需求规划上,更加细化产品的测试需求内容。TestStand可以兼容 .NET,LabVIEW,LabWindows/CVI,Visual Ba-sic和Visual C等多种主流测试编程环境,还能与其它编程环境生成的动态链接库、Activex插件和应用执行程序相衔接,通过TestStand良好的兼容性,可以便捷地将传统的和现有的测试编程环境相结合[1-3]。
本文基于TestStand开发了电路板卡的自动测试程序,阐述了TestStand驱动程序的设计思想和原则,是测试系统中最灵活、最核心的部分。TestStand软件应用于通用板卡测试系统平台后,使人机交互界面操作简捷,能快速有效地对硬件系统进行控制,还能对测试数据进行存储,以便后续调用及分析处理。本测试系统平台克服了测试人员的主观性对测试结果的影响,克服了测试人员对专业技术的依赖性,也克服了测试效率低下等问题。
本测试程序系统已经应用于通用板卡自动测试平台的板卡批量测试,通用板卡自动测试平台系统内部结构如图1所示,它由弹性探针针床平台、数据采集、处理、显示、存储几部分组成。被测电路板上设计有若干个测试点,测试时使被测电路板通过测试夹具(即弹性探针针床)与测试组合柜相接触建立电信号通路连接,实物图如图2所示。本测试平台系统可用于输出电路板卡测试点所需的激励信号,如模拟量信号、数字量信号、PWM波脉冲信号等,也可用于对电路板卡响应信号(如相位、幅值、频率等)的数据采集、实时显示、数据处理和数据存储的全部过程,为电路板卡的自动测试提供了一个良好的平台。操作人员手动按下“测试开始”按钮则启动测试程序,通过人机交互界面向测试系统输入被测试板卡的激励信号命令,由弹性探针针床传导到板卡中,测试系统再对板卡的输出信号进行采集分析处理,最后与程序中设定的判定范围进行比较得出测试结论,并将测试结果自动保存到测试报告中[4-5]。
图1 本测试系统内部结构Fig.1 Internal structure of the test system
图2 本测试系统实物图Fig.2 Physical map of the test system
在板卡批量测试之前,首先要了解设计方案中被测试板卡的功能及性能参数,并根据这些参数编写与之对应的测试系统的测试方案(包含测试项目、误差标准和测试资源配置),然后按照编写的测试方案中测试流程的步骤再编写自动测试程序,最后调试调用这些程序。电路板卡所需测试的项目有:电源阻抗检测、电源电压检测、采样电阻检测、霍耳传感器电压输出检测、通讯地址检测、运算放大器功能检测、触发电路检测、功率管状态检测、开关量检测、模拟量检测、PWM波脉冲检测等不同的功能测试项。如图3所示,首先对待测板卡的电源阻抗进行测试,检验合格后再对电源电压进行测试,检验合格后再对板卡的特殊性能进行测试,将测试结果反馈后与理论值范围做判定对比。若测试结果在合理的误差范围内,则测试通过,即此板卡为测试合格;否则测试不通过,即此板卡为测试不合格,此时测试系统将会弹出故障和故障序列,等待操作人员进行处理[6]。
图3 软件流程图Fig.3 The flow chart of software
测试程序中巧妙地设计了一个“检测到板卡故障时,是否向下继续执行测试”的选项。当检测到板卡出现故障有反馈值时,可以根据反馈值是“1”还是“0”来判断程序是否继续向下执行。若反馈值为“1”,则定义为轻故障(例如:电源阻抗异常、电源电压异常、通讯故障等),程序可向下继续执行对其他项目的测试,最后再显示故障位置及测试不通过;若反馈值为“0”,则定义为重故障,测试系统显示测试不通过并应立即停机,等待操作人员处理,最后测试系统会显示重故障位置,以提示维修人员做好记录,以便对该板卡进行维修。
一个测试序列(.seq文件)由许多测试项目组成,被测试板卡的每一项功能测试都可以对应地编写一个测试序列,操作人员可以调整测试序列文件中测试项目的前后顺序,用以实现不同的测试方案要求[7]。图4所示为已测试完毕的某一型号板卡的全部测试序列文件,这些测试序列在图5所示的主序列中作为一个步骤进行逐一调用,用以完成对板卡的测试。如果在测试过程或是产品自身出现质量问题,测试序列也能够很好地复现现象,这也是TestStand测试程序的一个突出优点。
图4 测试序列文件夹Fig.4 Test sequence folder
图5 TestStand测试程序界面Fig.5 The interface of TestStand test program
考虑到使用测试平台人员的不同应用权限,所以在软件系统设计时,把使用人员分为管理员和操作员两类,二者有着不同的操作权限。管理员既具有操作员的权限,也具有添加、删除用户信息、修改用户密码、系统流程配置等多种权限,但操作员只能对平台进行测试操作。相对而言,对于本测试本台,操作员更容易上手,技术水平要求不高。
待所有的测试程序序列测试完后,TestStand会自动生成这一批电路板卡的测试报告。测试报告不但可以显示测试的最终结果,也可以提供测试过程中间的结果用于抽查,测试结果可以用数字形式表示,也可以拷贝或打印出来。Test-Stand的自动存储是通过数据库来完成的,测试平台通过调用数据库里数据对测试结果进行整体的对比分析[8-9]。
图6所示为公司生产的某一型号电路板第4个序列(PWM波脉冲功能测试)自动存储的测试报告。在测试报告中Name列为测试项的名称,Target Min和Target Max为规定的误差范围,Actual为测试的实际值。如果测试的实际值在合理的误差范围内,则测试结果为Passed(测试通过),否则为Failed(测试不通过)。
图6 测试报告(局部)Fig.6 Test report(local)
将测试系统平台生成报告的测试结果与人工测试的结果进行比较,最终结果基本一致,但自动测试平台的总花费时间却从人工测试的30 min缩短为6 min,并且测试的结果可以图形与数据相结合,便于后期对数据的分析与处理,提高了公司的测试与研发效率[10]。
本文介绍了测试管理环境TestStand软件的基本概念和开发测试流程,并通过在测试平台上应用TestStand软件的案例来展示整个测试平台的测试结果。测试结果说明TestStand软件实现了公司生产板卡的自动一体化测试,同时使测试系统平台具有了实时分析、逻辑判断、记忆的能力。实际测试时操作人员可以灵活地调整测试序列的前后顺序进行测试,本测试系统平台会将测试的最终结果自动存储起来,有利于日后对测试结果进行分析查验。通过对测试结果的分析,验证了此程序的可行性,将此软件程序引入到公司产品生产线测试后,提升了公司板卡类产品的测试效率与测试精度。
综上所述,在电路板卡类产品的测试周期内应用本测试程序大幅度地提高了测试的精确度和可靠性,不管是测试过程的操作还是测试结果的记录都减少了人为主观因素对测试结果的影响[11],对提升公司品牌形象及公司产品的核心竞争力都起到了至关重要的作用。