本發(fā)明屬于電力系統(tǒng)繼電保護(hù),更具體地,涉及一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng)及方法。
背景技術(shù):
1、在繼電保護(hù)裝置開(kāi)發(fā)和日常運(yùn)維過(guò)程中,復(fù)雜業(yè)務(wù)功能的反復(fù)驗(yàn)證、故障的快速診斷、反演及定位是必然要面對(duì)的難題。尤其是在物理裝置有限的情況下,多個(gè)開(kāi)發(fā)/運(yùn)維人員需要復(fù)用同一臺(tái)物理裝置,每個(gè)人調(diào)查的問(wèn)題不一,數(shù)據(jù)源不一樣,定值、參數(shù)等設(shè)置也不一樣,頻繁的裝置設(shè)定和時(shí)間沖突導(dǎo)致了互相干擾,這給故障調(diào)查帶來(lái)了不利的影響。因而,如何根據(jù)繼電保護(hù)裝置嵌入式軟件特點(diǎn),通過(guò)大量廉價(jià)且通用的pc機(jī)虛擬運(yùn)行實(shí)際物理裝置上的嵌入式軟件,并獲得較為一致的業(yè)務(wù)功能,也就成為了擺在繼電保護(hù)裝置開(kāi)發(fā)人員面前的一大難題。
技術(shù)實(shí)現(xiàn)思路
1、為解決現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng)及方法。本發(fā)明基于虛擬裝置技術(shù),在pc機(jī)仿真調(diào)度任務(wù)調(diào)度方面,通過(guò)基于等長(zhǎng)時(shí)間片的調(diào)度算法來(lái)實(shí)現(xiàn)對(duì)實(shí)時(shí)任務(wù)、非實(shí)時(shí)任務(wù)的有序調(diào)度,并結(jié)合pc機(jī)性能實(shí)際指標(biāo),通過(guò)等比例放大任務(wù)執(zhí)行周期的方式來(lái)虛擬真實(shí)物理裝置執(zhí)行特性。
2、本發(fā)明采用如下的技術(shù)方案。
3、本發(fā)明的第一方面提供了一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),包括:pc機(jī)仿真調(diào)度系統(tǒng)程序和虛擬繼電保護(hù)裝置;
4、pc機(jī)仿真調(diào)度系統(tǒng)程序包括:ad緩沖數(shù)據(jù)區(qū)、開(kāi)關(guān)量數(shù)據(jù)區(qū)、sdb內(nèi)存數(shù)據(jù)庫(kù)、任務(wù)調(diào)度模塊和虛擬控制模塊;任務(wù)調(diào)度模塊用于執(zhí)行基于等長(zhǎng)時(shí)間片的任務(wù)調(diào)度策略,包括:實(shí)時(shí)任務(wù)優(yōu)先級(jí)高于周期性任務(wù),周期性任務(wù)等比例放大后結(jié)合調(diào)度最小時(shí)間片配置執(zhí)行周期;
5、虛擬繼電保護(hù)裝置包括:虛擬ad采集板、虛擬開(kāi)入/開(kāi)出板、虛擬通信管理板和虛擬液晶/led燈。
6、優(yōu)選地,所述ad緩沖數(shù)據(jù)區(qū)從虛擬ad采集板讀取存放模擬量數(shù)據(jù),與實(shí)際嵌入式軟件一致,用于保證采樣功能處理的一致性;
7、所述開(kāi)關(guān)量數(shù)據(jù)區(qū)用于讀寫(xiě)虛擬開(kāi)入/開(kāi)出板中的開(kāi)關(guān)量數(shù)據(jù),與實(shí)際嵌入式軟件一致,用于保證開(kāi)入開(kāi)出處理的一致性;
8、所述sdb內(nèi)存數(shù)據(jù)庫(kù)通過(guò)sdc文件生成,與實(shí)際嵌入式軟件一致,與虛擬通信管理板交互,用于數(shù)據(jù)管理、通信管理;
9、所述虛擬控制模塊與虛擬液晶/led燈交互,用于觀察虛擬繼電保護(hù)裝置外特性。
10、優(yōu)選地,所述任務(wù)調(diào)度模塊包括:任務(wù)注冊(cè)管理線程及任務(wù)調(diào)度線程;
11、所述任務(wù)注冊(cè)管理線程用于配置管理參數(shù)和監(jiān)聽(tīng)新任務(wù)注冊(cè);
12、所述任務(wù)調(diào)度線程用于執(zhí)行基于等長(zhǎng)時(shí)間片的任務(wù)調(diào)度算法,任務(wù)調(diào)度遵從優(yōu)先級(jí)高的優(yōu)先,同級(jí)別任務(wù)按先入先出順序執(zhí)行的調(diào)度策略。
13、優(yōu)選地,所述虛擬ad采集板為以comtrade文件注入方式生成的ad采樣板數(shù)據(jù)區(qū);
14、所述虛擬開(kāi)入/開(kāi)出板為以comtrade文件注入方式生成的開(kāi)關(guān)量數(shù)據(jù)區(qū);
15、所述虛擬液晶/led燈用于顯示虛擬led燈,模擬量開(kāi)關(guān)量狀態(tài)、定值。
16、本發(fā)明的第二方面提供了一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,基于所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),包括以下步驟:
17、執(zhí)行任務(wù)注冊(cè)管理線程算法的步驟a,包括:配置時(shí)間片大小和周期放大倍數(shù),并將監(jiān)聽(tīng)到的新任務(wù)注冊(cè)加入任務(wù)隊(duì)列;
18、基于等長(zhǎng)時(shí)間片的任務(wù)調(diào)度算法的步驟b,包括:配置調(diào)度當(dāng)前時(shí)間片和允許的最大任務(wù)數(shù),并在每個(gè)時(shí)間片按順序執(zhí)行任務(wù),優(yōu)先級(jí)高的優(yōu)先執(zhí)行,同優(yōu)先級(jí)的串行執(zhí)行,并將時(shí)間片執(zhí)行結(jié)果實(shí)時(shí)寫(xiě)回內(nèi)存變量表。
19、優(yōu)選地,步驟a包括:
20、步驟a.1:初始化管理參數(shù),包括:調(diào)度最小時(shí)間片ts和周期放大倍數(shù)nt;
21、步驟a.2:進(jìn)入等待循環(huán),每秒循環(huán)設(shè)定的次數(shù),持續(xù)監(jiān)聽(tīng)是否有新的任務(wù)注冊(cè),出現(xiàn)新任務(wù)注冊(cè)時(shí),若新任務(wù)注冊(cè)是實(shí)時(shí)任務(wù),則加入實(shí)時(shí)任務(wù)隊(duì)列,并通知任務(wù)調(diào)度線程有新任務(wù)添加;若新任務(wù)注冊(cè)是周期性任務(wù),繼續(xù)執(zhí)行步驟a.3;
22、步驟a.3:將周期性任務(wù)的周期tx按照周期放大倍數(shù)nt放大,判斷與調(diào)度最小時(shí)間片ts的大小關(guān)系,若nt·tx≤ts,則將周期性任務(wù)的周期更新為調(diào)度最小時(shí)間片ts;若nt·tx>ts,將周期性任務(wù)的周期更新為nt·tx;
23、步驟a.4:將更新周期后的周期性任務(wù)加入周期任務(wù)隊(duì)列,通知任務(wù)調(diào)度線程有新任務(wù)添加,并返回步驟a.2,持續(xù)監(jiān)聽(tīng)。
24、優(yōu)選地,通過(guò)等比例放大后結(jié)合調(diào)度最小時(shí)間片配置執(zhí)行周期使得整體執(zhí)行時(shí)間變慢,不改變?nèi)蝿?wù)之間的相對(duì)時(shí)間。
25、優(yōu)選地,設(shè)置調(diào)度最小時(shí)間片ts為10ms,周期放大倍數(shù)nt為10倍。
26、優(yōu)選地,步驟b包括:
27、步驟b.1:初始化調(diào)度參數(shù),包括:調(diào)度當(dāng)前時(shí)間片和允許的最大任務(wù)數(shù);
28、步驟b.2:判斷當(dāng)前時(shí)間片是否耗盡,若未耗盡,繼續(xù)休眠等待至耗盡,若已耗盡,解析實(shí)時(shí)任務(wù)隊(duì)列和周期任務(wù)隊(duì)列;若實(shí)時(shí)任務(wù)隊(duì)列中有待執(zhí)行的實(shí)時(shí)任務(wù),執(zhí)行步驟b.3;若實(shí)時(shí)任務(wù)隊(duì)列中沒(méi)有待執(zhí)行的實(shí)時(shí)任務(wù),執(zhí)行步驟b.4;
29、步驟b.3:執(zhí)行實(shí)時(shí)任務(wù),并記錄中間結(jié)果數(shù)據(jù);執(zhí)行完后,從實(shí)時(shí)任務(wù)隊(duì)列中刪除執(zhí)行完的實(shí)時(shí)任務(wù);
30、步驟b.4:周期任務(wù)隊(duì)列按先入先出順序執(zhí)行的調(diào)度策略,周期任務(wù)隊(duì)列為周期先入先出任務(wù)隊(duì)列,判斷周期先入先出任務(wù)隊(duì)列中是否有待執(zhí)行的周期性任務(wù),若有待執(zhí)行的周期性任務(wù),執(zhí)行步驟b.5,否則跳轉(zhuǎn)執(zhí)行步驟b.2,等待開(kāi)始下一輪的調(diào)度;
31、步驟b.5:將周期先入先出任務(wù)隊(duì)列按優(yōu)先級(jí)從高到低排序;執(zhí)行優(yōu)先級(jí)最高的任務(wù),并將其從周期先入先出任務(wù)隊(duì)列中刪除,執(zhí)行完后跳轉(zhuǎn)執(zhí)行步驟b.2,等待開(kāi)始下一輪的調(diào)度。
32、優(yōu)選地,設(shè)置調(diào)度當(dāng)前時(shí)間片為10ms,允許的最大任務(wù)數(shù)為100。
33、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果至少包括:本發(fā)明了針對(duì)繼電保護(hù)及同類嵌入式裝置的特點(diǎn),在虛擬裝置技術(shù)的基礎(chǔ)上,提供了一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,實(shí)現(xiàn)在通用pc機(jī)上進(jìn)行嵌入式軟件的仿真調(diào)度運(yùn)行。充分考慮到繼電保護(hù)裝置的嵌入式軟件的特點(diǎn),引入了基于等長(zhǎng)時(shí)間片的調(diào)度算法來(lái)模擬實(shí)際物理裝置的運(yùn)行特性,較好地保證了虛擬裝置和實(shí)際物理裝置的一致性。
1.一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),其特征在于,包括:pc機(jī)仿真調(diào)度系統(tǒng)程序和虛擬繼電保護(hù)裝置;
2.根據(jù)權(quán)利要求1所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),其特征在于:
3.根據(jù)權(quán)利要求1或2所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),其特征在于:
4.根據(jù)權(quán)利要求1或2所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),其特征在于:
5.一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,基于根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度系統(tǒng),其特征在于,包括以下步驟:
6.根據(jù)權(quán)利要求5所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,其特征在于:
7.根據(jù)權(quán)利要求6所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,其特征在于:
8.根據(jù)權(quán)利要求6所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,其特征在于:
9.根據(jù)權(quán)利要求5所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,其特征在于:
10.根據(jù)權(quán)利要求9所述的一種繼電保護(hù)裝置的嵌入式軟件仿真調(diào)度方法,其特征在于: