电压闪变分析软件设计与实现

2011-07-26 11:03董衍旭李竞攀尚秋峰
自动化仪表 2011年11期
关键词:工具箱虚拟仪器调用

董衍旭 周 军 李竞攀 尚秋峰

(华北电力大学电气与电子工程学院1,河北 保定 071003;四川省电力公司自贡电业局2,四川 自贡 643000)

0 引言

近年来,随着电力系统中冲击性负荷的增加,电能质量扰动信号的检测成为国内外研究的热点,其中尤以电网谐波失真、电压波动和闪变备受人们的关注。闪变已成为电能质量扰动的一种重要类型[1]。电压闪变会影响和危害敏感的电力电子和控制设备,从而影响电网的运行及人们的正常工作,所以对其进行准确测量和有效抑制已势在必行。

由于虚拟仪器本身并不提供相关算法分析工具,传统的基于虚拟仪器的闪变测量仪需用C语言进行算法的编程,编程复杂度高、工作量大。本文设计的电压闪变分析软件不需安装庞大的Matlab软件,仅将Matlab小波算法部分编译成动态链接库,便可以供LabWindows调用,既避免了复杂的算法编程,又节省了硬件资源。本设计使虚拟仪器和复杂的分析算法可以在资源有限的硬件平台上实现(如PC104+),因此,拓展了虚拟仪器的工业应用范围。

1 电压闪变的基本概念

由电压波动造成灯光照度不稳定(灯光闪烁)的人眼视感反应称为闪变,换而言之,闪变反映了灯光闪烁对人视感产生的影响。电压闪变是电压波动引起的有害结果,它不属于电磁现象。

人们对闪变的感受与电压波动的幅值、频率有关。闪变程度是对观察者进行视感调查、统计的结果。下面分别对电压闪变的三个主要特征参量进行介绍。

1.1 瞬时闪变视感度

为了反映人们的瞬时闪变视觉水平,用闪变强弱的瞬时值随时间的变化来描述,即瞬时闪变视感度S(t)。它是电压波动的频度、波形、大小等综合作用的结果。通常规定闪变觉察率F=50%作为瞬时闪变视感度的衡量单位,对应的即为S(t)=1觉察单位。若S(t)>1觉察单位,表明实验观察者中有半数以上的人对灯光闪烁有明显视觉反应,则规定为闪变不允许值。

1.2 视感度频率特性系数

视觉反应与照度波动的频率有关。闪变的最大觉察频率范围为 0.05 ~35 Hz,其中,8.8 Hz是闪变的最大敏感频率。

1.3 短时闪变值

电弧炉等随机变化负荷的电压波动,不仅要测量它的最大电压波动,还要在足够长的时间(至少取10 min)内观察电压波动的统计特征。在电弧炉等负荷的电压波动10 min的累计概率函数(cumulative probability function,CPF)曲线中,常用五个规定值或称百分值计算短时间闪变的统计值Pst,UIE专家组拟定Pst的表达式为:

式中:P0.1、P1、P3、P10、P50分别为10 min 内瞬时闪变视感度超过0.1%、1%、3%、10%、50%的觉察单位时间值[2]。

2 小波分析方法

2.1 小波分析

小波分析是一种时频分析法[3],具有多分辨率的特点,在时频两域都具有表征信号局部特征的能力。本文采用具有多分辨率分析特性的小波变换作为处理电压闪变包络信号的方法。小波变换可分为连续小波变换和离散小波变换两种。由于连续小波变换存在信息冗余,使得小波逆变换的重构过程不唯一;而离散小波变换的信息冗余度小且算法速度快,同样可以重构原始信号。本文采用离散小波变换。

2.2 多分辨分析

1987年,法国科学家Stephan Mallat将计算机视觉领域内的多分辨率分析引入小波分析中,从空间的角度形象地说明了小波的多分辨率特征,并推导出相应的快速算法(即Mallat算法)。在Mallat算法中,将不再出现尺度函数和小波函数,而是采用数字滤波器完成函数相对应的功能。

信号通过理想低通和高通滤波器后可以分解为高频和低频两部分,高低频两路信号分别对应着原始信号的概貌逼近与细节部分,小波多分辨分析是对信号低频部分作进一步分解,而对高频部分则不作处理。依次对分解后的低频部分进行再次分解,而且每一级的输出采样率都可以减半,这就需要将原始信号进行多分辨率分解[4]。小波多分辨率分解如图1所示。

