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