APP下载

LabWindows/CVI电场自动控制系统研制

2010-10-25武占成范丽思

中国测试 2010年2期
关键词:开环信号源驱动程序

陈 星,武占成,范丽思

(军械工程学院静电与电磁防护研究所,河北 石家庄 050003)

1 引 言

随着军队信息化建设进程的加快,以电子信息系统为核心的信息化武器装备大量投入使用,使得复杂电磁环境下装备保障指挥如何发挥更大的效能以保障主战装备作战效能的发挥,成为装备保障指挥领域急需研究的课题[1]。军事装备在复杂电磁环境下的敏感性测试就显得十分重要了。根据国军标GJB 151A-97《军用设备和分系统电磁发射和敏感度要求》和GJB 152A-97《军用设备和分系统电磁发射和敏感度测量》中RS103项目的试验要求,场强极限值在频域内变化较小。实验室构建的电场辐射敏感度测试系统在试验扫描过程中是手动操作,即通过观察场强计的读数大小来调节信号源和大功率放大器的输出,以保证扫描过程场强值的稳定一致,EMC试验过程中涉及到频率敏感点和敏感极限电平,实验的次数多而麻烦,依据GJB 152A-97中的规定,大致计算一下所需要测试次数,可以算出从8~100MHz(按0.25%步进)最少要经过1011个频率点。每个频率点上都要反复调整电磁场内的场强,工作量极大,急需构建电场自动控制系统。依据基于ANSIC为核心的交互式C语言编程的LabWindows/CVI开发平台,编制自动控制软件。自动控制软件采用模块化编程,主要包括仪器模块、校正模块、测试模块、报告模块。编制的程序大大加快了测试速度并易于进行升级。

2 辐射敏感度自动测试系统组成

2.1 硬件配置框图

辐射敏感度测试系统就是对设备或系统进行电磁辐射干扰试验,从而测量出设备或系统抗电磁辐射干扰的辐射敏感度门限值[2]。

用GTEM室为电场辐射敏感性试验,已被FCC、IEC、CISPR 以及国标(GB)和国军标(GJB)所采纳。它具有频带宽、无需更换天线、场均匀性好、成本低等特点,特别适合EMS自动测试[3]。在构建电场辐射敏感度自动测试系统时,场强幅度变化的大小直接影响测试结果,因此必须将其变化限定在规定的误差限内。自动控制硬件框图如图1所示。

2.2 系统原理

图1 系统硬件配置图

信号源、功率计的GPIB接口,通过电缆级连的方式汇入USB-GPIB接口上,系统在不同的GPIB地址区分这两种仪器。计算机通过GPIB卡控制信号源产生一定类型、频率和幅值的信号。信号源产生的信号通过功率放大器放大,通过同轴电缆馈入GTEM小室。GTEM小室内的场强由场探头变为电信号,通过场强测量仪测量它的大小,场强测量仪将电信号转成光信号通过光纤和RS232接口将场强数据输入计算机内。测量的场强数值和标准规定的数值进行比较,通过调整信号源的大小直到GTEM室中场强与标定场强的误差符合规定为止。

3 测试系统软件设计

3.1 软件设计的总体思想

编写自动测试程序之前,首先应该对仪器的原理、功能、操作方法有详细的了解,对程序的结构进行设计,电场辐射敏感度自动测试系统实现的功能是对GTEM室内场强的控制、通过调节信号源输出功率大小改变室内场强。涉及控制或通信的仪器主要有信号源、功率计、场强计。为了适应通信总线和测试仪器的变化,驱动程序分层、模块化设计。程序由底层向上编写,VISA首先定义了一种管理所有VISA资源的资源管理器,以实现各种VISA资源的管理、控制和分配,内容包括资源寻址、资源创建与删除、资源属性的读取与修改、操作激活、事件报告、存取控制和默认值设置等[4]。VISA调用物理仪器的VPP协议驱动程序,写入仪器管理配置信息,用户功能模块调用VISA函数实现与功能接口。软件结构主要包括输入输出接口软件、仪器驱动程序、应用软件开发环境。输入输出接口主要是通过VISA I/O来实现,其存在于仪器与仪器驱动程序之间,完成仪器内部寄存器数据的存取操作,是仪器与仪器驱动程序之间进行信息传递的底层软件[5]。应用软件LabWindows/CVI是基于C语言编程的虚拟仪器软件开发平台。它是32位的面向计算机测控领域的虚拟仪器软件开发平台,以ANSI C为核心,将功能强大、应用广泛的C语言与测控专业工具有机地结合起来,实现数据的采集、分析和显示[6]。仪器驱动程序实际上是联系应用程序与硬件设备的桥梁,VISA库函数为驱动程序提供了与硬件通讯的软件接口。通过对函数的调用实现对仪器的操作[7]。虚拟仪器软件体系结构与软件设计流程如图2、图3所示。

