電力自動(dòng)化任務(wù)調(diào)度及觸發(fā)機(jī)制的方法、系統(tǒng)和處理器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于電力自動(dòng)化領(lǐng)域,尤其涉及一種電力自動(dòng)化任務(wù)調(diào)度及觸發(fā)技術(shù)。
【背景技術(shù)】
[0002] 近年來,電網(wǎng)建設(shè)面臨空前增長,從而帶動(dòng)電力系統(tǒng)內(nèi)二次設(shè)備的快速增長。微機(jī) 保護(hù)測控裝置的廣泛應(yīng)用,也對任務(wù)調(diào)度及觸發(fā)機(jī)制提出了更為廣泛、更為靈活的要求。傳 統(tǒng)的保護(hù)測控任務(wù)調(diào)度及觸發(fā)機(jī)制實(shí)現(xiàn)方式如圖1所示,采用循環(huán)掃描的方式,無任務(wù)調(diào) 度機(jī)制,實(shí)時(shí)性不高,效率低下;不區(qū)分實(shí)變量和虛變量,造成時(shí)序錯(cuò)亂;沒有動(dòng)作行為觸 發(fā)特性,只實(shí)現(xiàn)一些諸如聯(lián)鎖的特性,不具擴(kuò)展性。為解決此問題,有必要根據(jù)保護(hù)測控裝 置特點(diǎn),結(jié)合工程實(shí)際,提出實(shí)現(xiàn)任務(wù)調(diào)度及觸發(fā)機(jī)制的新技術(shù)。
【發(fā)明內(nèi)容】
[0003] 針對現(xiàn)有技術(shù)存在的缺陷和不足,本發(fā)明旨在提出一種任務(wù)調(diào)度及觸發(fā)機(jī)制的實(shí) 現(xiàn)方法、系統(tǒng)和處理器,可有效提高可編程邏輯的執(zhí)行效率,確保時(shí)序一致性,觸發(fā)不同動(dòng) 作行為。
[0004] 為達(dá)到上述目的,本發(fā)明的解決方案如下:
[0005] 本發(fā)明實(shí)施例提供了一種電力自動(dòng)化任務(wù)調(diào)度及觸發(fā)機(jī)制的方法,包括步驟:處 理器掃描輸入信息,將所述輸入信息表達(dá)的任務(wù),根據(jù)所述任務(wù)的屬性將所述任務(wù)劃分到 至少一個(gè)隊(duì)列;所述處理器根據(jù)所述隊(duì)列中任務(wù)的排列順序,發(fā)出動(dòng)作信號,觸發(fā)所述隊(duì)列 中任務(wù)的執(zhí)行。
[0006] 上述方案中,所述處理器掃描輸入信息之前還包括:所述處理器從共享內(nèi)存中讀 取配置信息,并加載至系統(tǒng)內(nèi)存,解析邏輯配置文件,建立概要表項(xiàng)、輸入表項(xiàng)、輸出表項(xiàng)、 公式表項(xiàng);根據(jù)輸入、輸出、公式三要素,經(jīng)語法分析生成數(shù)據(jù)結(jié)構(gòu)。
[0007] 上述方案中,將所述任務(wù)劃分到至少一個(gè)隊(duì)列,具體分為兩個(gè)排隊(duì)階段,其中第一 階段根據(jù)所述輸入信息現(xiàn)值與原值的變化程度,將所述信息表達(dá)的任務(wù)分入不同優(yōu)先級別 的第一隊(duì)列;第二階段根據(jù)每個(gè)所述第一隊(duì)列中的所述任務(wù)中的計(jì)算任務(wù)的計(jì)算先后要 求,將所述計(jì)算任務(wù)排列成第二隊(duì)列。
[0008] 上述方案中,將所述任務(wù)劃分到至少一個(gè)隊(duì)列,具體分為兩個(gè)排隊(duì)階段,其中第一 階段根據(jù)所述輸入信息現(xiàn)值與原值的變化程度,將所述信息表達(dá)的任務(wù)分入不同優(yōu)先級別 的第一隊(duì)列;第二階段中,根據(jù)所述數(shù)據(jù)結(jié)構(gòu),將每個(gè)所述第一隊(duì)列中的所述任務(wù)中的計(jì)算 任務(wù)采用自頂向下法進(jìn)行優(yōu)先級排序,排列成第二隊(duì)列。
[0009] 上述方案中,所述第一階段具體包括:依據(jù)周期循環(huán)和突變觸發(fā)機(jī)制,將突發(fā)信息 表達(dá)的任務(wù)放入高優(yōu)先級的第一隊(duì)列,周期信息表達(dá)的任務(wù)放入低優(yōu)先級的第一隊(duì)列。
[0010] 上述方案中,對于第一階段分為的所述不同的優(yōu)先級別的第一隊(duì)列,若上次所述 中斷尚未執(zhí)行完所述高優(yōu)先級的第一隊(duì)列任務(wù),則繼續(xù)執(zhí)行所述高優(yōu)先級第一隊(duì)列任務(wù)。 [0011] 上述方案中,對于第一階段分為的所述不同的優(yōu)先級別的第一隊(duì)列,若高優(yōu)先級 任務(wù)連續(xù)執(zhí)行時(shí)間超過閥值,則優(yōu)先級反轉(zhuǎn),將低優(yōu)先級的第一隊(duì)列級別提升,使用CPU。
[0012] 上述方案中,第二階段中將所述計(jì)算任務(wù)排序具體指,所述數(shù)據(jù)結(jié)構(gòu)為表達(dá)式樹, 從根節(jié)點(diǎn)向葉子節(jié)點(diǎn)迭代,對于需要優(yōu)先執(zhí)行的計(jì)算任務(wù)歸為第二變量類型,需要根據(jù)第 二變量執(zhí)行結(jié)果而執(zhí)行的計(jì)算任務(wù)歸為第一變量類型,按照所述第一變量和所述第二變 量,排列出第二隊(duì)列。
[0013] 上述方案中,所述發(fā)出動(dòng)作信號,從而觸發(fā)所述隊(duì)列中任務(wù)的執(zhí)行具體指:將所述 隊(duì)列中的任務(wù)依次從隊(duì)列中出列,計(jì)算邏輯結(jié)果;根據(jù)所述邏輯結(jié)果和注冊屬性,同步觸發(fā) 回調(diào)函數(shù),向系統(tǒng)總線發(fā)出動(dòng)作信號,引起聯(lián)鎖、控制、AVR、AGC動(dòng)作行為。
[0014] 本發(fā)明實(shí)施例還提供了一種電力自動(dòng)化任務(wù)調(diào)度及觸發(fā)機(jī)制的系統(tǒng),包括共享內(nèi) 存、系統(tǒng)內(nèi)存、處理器、系統(tǒng)總線,其中,所述處理器與所述共享內(nèi)存、所述系統(tǒng)內(nèi)存、所述系 統(tǒng)總線相連接;
[0015] 所述處理器用于從所述共享內(nèi)存中讀取配置信息并建立數(shù)據(jù)結(jié)構(gòu)并加載至所述 系統(tǒng)內(nèi)存;所述處理器掃描輸入信息,將所述輸入信息表達(dá)的任務(wù),根據(jù)所述數(shù)據(jù)結(jié)構(gòu)排成 至少一個(gè)隊(duì)列;所述處理器向所述系統(tǒng)總線發(fā)送動(dòng)作信號,觸發(fā)所述隊(duì)列中任務(wù)的執(zhí)行。
[0016] 上述方案中,所述觸發(fā)所述隊(duì)列中任務(wù)的執(zhí)行,包括聯(lián)鎖、控制、AVR、AGC動(dòng)作行為 的執(zhí)行。
[0017] 上述方案中,所述處理器掃描輸入信息;將所述輸入信息表達(dá)的任務(wù),根據(jù)所述任 務(wù)的屬性將所述任務(wù)劃分到至少一個(gè)隊(duì)列;所述處理器根據(jù)所述隊(duì)列中任務(wù)的排列順序, 發(fā)出動(dòng)作信號,觸發(fā)所述隊(duì)列中任務(wù)的執(zhí)行。
[0018] 本發(fā)明的有益效果是:通過這樣的任務(wù)調(diào)度及觸發(fā)機(jī)制實(shí)現(xiàn)方法、系統(tǒng)和處理器, 提高任務(wù)的執(zhí)行效率,解決了時(shí)序錯(cuò)亂的問題,靈活的觸發(fā)動(dòng)作特性,解決了傳統(tǒng)邏輯行為 單一的弊端。
【附圖說明】
[0019] 圖1為傳統(tǒng)電力系統(tǒng)的任務(wù)調(diào)度及觸發(fā)方法示意圖;
[0020] 圖2為該專利所采用的任務(wù)調(diào)度及觸發(fā)方法示意圖。
【具體實(shí)施方式】
[0021] 本發(fā)明提供一種用于電力系統(tǒng)的任務(wù)調(diào)度及觸發(fā)機(jī)制的方法,具體步驟包括:處 理器掃描輸入信息,將所述輸入信息表達(dá)的任務(wù),根據(jù)所述任務(wù)的屬性將所述任務(wù)劃分到 至少一個(gè)隊(duì)列;所述處理器根據(jù)所述隊(duì)列中任務(wù)的排列順序,發(fā)出動(dòng)作信號,從而觸發(fā)所述 隊(duì)列中任務(wù)的執(zhí)行。
[0022] 其中,在處理器進(jìn)行掃描之前,該方法還可以包括步驟:處理器從共享內(nèi)存中讀取 配置信息并建立數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)可以為表達(dá)式樹。
[0023] 建立表達(dá)式樹具體可以為:在操作系統(tǒng)側(cè)加載配置文件到共享內(nèi)存,處理器側(cè)從 共享內(nèi)存中讀取配置信息,根據(jù)輸入、輸出和公式三要素形成關(guān)聯(lián)關(guān)系,建立表達(dá)式樹。舉 例說明,加載配置文件至系統(tǒng)內(nèi)存,解析邏輯配置文件,建立概要表項(xiàng)、輸入表項(xiàng)、輸出表 項(xiàng)、公式表項(xiàng),根據(jù)輸入、輸出、公式三要素,經(jīng)語法分析生成基于父子兄節(jié)點(diǎn)的表達(dá)式樹。
[0024] 舉例說明,本發(fā)明使用了的配置文本可以包括以下關(guān)鍵字段:
[0025] >文件概要GENERAL :描述了文件格式版本、生成時(shí)間、IED name、IED Desc等屬 性,用于配置文本的管理;
[0026] >文件尺寸SIZE :描述了輸入數(shù)量、輸出數(shù)量及公式數(shù)量,為建立關(guān)聯(lián)關(guān)系做概要 說明;
[0027] >輸入變量INPUT_x :描述輸入的屬性,包括信號特征、信號來源、DataRef、短地 址、描述等;
[0028] >輸出變量0UTPUT_x:描述輸出的屬性,包括行為特征,信號虛實(shí)特征、短地址、描 述、參數(shù)等;
[0029] >公式F0RMULA_x :描述公式表達(dá)式,將輸入與輸出關(guān)聯(lián)起來;
[0030] >文件校驗(yàn)FILE_CHECK :描述文件校驗(yàn)和,防止文件損壞或者被篡改;
[0031] 排隊(duì)可以分為兩個(gè)階段。第一階段的排隊(duì),由處理器根據(jù)掃描輸入信息,例如掃描 輸入當(dāng)前數(shù)據(jù)。將這些數(shù)據(jù)所表達(dá)的任務(wù)壓入不同的優(yōu)先級隊(duì)列。在此以高、低兩個(gè)優(yōu)先 級隊(duì)列為例。例如,可以將某個(gè)數(shù)據(jù)的輸入的值與該數(shù)據(jù)的原值比較確定變化量,當(dāng)變化量 超過一個(gè)門檻值時(shí),認(rèn)為存在較大變化,將這個(gè)數(shù)據(jù)所表達(dá)的任務(wù)壓入高優(yōu)先級隊(duì)列。相 反,如果該變化量沒有超過該門檻值時(shí),認(rèn)為變化較小,則將這個(gè)數(shù)據(jù)所表達(dá)的任務(wù)壓入低 優(yōu)先級隊(duì)列。
[0032] 另外,也可以依據(jù)周期循環(huán)和突變觸發(fā)機(jī)制,將突發(fā)數(shù)據(jù)所表達(dá)的任務(wù)壓入高優(yōu) 先級隊(duì)列,周期數(shù)據(jù)所表達(dá)的任務(wù)壓入低優(yōu)先級隊(duì)列。舉例說明:依據(jù)周期循環(huán)和突變觸發(fā) 機(jī)制,將突發(fā)數(shù)據(jù)標(biāo)注高優(yōu)先級標(biāo)簽,周期數(shù)據(jù)標(biāo)注低優(yōu)先級標(biāo)簽。舉例:輸入為X1、X2,輸 出為Y1=X1+X2, Y2=X1 - X2, Y3=X2+3,若Xl突發(fā),則觸發(fā)Yl、Y2變化,將Yl、Y2標(biāo)注高優(yōu)先 級標(biāo)簽,Υ3為低優(yōu)先級標(biāo)簽;
[0033] 進(jìn)一步的,還可以設(shè)置對高優(yōu)先級任務(wù)和低優(yōu)先級任務(wù)的反轉(zhuǎn)功能。若高優(yōu)先級 任務(wù)占用中斷時(shí)間過長,及時(shí)提升低優(yōu)先級隊(duì)列中任務(wù)的優(yōu)先級,避免低優(yōu)先級任務(wù)無法 使用CPU。這樣形成優(yōu)先級反轉(zhuǎn),以此實(shí)現(xiàn)剝奪式策略,即,當(dāng)任務(wù)正在處理器上運(yùn)行時(shí),系 統(tǒng)可根據(jù)所規(guī)定的原則剝奪分配給此任務(wù)的處理器,選擇其他任務(wù)運(yùn)行。
[0034] 第二階段的排隊(duì)指,在第一階段排隊(duì)后的不同優(yōu)先級隊(duì)列中,有多個(gè)待執(zhí)行的任 務(wù)。對于每個(gè)隊(duì)列中任務(wù)的執(zhí)行先后順序,可以根據(jù)所建立的表達(dá)式樹,并使用不同的變量 來區(qū)分任務(wù)執(zhí)行的順序,從而保證任務(wù)執(zhí)行有序,不發(fā)生計(jì)算沖突。
[0035] 在此以兩個(gè)變量類型舉例。使用第一變量和第二變量,對表達(dá)式樹進(jìn)行分析,從上 而下依次從父親節(jié)點(diǎn)、孩子節(jié)點(diǎn)迭代直到葉子節(jié)點(diǎn)。
[0036] 舉例說明排隊(duì)過程:第一變量可以稱為實(shí)變量,第二變量可以稱為虛變量,使用兩 個(gè)變量類型采用自頂向下法迭代計(jì)算優(yōu)先級并排序,確保其時(shí)序一致性,避免時(shí)序錯(cuò)亂。舉 例:Υ1=Υ2+Χ2,Υ2=Χ1+5。經(jīng)語法分析:Yl應(yīng)為Y2的父親節(jié)點(diǎn),計(jì)算優(yōu)先級從Yl向下迭代至 Υ2。這里Υ2屬于虛變量應(yīng)先進(jìn)行計(jì)算,Yl屬于實(shí)變量應(yīng)后計(jì)算。依次類推,若存