一種繼電保護裝置顯示畫面的仿真實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種繼電保護裝置顯示畫面的仿真實現(xiàn)方法,包括如下步驟:利用自定義腳本,初始化顯示畫面的顯示結(jié)構(gòu);初始化顯示畫面的數(shù)據(jù)顯示區(qū)及系統(tǒng)參數(shù);解釋執(zhí)行自定義腳本并生成顯示內(nèi)容;檢測并處理鼠標(biāo)操作事件或鍵盤操作事件。本發(fā)明通過自定義腳本對顯示畫面的顯示結(jié)構(gòu)和功能進行定義,能夠?qū)崿F(xiàn)各種類型繼電保護裝置顯示畫面的仿真,具有很好的靈活性和通用性。
【專利說明】—種繼電保護裝置顯示畫面的仿真實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于繼電保護裝置顯示畫面的仿真實現(xiàn)方法,屬于電力系統(tǒng)仿真【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著仿真技術(shù)在電力系統(tǒng)的廣泛應(yīng)用,通過計算機進行仿真培訓(xùn)能夠為學(xué)員提供更多的培訓(xùn)機會,便于學(xué)員熟練掌握電力系統(tǒng)的運行維護規(guī)范和流程。在電力系統(tǒng)中,繼電保護裝置是保證電力系統(tǒng)安全穩(wěn)定運行的關(guān)鍵設(shè)備。因此,針對繼電保護裝置的仿真是電網(wǎng)仿真、變電站仿真的重要組成部分。它可以模擬故障情況下繼電保護裝置的動作情況,培訓(xùn)電網(wǎng)運行人員對異常事故的處理能力,對于保證電網(wǎng)的安全穩(wěn)定運行有著非常重要的意義。
[0003]在繼電保護裝置中,普遍設(shè)置有顯示屏。當(dāng)前,繼電保護裝置的顯示屏已經(jīng)由數(shù)碼管、字符式液晶,逐步向圖形式液晶發(fā)展。隨著繼電保護裝置的功能不斷擴展,通過顯示屏實現(xiàn)的人機交互操作也日益復(fù)雜,顯示內(nèi)容也變得多種多樣。這些都對繼電保護裝置顯示畫面的仿真技術(shù)提出了新的挑戰(zhàn)。
[0004]針對上述的技術(shù)需求,人們進行了多方面的研究,并已取得了一定的成果。例如,通過菜單類定義,解決了顯示畫面的菜單結(jié)構(gòu)和層次的功能仿真問題;通過腳本語言,解決顯示畫面菜單的運轉(zhuǎn)、閃爍、動態(tài)刷新等功能的仿真問題;通過圖形切換,解決圖形式液晶顯示和變換的仿真問題;通過按鍵操作、時鐘刷新、模擬遙信量輸入、模擬遙測量輸入、定值下方等各種不同的操作,實現(xiàn)激發(fā)顯示畫面的菜單和圖形功能,模擬出顯示畫面在各種工況下的外觀顯示和內(nèi)部功能等。但是,現(xiàn)有繼電保護裝置所使用的顯示屏日益復(fù)雜多樣。如果針對每一種顯示屏的特點研究相應(yīng)的仿真技術(shù),將會給技術(shù)人員帶來沉重的工作負(fù)擔(dān)。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)的不足,本發(fā)明所要解決的技術(shù)問題在于提供一種繼電保護裝置顯示畫面的仿真實現(xiàn)方法。
[0006]為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案:
[0007]一種繼電保護裝置顯示畫面的仿真實現(xiàn)方法,包括如下步驟:
[0008]利用自定義腳本,初始化顯示畫面的顯示結(jié)構(gòu);
[0009]初始化顯示畫面的數(shù)據(jù)顯示區(qū)及系統(tǒng)參數(shù);
[0010]解釋執(zhí)行所述自定義腳本并生成顯示內(nèi)容;
[0011]檢測并處理鼠標(biāo)操作事件或鍵盤操作事件。
[0012]其中較優(yōu)地,所述初始化顯示畫面的顯示結(jié)構(gòu)包括初始化顯示畫面的顯示格式,每一屏之間的層次關(guān)系和每一屏的顯示結(jié)構(gòu)。
[0013]其中較優(yōu)地,所述顯示畫面的顯示格式為顯示畫面的類型、每屏顯示行數(shù)以及每屏顯示列數(shù)。[0014]其中較優(yōu)地,所述數(shù)據(jù)顯示區(qū)為顯示畫面到內(nèi)存的映射,用于存儲待顯示的仿真數(shù)據(jù)。
[0015]其中較優(yōu)地,所述解釋執(zhí)行自定義腳本并生成顯示內(nèi)容的步驟進一步包括:
[0016]S301:根據(jù)顯示屏指示器,在顯示畫面的數(shù)據(jù)顯示區(qū)定位當(dāng)前顯示的節(jié)點;
[0017]S302:根據(jù)起始行號指示器,定位當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本;
[0018]S303:判斷當(dāng)前行數(shù)在顯示畫面中是否可見;如果不可見,則直接結(jié)束;
[0019]S304:解釋執(zhí)行當(dāng)前行的自定義腳本,轉(zhuǎn)換為顯示畫面的顯示內(nèi)容;
[0020]S305:將當(dāng)前行數(shù)加1,跳轉(zhuǎn)至S303。
[0021]其中較優(yōu)地,所述解釋執(zhí)行當(dāng)前行的自定義腳本,轉(zhuǎn)換為顯示畫面的顯示內(nèi)容的步驟進一步包括:
[0022]掃描腳本行中的字符,如果沒有則結(jié)束,如果有則取出后的字符串作為腳本關(guān)鍵字,由此確定腳本關(guān)鍵字的功能;根據(jù)腳本關(guān)鍵字的定義對字符串進行解析。
[0023]其中較優(yōu)地,檢測并處理鼠標(biāo)操作事件的步驟進一步包括:
[0024]步驟S401:獲取鼠標(biāo)點擊操作的坐標(biāo);
[0025]步驟S402:根據(jù)當(dāng)前的顯示屏指示器、起始行號指示器確定當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本;
[0026]步驟S403:判斷當(dāng)前行數(shù)在顯示畫面是否可見;如果不可見,則直接結(jié)束;
[0027]步驟S404:在當(dāng)前行的自定義腳本中查找鼠標(biāo)操作事件的腳本關(guān)鍵字;如果沒有,當(dāng)前行數(shù)加I并跳轉(zhuǎn)至步驟S403 ;
[0028]步驟S405:判斷鼠標(biāo)點擊操作的坐標(biāo)是否在鼠標(biāo)操作事件的腳本關(guān)鍵字的熱區(qū)坐標(biāo)內(nèi):如果不在則跳轉(zhuǎn)至S404 ;
[0029]S406:取出并解釋執(zhí)行腳本關(guān)鍵字。
[0030]其中較優(yōu)地,所述取出并解釋執(zhí)行腳本關(guān)鍵字的步驟進一步包括:
[0031]取出腳本關(guān)鍵字,并提取其中的切換方向標(biāo)志和節(jié)點號;根據(jù)切換方向標(biāo)志和節(jié)點號切換至相應(yīng)的顯示節(jié)點;初始化起始行號指示器和光標(biāo)位置指示器。
[0032]其中較優(yōu)地,檢測并處理鍵盤操作事件的步驟進一步包括:
[0033]接收鍵盤操作事件,提取按鍵名稱參數(shù);根據(jù)當(dāng)前顯示屏指示器在數(shù)據(jù)顯示區(qū)找到顯示畫面的顯示節(jié)點;根據(jù)起始行號指示器找到顯示畫面的顯示節(jié)點中第一行顯示的自定義腳本;根據(jù)光標(biāo)位置指示器確定被操作的當(dāng)前行的自定義腳本;按照按鍵名稱對鍵盤操作事件進行處理。
[0034]本發(fā)明所提供的繼電保護裝置顯示畫面的仿真實現(xiàn)方法,通過自定義腳本對顯示畫面的顯示結(jié)構(gòu)和功能進行定義,能夠?qū)崿F(xiàn)各種類型繼電保護裝置顯示畫面的仿真,具有很好的靈活性和通用性。
【專利附圖】
【附圖說明】
[0035]圖1為本發(fā)明所提供的繼電保護裝置顯示畫面的仿真實現(xiàn)方法流程圖;
[0036]圖2為顯示畫面中的顯示結(jié)構(gòu)層次關(guān)系圖;
[0037]圖3為線路保護裝置的顯示畫面中,滾動一行前、后的顯示結(jié)果示意圖;
[0038]圖4為數(shù)據(jù)顯示區(qū)的數(shù)據(jù)結(jié)構(gòu)示意圖;[0039]圖5為鼠標(biāo)操作事件中,熱區(qū)坐標(biāo)的判斷示意圖;
[0040]圖6 (a)為鼠標(biāo)對腳本關(guān)鍵字執(zhí)行操作前的畫面;
[0041]圖6 (b)為鼠標(biāo)對腳本關(guān)鍵字執(zhí)行操作后的畫面。
【具體實施方式】
[0042]下面結(jié)合附圖和【具體實施方式】對本發(fā)明做進一步的詳細說明。
[0043]本發(fā)明所提供的繼電保護裝置顯示畫面的仿真實現(xiàn)方法主要應(yīng)用在變電站三維場景仿真中。需要強調(diào)的是,本發(fā)明所說的顯示屏可以包括CRT顯示屏、液晶顯示屏以及觸摸屏等。由于液晶顯示屏的使用范圍最廣,在本發(fā)明的具體實施例中,主要結(jié)合液晶顯示屏的特點進行詳細說明。
[0044]在本發(fā)明中,首先通過自定義腳本定義顯示畫面的顯示結(jié)構(gòu)和功能,將從變電站三維場景仿真軟件中獲取的仿真數(shù)據(jù)按照顯示畫面的顯示結(jié)構(gòu)和功能轉(zhuǎn)換成顯示數(shù)據(jù),并保存在顯示畫面的數(shù)據(jù)顯示區(qū)中。在進行仿真時,解釋執(zhí)行自定義腳本并調(diào)用顯示畫面的數(shù)據(jù)顯示區(qū)中的仿真數(shù)據(jù)進行顯示。參見圖1,本發(fā)明所提供仿真實現(xiàn)方法包括如下的具體步驟:利用自定義腳本,初始化顯示畫面的顯示結(jié)構(gòu);初始化顯示畫面的數(shù)據(jù)顯示區(qū)及系統(tǒng)參數(shù);解釋執(zhí)行自定義腳本并生成顯示內(nèi)容;檢測并處理鼠標(biāo)操作事件或鍵盤操作事件。下面對此展開詳細具體的說明。
[0045]首先介紹利用自定義腳本,初始化顯示畫面的顯示結(jié)構(gòu)的步驟。在本發(fā)明中,顯示畫面顯示結(jié)構(gòu)的初始化包括顯示畫面顯示格式的初始化和每屏之間層次關(guān)系的初始化,其具體過程如下:
[0046]步驟S101,利用自定`義腳本,初始化顯示畫面的顯示格式。這里的顯示格式具體包括顯示畫面的類型、每屏顯示行數(shù)以及每屏顯示列數(shù)。
[0047]前已述及,現(xiàn)有繼電保護裝置所使用的顯示屏日益復(fù)雜多樣。對于每一種繼電保護裝置,在進行顯示畫面的仿真時,需要顯示的基本信息以及格式是不同的。本發(fā)明中通過腳本語句對顯示畫面的顯示格式進行自定義,可以實現(xiàn)多種類型繼電保護裝置的顯示畫面仿真。例如一條典型的顯示畫面配置信息的自定義腳本語句為:
[0048]LFP901A420 線路保護
[0049]該腳本語句表示當(dāng)前顯示的繼電保護裝置型號為線路保護裝置LFP901A,顯示畫面的顯示格式為4行數(shù)據(jù)、20列數(shù)據(jù)。
[0050]步驟S102,利用自定義腳本,初始化顯示畫面中每一屏之間的層次關(guān)系。上述自定義腳本也定義了顯示畫面中每一屏之間的層次關(guān)系。如圖2所示,下面以顯示畫面為三層顯示結(jié)構(gòu)為例對每一屏之間的層次關(guān)系進行說明。在圖2中,第一層只有一屏顯示數(shù)據(jù),為顯示結(jié)構(gòu)的主屏幕,用序號“I”表示。第一層向下為顯示結(jié)構(gòu)的第二層。第二層包含多屏顯示數(shù)據(jù),各顯示畫面序號分別用“101”、“102”……“10η”表示。第二層中的每一屏都可能包括下級結(jié)構(gòu),為顯示結(jié)構(gòu)的第三層。圖2中只顯示了第二層第一屏下的第三層結(jié)構(gòu),該層中每一屏分別用序號“10101”、“10102”...“1010m”表示。從圖2中可以得知,第二層開始的每一層可以包括多屏顯示數(shù)據(jù),具體屏數(shù)可以由用戶根據(jù)實際需求進行設(shè)置。當(dāng)顯示畫面的層數(shù)或者屏數(shù)更多時,顯示結(jié)構(gòu)依此推之,不再一一贅述。
[0051]步驟S103,利用自定義腳本,初始化顯示畫面中每一屏的顯示結(jié)構(gòu)。[0052]在每一屏中包含多行數(shù)據(jù),本發(fā)明通過自定義腳本對每一屏的每一行顯示數(shù)據(jù)的內(nèi)容進行了定義。下面結(jié)合具體實施例進行詳細說明。例如在自定義腳本中,對于線路保護裝置LFP901A的顯示畫面第一層第一屏的定義:第一行腳本中“~1203”中“12”表示特殊按鍵,“03”表示down鍵?!皛04”表示本行不顯示光標(biāo)?!皛06-~07~08:~09:~10”為顯示時間,后文中有詳細介紹。腳本的第二行定義了帶遙測的電流,以及電流參數(shù)位置以及數(shù)字格式。在顯示時,當(dāng)前顯示畫面的第一行表示通過down鍵,可以進行入下級菜單,同時顯示當(dāng)前的時間;第二行顯示的是帶遙測的電流值。第三行與第四行腳本與第二行類似,用于顯示各個參數(shù)值。
[0053]"~1203~04~06-~07~08:~09:~10"
[0054]"1:'28002000.0~28A"
[0055]"U: ~ 28006000.0 ~ 28V"
[0056]"Φ:~2801205~28° CD: ~3200110~321~32〃
[0057]下面所示為自定義腳本對于線路保護裝置LFP901A的顯示畫面第二層第一屏的定義。當(dāng)前顯示畫面的第二層第一屏顯示10行數(shù)據(jù),自定義腳本對每行數(shù)據(jù)進行了定義。由于在初始化顯示畫面的顯示格式時,對于每屏顯示行數(shù)進行了限定。當(dāng)自定義腳本行數(shù)大于顯示畫面的顯示格式限定的行數(shù)時,可以通過滾動方式依次對各行數(shù)據(jù)進行顯示。例如對于線路保護裝置LFP901A而言,當(dāng)前顯示格式為每屏顯示4行數(shù)據(jù)。圖3為顯示畫面滾動一行前、后的顯示結(jié)果。其中,自定義腳本的第一行“MENU~ 131”的131”表示顯示本屏數(shù)據(jù)時,如果上下滾動顯示內(nèi)容,本行一直顯示。
[0058]"MENU" 131"
[0059]"1.SETTING"
[0060]"2.PRINT REPORT"
[0061]"3.RELAY STATUS"
[0062]"4.CLOCK"
[0063]"5.RELAY ON"
[0064]"6.CLEAR DATA"
[0065]"7.REPORT DISPLAY"
[0066]"8.CRC CHECK"
[0067]"0.EXIT"
[0068]其次,介紹初始化顯示畫面的數(shù)據(jù)顯示區(qū)及系統(tǒng)參數(shù)的步驟。
[0069]在本發(fā)明中,顯示畫面的數(shù)據(jù)顯示區(qū)為顯示畫面到內(nèi)存的映射。該數(shù)據(jù)顯示區(qū)為一個線性數(shù)組,用于存儲待顯示的仿真數(shù)據(jù)。在該線性數(shù)組中定義了多個節(jié)點,節(jié)點之間的關(guān)系與顯示畫面中每屏之間的層次關(guān)系一一對應(yīng)。每個節(jié)點對應(yīng)當(dāng)前顯示畫面中待顯示的仿真數(shù)據(jù)。每個節(jié)點附有指針,用于實現(xiàn)各顯示畫面之間的切換:父節(jié)點附有down指針,指向第一子節(jié)點;子節(jié)點附有up指針,指向父節(jié)點。圖3為該數(shù)據(jù)顯示區(qū)的示意圖,圖中節(jié)點
號表示當(dāng)前顯示畫面的序列號。其中,父節(jié)點I的子節(jié)點分別為101、102......1On,其down
指針指向其第一子節(jié)點101,而子節(jié)點101、102……IOn中的up指針分別指向節(jié)點I。
[0070]在進行繼電保護裝置的仿真時,仿真數(shù)據(jù)根據(jù)顯示畫面的顯示結(jié)構(gòu)以及功能,依次保存在顯示畫面的數(shù)據(jù)顯示區(qū)中。在對當(dāng)前屏的自定義腳本進行解析執(zhí)行時,根據(jù)腳本關(guān)鍵字中定義的數(shù)據(jù)位置指針調(diào)用顯示畫面的數(shù)據(jù)顯示區(qū)中對應(yīng)位置的仿真數(shù)據(jù)并進行顯示,從而完成顯示畫面的仿真過程。
[0071]在顯示畫面中,系統(tǒng)參數(shù)包括顯示屏指示器和起始行號指示器。其中,顯示屏指示器用于在顯示畫面的數(shù)據(jù)顯示區(qū)中定位當(dāng)前顯示的節(jié)點。在顯示畫面初始化的過程中,顯示屏指示器初始化為1,表示當(dāng)前的顯示畫面為第一層第一屏。起始行號指示器用于定位當(dāng)前顯示畫面顯示第一行腳本的位置。在初始化時,起始行號指示器初始化為1,表示當(dāng)前的顯示畫面從第一行開始顯示。
[0072]接下來,介紹解釋執(zhí)行自定義腳本并生成顯示畫面顯示內(nèi)容的步驟。顯示畫面的顯示結(jié)構(gòu)和功能初始化完成后,解釋執(zhí)行將要顯示畫面的自定義腳本,并生成顯示內(nèi)容。對于自定義腳本的解釋執(zhí)行過程,包括如下幾個步驟:
[0073]S301:根據(jù)顯示屏指示器,在顯示畫面的數(shù)據(jù)顯示區(qū)定位當(dāng)前顯示的節(jié)點;
[0074]S302:根據(jù)起始行號指示器,定位當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本;
[0075]S303:判斷當(dāng)前行數(shù)在顯示畫面中是否可見;如果不可見,則直接結(jié)束;
[0076]S304:解釋執(zhí)行當(dāng)前行的自定義腳本,轉(zhuǎn)換為顯示畫面的顯示內(nèi)容;
[0077]S305:將當(dāng)前行數(shù)加1,并跳轉(zhuǎn)至S303。
[0078]在步驟S304中,進一步包括如下步驟:掃描腳本行中的‘”字符,如果沒有字符則結(jié)束處理;取出后的字符串,表示為腳本關(guān)鍵字,并由此確定腳本關(guān)鍵字的功能:如果腳本關(guān)鍵字為功能描述類的,解釋并執(zhí)行;如果腳本關(guān)鍵字是用戶操作事件類,則丟棄;根據(jù)腳本關(guān)鍵字的定義對字符串進行解析。
[0079]在本發(fā)明中,腳本關(guān)鍵字有多種,包括時間、遙測、遙信、液晶報告等功能描述類的,還包括用戶操作事件類,如鍵盤操作事件、鼠標(biāo)操作事件等。在解釋執(zhí)行自定義腳本時,對于用戶操作事件類的腳本關(guān)鍵字,暫時不做任何處理,直接舍棄。待顯示畫面的畫面顯示完成后,才允許用戶的交互操作。但對于功能描述類的腳本關(guān)鍵字,處理過程有所不同。下面結(jié)合具體實施例對此進行詳細說明。
[0080]腳本關(guān)鍵字為字符后的字符串。通過對腳本關(guān)鍵字的第1、2兩個字符的解析,可以確定腳本的功能。例如,上文中對于線路保護裝置LFP901A的顯示畫面第一層第一屏的定義為:
[0081]"~1203~04~06-~07~08:~09:~10"
[0082]"1:'28002000.0~28A"
[0083]"U: ~ 28006000.0 ~ 28V"
[0084]〃Φ:~2801205~28° CD: ~3200110~321~32〃
[0085]第一行腳本語句“~06-~07~08:~09:~10”,字符后的兩個字符分別為‘06’、‘07’、‘08’、‘09’、‘10’,表示為時間腳本。解釋執(zhí)行時,取出當(dāng)前計算機時間,分別轉(zhuǎn)換成月、日、時、分、秒后在顯示畫面中顯示。其長度取缺省值,為2個字符。在解釋執(zhí)行后,顯示畫面顯示當(dāng)前時間為06-0520:12:14。第二行腳本“'28002000.0~28”,‘”字符后為遙測關(guān)鍵字?!?28002000.0~28”表示顯示遙測;“002”是遙測數(shù)據(jù)位置指針,表示在遙測表中的第2個數(shù)據(jù);遙測的顯示格式為“000.0”,表示顯示3位整數(shù),I位小數(shù)。遙信、液晶報告的腳本關(guān)鍵字與遙測關(guān)鍵字的解釋執(zhí)行過程是類似的,在此不在一一贅述。
[0086]最后介紹檢測并處理鼠標(biāo)操作事件和鍵盤操作事件的步驟。首先對處理鼠標(biāo)操作事件的具體過程進行說明,其包括如下步驟:
[0087]步驟S401:獲取鼠標(biāo)點擊操作的坐標(biāo)。
[0088]在建立直角坐標(biāo)系時,優(yōu)選顯示畫面的左上角為坐標(biāo)原點,水平向右為X軸正方向,垂直向下為Y軸正方向。在此坐標(biāo)系中確定鼠標(biāo)點擊操作的坐標(biāo)值。如圖5所示,本發(fā)明中顯示畫面是以頂點(0,0)~頂點(M,N)的矩形區(qū)域。
[0089]步驟S402:根據(jù)當(dāng)前的顯示屏指示器、起始行號指示器確定當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本。
[0090]根據(jù)顯示屏指示器在數(shù)據(jù)顯示區(qū)查找當(dāng)前顯示的節(jié)點;根據(jù)起始行號指示器查找當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本。
[0091]步驟S403:判斷當(dāng)前行數(shù)在顯示畫面是否可見;如果不可見,則直接結(jié)束。
[0092]步驟S404:在當(dāng)前行的自定義腳本中查找鼠標(biāo)操作事件的腳本關(guān)鍵字;如果沒有,當(dāng)前行數(shù)加I并跳轉(zhuǎn)至步驟S403。
[0093]步驟S405:判斷鼠標(biāo)點擊操作的坐標(biāo)是否在鼠標(biāo)操作事件的腳本關(guān)鍵字的熱區(qū)坐標(biāo)內(nèi):如果不在則跳轉(zhuǎn)至S404。
[0094]需要說明的是,熱區(qū)坐標(biāo)為鼠標(biāo)點擊操作的有效范圍。在圖5所示的顯示畫面中,熱區(qū)由A坐標(biāo)(Xa,Ya)和B坐標(biāo)(Xb,Yb)構(gòu)成。當(dāng)鼠標(biāo)點擊操作的坐標(biāo)滿足下列條件,表示鼠標(biāo)點擊操作(Xe,Yc)在該熱區(qū)內(nèi):Xc≥Xa且Yc≥Ya且Xe≤Xb且Yc≤Yb。
[0095]S406:取出并解釋執(zhí)行腳本關(guān)鍵字。
[0096]取出并解釋執(zhí)行腳本關(guān)鍵字包括三個方面:一是取出腳本關(guān)鍵字,并提取其中的切換方向標(biāo)志和節(jié)點號;二是根據(jù)切換方向標(biāo)志和節(jié)點號切換至相應(yīng)的顯示節(jié)點;三是初始化起始行號指示器、光標(biāo)位置指示器,即起始行號指示器設(shè)置到第I行,光標(biāo)位置指示器設(shè)置到第I行第I列。
[0097]需要說明的是,切換方向標(biāo)志用于父節(jié)點與子節(jié)點之間的切換。該切換方向標(biāo)志分別用01和02表示。當(dāng)切換方向標(biāo)志為01時,調(diào)用當(dāng)前顯示的節(jié)點的up指針。顯示屏指示器的值修改為父節(jié)點的值,新的顯示畫面切換到當(dāng)前顯示節(jié)點的父節(jié)點。當(dāng)切換方向標(biāo)志為02時,用于父節(jié)點向子節(jié)點的切換。由于父節(jié)點包括多個子節(jié)點,則從操作事件腳本關(guān)鍵字提取子節(jié)點序號。顯示屏指示器的值為當(dāng)前顯示的節(jié)點的down指針加上子節(jié)點序號的值,新的顯示畫面切換到當(dāng)前顯示節(jié)點的對應(yīng)子節(jié)點。
[0098]下面對處理鼠標(biāo)操作事件進行進一步說明。前已述及,鼠標(biāo)點擊操作時的坐標(biāo)為(Xe,Yc)。假設(shè)查找到的鼠標(biāo)操作事件腳本為“~66050635360203”,其中“~66”為鼠標(biāo)操作事件的腳本關(guān)鍵字;“05063536”表示熱區(qū)坐標(biāo)為(05,06)、( 35,36) ;“02”為切換方向標(biāo)志,表示顯示畫面切換到子節(jié)點顯示;“03”為子節(jié)號,表示切換到第三子節(jié)點。在顯示畫面中,“參數(shù)設(shè)置”對應(yīng)這一熱區(qū)坐標(biāo),并且鼠標(biāo)點擊操作的坐標(biāo)滿足條件:Xc > 5且Yc≥ 6且Xe <35且Yc <36,所以鼠標(biāo)點擊操作在此熱區(qū)內(nèi)。如圖6 (a)所示,鼠標(biāo)點擊“參數(shù)設(shè)置”操作后,解釋執(zhí)行此腳本;由主畫面切換至主畫面的第三子節(jié)點,即參數(shù)設(shè)置的畫面,參見圖6 (b)所示。
[0099]對于鍵盤操作事件的檢測與處理過程,包括以下幾個步驟:接收鍵盤操作事件,提取按鍵名稱參數(shù);根據(jù)當(dāng)前顯示屏指示器在數(shù)據(jù)顯示區(qū)找到顯示畫面的顯示節(jié)點;根據(jù)起始行號指示器找到顯示畫面的顯示節(jié)點中第一行顯示的自定義腳本;根據(jù)光標(biāo)位置指示器確定被操作的當(dāng)前行的自定義腳本;按照按鍵名稱對鍵盤操作事件進行處理。
[0100]下面以“up”按鍵和“回車鍵”為例,對處理鍵盤操作事件的過程進行說明。其他按鍵的處理方法與“up”按鍵和“回車鍵”的處理過程類似,不再一一進行說明。
[0101]對于“up”按鍵,首先判斷光標(biāo)位置指示器行號的值:若大于I并且可見,則光標(biāo)位置指示器的行號減1,即光標(biāo)上移I行;若等于I,則光標(biāo)位置指示器的行號不變;若光標(biāo)位置指示器所在的行在顯示畫面中不可見,則將起始行號指示器設(shè)置為光標(biāo)位置指示器的行號。
[0102]對于“回車鍵”,首先在當(dāng)前行的自定義腳本中查找回車鍵腳本關(guān)鍵字,取出找到的腳本關(guān)鍵字;從回車鍵腳本關(guān)鍵字中提取切換方向標(biāo)志并切換至相應(yīng)的顯不節(jié)點;最后將起始行號指示器設(shè)置到第I行,光標(biāo)位置指示器設(shè)置到第I行第I列。需要說明的是,回車鍵腳本關(guān)鍵字中對于切換方向標(biāo)志的處理方式與鼠標(biāo)點擊操作腳本關(guān)鍵字中的處理方式相同,在此不予贅述。
[0103]在本發(fā)明的一個實施例中,典型的回車鍵腳本關(guān)鍵字為“ ~ 11000000000203”,其中“~11”確定是回車鍵腳本關(guān)鍵字,“00000000”8個字符無意義,“02”表示顯示畫面顯示切換到子節(jié)點顯示,“03”表示顯示畫面顯示切換到第3個子節(jié)點。當(dāng)按下回車鍵時,顯示畫面由當(dāng)前顯示節(jié)點切換至顯示節(jié)點的第3個子節(jié)點。
[0104]上面對本發(fā)明所提出的繼電保護裝置顯示畫面的仿真實現(xiàn)方法進行了詳細的說明。對一般領(lǐng)域的技術(shù)人員而言,在不背離本發(fā)明實質(zhì)精神的前提下對它所做的任何顯而易見的改動,都將構(gòu)成對本發(fā)明專利權(quán)的侵犯,將承擔(dān)相應(yīng)的法律責(zé)任。
【權(quán)利要求】
1.一種繼電保護裝置顯示畫面的仿真實現(xiàn)方法,其特征在于包括如下步驟: 利用自定義腳本,初始化顯示畫面的顯示結(jié)構(gòu); 初始化顯示畫面的數(shù)據(jù)顯示區(qū)及系統(tǒng)參數(shù); 解釋執(zhí)行所述自定義腳本并生成顯示內(nèi)容; 檢測并處理鼠標(biāo)操作事件或鍵盤操作事件。
2.如權(quán)利要求1所述的仿真實現(xiàn)方法,其特征在于: 所述初始化顯示畫面的顯示結(jié)構(gòu)包括初始化顯示畫面的顯示格式,每一屏之間的層次關(guān)系和每一屏的顯示結(jié)構(gòu)。
3.如權(quán)利要求2所述的仿真實現(xiàn)方法,其特征在于: 所述顯示畫面的顯示格式為顯示畫面的類型、每屏顯示行數(shù)以及每屏顯示列數(shù)。
4.如權(quán)利要求1所述的仿真實現(xiàn)方法,其特征在于: 所述數(shù)據(jù)顯示區(qū)為顯示畫面到內(nèi)存的映射,用于存儲待顯示的仿真數(shù)據(jù)。
5.如權(quán)利要求1所述的仿真實現(xiàn)方法,其特征在于所述解釋執(zhí)行自定義腳本并生成顯示內(nèi)容的步驟進一步包括: 5301:根據(jù)顯示屏指示器,在顯示畫面的數(shù)據(jù)顯示區(qū)定位當(dāng)前顯示的節(jié)點; 5302:根據(jù)起始行號指示器`,定位當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本; 5303:判斷當(dāng)前行數(shù)在顯示畫面中是否可見;如果不可見,則直接結(jié)束; 5304:解釋執(zhí)行當(dāng)前行的自定義腳本,轉(zhuǎn)換為顯示畫面的顯示內(nèi)容; 5305:將當(dāng)前行數(shù)加1,跳轉(zhuǎn)至S303。
6.如權(quán)利要求5所述的仿真實現(xiàn)方法,其特征在于所述解釋執(zhí)行當(dāng)前行的自定義腳本,轉(zhuǎn)換為顯示畫面的顯示內(nèi)容的步驟進一步包括: 掃描腳本行中的字符,如果沒有則結(jié)束,如果有則取出后的字符串作為腳本關(guān)鍵字,由此確定腳本關(guān)鍵字的功能;根據(jù)腳本關(guān)鍵字的定義對字符串進行解析。
7.如權(quán)利要求1所述的仿真實現(xiàn)方法,其特征在于檢測并處理鼠標(biāo)操作事件的步驟進一步包括: 步驟S401:獲取鼠標(biāo)點擊操作的坐標(biāo); 步驟S402:根據(jù)當(dāng)前的顯示屏指示器、起始行號指示器確定當(dāng)前顯示的節(jié)點中第一行顯示的自定義腳本; 步驟S403:判斷當(dāng)前行數(shù)在顯示畫面是否可見;如果不可見,則直接結(jié)束; 步驟S404:在當(dāng)前行的自定義腳本中查找鼠標(biāo)操作事件的腳本關(guān)鍵字;如果沒有,當(dāng)前行數(shù)加I并跳轉(zhuǎn)至步驟S403 ; 步驟S405:判斷鼠標(biāo)點擊操作的坐標(biāo)是否在鼠標(biāo)操作事件的腳本關(guān)鍵字的熱區(qū)坐標(biāo)內(nèi):如果不在則跳轉(zhuǎn)至S404 ; S406:取出并解釋執(zhí)行腳本關(guān)鍵字。
8.如權(quán)利要求7所述的仿真實現(xiàn)方法,其特征在于所述取出并解釋執(zhí)行腳本關(guān)鍵字的步驟進一步包括: 取出腳本關(guān)鍵字,并提取其中的切換方向標(biāo)志和節(jié)點號;根據(jù)切換方向標(biāo)志和節(jié)點號切換至相應(yīng)的顯示節(jié)點;初始化起始行號指示器和光標(biāo)位置指示器。
9.如權(quán)利要求1所述的仿真實現(xiàn)方法,其特征在于檢測并處理鍵盤操作事件的步驟進一步包括: 接收鍵盤操作事件,提取按鍵名稱參數(shù);根據(jù)當(dāng)前顯示屏指示器在數(shù)據(jù)顯示區(qū)找到顯示畫面的顯示節(jié)點;根據(jù)起始行號指示器找到顯示畫面的顯示節(jié)點中第一行顯示的自定義腳本;根據(jù)光標(biāo)位置指示器確定被操作的當(dāng)前行的自定義腳本;按照按鍵名稱對鍵盤操作事件進行處 理。
【文檔編號】G06F9/44GK103530112SQ201310390928
【公開日】2014年1月22日 申請日期:2013年8月31日 優(yōu)先權(quán)日:2013年8月31日
【發(fā)明者】武娟, 呂學(xué)思, 楊選懷, 吳海宏, 李宏偉, 杜遠遠, 王邦局, 郭曉敏, 喬煥偉, 王紅燕 申請人:國家電網(wǎng)公司, 山西電力職業(yè)技術(shù)學(xué)院, 北京科東電力控制系統(tǒng)有限責(zé)任公司