图2 虚拟仪器软件体系结构

图3 软件设计流程图

3.2 软件代码的编制

在测试的过程中涉及到计算机与信号源、功率计、场强计间的通信,就必须对其进行初始化。信号源、场强计、功率计都有LabWindows/CVI的仪器驱动程序,通过仪器菜单装载驱动器函数库,并将其c代码文件与h头文件添加到test工程文件中。添加的代码文件主要包括功率计c代码文件rsnrvd.c和h头文件rsnrvd.h,信号源c代码文件rssml.c、rssmr.c以及其h头文件rssml.h、rssmr.h。对各个仪器的驱动函数调用进行初始化编程。仪器间是通过安捷伦公司的USB-GPIB卡与RS232接口总线通信,因此也必须安装USB-GPIB卡的输入输出库Agilent IO Libraries Suite才能对仪器进行通信控制。

3.2.1 仪器模块

主要包括对仪器的初始化,初始化函数是通过VISA库中的函数调用来实现的。仪器初始化时对各个仪器的初始化函数的调用如下所示:

3.2.2 校正模块

对场强的校正可以分成开环校正和闭环校正。在开环的校正过程中,固定信号源输入功率的情况下得到GTEM室内的场强频域特性常数K(f),可以用公式表示为 K(f)=P0/E(f)2。对于标定的场强值 E0所需的信号源功率可以表示为P=K(f)·E02。软件编程过程如下所示,校正完的数据以*.csv格式文件保存。

在闭环校正时,可以调用开环的校正文件,通过调用开环的校正文件来更为精确地获得标定场强所需的信号源功率。对*.csv文件的调用主要过程是对开环校正文件以块的形式写入一个data数组中,取数组中前2*maxfreq项分别放入另外两个数组中,分别得到频率与信号源功率数据。软件编制如下所示:

在获得开环校正文件上就可以通过测试的场强值来反馈调节信号源功率,直到室内测试场强值与标定场强值的误差在规定的误差限内。

3.2.3 测试模块

在测试模块中,主要是对校正文件调用,可以是开环数据文件也可以是闭环数据文件。在选择哪种校正文件时,可以通过实际测量的场强值在频域内变化大小与实验对场强变化大小的要求来选择。对校正文件的调用与闭环校正时对开环校正文件的调用过程一样。

3.2.4 报告模块

LabWindows/CVI与 Word、Excel通信基础是对Active X的调用。LabWindows/CVI调用Active X时,首先要建立其服务器,并进行配置,然后生成系统可以识别的程序文件,一般包括.c、.h、.fp、.obj、.sub等文件[8-9]。主要过程是在LabWindows/CVI开发环境下选择 Tools-Create ActiveX Automation Controller,然后在ActiveX服务控件选择框中选择Microsoft Word 11.0 Object Library将会生成函数对话框,并将其保存为wordsrvr.fp,同时在选择的目标目录中还会生成 wordsrvr.c、wordsrvr.h、wordsrvr.obj、wordsrvr.sub等四个文件,将 wordsrvr.fp、wordsrvr.c、wordsrvr.h 文件加入工程后,就可以调用生成的函数库,从而实现LabWindows/CVI与Word的混合应用。通过对函数库中函数的调用生成以Word形式的报告。

