APP下载

基于虚拟仪器的数据采集板卡校准技术研究

2011-07-26张志利侯传勋

自动化仪表 2011年12期
关键词:板卡调校插件

张志利 侯传勋, 姜 毅

(第二炮兵工程学院兵器发射理论与技术国家重点学科实验室1,陕西 西安 710025;北京理工大学宇航学院2,北京 100081)

0 引言

随着工业技术和仪表技术的发展,模块化板卡得到了广泛的应用。为减小测量或控制偏差,在高精度应用场合需要对板卡进行周期性校准。校准是指在规定条件下,为标定和(或)修订测量仪器、测量系统所指示的量值,或实物量具、参考物质所代表的量值与对应的由标准复现的量值之间关系所进行的一组校验和调校操作[1-2]。校准是维持板卡精度的重要途径。

对模块化板卡而言,校准就是通过必要的软硬件调节操作,确保板卡精度满足预期精度指标。随着板卡精度、集成度和复杂性的不断提高,校准操作的工作量和实施难度也与日俱增,传统校准方法已难以满足板卡校准工作的实际需要[3]。

本文以板卡 PXI-6123、PXI-6251、SCXI-1102和SCXI-1124的校准为例,在阐述校准软硬件需求、校准步骤和仪器控制技术的基础上,着重探讨通用板卡校准程序的开发问题。由于硬件调校有悖于板卡的“黑箱”特性,且已逐步被软件调校所取代,因此,本文未对其进行讨论。

1 校准需求与任务分析

板卡校准可理解为在一定的软硬件环境的支持下,按照校准流程实施的以校验和调校为主的一系列操作的总和。在此过程中,不可避免地涉及到外部校准仪器的控制问题。

1.1 校准环境需求

模块化板卡通常无法单独工作,校准的首要任务就是搭建可供其正常工作的最小硬软件系统。为方便与校准仪器连接,要求该系统具有丰富的外部互连接口。为此,选用PXI-8106控制卡、PXI-1042Q和SCXI-1000两款机箱,将它们与4款被校准板卡构成PXI测试系统。其中,机箱拥有坚固的模块化封装结构,并作为载体通过其背板为被校准板卡提供电源、PCI或SCXI总线及专门的定时和触发信号。

PXI-8106是高性能嵌入式计算机,安装了Windows XP Pro、LabVIEW 8.6和必要的设备驱动软件,为校准操作提供必要的软件环境,同时作为校准操作的控制和数据处理中心。该板卡自带 GPIB、RS-232、LAN和USB 2.0接口,可与常见校准仪器直接连接。

除最小系统外,根据被校板卡的不同,校准中还可能需要使用各种作为量值标准的高精度外部计量设备或辅助调节仪器,如数字万用表(digital multi-meter,DMM)、信号发生器、示波器、直流电源、频率计和频谱分析仪等。校准属于精密操作,通常对所用仪器有很高的精度要求。

此外,为方便信号连接和提高校准操作的自动化水平,校准中还需要使用GPIB电缆、SH68-68-EP屏蔽电缆、SCXI-1349电缆适配器、50芯排线、CB-50连接器和SCXI-1300接线端等多种连接附件(其中部分为可选附件)。校准本文所述4种板卡时需使用的外部仪器如表 1 所示[4-6]。

表1 所需外部校准仪器Tab.1 External calibration equipment required

需要注意的是,若推荐仪器不可用,则要求同类替换仪器的相应精度指标必须满足同样的精度要求,否则可能执行错误校准,导致板卡精度降低或板卡本身损坏。

1.2 校准流程

校准主要包括校验和调校两个方面,前者用于验证已有精度是否达标,后者则通过调节板卡参数使其精度恢复指定要求。对板卡而言,软件调校的本质就是根据实测值与基准值的偏差重新计算并更新存储于板载EEPROM中的补偿参数(又称为校准常数)[7]。

板卡校准流程如图1所示。

图1 校准流程Fig.1 Calibration procedures

