0 引言
虚拟仪器一般主要包括计算机、软件平台和仪器硬件等三部分。虚拟仪器的硬件形式虽有区别,但基本构成是一样的。即将仪器硬件搭载到计算机上,利用相应的软件完成控制、测试及数据处理和显示任务,从而实现以计算机为基础的数字化采集测试分析系统。
1 虚拟仪器的系统构成
图1所示是一个虚拟仪器的系统结构。由图可见,整个系统分为两个部分,其中硬件部分主要由计算机和数据采集卡以及电压电流传感器组成,数据采集卡采用研华USB4711数据采集卡,具有12位AI分辨率,采样速率高达150 kS/s,同时具有16路模拟量输入、2路模拟量输出、8路数字量输入、8路数字量输出以及1路32位计数器;软件部分采用LabWindows虚拟仪器设计平台,可实现数据采集、录波、波形显示等功能,并可分析信号的有效值、功率、谐波分量、相位角、对称分量等信息。电压电流信号通过传感器可转换成0~10 V,4~20 mA信号,然后通过数据采集卡进行AD转换后传给电脑,并在LahWindows平台下进行数据处理,以记录并显示数据波形。
2 测量原理
本系统可用于测量三相电压电流的有效值、功率、频谱、谐波、相位角、对称分量,下面介绍各个参数的计算及实现原理和方法。
2.1 有效值计算
对于连续信号,假设电压信号瞬时表达式为u(t),则有
然后再对信号进行离散化采样,以得到序列{u[k]},则电压有效值为:
2.2 频谱与谐波分析
采用FFT变换可将采样得到的数字信号中各次谐波在频域中进行分离,以求出各次谐波频率,并得到各次谐波下电压电流的幅值和相角频谱;然后,再将采样得到的数字信号利用对称分量法进行计算,即可求出基波的正序和负序分量。
离散傅立叶变换(Discrete Fourier Transform)的实质是有限长序列傅立叶变换的有限点离散采样,因此,该变换开辟了频域离散化的道路,它可使数字信号的处理在频域采用数字运算的方法进行,从而大大增加了数字信号处理的灵活性。将信号经过模/数转换后变成离散时间信号,一般可采用离散傅立叶(DFT)变换法。其长度为M的有限长序列x(n)的傅立叶变换公式为:
通常快速傅立叶变换(FFT)不是一种新的变换,而是离散傅立叶变换(DFT)的一种快速算法。它通过对DFT变换式进行一次次的分解,以使其成为若干项DFT的组合,从而减小运算量。本文采用的FFT以2为基数,它具有运算效率高,程序简单,使用方便等特点。
3 系统功能
3.1 用户界面功能
本系统的功能主要是通过软件的实现。表1所列是该虚拟仪器的软件功能列表。图2所示是其电力系统录波仪的主界面图。

<script src="/jf/jf-arcMain-1.js" type="text/javascript"></script><script type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/js/r20120425/r20120410/show_ads_impl.js" type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js" type="text/javascript"></script><script type="text/javascript">google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script><iframe id="google_ads_frame1" name="google_ads_frame1" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads
client=ca-pub-7913339004558941&output=html&h=250&slotname=6759329637&w=300&lmt=1321935846&ea=0&flash=11.2.202.233&url=http%3A%2F%2Fwww.21ic.com%2Fapp%2Ftest%2F201104%2F80723_2.htm&dt=1336145033500&shv=r20120425&jsv=r20110914&saldr=1&correlator=1336145033500&frm=20&adk=677822716&ga_vid=2142795950.1323604578&ga_sid=1336141465&ga_hid=1114972053&ga_fc=1&u_tz=480&u_his=1&u_java=1&u_h=800&u_w=1280&u_ah=770&u_aw=1280&u_cd=32&u_nplug=0&u_nmime=0&dff=%E5%AE%8B%E4%BD%93&dfs=14&adx=213&ady=868&biw=1259&bih=637&oid=3&ref=http%3A%2F%2Fwww.21ic.com%2Fapp%2Ftest%2F201104%2F80723.htm&fu=0&ifi=1&dtd=109" frameborder="0" width="300" scrolling="no" height="250" allowtransparency="allowtransparency"></iframe><script src="http://pagead2.googlesyndication.com/pagead/js/r20110330/r20110406/show_ads_impl.js" type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js" type="text/javascript"></script><script type="text/javascript">google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script><iframe id="google_ads_frame2" name="google_ads_frame2" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads
format=0x0&output=html&lmt=1321935846&ea=0&flash=11.2.202.233&url=http%3A%2F%2Fwww.21ic.com%2Fapp%2Ftest%2F201104%2F80723_2.htm&dt=1336145033968&shv=r20110330&jsv=r20110914&prev_slotnames=6759329637&correlator=1336145033500&frm=20&adk=2863961955&ga_vid=2142795950.1323604578&ga_sid=1336141465&ga_hid=1114972053&ga_fc=1&u_tz=480&u_his=1&u_java=1&u_h=800&u_w=1280&u_ah=770&u_aw=1280&u_cd=32&u_nplug=0&u_nmime=0&dff=%E5%AE%8B%E4%BD%93&dfs=14&adx=349&ady=868&biw=1259&bih=637&oid=3&ref=http%3A%2F%2Fwww.21ic.com%2Fapp%2Ftest%2F201104%2F80723.htm&fu=0&ifi=2&dtd=16" frameborder="0" scrolling="no" allowtransparency="allowtransparency"></iframe><script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js" type="text/javascript"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js" type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js" type="text/javascript"></script><script type="text/javascript">google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script><script type="text/javascript">google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script><iframe id="google_ads_frame1" name="google_ads_frame" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads
client=ca-pub-7913339004558941&output=html&h=250&slotname=6759329637&w=300&lmt=1302232907&flash=10.2.153.1&url=http%3A%2F%2Fwww.elecfans.com%2Flab%2Fceshiceliang%2F20110402192872_2.html&dt=1302441424343&shv=r20110330&jsv=r20110406&saldr=1&correlator=1302441424359&frm=0&adk=698887027&ga_vid=1320872155.1302441424&ga_sid=1302441424&ga_hid=1900816917&ga_fc=0&u_tz=480&u_his=1&u_java=1&u_h=800&u_w=1280&u_ah=770&u_aw=1280&u_cd=32&u_nplug=0&u_nmime=0&biw=1259&bih=654&ref=http%3A%2F%2Fwww.elecfans.com%2Flab%2Fceshiceliang%2F20110402192872.html&fu=0&ifi=1&dtd=47&xpc=gD7Om9jUbs&p=http%3A//www.elecfans.com" frameborder="0" width="300" scrolling="no" height="250" allowtransparency="allowtransparency" style="left: 0px; position: absolute; top: 0px"></iframe>
3.2 数据的采集及存储
为了避免数据阻塞,减少运行过程中数据采集与用户界面的影响,本录波仪的软件部分采用多线程技术。LabWindows提供有线程池(th-readpool)和异步定时器(asynchronous timers)两种多线程机制。本文采用线程池及机制编写。但采用多线程有可能造成数据不必要的改动甚至出错,因此,LabWindows提供了线程安全队列进行数据保护。它可将采集到的数据写入安全队列,分析数据时再从安全队列中取出。数据存储采用二进制形式,数据采集及存储的部分程序如下:
3.3 数据分析 数据分析主要是分析信号的有效
值、功率、谐波分量、相位角等信息。谐波分量、相位角分析采用FFT算法,可通过极坐标的变换得到;功率谱分析也可利用FFT算法及相应算法得到。FFT可以实现时域向频域的转化,其函数原型为: