0 引言
隨著集成電路、高速A/D采樣、DSP和計算機技術的飛速發展,各種用于電力系統記錄分析的 波形測試儀器也得到很快發展。
這類波形測試儀器采用儀器+計算機的硬件結構模式,便于攜帶,既適合室內試驗,又適合 室外調試分析、查找問題,所以應用范圍越來越廣泛。而與這些儀器配套的軟件分析系統, 對于儀器的推廣和應用是起相當重要作用的。
OOP(面向對象程序設計)技術,是繼結構化程序設計之后新的程序設計方法,是程序設計方 法上的一次質的飛躍。它以對象為核心,對數據和方法進行封裝和抽象,具有繼承性、多態 性和重用性,便于系統維護和功能擴展,能大大提高軟件開發效率,縮短軟件開發周期。
利用OOP技術開發波形分析系統,不僅能重用DOS平臺下的代碼資源,而且使系統升級換代及 適 應多平臺運行成為可能。下面以開發DF1024便攜式波形記錄儀后臺分析系統為例,具體分析 OOP技術在波形分析系統中的應用。
為使波形分析系統能適應Windows(3.x~98)系列的視窗平臺,選用Visual C+ + 作開發平臺 。微軟公司的Visual C+ +不僅實現了面向對象程序設計,而且能有效利用它的程 序代碼,具 有強大的可視化工作平臺,豐富的編程工具以及語言本身的連續性、可靠性的特點。它基于 基本類庫(MFC)建立應用程序的思想,為編程者構筑了4類應用程序的輪廓:應用類、主框架 類、文檔類、視圖類。通過這4類應用程序的協調配合來完成軟件的各項功能 。
[b]1 波形分析系統的構成及功能
[/b] DF1024波形分析系統構成如圖1所示,它大致由通信模塊、實時監視模塊、人機對話模塊, 文件處理模塊、數據離線顯示及打印模塊、分析功能模塊等6個主模塊組成。系統建立若干 類來完成這6個模塊的功能。各模塊之間緊密聯系,通過建立相應類的對象,完成數據的顯 示、交換和調用。
[img=241,228]http://zszl.cepee.com/cepee_kjlw_pic/files/wx/zgdl/zgdl99/zgdl9909/image/t45-1.gif[/img]
圖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獲得的錄波信息,有選擇地為模擬對象和開關對象指針 開辟需要的內存空間,一旦實現錄波操作,那么就給這些對象賦予有意義的值。
[img=115,291]http://zszl.cepee.com/cepee_kjlw_pic/files/wx/zgdl/zgdl99/zgdl9909/image/t45-2.gif[/img]
圖2 文檔類構成
文檔類成員函數較多,包括各種文件操作函數,通信對象調用函數,顯示操作函數,數據分 析函數,通道賦值函數,開辟內存空間函數等。
1.3 數據多方式顯示與打印
數據的顯示是整個波形分析系統的重點。系統以MFC多文檔多視窗建立,但以單文檔的風格 顯示,不僅保證圖形曲線顯示簡潔,而且保證它們在窗口內最大區域顯示。
由錄波獲得的數據,存在文檔相應的成員變量中,顯示畫圖如圖3所示。圖中除了Windows本 身的框架元素、主菜單、工具欄外,其余由5部分構成:名稱區、波形區、曲線信息、開關 跳變信息和狀態條,其功能如下:
[img=475,306]http://zszl.cepee.com/cepee_kjlw_pic/files/wx/zgdl/zgdl99/zgdl9909/image/t46-1.gif[/img]
圖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)波形截取功能,減小數據存儲容量。
[b]2 結束語
[/b] 由于波形分析系統采用了OOP技術,不僅有效地利用了DOS的代碼資源,縮短了開發周期,而 且建立的通信類,數據類都具有良好的可重用性,便于新模塊的開發和程序的升級。通過近 3 a的應用表明,除了DF1024本身硬件性能優異外,軟件系統操作簡便,功能強大,人機交 互 友善,能很好地適應電力系統各種應用現場,如繼電保護、斷路器、發電機組、TV特性、TA 特性等的測試,動模試驗,輸變電工程的調試,電力系統及設備的異常運行狀況的監測等。