校准准备阶段(又称为初始化阶段)完成硬件连接、设备预热、软件配置、温湿度测量和校准条件判断等任务,它是执行正确校准的重要保证。自校准通过补偿短期环境效应的影响来提高后续校准精度,是可选步骤,仅对支持自校准操作的板卡有效。前校验通过测量板卡当前的输入输出误差决定是否需要进行后续调校操作。对于误差超限的板卡,调校根据基准值和实测值的偏差,以特定算法计算并更新板卡的校准常数。后校验则通过测量调校后板卡的实际精度决定是否需要进行再次调校。

校准流程的一致性为构建“校准引擎”与“校准数据库”分离的高效通用校准程序提供了可能。但我们也应注意到,由于板卡种类繁多,不同板卡的校准流程可能呈现较大的细节差异。

此外,校准作为高级操作,不可避免地涉及硬件(或固件)操作。为保持板卡的“黑箱”特性并提高校准软件的通用性,校准软件应避免直接使用底层I/O操作,而应尽量使用仪器驱动级别的高级API,如在LabVIEW中,调校应直接使用封装了调校算法和底层寄存器访问的子VI完成,从而避免板卡底层的寄存器操作。

1.3 校验和调校任务分析

板卡功能和结构的多样性,及其精度和集成度的提高极大地增加了校准工作量和校准操作难度。4款板卡校准过程中主要的校验操作和调校操作如表2所示。

表2 校验调校任务表Tab.2 Verification and adjustment tasks

表2中,通道规格列中AI、AO、CO分别表示模拟输入通道、模拟输出通道和计数输出通道,A×B表示板卡共有A个指定类型的物理通道,且每个通道有B个可选输入或输出范围;校验点数和调校点数列中,C×D×E表示需对C个通道的共(C×D)个范围执行单独校验或调校操作,且每次操作至少使用E个校验或调校数据点;备注列中“*”表示相应校验操作需要对每个校验数据点至少执行10000次测量以求均值。

显然,一次完整的校准操作需要对板卡上众多的工作点进行校验和调校。在校准过程中,除了要完成板卡本身的通道配置、输入输出控制外,还需要一台或多台外部精密仪器的配合以及大量诸如连接线转换等手工操作。这也是导致基于手工操作的传统校准方法已不能满足板卡实际校准工作需要的一个重要原因。

此外,从表2也可以看出板卡结构对校准过程的影响。一般来说,S系列和SCXI系列板卡校准时需要对其每路模拟物理通道的每个测量和(或)输出范围执行单独校验和调校;而B/E/M系列板卡由于其模拟输入通道在内部时分复用同一个ADC,因此,只需对一路进行校验和调校即可。

PXI-6123属S系列同步采集板卡,其8个模拟输入通道之间相互独立,正常情况下应对每一通道执行单独调校,但由于涉及内部链路转换等硬件操作,驱动程序对其做了较高层次的封装。因此,对用户而言,只需要对首个模拟输入通道AI0进行调校即可。

1.4 仪器控制技术

外部仪器的大量调节操作在很大程度上增加了校准工作量,因此,实现校准仪器的自动控制是提高校准自动化程度的一个重要方面。便捷的硬件互连和软件互操作性是校准软件中仪器自动控制技术的关键。通常,作为基准使用的外部仪器都十分昂贵,硬件互连就是当推荐仪器不可用时,允许用户直接使用现有的同等级的其他仪器,而不受限于仪器的硬件接口类型。软件互操作性是指当更换不同厂商、不同接口的同类仪器时,校准软件能不加修改或几乎不加修改地控制新仪器,实现自动操作。

GPIB总线作为自19世纪60年代以来应用最为广泛的仪器控制总线,允许多达15个设备以串行、并行或串并混合的方式连接至同一个控制器,很多情况下它是仪器控制的首选方式[8]。校准本文所述板卡时,就是使用PXI-8106的GPIB接口直接与外部校准仪和数字万用表连接的。当然,PXI-8106丰富的外部接口也为直接或间接(通过转换板卡)与其他接口类型的外部仪器互连提供了可能。