图1 小波多分辨率分解Fig.1 Wavelet multi-resolution decomposition

3 软件设计与实现

虚拟仪器内部提供了较为丰富的内置函数和面板工具,为开发人员提供了理想的开发环境。然而要实现测控领域的一些先进理论和算法,如模糊理论、遗传算法、神经网络等,则需要官方提供额外的工具箱。Matlab拥有丰富的内置函数、各种工具箱(包括鲁棒控制工具箱、信号处理工具箱、神经网络工具箱、图像处理工具箱、小波工具箱等)、强大的科学计算能力以及灵活的接口技术,能与外部程序实现“无缝”结合。LabWindows/CVI与Matlab的有机结合,可以弥补各自的不足,并能设计出功能强大的虚拟仪器软件。

3.1 数据通信

动态链接库(dynamic link library,DLL)是一个包含由多个程序同时使用的代码和数据的库。本文利用动态链接库的方法实现数据通信。先将m文件编译成动态链接库(DLL),再通过C语言便可以简单地调用Matlab函数编译成的动态链接库文件,具有数据通信稳定、可扩展等优点。

3.2 混合编程实现步骤

在编写m函数文件的过程中,由于Matlab编译器不支持m脚本文件,因此需将其转换为函数文件。

在Matlab命令行窗口中输入命令:mbuild-setup,根据提示选择需要的编译器选项,本文选择VC++的选项编译m文件。编译C语言动态链接库命令为mcc-B csharedlib:[lib文件名][m文件名]。

将编译之后的文件加载到LabWindows/CVI项目工程中,除DLL文件外,还有LIB、h头文件。如果采用动态方式加载,只需在工程中包含DLL文件即可。

要使其编译之后的动态链接库文件能发布到没有安装Matlab的计算机上使用,需要在目标机上安装Matlab Compiler Runtime,利用 Matlab命令 buildmcr来创建可以发布给最终用户的MCR安装文件。在目标机上,首先将MCRInstaller.zip解压,并把MCR中可执行文件所在目录加到系统路径上,然后就可以调用编译后的程序了。

通过动态链接库调用方式实现的LabWindows/CVI与Matlab混合编程,不需安装Matlab庞大的运行环境,既实现了算法的调用,又节省了硬件资源。

3.3 数据库的选取

嵌入式数据库一般指与嵌入式系统及具体的应用程序紧密集成在一起[5],无需独立运行数据库服务引擎,由程序直接调用相应的接口函数(API),实现对数据的存取操作。目前,嵌入式数据库市场主要由三个产品分割:SQLite3、Birkeley DB、Firebird嵌入服务器版。考虑到性能、内存消耗、SQL支持以及文件体积等特性,本设计采用SQLite3作为数据存储。SQLite3是一个开源、轻量级、跨平台的关系型数据库[6],它广泛应用于嵌入式设备、应用软件、并发量少的中小型网络等领域,虽然其最大存储容量仅为2 TB,但已满足本设计的需求。

3.4 系统面板设计

系统前面板由虚拟仪器(LabWindows/CVI)软件的各控件组成,通过调用不同控件的回调函数,可以实现不同的功能,如截屏、打印等。相对于传统仪器,其具有界面设计美观、操作人性化、便于二次开发等特点。

在系统前面板中点击“确认”按钮,系统便会根据“参数设置单元”输入的参数,如闪变频率、闪变幅度、采样频率、是否加噪等生成电压闪变仿真信号,并在系统面板右边“GRAPH”图形控件分别显示调幅波(闪变包络信号)波形、电压波动与闪变波形。在“闪变分析”单元,选择小波基、小波包以及滤波器长度后,点击“执行”按钮,便会执行其回调函数。回调函数实现了LabWindows/CVI与Matlab动态链接库的混合编程。依次将各参数传入函数中,最后通过后台数据运算将函数返回值显示在前面板的数值控件中。本系统主要具备用户登录、用户资料修改、数据显示、打印面板、记录存取及删除、远程传输、关闭计算机等功能模块。系统功能框图如图2所示。

图2 系统功能框图Fig.2 Functional block diagram of the system

3.5 系统主要功能介绍

