图2 VISA内部机制
图3 虚拟仪器的软件体系结构
仪器驱动程序模块是连接上层应用软件与底层I/O软件的桥梁,应用程序通过仪器驱动程序,控制仪器的读写。
该系统使用GPIB总线,通过软件仪器驱动程序对GPIB总线的控制进行示波器采集。测试系统如图4所示。其中,GPIB接口卡实现GPIB总线和PCI总线的连接。

图4 GPIB总线虚拟仪器测试系统
该模块程序设计需要安装示波器仪器驱动函数包tkds30xx.fp,在LabWindows/CVI环境下进行开发。其流程为:采集初始化,采集参数设置,分配内存,采集、读取数据,释放内存。采集初始化主要是设置示波器硬件参数。该系统软件中固定设置为Normal测量方式、CH1通道采集、交流耦合方式、1GHz频率上限、最小采样2
500点,用户可更改参数为采样时间、触发后响应时间、触发方式、触发延续时间、触发源、触发电平与触发耦合方式等。
2.2 数据分析技术
分别采用统计分析法和单次放电波形分析法对上述2种手段采集到的数据进行数据分析。
(1) 统计法分析。该模块对采集卡采集的放电数据进行统计分析。首先,由用户选择滤波器进行数字滤波,滤波种类包括FIR与最小均方(LMS)滤波;然后,根据统计算法,计算最大放电量、平均放电量、放电次数等放电统计参数;最后,根据计算结果利用统计分析法判断GIS运行状态。放电数据的统计算法分析流程如图5所示。
图5 统计法数据分析流程图
(2) 单次放电波形分析。对于示波器采集的单次放电波形,该软件模块通过时频分析、时域指纹图分析、频域指纹图分析和基于小波的分形分析方法对分维数进行计算。对于这些复杂算法的数据分析,采用具有强大的数学运算功能的MATLAB进行后台处理,最终将处理结果返回给主程序。通过在CVI中建立数据交换ActiveX服务控件,建立了CVI和MATLAB之间的接口,然后在CVI中调用MATLAB的功能函数,从而实现CVI与MATLAB混合编程。程序流程为:启动MATLAB,将MATLAB窗口最小化,读取数据,将数据发送给程序MATLAB和MATLAB进行计算并返回计算结果,关闭MATLAB。
2.3 数据库技术
基于开放数据库互联(ODBC)接口和CVI数据库驱动程序,该软件设计采用CVI与Oracle 816数据库的互联以及CVI对数据库的读写操作[3],从而实现局部放电波形和各种放电特征信息数据的存储和历史查询。
(1) ODBC它是一种被广泛应用的数据库接口标准。它定义了与数据库无关的编程模型,提供了一套统一的编程接口,可以访问任何具有ODBC驱动程序的数据库[4]。Oracle支持ODBC。对ODBC驱动器进行注册后,建立Oracle数据源,应用程序通过与数据源进行连接,实现对数据库的插入、更新、查询、删除记录等操作。
(2) 数据库操作。通过调用数据库函数库SQL,能够编写CVI对数据库的操作程序[5]。因此需要先将数据库函数库SQL文件添加到工程中,然后编写程序。
数据库操作程序步骤如下:连接到数据源,激活SQL检索语句,执行SQL操作语句,解除SQL检索语句,断开与数据源的连接。其中,在“执行SQL操作语句”这一步骤中,进行数据库读、写等操作。写操作(即插入数据)的操作步骤为:绑定参数,给参数赋值,写入数据库。绑定参数的数据类型相必须与数据库表中的相应列的数据类型相一致。
2.4 网络通信技术
该系统软件通过CVI中的DataSocket库实现了上、下位机软件的实时数据传输,包括实时放电波形和放电特征信息数据的传输。
DataSocket库为NI的DataSocket编程提供了支持。它使用DataSocket服务器为互联网上运行在不同计算机的应用程序间的数据交换提供支持。可以用DataSocket库从DataSocket传输协议服务器读取数据或把数据写入文件或DataSocket传输协议服务器。
下位机软件上传数据程序流程为:读取要上传的数据,将数据赋予一数据结构,将结构传给DataSocket服务器。对于接收数据程序流程,则与上传的顺序相反。
3 挂网运行
该GIS局部放电在线监测系统于2003年7月在甘肃省天水供电局玉泉变电站安装投运,软件至今运行稳定,通过监测保存了大量现场数据。现场检测的局部放电波形见图6。单次放电波形的高级分析图见图7。2003年7月到2004年3月的历史趋势查询见图8。
图6 局部放电波形

图7 单次放电波形分析图

图8 历史趋势查询
4 结论
本文根据实际需求,基于LabWindows/CVI、MATLAB、Oracle几种软件开发平台,详细介绍了GIS局部放电在线监测系统的软件开发。该软件具有数据采集、数据分析、数据库存储与读取以及故障预警等功能。数据采集实现了高频宽带信号的不失真采集,CVI与MATLAB联合编程实现了复杂数据分析,与Oracle连接实现了大数据量存储和数据管理,并通过Datasocket网络协议实现了上、下位机实时通信。该监测软件在现场长期自动运行,稳定性良好。
5 参考文献
[1] National Instruments Corporation. NI 5102 Specifications. 2003,
7.
[2] 张毅刚, 乔立岩. 虚拟仪器软件开发环境LabWindows/CVI6.0. 北京: 机械工业出版社, 2002.
[3] 徐波, 李行善. 数据库访问技术在虚拟仪器开发平台LabWindows/CVI上的应用研究. 电子测量与仪器学报, 2002,
16(3).
[4] Christopher Allen. Oracle PL/SQL 程序设计基础教程. 北京:机械工业出版社, 2001.
[5] National Instruments Corporation. LabWindows/CVI SQL tool kit
reference manual. National Instruments, 2002,1.