在软件层面上,实现仪器自动控制的途径包括:针对特定总线或虚拟仪器软件架构(virtual instrument software architecture,VISA)的基于寄存器操作或程控仪器标准命令集(standard commands for programmable instrumentation,SCPI)字符串操作的直接 I/O、VXIplug&play驱动和交互式虚拟仪器(interchangeable virtual instruments,IVI)驱动[9-10]。IVI作为当今较新的仪器控制技术,提供了独立于设备厂商和接口类型的仪器控制解决方案,是校准软件中实现仪器互操作性的理想选择。更重要的是,IVI还提供了状态缓存、自动范围检查、仪器仿真和多线程安全等高级功能[11],特别是其仿真功能,若再结合MAX(measurement&automation)的设备仿真功能,则可提供从机箱、控制器和被校准板卡到外部校准仪器的完整软件仿真环境,从而极大地方便了校准软件的调试开发。

2 校准软件开发

校准软件是实施板卡自动化校准的关键,而结构和功能的多样性决定了板卡通用校准程序的开发是一项复杂而颇具难度的工作。

2.1 校准软件架构

针对板卡校准的特点,在实施4款板卡校准的过程中,基于“校准引擎+校准数据库+校准插件”模型开发的NI板卡通用校准程序的结构如图2所示。它主要由校准引擎、校准数据库和校准插件三部分组成。

图2 校准软件结构Fig.2 Structure of the calibration software

校准引擎是校准软件的主体,定义了板卡校准操作中的公共操作,如界面显示与交互、设备检测、校准条件判断、通道配置、板卡输入输出控制、外部校准仪器检测与控制、校准数据获取与分析、校准数据库解析、校准数据库编辑、校准插件调用接口、实时帮助和校准结果存储打印等。校准引擎中不包含与特定板卡校准相关的数据,其正常运行依赖于外部校准数据库。校准操作中可采用手动模式和自动模式控制外部仪器。在自动模式下,仪器选择与控制子模块除了要根据当前板卡的校验点和调校点数据信息,通过IVI类驱动控制相应外部仪器自动输出基准信号或自动测量板卡输出信号,还要完成必要的时序控制,以确保测量时输入输出信号已稳定。

外部校准数据库为一个文本文件,采用XML语言定义特定板卡校准所需的数据信息,如校准温湿度要求、校准周期、校验和调校通道类别、通道配置参数、校验和调校数据点、允许误差限、帮助资源信息以及所需插件信息等。由于允许误差限取决于校准周期,因此在数据库定义和程序开发过程中,将两者绑定,以避免允许误差限和校准周期不对应而造成错误校准。校准引擎根据用户选择的待校准板卡,从数据库中查找并读取相应字段,然后通过数据库解析模块,转换为可为其他子模块使用的内部格式。实践表明,XML语言简单、高效、易于维护和扩充的优点为校准程序的调试和功能扩充提供了很大方便,大大加速了程序开发进程。

校准插件是具有共同调用入口的动态链接库dll文件,用于解决特定板卡校准中出现的特殊问题。由于板卡种类繁多,在程序开发过程中会遇到一些特殊板卡的校准功能或部分校准功能无法通过校准引擎完成,或虽通过修改校准引擎可以完成,但因其属于个例操作而不宜置于校准引擎中的现象。如SCXI-1124电流输出通道的校准就是通过校准插件完成的。校准引擎从校准数据库中读取板卡的校准插件信息,并通过插件调用接口动态调用该插件,以完成特定校准操作。

2.2 软件开发过程

校准软件采用LabVIEW 8.6开发。作为专为数据采集、测试测量和仪器仪表等领域设计的高级图形化编程语言,LabVIEW专业的UI、完善的驱动支持和良好的交互式调试工具极大地简化了校准软件的开发过程。如板卡和仪器检测功能,可借助“DAQmx设备名”和“IVI逻辑名称”等控件直接实现;设备自检、自校准和调校等复杂操作可直接调用相应子VI完成;仪器控制问题则可使用LabVIEW内置IVI类驱动解决。但应注意的是,在使用IVI类驱动子VI编写仪器控制模块时,用户必须先自行安装外部仪器对应的IVI兼容驱动,否则程序无法正常运行。此外,为确保仪器可互换性,应避免使用IVI兼容驱动中那些相应IVI类驱动没有提供的功能。校准引擎是校准程序开发的难点。由于规模较大,主程序采用“生产者-消费者”模型(producer-consumer pattern)和模块化设计方法构建。

