基于虛擬儀表的理念和方法,參照Fluke示波表波形操作顯示的方法完成了軟件人機交互界面的設計。所設計的軟件符合用戶技術規范書的要求,并投入工程應用。
1.引言
隔離開關智能I/O裝置是智能變電站的一種一次設備的智能組件,主要用于隔離開關工作狀態的監控,并接收間隔層設備下達的命令控制隔離開關分合,監控操作機構儲能電機的工作狀態,一旦電機運行出現異常,立即切斷電機操作電源,防止電機損壞,并記錄電機異常時電機工作電壓、電流等工作參數的波形數據。電機故障后,還要利用裝置記錄的電機啟動波形和故障波形數據定量分析故障原因,用于改進電機設計或為電機選型提供依據。
根據與協作企業簽訂的技術規范書[1],課題組在完成裝置本體設計的同時,還要完成儲能電機故障波形分析軟件設計,用于裝置記錄波形的后臺分析顯示。
根據教育部推行的大學生創新創業訓練計劃,本創新訓練團隊選取上述項目中波形分析軟件設計作為研究課題,完成軟件需求分析、概要設計、編碼調試、應用推廣等方面的創新過程訓練,并設計與實現了該軟件項目的。
2.需求分析
根據本創新訓練項目申報表提出的實施方案,本項目主要完成一種操作機構儲能電機啟動和故障波形分析軟件的設計與實現,其啟動和故障波形由智能I/O裝置實時運行過程中記錄,并保存在裝置的非易失性存儲器中。為了實現對故障波形的分析顯示,首先需要實現智能I/O裝置的通信協議包,獲取其采集和記錄的波形數據;根據裝置記錄的波形信息的特點,需要設計相應的信息對象模型,對采集的數據信息進行管理、存儲和訪問操作;按照技術規范書的要求,選取傅里葉變換算法計算基波分量的有效值,并選用均方根算法計算交流信號的有效值;設計友好的人機交互界面,實現對所獲取波形的顯示、平移、放大/縮小等操作,為電機專業工程師分析故障原因提供直觀的分析工具。
3.概要設計
根據上述分析,本軟件主要由人機交互界面、底層串行通信線程、Modbus協議軟件包和數據對象訪問操作等四部分組成,各部分的信息交互關系如圖1所示。
圖1中各組成模塊主要的訪問操作和數據流向關系如下:操作人員通過用戶界面發出通信請求后,相應的界面操作函數立即向通信線程發送指定的請求消息;通信線程收到消息后,調用Modbus協議包中的相應函數組織請求報文,并調用串口通信對象中的發送函數將請求命令發送給智能I/O裝置;之后等待接收裝置的響應報文,并調用解幀函數提取裝置上報的信息,并將提取的數據保存到相應的數據對象之中。
4.軟件設計
4.1 數據處理方法
根據用戶需求,在界面上顯示馬達工作的電壓、電流的有效值,電壓電流的直流分量和基波分量的有效值。智能I/O裝置進行交流信號采樣時,每周波采樣24個點的數據。這里選用每周波24點采樣的離散均方根算法和傅里葉變換算法[2]進行交流采樣數據的處理,離散均方根算法的計算方法如式(1)、(2)所示:
式中N=24為一周波內采樣的點數,k表示第k次采樣。
傅里葉變換算法計算電壓電流有效值的算法思想如下:假設交流電氣信號的離散表示如式(3)所示:
將一周采樣的2 4個采樣點代入公式(4)和(5),計算得出Xs和Xc,再由Xs和Xc計算基波的有效值。
4.2 數據對象管理
本軟件需要管理的波形信息對象包括3個電機啟動波形和8個故障波形。每個電機啟動波形由750個周波的交流采樣信號組成,每個故障波形由故障前30個周波和故障后20個周波,共計50個周波的交流采樣信號組成。此外,本軟件還需要管理電機運行參數對象。軟件實現時,采用C++面向對象的信息模型對所獲取的信息進行管理和訪問操作,設計了三個類CProcessWaveData、CFaultWaveData和CConfigData分別對上述三種信息對象進行封裝管理。為了方便起見,3.1節選用的數據處理方法封裝在前兩個類中,用于波形信息的分析處理。每個類設計了專門的屬性訪問方法,用于通信協議包和人機交互界面模塊訪問信息對象中的數據。
4.3 Modbus通信協議包
智能I/O裝置采用Modbus協議[3,4]與便攜式主機通信,將錄波信息上傳給主機。
由于錄波信息量大,Modbus協議的基本命令不支持此類詳細的傳送,為此智能I/O裝置擴展了3條命令用于發送錄波信息。
其中2條命令分別用于傳送啟動波形和故障波形的概貌信息,1條命令用于傳送交流采樣信號的波形信息。
由于Modbus協議報文通信的流程有比較嚴格的時序要求,為了實現正常的報文通信,本文設計了一個專門的子線程用于實現底層Modbus報文交互。
Modbus協議包主要實現報文發送/接收、組幀/解幀、通信出錯檢測等功能,其中組幀/解幀部分要與數據對象管理和人機交互兩個模塊進行信息交互,通過接口函數獲取這兩個模塊的信息參數用于組幀,將解幀獲得的數據信息保存到數據對象之中。本文設計的Modbus協議包以主方式工作,即由本軟件主動向智能I/O裝置發送命令并控制報文通信的過程。為此,軟件設計一個OnRunTime運行時函數來實現報文接收,報文發送和報文通信超時的判斷。這個運行時函數相當于Modbus協議的主循環函數,定時查詢用戶下達的通信任務,同時檢測異步串口收發報文的情況,完成報文收發和通信流程的控制。
OnRunTime函數工作流程如圖2所示。
軟件實現時,設計了CSerial和CModbus兩個類分別實現串口訪問和Modbus通信協議包。由于采用了多線程軟件設計方法,在線程間消息傳遞和信息交互時采用了臨界區、信號量等機制實現同步和互斥操作,防止訪問沖突。
4.4 人機交互界面
應用軟件采用V C + +集成開發環境設計,并選用MFC基于對話框的應用程序框架完成軟件的編碼實現。人機交互界面設計時,基于虛擬儀表的設計思路,模仿電機工程師熟悉的Fluke數字式示波表界面,進行波形顯示操作。
軟件操作界面設計的核心是曲線的繪制,曲線選擇、放大/縮小、平移操作和信號分析。曲線繪制是在對話框中開辟專門的曲線顯示區域,使用VC應用程序框架中WM_PAINT消息處理函數OnPaint來繪制曲線;對于智能I/O裝置中保存的最近3條儲能電機啟動曲線和8條故障錄波曲線,采用List控件列表對其管理和輸出顯示,用戶在List控件中選擇相應的波形進行顯示;界面設計時,模仿Fluke示波表設置一組改變時間間隔和量程按鈕,對曲線進行橫向和縱向放大/縮小操作,設置左移和右移按鈕對曲線進行平移操作。除波形分析顯示之外,軟件實現了串口配置、儲能電機運行現場參數等輔助功能。軟件人機交互主界面如圖3所示。
5.驗證測試
軟件開發階段工作完成之后,對所實現的軟件功能進行了驗證測試。測試的項目主要包括如下兩個方面。
5.1 與智能I/O裝置通信功能
通信功能檢測方法為:采用軟件設計的報文監視對話框監視報文通信流程和報文的內容,觀測顯示的報文信息與預設的通信流程是否一致,對比智能I/O裝置與本軟件顯示的內容,檢查兩邊顯示的內容是否完全一致。測試過程如下:將后臺主機與智能I/O裝置通信線連接好,配置好通信參數,啟動數據召喚,軟件自動與裝置建立通信連接,并自動召喚裝置記錄的波形數據。報文信息窗口顯示的報文內容如圖4所示,通過分析從報文信息窗口捕獲的報文幀信息分析軟件通信的流程,報文信息的內容,可以判斷報文通信過程流暢無中斷現象,報文內容正確。兩側設備顯示的數據信息內容相同,說明軟件與裝置的通信功能正確,數據處理結果正確。
5.2 圖形的繪制與操作
通過鼠標點擊圖5右側中間啟動和故障概貌信息列表框中的事件,選擇當前分析顯示的錄波曲線;每個錄波曲線記錄有三相電壓、三相電流和操縱桿角度7條曲線,通過設定曲線顯示選項按鈕,可以選擇當前顯示的曲線及曲線的顏色等參數,圖5選擇顯示了第二條啟動波形中Ua和Ia兩條曲線。通過減小/增大量程操作可以對曲線縱向放大/縮小,通過減小/增大間隔操作可以對曲線橫向縮小/放大操作,通過曲線左/右移操作可以平移曲線。每次進行曲線操作之后,都核查所繪制曲線與數據源的一致性,表明圖形繪制與操作都符合要求。
6.結論
針對智能變電站隔離開關智能I/O裝置項目故障錄波信息后臺分析的需求,本文對軟件需求進行了分析,并提出了概要設計方案,著重闡述了軟件的具體設計思想和方法,最后對所設計軟件的通信功能和圖形繪制操作進行驗證測試。測試結果表明,所設計的儲能電機故障波形分析軟件的符合規范要求。項目設計完成之后,交付用戶在工程現場應用。
-
人機交互
+關注
關注
12文章
1200瀏覽量
55320 -
監控
+關注
關注
6文章
2172瀏覽量
55094 -
隔離開關
+關注
關注
0文章
197瀏覽量
13836
發布評論請先 登錄
相關推薦
評論