3.3 异常情况处理

PC机已经从基于字符的DOS用户界面转移到更强大的Windows图形用户界面,然而增强的GUI也付出了代价。在许多连续采集数据并在软件界面上显示的自动测试过程中,用户界面是一个制约因素[10]。

在编制软件测试GTEM室内场强或是控制场强的过程中,当测量的过程中遇到特殊情况时,软件能够迅速停止下来并关闭仪器。在此过程中界面控件动作与硬件通信是同时进行的,如果用单线程的话,软件不能够快速响应控件事件,甚至造成死机。因此在编程的过程中就必须应用到多线程技术才能克服数据采集与界面显示之间的矛盾。

在LabWindows/CVI中提供了两种多线程技术,分别是线程池(Thread Pools)和异步定时器(Asynchronous Timers)机制[11]。该软件的编写用到的是线程池机制,使用线程池创建线程函数,在调用线程函数进行场强的校正。具体的线程池代码如下所示:

当出现过载或者是检测员需要暂停的情况时,需要释放与线程池相关联的校正线程函数,停止校正或是关闭仪器。在LabWindows/CVI开发平台中用到释放线程的函数为:

4 结束语

该文主要介绍了电场辐射敏感度自动控制技术的软件编制过程。通过软件架构的分析,进行了模块化编程,软件的四大模块通过对函数库和校正文件的调用实现其功能。在校正场强的过程中,开环校正的速度很快,适合对于场强要求不是很高的场合。闭环校正相对于开环校正速度比较慢,因为有一个标定场强误差限需要满足,其实现主要是通过开环校正的数据产生的场强与测量场强值比较,来修正信号源的功率值,比较修正的过程比较费时,但是闭环产生的场强值更为精确,得到的实验数据也就更可靠。在保证GTEM室内场强值的精确的基础上如何加快闭环校准速度值得进一步的研究和探讨。

[1]罗小明.复杂电磁环境下装备保障指挥效能评估指标体系及方法研究[J].装备指挥技术学院学报,2008,19(3):1-2.

[2]朱传焕.小型电磁辐射敏感度自动测试系统的设计[J].计算机技术与应用,2000,20(4):32.

[3]欧阳星明,张国富.使用可视化编程语言实现EMS测试的闭环控制[J].吉首大学学报:自然科学版,2000,21(2):44-45.

[4]陈张良.基于LabWindows/CVI的网络化虚拟仪器软件系统的设计与实现[D].西安:电子科技大学,2007:7-8.

[5]刁修民,王 建.基于LabWindows/CVI的虚拟仪器软件开发技术[J].国外电子测量技术,2003(增刊软件技术):73-74.

[6]徐 健.基于LabWindows/CVI的LGDJ温湿度箱控制[J].国外电子测量技术,2005,24(10):28.

[7]柳吉龄,张宇河.基于VXI通用仪器的虚拟示波器设计[J].自动化与仪表技术,2005(2):58-59.

[8]王建新,杨世凤,隋美丽.LabWindows/CVI测试技术及工程应用[M].北京:化学工业出版社,2006.

[9]王富辉,李庆文,赵婵娟,等.基于LabWindows/CVI的工程机械振动测试与分析系统 [J].计量与测试技术,2008,35(3):26-27.

[10]史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计[M].北京:国防工业出版社,2007.

[11]杨东升,王高峰.多线程技术在虚拟仪器开发软件中的实现[J].电测与仪表,2005(3):39-40.

猜你喜欢

开环信号源驱动程序
Nyquist 稳定判据的分析与应用
VR技术在船舶通信系统天线信号源驻波检测中的应用
十氢萘选择性开环反应的研究进展
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
一切以“大” 方向发展 20周年影音系统变迁史(信号源篇)
聚焦4K视频播放展望未来信号源发展
基于开环补偿的飞机偏航角控制系统设计及仿真
比阿培南开环物杂质的确证及含量测定Δ
基于FPGA的多功能信号源生成系统设计与实现