一種電力系統(tǒng)故障錄波回放方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電力系統(tǒng)故障回放技術(shù)領(lǐng)域,更具體地,涉及一種電力系統(tǒng)故障錄波回放方法。
【背景技術(shù)】
[0002]多年來,以微機為基礎(chǔ)的故障錄波裝置,能夠記錄電網(wǎng)故障發(fā)生前后電氣量和狀態(tài)變化過程信息,通過故障錄波回放裝置,能夠完整地反映故障后的瞬間變化及繼電保護的動作行為,已成為分析系統(tǒng)事故,特別是分析繼電保護動作行為的重要依據(jù)。
[0003]現(xiàn)有故障回放方法存在以下問題:
[0004](1)故障錄波裝置為了提高故障分析(如故障測距)的精度,采樣率會很高,數(shù)據(jù)量很大,導(dǎo)致回放繪圖面板上需繪制的點很多,每兩個點需繪制一段直線,波形重繪效率不聞;
[0005](2)波形的顯示過程中,需要在同一面板上顯示多通道(如三相電壓電流),便于分析比較,這樣又增加了面板繪制的點數(shù);
[0006](3)當通過繪制放大矩形框來查看波形局部或拖動光標來定位采樣點信息時,鼠標每移動一下,波形需重繪一次,導(dǎo)致整個放大過程波形需不斷的重繪,這樣繪制效率不聞。
【發(fā)明內(nèi)容】
[0007]針對上述問題,本發(fā)明提供了一種電力系統(tǒng)故障錄波回放方法,其目的在于解決面板上繪制點數(shù)多,需不斷重繪等問題,提高繪制效率。
[0008]為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0009]一種電力系統(tǒng)故障錄波回放方法,包括以下步驟:
[0010](1)檢測畫布Pictureboxl和Picturebox2的鼠標響應(yīng)事件,如果檢測到,則執(zhí)行步驟(8);如果未檢測到,則執(zhí)行步驟(2);
[0011](2)選擇通道名,并讀取通道名在數(shù)據(jù)文件中對應(yīng)位置的波形數(shù)據(jù);
[0012](3)采取雙緩沖繪圖技術(shù),在內(nèi)存中創(chuàng)建與畫布Pictureboxl—致的緩沖區(qū)Bitmap,接下來在該緩沖區(qū)中繪圖;
[0013](4)判斷X軸縮放比例系數(shù)fZoomX,如果系數(shù)大于Ι/nGid,表明此時為全局顯示狀態(tài),nGrid保持不變;如果系數(shù)小于等于Ι/nGid,表明此時為查看局部狀態(tài),將nGrid置為1,其中,nGrid為表示每幾個數(shù)據(jù)點取一個點進行繪制的參數(shù);
[0014](5)每nGrid個點取一個點,根據(jù)當前窗口時間節(jié)點在整個時間節(jié)點中的位置StartTimeLoc以及放大矩形框產(chǎn)生X軸偏移值nXChange及X軸縮放比例系數(shù)fZoomX,計算出繪圖起始點nStartPoint和終點nEndPoint ;
[0015](6)根據(jù)波形幅值在整個Y軸窗口的位置StartTimeLoc以及放大矩形框的縱向放大起始位置,得到Y(jié)軸縮放比例fZoomY、Y軸偏移值nYChange,結(jié)合步驟(5)中的繪圖起始點nStartPoint和終點nEndPoint,以及X軸縮放比例fZoomX、X軸偏移值nXChange在緩沖區(qū)Bitmap上繪圖,并調(diào)用Pictureboxl的繪制圖像函數(shù),將Bitmap上的圖像在畫布Pictureboxl中繪制出來;
[0016](7)此時繪圖完畢,畫布PictureBoxl進入到等待鼠標響應(yīng)階段;
[0017](8)檢測到Pictureboxl或Pictureobox2的鼠標單擊事件,判斷該鼠標單擊事件是否為繪制放大矩形框或者是否為光標定位,如果該鼠標單擊事件為其中之一,則當前活動畫布切換至Picturebox2,根據(jù)鼠標移動響應(yīng)事件,得到鼠標的物理坐標位置e.X和e.Y,計算放大矩形框的寬度和長度,然后調(diào)用畫布Picturebox2的刷新函數(shù),在畫布Picturebox2上不斷重繪,鼠標移動一個像素,Picturebox2就重繪一次;如果該鼠標單擊事件不為其中之一,則結(jié)束繪圖;
[0018](9)檢測Pictureboxl或Pictureobox2的鼠標松起事件,如果檢測到鼠標松開,則根據(jù)鼠標按下時記錄的坐標以及鼠標松開時記錄的坐標,計算fZoomX, nXChange, fZoomY, nYChange,并返回步驟(3),完成 Pictureboxl 重繪;如果未檢測到鼠標松開事件,則繼續(xù)檢測該事件。
[0019]本發(fā)明具有以下有益效果:減少了波形需繪制的點數(shù),避免了 Picturebox的不斷重繪,大大提高了繪圖效率。
【附圖說明】
[0020]圖1是本發(fā)明提出的電力系統(tǒng)故障錄波回放方法的流程圖。
【具體實施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進行進一步詳細說明。
[0022]總體而言,本發(fā)明采用以下措施來提高繪制效率:
[0023]采用雙Picturebox交互繪圖,其中畫布Pictureboxl用于繪制波形圖,Picturebox2用于繪制放大矩形框和定位光標。這樣可以避免在繪制放大矩形框或拖動光標時不斷重繪波形圖,提高流暢度。
[0024]采用雙緩沖技術(shù)繪圖,這樣在繪制多面板,多通道時,先將所有面板繪制在緩沖區(qū)里,然后一次性在Picturebox上繪制,這樣大大提高了繪圖效率。
[0025]顯示全局圖時,采取每幾個點取一個點,等效于減小了采樣率,仍能顯示出波形的變化規(guī)律;查看局部時,再按真實的采樣點數(shù)繪制,這樣使得畫布Picturebox上顯示的點數(shù)減少,繪圖時效率提高。
[0026]波形放大平移后,只繪制用戶可見時間區(qū)間內(nèi)的點,這樣越放大,Picturebox上繪制的點數(shù)越少,用戶體驗越流暢。
[0027]具體而言,在本實施例中,電力系統(tǒng)故障錄波回放方法,包括以下步驟:
[0028](1)檢測畫布Pictureboxl和Picturebox2的鼠標響應(yīng)事件,如果檢測到,則執(zhí)行步驟(8);如果未檢測到,則執(zhí)行步驟(2);
[0029](2)選擇通道名,并讀取通道名在數(shù)據(jù)文件中對應(yīng)位置的波形數(shù)據(jù);
[0030](3)采取雙緩沖繪圖技術(shù),在內(nèi)存中創(chuàng)建與畫布Pictureboxl—致的緩沖區(qū)Bitmap,接下來在該緩沖區(qū)中繪圖;
[0031](4)判斷X軸縮放比例系數(shù)fZoomX,如果系數(shù)大于Ι/nGid,表明此時為全局顯示狀態(tài),nGrid保持不變;如果系數(shù)小于等于Ι/nGid,表明此時為查看局部狀態(tài),將nGrid置為1,其中,nGrid為表示每幾個數(shù)據(jù)點取一個點進行繪制的參數(shù);
[0032]其中,fZoomX< 1表示放大。
[0033](5)每nGrid個點取一個點,根據(jù)當前窗口時間節(jié)點在整個時間節(jié)點中的位置StartTimeLoc以及放大矩形框橫向放大起始位置,得到X軸偏移值nXChange及X軸縮放比例系數(shù)fZoomX,計算出繪圖起始點nStartPoint和終點nEndPoint。這樣就只需繪制用戶可見區(qū)間,大大減少了需繪制的點數(shù);
[0034](6)根據(jù)波形幅值在整個Y軸窗口的位置StartTimeLoc以及放大矩形框的縱向放大起始位置,得到Y(jié)軸縮放比例fZoomY、Y軸偏移值nYChange,結(jié)合步驟(5)中的繪圖起始點nStartPoint和終點nEndPoint,以及X軸縮放比例fZoomX、X軸偏移值nXChange、在緩沖區(qū)Bitmap上繪圖,并調(diào)用Pictureboxl的繪制圖像函數(shù),將Bitmap上的圖像在畫布Pictureboxl中繪制出來;
[0035](7)此時繪圖完畢,畫布PictureBoxl進入到等待鼠標響應(yīng)階段;
[0036](8)檢測到Pictureboxl或Pictureobox2的鼠標單擊事件,判斷該鼠標單擊事件是否為繪制放大矩形框或者是否為光標定位,如果該鼠標單擊事件為其中之一,則當前活動畫布切換至Picturebox2,即畫布PictureBox2可見,Pictureboxl隱藏。根據(jù)鼠標移動響應(yīng)事件,得到鼠標的物理坐標位置e.X和e.Y,計算放大矩形框的寬度和長度,然后調(diào)用畫布Picturebox2的刷新函數(shù),在畫布Picturebox2上不斷重繪,鼠標移動一個像素,Picturebox2就重繪一次;如果該鼠標單擊事件不為其中之一,則結(jié)束繪圖。
[0037]其中,由于在畫布Picturebox2上繪制放大矩形框和光標,不用繪制點數(shù)很多的波形,因此大大提高繪圖效率。
[0038](9)檢測Pictureboxl或Pictureobox2的鼠標松起事件,如果檢測到鼠標松開,則根據(jù)鼠標按下時記錄的坐標以及鼠標松開時記錄的坐標,計算fZoomX, nXChange, fZoomY, nYChange,并返回步驟(3),完成 Pictureboxl 重繪;如果未檢測到鼠標松開事件,則繼續(xù)檢測該事件。
[0039]這樣波形在整個動態(tài)繪制放大矩形框或定位光標過程中值只需重繪一次。
[0040]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種電力系統(tǒng)故障錄波回放方法,包括以下步驟: (1)檢測畫布Pictureboxl和Picturebox2的鼠標響應(yīng)事件,如果檢測到,則執(zhí)行步驟(8);如果未檢測到,則執(zhí)行步驟(2); (2)選擇通道名,并讀取通道名在數(shù)據(jù)文件中對應(yīng)位置的波形數(shù)據(jù); (3)采取雙緩沖繪圖技術(shù),在內(nèi)存中創(chuàng)建與畫布Pictureboxl—致的緩沖區(qū)Bitmap,接下來在該緩沖區(qū)中繪圖; (4)判斷X軸縮放比例系數(shù)fZoomX,如果系數(shù)大于Ι/nGid,表明此時為全局顯示狀態(tài),nGrid保持不變;如果系數(shù)小于等于Ι/nGid,表明此時為查看局部狀態(tài),將nGrid置為1,其中,nGrid為表示每幾個數(shù)據(jù)點取一個點進行繪制的參數(shù); (5)每nGri d個點取一個點,根據(jù)當前窗口時間節(jié)點在整個時間節(jié)點中的位置StartTimeLoc以及放大矩形框產(chǎn)生X軸偏移值nXChange及X軸縮放比例系數(shù)fZoomX,計算出繪圖起始點nStartPoint和終點nEndPoint ; (6)根據(jù)波形幅值在整個Y軸窗口的位置StartTimeLoc以及放大矩形框的縱向放大起始位置,得到Y(jié)軸縮放比例fZoomY、Y軸偏移值nYChange,結(jié)合步驟(5)中的繪圖起始點nStartPoint和終點nEndPoint,以及X軸縮放比例fZoomX、X軸偏移值nXChange在緩沖區(qū)Bitmap上繪圖,并調(diào)用Pictureboxl的繪制圖像函數(shù),將Bitmap上的圖像在畫布Pictureboxl中繪制出來; (7)此時繪圖完畢,畫布PictureBoxl進入到等待鼠標響應(yīng)階段; (8)檢測到Pictureboxl或Pictureobox2的鼠標單擊事件,判斷該鼠標單擊事件是否為繪制放大矩形框或者是否為光標定位,如果該鼠標單擊事件為其中之一,則當前活動畫布切換至Picturebox2,根據(jù)鼠標移動響應(yīng)事件,得到鼠標的物理坐標位置e.X和e.Y,計算放大矩形框的寬度和長度,然后調(diào)用畫布Picturebox2的刷新函數(shù),在畫布Picturebox2上不斷重繪,鼠標移動一個像素,Picturebox2就重繪一次;如果該鼠標單擊事件不為其中之一,則結(jié)束繪圖; (9)檢測Pictureboxl或Pictureobox2的鼠標松起事件,如果檢測到鼠標松開,則根據(jù)鼠標按下時記錄的坐標以及鼠標松開時記錄的坐標,計算fZoomX, nXChange, fZoomY, nYChange,并返回步驟(3),完成 Pictureboxl 重繪;如果未檢測到鼠標松開事件,則繼續(xù)檢測該事件。
【專利摘要】本發(fā)明公開了一種電力系統(tǒng)故障錄波回放方法,采用雙Picturebox交互繪圖,其中畫布Picturebox1用于繪制波形圖,Picturebox2用于繪制放大矩形框和定位光標,并且采用雙緩沖技術(shù),在繪制多面板、多通道時,先將所有面板繪制在緩沖區(qū)里,然后一次性在Picturebox上繪制;顯示全局圖時,減小采樣率;查看局部時,按真實采樣點數(shù)繪制;波形放大平移后,只繪制用戶可見時間區(qū)間內(nèi)的點。這樣可以避免在繪制放大矩形框或拖動光標時不斷重繪波形圖,提高流暢度。
【IPC分類】G06F19/00, G01R31/08
【公開號】CN105425101
【申請?zhí)枴緾N201410475081
【發(fā)明人】李明, 吳梓亮, 郭鑄, 黎小林, 李婧靚, 劉濤, 朱佳, 肖浩, 李銀紅
【申請人】南方電網(wǎng)科學(xué)研究院有限責(zé)任公司, 華中科技大學(xué)
【公開日】2016年3月23日
【申請日】2014年9月17日