“生产者-消费者”模型是使用LabVIEW构建大型程序,特别是复杂用户交互界面程序的有力手段,其本质是借助计算机的多任务处理能力,通过队列操作(“生产者”将消息压入队列,“消费者”从队列中取出消息并执行相应操作),实现界面响应进程和事件处理进程的分离,从而提高界面响应速度和程序执行效率。同时,根据界面控件的依赖关系,通过人为事件触发,该模型还可以在很大程度上简化界面处理代码。此外,为提高代码重用效率,保持代码视图的简洁,采用将大多数事件处理(非常简单的除外)代码放于一个或多个分级调用的子VI中实现。实践表明,传递控件引用是实现在底层子VI中更新、维护顶层界面视图的有效手段。

对用户而言,校准引擎表现为封装了校准流程的向导式窗口界面,主要由初始化、自校准、前校验、调校和后校验5个页面组成。该向导界面除负责处理大量相互关联的视图更新外,还要根据用户选择、操作状态和板卡属性等信息调用底层子VI,以完成条件判断、校验和调校等操作。由于校准操作中不可避免地存在如板卡端子连线等硬件操作,为方便操作,向导还要根据校准数据库中记录的与当前操作状态相应的帮助信息,打开并显示相应html帮助文件。

校准插件独立于校准引擎,每个插件置于一个单独的LabVIEW动态链接库工程中开发。插件可包含底层处理代码和相应用户界面,且必须拥有共同的调用入口。

3 结束语

本文以LabVIEW环境下的4款板卡的校准为例,探讨了板卡校准的步骤和实施校准的硬软件需求,基于对仪器控制技术、校准流程和校准任务的分析,提出了基于“校准引擎+校准数据库+校准插件”构架的校准软件实施方案,详细分析了校准软件的模块组成和实际开发过程中采用的关键技术。

目前,NI设备校准软件已在某大型温度场测试项目中得到成功运用,它为终端用户提供了对4款板卡实施校准的有效技术手段。该校准软件开放的体系结构为构建一款通用板卡校准软件提供了有益的尝试和探索。

[1]曲正伟,赵伟.测量仪器的Internet校准[J].电测与仪表,2006,43(8):1-5.

[2]吴静,赵伟,胡毅飞.基于Internet的计量校准方法探讨[J].计量学报,2005,26(1):70 -73.

[3]郭占山,李建一.NI数据采集卡校准方法探讨[J].计量技术,2007(6):50-52.

[4]National Instruments Corporation.B/E/M/S series calibration proce-dure for NI-DAQmx[EB/OL].[2008 - 05 - 30].http://digital.ni.com/manuals/websearch/1591DOAB650/D5/88625744A0069FBIC.

[5]National Instruments Corporation.SCXI-1102/B/C calibration procedure[EB/OL].[2003 - 10 - 28].http://www.ni.com/pdf/manuals/370029b.pdf.

[6]National Instruments Corporation.SCXI-1124 user manual[EB/OL].[1999 - 09 - 01].http://www.ni.com/pdf/manuals/320712b.pdf.

[7]Pheanis D,Creasman S.Automated calibration and validation ofautomotive test instrumentation[C]//Automation Congress,2008.WAC 2008,World,2008:1 -6.

[8]罗光坤,张令弥,王彤.基于GPIB接口的仪器与计算机之间的通讯[J].仪器仪表学报,2006,27(6):634-637.

[9]李宁,李进杰.仪器控制技术在自动测量系统中的应用[J].工业控制计算机,2008,21(1):1 -2.

[10]Franklin P,Ryland J.IVI instrument driver guided tour[C]//Autotestcon Proceedings,2004:167 -173.

[11]Cheij D.Using IVI drivers to increase test system performance[C]//IEEE Autotestcon Proceedings,2000:375-79.

猜你喜欢

板卡调校插件
投影机基础调校的技巧和注意事项
关于AV放大器购买、使用和调校的二三事
车载控制器CVRE板卡显红故障分析及处理
自编插件完善App Inventor与乐高机器人通信
Video Standards and Calibration: The Basics 视频标准与调校基础知识
基于jQUerY的自定义插件开发
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
轿车底盘评价调校初探
一种基于光纤数据传输的多板卡软件程序烧写技术
基于Revit MEP的插件制作探讨