0 引言
随着集成电路、高速A/D采样、DSP和计算机技术的飞速发展,各种用于电力系统记录分析的 波形测试仪器也得到很快发展。
这类波形测试仪器采用仪器+计算机的硬件结构模式,便于携带,既适合室内试验,又适合 室外调试分析、查找问题,所以应用范围越来越广泛。而与这些仪器配套的软件分析系统, 对于仪器的推广和应用是起相当重要作用的。
OOP(面向对象程序设计)技术,是继结构化程序设计之后新的程序设计方法,是程序设计方 法上的一次质的飞跃。它以对象为核心,对数据和方法进行封装和抽象,具有继承性、多态 性和重用性,便于系统维护和功能扩展,能大大提高软件开发效率,缩短软件开发周期。
利用OOP技术开发波形分析系统,不仅能重用DOS平台下的代码资源,而且使系统升级换代及 适 应多平台运行成为可能。下面以开发DF1024便携式波形记录仪后台分析系统为例,具体分析 OOP技术在波形分析系统中的应用。
为使波形分析系统能适应Windows(3.x~98)系列的视窗平台,选用Visual C+ + 作开发平台 。微软公司的Visual C+ +不仅实现了面向对象程序设计,而且能有效利用它的程 序代码,具 有强大的可视化工作平台,丰富的编程工具以及语言本身的连续性、可靠性的特点。它基于 基本类库(MFC)建立应用程序的思想,为编程者构筑了4类应用程序的轮廓:应用类、主框架 类、文档类、视图类。通过这4类应用程序的协调配合来完成软件的各项功能 。
1 波形分析系统的构成及功能
DF1024波形分析系统构成如图1所示,它大致由通信模块、实时监视模块、人机对话模块, 文件处理模块、数据离线显示及打印模块、分析功能模块等6个主模块组成。系统建立若干 类来完成这6个模块的功能。各模块之间紧密联系,通过建立相应类的对象,完成数据的显 示、交换和调用。
图1 波形分析系统结构
1.1 前后台通信
前后台通信是获取波形数据的唯一途径,通信质量的好坏,速度高低,直接影响整个系统的 性能。
通信有许多方式,除能利用网络、USB、红外设备外,在控制和测量领域,大多采用串口和 并口2种方式。串口通信所需要的连线少,较并口易于编程和控制,但数据传输速度较慢, 不便于大量数据块传输。
对于串口/并口的通信编程,基本上有3种实现模式:
(1)利用通信控件实现。这种方式在许多可视化编程开发平台中使用,如VB、VFP Delphi等 ;
(2)利用通信驱动程序和一组Windows API函数实现。这在许多Windows应用程序中采用, 是通信编程的常用方法。但要求编程者熟悉Windows消息驱动机制、通信API函数及数据传送 的过程,编程复杂,且不便于利用DOS环境下的通信代码;
(3)直接对端口进行读写。这种方式虽然有悖于“Windows操作系统禁止应用程序直接同硬件 打交道”的原则,但其编程简洁,能最大限度利用DOS环境中的通信代码,所以也不失为一 种缩短开发周期有效利用程序资源的方法。
DF1024是高速采样系统(最高50 kHz采样率),具有2M数据缓存区,每次数据传送量大,所以 系统采用了并口通信模式。在编程上,为充分利用已有的DOS通信函数,采用直接对端口读 写的方法。
原DF1024的DOS通信函数包括多项功能:并口初始化(Resetdf( ) 、Inspectdf( )),采样判断(Trgsample( )),发送数据(InputData( )),接收数据(OutputData( ))。它 们统统由main( )函 数调用管理。为实现其对象化,建立从CObject派生类CCom,将DOS下这些函数作为CCom类的 方法成员函数,并建立一个通信控制调度方法成员函数(CCom::Commuctrl( )),由它实现整 个通信的管理。通过这种改造,使得整个通信操作全部封装在一个类中,在应用时,只要CC om建立一个对象,就能轻而易举地实现与DF1024仪器的通信,如初始化、录波、实时监视等 。
1.2 数据文件的处理
从DF1024和人机对话获得的采样数据和设置数据,系统通过文档类(CDfwDocument)来记录、 管理、存储它们。文档类记录的内容,可根据需要实现按指定文件格式输出文件数据,如为 便于波形记录文件的共享和交流,系统能以国际通用录波数据Comtrade格式输出数据文件。
因为DF1024录波数据由模拟信号(电压、电流)和开关信号数据组成,所以系统建立2个类: 模拟数据类(CDfwAnalog)和开关数据类(CDfwDigital)来管理模拟信号和开关信号,2者均 为CObject的派生类,能实行数据的序列化,便于存取操作。2个类中除了包括信号的名称 、量程、位置、单位、显示属性、信号属性外,另有一整数巨指针指向波形数据。另外,在 文档类中,系统还建立了计算数据类(CVirtual),由该类记录通道分析运算后的结果。
文档类结构如图2所示。成员变量由设置信息、通信对象、中间数据指针、计算通道指针以 及模拟数据类和开关数据类的对象指针构成。由人机交互获得的信息存入设置成员变量,系 统依据设置信息和通信对象从DF1024获得的录波信息,有选择地为模拟对象和开关对象指针 开辟需要的内存空间,一旦实现录波操作,那么就给这些对象赋予有意义的值。
图2 文档类构成
文档类成员函数较多,包括各种文件操作函数,通信对象调用函数,显示操作函数,数据分 析函数,通道赋值函数,开辟内存空间函数等。
1.3 数据多方式显示与打印
数据的显示是整个波形分析系统的重点。系统以MFC多文档多视窗建立,但以单文档的风格 显示,不仅保证图形曲线显示简洁,而且保证它们在窗口内最大区域显示。
由录波获得的数据,存在文档相应的成员变量中,显示画图如图3所示。图中除了Windows本 身的框架元素、主菜单、工具栏外,其余由5部分构成:名称区、波形区、曲线信息、开关 跳变信息和状态条,其功能如下:
图3 波形分析主界面
(1)名称区,显示了通道名称、各波形曲线的中心线标志以及当前活动曲线标志。在名称区 内,可以任意修改通道名称、波形颜色,改变纵向缩放比例及纵向位置。
(2)波形区,对采样数据进行图形表示,是波形分析系统的主画面区域。通过该区域,用户 既能直接观察某一波形不同时刻的变化过程,又能比较同一时刻不同波形间的差异。
(3)曲线信息,对采样模拟数据进行数值表示,是波形分析系统的辅助画面区域。该区域由3 列数据表格构成,首列通道名称与名称区内通道名称一致,第2列计算数据包括通道的瞬时 值、有效值、平均值、相位角和频率。各通道数据值显示是独立的,曲线信息表中各行不仅 能同时显示某类数据如瞬时值,也能分别显示不同类计算数据,如某一通道显示瞬时值,另 一通道却显示有效值等。当在编辑曲线时,可以随时打开/关闭曲线信息。
(4)开关跳变信息,显示了距离相对时标原点,各开关量跳变属性(上/下)及跳变时间。
(5)状态条,主要显示3个时间:即触发时刻绝对时间、时标与触发时刻时间差、时标与相对 时标原点时间差。
针对波形数据特点,系统采用一种独特的多页面显示管理方式。系统内置8个显示页面,相 当办公用的8页稿纸,1条曲线可以同时放在8个页面中,1个页面也可以同时容纳多个波形 ,不同页面可以通过相互切换进行观察。这种波形管理方式,能够对所有通道曲线按主题内 容分页,进行归类分析。
由后台定时取点或手动取点获得的数据,系统采用电子表格和在窗口指定区域内绘制曲线2 种方式显示。显示数据并不直接存入文档类的数据成员,而是直接与文件实现I/O操作。
上述显示的各种曲线和数据表格,均可在Windows支持的任何打印机下以任意方式输出。在 打印输出前用户能预览波形,设置多种打印风格。
1.4 若干分析功能
分析功能是波形分析系统面向电力应用的核心,它至少具备2方面的功能:时序分析和量值 分析。
系统时序分析由触发绝对时间、相对时标原点和时标3个基本时间元素构成。缺省触发绝对 时间对应录波触发时刻计算机时间,任意拖动时标,状态栏上指示时标距离相对时标零点及 触发绝对时间2个时间差值。另外,系统利用开关跳变信息窗集中显示开关量跳变属性和跳变精确时间。
在进行量值分析时,采用频率跟踪技术,对FFT算法进行了适当改进。用户除了通过曲线信 息表观察某时刻波形的瞬时值、有效值、平均值、相位角、频率外,还能进行以下分析和计 算:
(1)单通道进行求谐波有效值、频率、取绝对值、取相反数、N次方、取平均值、取对数运算 ;
(2)两通道之间或者通道与常数之间进行加、减、乘、除,求百分比,求向量角度差;
(3)计算三相交流信号的正序、负序、零序分量;
(4)计算单相、两相、三相的基波/谐波有功、无功、视在功率和功率因数、有功、无功功率 比。
分析功能在文档类内完成,由分析成员函数演算各类指定计算公式,计算结果赋值给计算数 据指针后,在波形区、曲线表中显示。
1.5 快捷功能的实现
在名称区、波形区、录波设置、曲线信息等常用模块里,设置了智能右键快捷方式。实现这 些智能右键,采用了Windows典型的消息映射结构。首先用资源工具定义若干消息项,然后 在类定义头文件中声明该消息项的映射函数,其次在实现文件中,从鼠标右健函数中弹出智 能菜单,根据用户选择菜单项,编写相应响应函数。在响应函数里,从当前消息中检索出用 户选定的菜单项。
波形区内快捷菜单(见图3),集中了波形操作的简便方式:曲线全展、曲线全压缩、曲线定 比展开、故障点搜索等。对于单通道故障点搜索,系统备有门坎值越限、比率越限搜索方式 ;对于多通道故障点搜索,系统备有电流越限、负序零序电流越限、零序电流越限搜索 方式。
此外,为拓宽系统应用领域,系统还具有以下功能:(1)自动化录波管理功能,实现动态监 测记录系统和设备异常运行状态;(2)数字表功能,实时在线测量多通道电流电压值和开关 量状态;(3)矢量图功能,实时在线观察多通道矢量大小变化;(4)自动备份功能,防止录波 过程出现偶发事故导致数据丢失;(5)波形截取功能,减小数据存储容量。
2 结束语
由于波形分析系统采用了OOP技术,不仅有效地利用了DOS的代码资源,缩短了开发周期,而 且建立的通信类,数据类都具有良好的可重用性,便于新模块的开发和程序的升级。通过近 3 a的应用表明,除了DF1024本身硬件性能优异外,软件系统操作简便,功能强大,人机交 互 友善,能很好地适应电力系统各种应用现场,如继电保护、断路器、发电机组、TV特性、TA 特性等的测试,动模试验,输变电工程的调试,电力系统及设备的异常运行状况的监测等。