3.5.1 用户登录

系统运行时,首先启动用户登录模块。只有在输入正确的用户名与密码后才可使用系统。每次登录时,系统都会记录用户登录的时间与次数。

3.5.2 用户资料修改

为保障用户的帐号安全,需要经常修改用户资料。登录系统后,通过下拉菜单(管理员操作→修改资料)或工具栏按钮可以调出用户资料修改界面,输入修改后的用户名和密码,点击“提交”按钮便可修改。

3.5.3 其他功能

点击下拉菜单或工具栏按钮便可以调出数据显示界面,其显示参数包含:闪变频率、闪变幅值、测量S(t)值、理想S(t)值、测量瞬时视感度Pst与理想瞬时视感度、记录时间。通过调用不同系统函数,可以实现软件的打印、截图、数据保存与删除以及关闭电源等功能。另外,本系统可以采用UDP协议进行文件远程传输与接收,默认设置端口号为8888,在联机的状态下只需要输入对方的IP地址,就可以远程连接并传输文件。

3.6 试验结果分析

为验证闪变测量模块的测量精度,根据电压闪变模型对电网信号进行建模,确定仿真信号,闪变幅度、频率,采样点数、采样频率等参数。这些参数均可在系统面板中“参数设置”确定,并根据“闪变分析”单元选择合适的小波基、小波包及其滤波器长度对信号进行分析。此处统一设定采样频率为3200 Hz,采样点数为3200点,将测试结果与 IEC给定的在视感度S(t)=1觉察单位的电压波动值下的Pst标准值进行对比,Pst试验结果分析如表1所示。从测试结果可以看出,短时闪变值的误差范围小于5%,满足IEC关于闪变测量模块的精度要求。

表1 Pst试验结果分析Tab.1 Analysis of the experimental results of Pst

4 结束语

本系统采用动态链接库(DLL)调用方法,实现了LabWindows/CVI与Matlat的混合编程,具有数据通信稳定和扩展性强的优点。此外,系统还可以直接调用Matlab的小波工具箱函数,弥补了虚拟仪器在一些高级数据分析算法上的不足,提高了虚拟仪器软件的开发效率。采用数据库SQLite3存储数据记录,既减少了内存开销,又降低了经济开支。本文设计的电压闪变分析平台采用小波多分辨率分析提取电压闪变包络信号,试验结果表明,小波变换具有良好的时频局部化能力,满足IEC闪变标准。

[1]李天云,赵妍,韩永强,等.Hilbert-Huang变换方法在谐波和电压闪变检测中的应用[J].电网技术,2005,29(2):73 -77.

[2]刘大贵,王维庆,王海云.基于IEC闪变仪测试系统的仿真研究[J].自动化仪表,2011(4):59 -61,65.

[3]刘会金,吴玉蓉,熊玲玲.基于Daubechies小波的多分辨分解在电压闪变信号分析中的应用[J].继电器,2004,32(13):6 -10.

[4]谢小磊.电压波动与闪变的小波分析[D].南京:河海大学,2006.

[5]Michael A.Selecting and implementing an embedded database sys-tem[J].Computer,2000,33(9):27 - 34.

[6]尧有平,薜小波.基于ARM-Linux的SQLite嵌入式数据库的研究[J].微计算机信息,2008,24(5):63 -66.

[7]IEC 6100-4-15 Testing and measure ment techniques:flicker meter functional and design specifications[S].1997.

[8]刘伟,申焱华,黄夏旭.基于虚拟仪器的热电偶温度测试与分析系统[J].自动化仪表,2007,28(3):65 -69.

[9]柳明洙,刘永强,刘博,等.一种基于虚拟仪器建立的电压闪变监测方法[J].中国测试,2009,35(3):118 -120.

[10]李启斌,陈建业.基于虚拟仪器的电压闪变测量模块设计[J].大功率变流技术,2008(6):55-58.

猜你喜欢
工具箱虚拟仪器调用
核电项目物项调用管理的应用研究
会“叫”的工具箱和工具
系统虚拟化环境下客户机系统调用信息捕获与分析①
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
基于MATLAB优化工具箱优化西洋参总皂苷提取工艺
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计
机械加工机床工具箱的优化设计
虚拟仪器技术在农业装备测控中的应用
利用RFC技术实现SAP系统接口通信