一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的裝置及其方法
【專利摘要】一種用于電力和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的裝置及其方法,包括信息通信系統(tǒng)仿真同步裝置和電力系統(tǒng)仿真同步裝置,本發(fā)明采用了“對等式”同步系統(tǒng)架構(gòu),信息通信仿真器和電力系統(tǒng)仿真器均可靈活主動發(fā)送數(shù)據(jù)。在兩側(cè)均設(shè)置了一個事件隊列,用于轉(zhuǎn)發(fā)帶時間戳的數(shù)據(jù)、事件開始時間,同時也作為“同步時間軸”,在傳輸數(shù)據(jù)的同時,使兩個仿真平臺保持時間同步。仿真過程中,兩個仿真器均參照自己側(cè)的“同步時間軸”并行推進(jìn)各自的仿真任務(wù),等雙方速度不匹配時,通過掛起自身實現(xiàn)相互等待。
【專利說明】
一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù) 據(jù)交換的裝置及其方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及電力系統(tǒng)仿真,特別是涉及一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿 真的時間同步與數(shù)據(jù)交換的裝置及其方法。
【背景技術(shù)】
[0002] 隨著智能電網(wǎng)的快速發(fā)展,先進(jìn)的信息通信技術(shù)在電力系統(tǒng)中得到廣泛應(yīng)用。信 息通信系統(tǒng)和物理電力系統(tǒng)相互耦合,形成了信息電力耦合網(wǎng)絡(luò)系統(tǒng)。信息電力耦合網(wǎng)絡(luò) 是一個連續(xù)動態(tài)和離散時間耦合的混成系統(tǒng)。其中,電力系統(tǒng)是一個連續(xù)系統(tǒng),信息與通信 系統(tǒng)是一個離散事件系統(tǒng)。目前,在對信息電力耦合網(wǎng)絡(luò)進(jìn)行仿真時,通常將電力連續(xù)系統(tǒng) 和信息離散事件系統(tǒng)的動態(tài)仿真結(jié)合起來,即將電力系統(tǒng)仿真平臺和信息通信系統(tǒng)仿真平 臺協(xié)同運作,以實現(xiàn)連續(xù)和離散事件動態(tài)過程獨立仿真和信息交互的功能。此聯(lián)合仿真方 案中,兩個系統(tǒng)的建模工作仍采用其各自的仿真軟件完成,通過時間同步方法使兩個仿真 軟件能夠運行于同一時間域,這是當(dāng)前電力和信息通信耦合網(wǎng)絡(luò)系統(tǒng)仿真技術(shù)的主要研究 方向。顯然,通過成熟的電力系統(tǒng)仿真平臺和信息通信系統(tǒng)仿真平臺的元件庫和已有的計 算方法,最大程度保持系統(tǒng)的全面性和準(zhǔn)確性。但是2個仿真平臺間的軟件接口、數(shù)據(jù)交換 和仿真時間同步等問題將是這類解決方案的重點研究內(nèi)容。
[0003] 現(xiàn)有的時間同步策略存在以下不足:
[0004]利用實時時間軸進(jìn)行同步:通常由于仿真方法、計算量、計算效率等的不同,電力 系統(tǒng)和通信仿真平臺之間很難實現(xiàn)時間邏輯的實時同步。另一方面,采用此同步策略難以 實現(xiàn)超實時仿真。可見,利用同實時時間同步的聯(lián)合仿真實現(xiàn)較為困難,應(yīng)用場合有限。
[0005] 利用同一事件軸進(jìn)行同步:在這種同步方法中,信息通信仿真平臺與電力仿真平 臺實際也是交替執(zhí)行,不需要2個平臺的仿真時間精確一致。但是,這種方式下電力系統(tǒng)仿 真的步長較難選擇,較大的仿真步長會導(dǎo)致降低仿真精度,即電力系統(tǒng)仿真平臺的突發(fā)事 件可能無法得到信息通信仿真平臺的及時響應(yīng);較小的仿真步長會降低仿真效率,因此仿 真的靈活度較差。此外,這種同步方式需要設(shè)立共同的事件隊列,實現(xiàn)上也較復(fù)雜。
[0006] 在固定時間點進(jìn)行同步:這種同步策略非常直觀,也很容易實現(xiàn),可在所有數(shù)據(jù)同 步事件的發(fā)生時間都已知的情況下,獲得準(zhǔn)確的聯(lián)合仿真結(jié)果。但是在實際系統(tǒng)未進(jìn)行仿 真之前,數(shù)據(jù)同步事件的發(fā)生時間難以預(yù)測。在仿真系統(tǒng)的數(shù)據(jù)同步點和實際情況相差很 大時,聯(lián)合仿真結(jié)果的精確性和可信度難以保證,更有可能造成無法繼續(xù)仿真的情況。
[0007] 以交替運行方式進(jìn)行同步:此種方式忽略了電氣系統(tǒng)動態(tài)變化觸發(fā)的信息交換需 求,以通信事件同步為主導(dǎo)的聯(lián)合仿真的準(zhǔn)確性還需要進(jìn)一步改進(jìn)。同時,交替仿真過程使 得聯(lián)合仿真計算效率較低。
[0008] 主從方式缺點:這種方式存在著兩個潛在的不足:一是從平臺無法主動向主平臺 推送信息,只能被動接受控制;二是主從平臺無法并行運行,即只可以采用交替運行同步方 式,步進(jìn)式完成兩個平臺間數(shù)據(jù)交換。
[0009] 獨立方式缺點:同時,獨立的交互組件也為控制邏輯提供了統(tǒng)一的接口。這種架構(gòu) 方式的另一個優(yōu)點就是可以進(jìn)行分布式或并行計算。相應(yīng)的,額外增加的獨立數(shù)據(jù)交互和 控制單元也增加了系統(tǒng)構(gòu)建和程序設(shè)計的復(fù)雜度。
【發(fā)明內(nèi)容】
[0010] 為解決上述技術(shù)問題,本發(fā)明采用了"對等式"時間同步系統(tǒng)架構(gòu),使雙方均可靈 活主動發(fā)送數(shù)據(jù),解決了兩個仿真平臺(仿真器)間的時間和數(shù)據(jù)交換不能同步的問題。
[0011] 本發(fā)明的目的是提供一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與 數(shù)據(jù)交換的同步效率高、同步精度高、可保證聯(lián)合仿真結(jié)果精確度的裝置及其方法。
[0012] 為實現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案是:一種用于電力系統(tǒng)和信息通信 系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的裝置,包括信息通信系統(tǒng)仿真同步裝置和電力系統(tǒng) 仿真同步裝置,其特征在于:所述信息通信系統(tǒng)仿真同步裝置包括通信代理模塊、同步數(shù)據(jù) 隊列模塊、數(shù)據(jù)接收代理模塊,所述電力系統(tǒng)仿真同步裝置包括通信代理模塊、同步事件隊 列豐吳塊;
[0013] 兩個同步裝置之間實現(xiàn)數(shù)據(jù)的雙向通信,其中,在信息通信系統(tǒng)仿真同步裝置中, 數(shù)據(jù)從通信代理模塊傳輸至同步數(shù)據(jù)隊列模塊再傳輸至數(shù)據(jù)接收代理模塊,然后傳輸至信 息通信仿真器,信息通信仿真器與信息通信系統(tǒng)仿真同步裝置的通信代理模塊之間進(jìn)行數(shù) 據(jù)雙向通信;
[0014] 在電力系統(tǒng)仿真同步裝置中,數(shù)據(jù)從電力系統(tǒng)仿真器傳輸至電力系統(tǒng)仿真同步裝 置的通信代理模塊,通信代理模塊與同步事件隊列模塊之間實現(xiàn)數(shù)據(jù)雙向通信,同步事件 隊列模塊再向電力系統(tǒng)仿真器傳輸數(shù)據(jù)。
[0015] 進(jìn)一步地,所述通信代理模塊負(fù)責(zé)完成雙向通信任務(wù);
[0016] 所述同步數(shù)據(jù)隊列模塊按時間戳的時間順序存放電力系統(tǒng)仿真器發(fā)送來的數(shù)據(jù);
[0017] 所述數(shù)據(jù)接收代理模塊在信息通信仿真器事件隊列中產(chǎn)生周期性的"數(shù)據(jù)采集事 件"數(shù)據(jù);
[0018] 所述同步事件隊列模塊按時間戳的時間順序存放信息通信仿真器發(fā)送來的數(shù)據(jù) 和同步事件。
[0019] 進(jìn)一步地,所述通信代理模塊通過TCP/IP、通信中間件或共享內(nèi)存等方式實現(xiàn)雙 向?qū)崟r通信。
[0020] 進(jìn)一步地,所述數(shù)據(jù)接收代理模塊將數(shù)據(jù)傳輸給信息通信仿真器的設(shè)備對象,如 果信息通信仿真器執(zhí)行到"數(shù)據(jù)采集事件"而同步數(shù)據(jù)隊列中沒有數(shù)據(jù)時,數(shù)據(jù)接收代理則 掛起自身,從而暫停信息通信仿真器,通過等待電力系統(tǒng)仿真器發(fā)送數(shù)據(jù)實現(xiàn)同步。
[0021] 進(jìn)一步地,電力系統(tǒng)仿真器在每步開始時讀取所述同步事件隊列模塊的數(shù)據(jù),如 果"同步事件隊列"數(shù)據(jù)為空,電力系統(tǒng)仿真器則掛起自身,通過等待信息通信仿真器的發(fā) 送數(shù)據(jù)實現(xiàn)同步。
[0022] -種時間同步與數(shù)據(jù)交換的裝置,用于電力和信息通信系統(tǒng)聯(lián)合仿真的時間同步 與數(shù)據(jù)交換的方法,包括以下步驟:
[0023]步驟一:電力系統(tǒng)仿真器計算出仿真數(shù)據(jù),傳遞給本地電力系統(tǒng)仿真同步裝置中 的"通信代理",兩個同步裝置之間的通信代理模塊之間進(jìn)行數(shù)據(jù)傳輸;
[0024]步驟二:信息通信系統(tǒng)仿真同步裝置中通信代理模塊將收到的仿真數(shù)據(jù)傳送至同 步數(shù)據(jù)隊列模塊,數(shù)據(jù)帶有邏輯時間戳,代表電力系統(tǒng)仿真器模塊運行的當(dāng)前邏輯時間; [0025]步驟三:信息通信系統(tǒng)仿真同步裝置中同步數(shù)據(jù)隊列模塊向數(shù)據(jù)接收代理模塊傳 輸數(shù)據(jù),信息通信仿真器執(zhí)行"數(shù)據(jù)采集事件",訪問同步數(shù)據(jù)隊列模塊,取出對應(yīng)時間戳的 數(shù)據(jù),傳遞給信息通信仿真器模塊內(nèi)部的設(shè)備對象;
[0026] 步驟四:信息通信仿真器將數(shù)據(jù)加上時間戳發(fā)送至本地信息通信系統(tǒng)仿真同步裝 置中的通信代理模塊,同時信息通信仿真器模塊獲取同步事件隊列模塊的空閑長度信息;
[0027] 步驟五:兩個同步裝置的通信代理模塊完成同步事件、空閑長度信息的交換;
[0028] 步驟六:在電力系統(tǒng)仿真同步裝置中通信代理模塊將同步事件數(shù)據(jù)傳輸至同步事 件隊列模塊,并獲得同步事件隊列模塊的空閑長度信息;
[0029] 步驟七:電力仿真器每執(zhí)行一個步長,便讀取一次同步事件隊列模塊,如果讀取到 同步事件則向下進(jìn)行,如果沒有讀取到同步事件,貝IJ掛起自身,直到新的同步事件到達(dá)。
[0030] 進(jìn)一步地,在步驟三中,信息通信仿真器在第一次觸發(fā)"數(shù)據(jù)采集事件"時,同步自 己的邏輯時鐘。
[0031] 進(jìn)一步地,在步驟四中,信息通信仿真器在每次執(zhí)行新的事件處理程序時,將新的 事件開始時間作為同步事件發(fā)送給本地的通信代理模塊;
[0032] 如果信息通信仿真器獲取空閑長度信息時發(fā)現(xiàn)同步事件隊列滿,則信息通信仿真 器掛起自己。
[0033] 進(jìn)一步地,在步驟七中,如果電力仿真器讀取的是同步事件數(shù)據(jù),并且時間戳晚于 自己當(dāng)前的邏輯時間,說明電力系統(tǒng)仿真器邏輯時間滯后,則執(zhí)行下一步長,如果讀取的是 時間戳數(shù)據(jù)則通過計算需執(zhí)行的步數(shù),執(zhí)行完計算出的步數(shù),用此時間戳數(shù)據(jù)修改當(dāng)前步 驟的仿真數(shù)據(jù)初始值,接著向下執(zhí)行。
[0034]進(jìn)一步地,所述計算公式為
[0036] 其中,Round表示:計算出的需執(zhí)行的仿真步數(shù),Now表示電力系統(tǒng)仿真器當(dāng)前的邏 輯時間,StepTime表示電力系統(tǒng)仿真器每步時長。
[0037] 采用上述技術(shù)方案,本發(fā)明具有如下有益效果:
[0038] 本發(fā)明的技術(shù)方案采用了"對等式"時間同步系統(tǒng)架構(gòu),使兩方系統(tǒng)均可靈活主動 發(fā)送數(shù)據(jù),并且該同步系統(tǒng)易編程實現(xiàn)。
[0039] 本發(fā)明技術(shù)方案同步效率高、同步精度高,可保證聯(lián)合仿真結(jié)果的精確度。在兩側(cè) 仿真同步裝置內(nèi)均設(shè)置了一個事件隊列,即用于轉(zhuǎn)發(fā)數(shù)據(jù)、事件開始時間,同時也作為"同 步時間軸",在傳輸數(shù)據(jù)的同時,能夠精確地完成兩個仿真器間的時間同步。
[0040] 本發(fā)明的兩個仿真器均參照自己側(cè)仿真同步裝置中的"同步時間軸"并行推進(jìn)各 自的仿真任務(wù),等雙方速度不匹配時,通過掛起自身實現(xiàn)相互等待。提高了仿真效率。
【附圖說明】
[0041] 圖1為用于電力和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的裝置的結(jié)構(gòu)示 意圖。
【具體實施方式】
[0042]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面結(jié)合附圖及實施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的結(jié)構(gòu)圖及具體實施例僅用以解釋本 發(fā)明,并不用于限定本發(fā)明。
[0043] 實施例1
[0044] 圖1為本發(fā)明的結(jié)構(gòu)示意圖,如圖1所示,一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合 仿真的時間同步與數(shù)據(jù)交換的裝置,包括信息通信系統(tǒng)仿真同步裝置和電力系統(tǒng)仿真同步 裝置,所述信息通信系統(tǒng)仿真同步裝置包括通信代理模塊、同步數(shù)據(jù)隊列模塊、數(shù)據(jù)接收代 理模塊,所述電力系統(tǒng)仿真同步裝置包括通信代理模塊、同步事件隊列模塊。
[0045] 兩個裝置之間實現(xiàn)數(shù)據(jù)的雙向通信,其中,在信息通信系統(tǒng)仿真同步裝置中,數(shù)據(jù) 從通信代理模塊傳輸至同步數(shù)據(jù)隊列模塊再傳輸至數(shù)據(jù)接收代理模塊,然后傳輸至信息通 信仿真器,信息通信仿真器與通信代理模塊之間進(jìn)行數(shù)據(jù)雙向通信;在電力系統(tǒng)仿真同步 裝置中,數(shù)據(jù)從電力系統(tǒng)仿真器傳輸至通信代理模塊,通信代理模塊與同步事件隊列模塊 之間實現(xiàn)數(shù)據(jù)雙向通信,同步事件隊列模塊再向電力系統(tǒng)仿真器傳輸數(shù)據(jù)。
[0046]其中,通信代理模塊:是一個獨立的進(jìn)程或?qū)iT的線程,負(fù)責(zé)完成雙向通信任務(wù), 因為兩個仿真器可能分別運行在兩個不同的計算機(jī)上,因此雙方的"通信代理"模塊可通過 TCP/IP、通信中間件或共享內(nèi)存等方式實現(xiàn)雙向?qū)崟r通信。
[0047]同步數(shù)據(jù)隊列模塊:是一個"先進(jìn)先出(FIFO)"隊列,用于按時間戳的時間順序存 放電力系統(tǒng)仿真器發(fā)送來的仿真數(shù)據(jù),由通信代理模塊在其尾部插入數(shù)據(jù),由"數(shù)據(jù)接收代 理"模塊讀取。
[0048]數(shù)據(jù)接收代理模塊:是一個可以訪問信息通信仿真器事件隊列的獨立功能模塊, 負(fù)責(zé)按照信息通信仿真器對電力系統(tǒng)仿真器仿真數(shù)據(jù)的周期性需求,在信息通信仿真器事 件隊列中產(chǎn)生周期的"數(shù)據(jù)采集事件"。信息通信仿真器每次執(zhí)行到此"數(shù)據(jù)采集事件",數(shù) 據(jù)接收代理模塊取出同步數(shù)據(jù)隊列模塊中的數(shù)據(jù)傳遞給信息通信仿真器模塊中的設(shè)備對 象,完成電力系統(tǒng)仿真器的數(shù)據(jù)到信息通信仿真器的傳遞。
[0049] 如果執(zhí)行到此"數(shù)據(jù)采集事件"而同步數(shù)據(jù)隊列中沒有仿真數(shù)據(jù),數(shù)據(jù)接收代理模 塊則掛起自身,暫停信息通信仿真器,即通過等待電力系統(tǒng)仿真器的數(shù)據(jù)實現(xiàn)同步。
[0050] 同步事件隊列模塊:是一個"先進(jìn)先出(FIFO)"隊列,用于按時間戳的時間順序存 放信息通信仿真器發(fā)送來的數(shù)據(jù)和同步事件,由通信代理模塊在其尾部插入數(shù)據(jù),由電力 系統(tǒng)仿真器在每步開始時讀取,如果讀取的同步事件隊列模塊數(shù)據(jù)為空,電力系統(tǒng)仿真器 則掛起自身,通過等待信息通信仿真器的數(shù)據(jù)實現(xiàn)同步。
[0051 ] 實施例2
[0052]聯(lián)合仿真啟動前,在聯(lián)合仿真場景配置環(huán)節(jié)中,兩個仿真器均可獲知信息通信仿 真器對電力系統(tǒng)仿真器的數(shù)據(jù)需求,即數(shù)據(jù)種類和數(shù)據(jù)的更新周期。依據(jù)此需求信息,電力 系統(tǒng)仿真器可確定自己的每步時間長度(StepTime),從而可以提供滿足時間間隔要求的仿 真數(shù)據(jù);而"數(shù)據(jù)接收代理"可在信息通信仿真器的事件隊列中初始化對應(yīng)時間間隔的"數(shù) 據(jù)采樣事件"。同樣,兩個仿真器均可獲知,信息通信仿真器向電力系統(tǒng)仿真器傳遞的數(shù)據(jù) 種類(如控制指令),但傳送的時間是隨機(jī)的。
[0053]本發(fā)明涉及一種用于電力和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的方 法,包括以下步驟:
[0054]步驟一:電力系統(tǒng)仿真器計算出仿真數(shù)據(jù),傳遞給本地的"通信代理",兩個系統(tǒng)之 間的通信代理模塊之間進(jìn)行數(shù)據(jù)傳輸;
[0055]步驟二:信息通信系統(tǒng)仿真同步裝置中通信代理模塊將收到的仿真數(shù)據(jù)傳送至同 步數(shù)據(jù)隊列模塊,數(shù)據(jù)帶有邏輯時間戳,代表電力系統(tǒng)仿真器運行的當(dāng)前邏輯時間;
[0056]步驟三:信息通信系統(tǒng)仿真同步裝置中同步數(shù)據(jù)隊列模塊向數(shù)據(jù)接收代理模塊傳 輸數(shù)據(jù),信息通信仿真器執(zhí)行"數(shù)據(jù)采集事件",訪問同步數(shù)據(jù)隊列模塊,取出對應(yīng)時間戳的 數(shù)據(jù),傳遞給信息通信仿真器內(nèi)部的設(shè)備對象;
[0057]步驟四:信息通信仿真器將數(shù)據(jù)加上時間戳發(fā)送至本地信息通信系統(tǒng)仿真同步裝 置中的通信代理模塊,同時信息通信仿真器模塊獲取同步事件隊列模塊的空閑長度信息; [0058]步驟五:兩個仿真同步裝置的通信代理模塊完成同步事件、空閑長度信息的交換;
[0059] 步驟六:在電力系統(tǒng)仿真同步裝置中通信代理模塊將同步事件數(shù)據(jù)傳輸至同步事 件隊列模塊,并獲得同步事件隊列模塊的空閑長度信息;
[0060] 步驟七:電力仿真器每執(zhí)行一個步長,便讀取一次同步事件隊列模塊,如果讀取到 數(shù)據(jù)則向下執(zhí)行,如果沒有讀取到同步事件,則掛起自身,直到新的同步事件到達(dá)。
[0061] 具體地,如圖1中①、②步,電力系統(tǒng)仿真器計算出仿真數(shù)據(jù),并傳遞給本地的"通 信代理"。
[0062]③步:信息通信系統(tǒng)仿真同步裝置的"通信代理"將收到的仿真數(shù)據(jù)傳送至"同步 數(shù)據(jù)隊列",數(shù)據(jù)帶有邏輯時間戳,代表電力系統(tǒng)仿真器運行的當(dāng)前邏輯時間。
[0063]④、⑤步:信息通信仿真器執(zhí)行到"數(shù)據(jù)采集事件",訪問"同步數(shù)據(jù)隊列",取出對 應(yīng)時間戳的數(shù)據(jù),傳遞給信息通信仿真器內(nèi)部的設(shè)備對象。注:信息通信仿真器在第一次觸 發(fā)"數(shù)據(jù)采集事件"時,同步自己的邏輯時鐘。
[0064]⑥步:信息通信仿真器的在每次執(zhí)行新的事件處理程序時,首先將新的事件開始 時間(注:晚于上次的同步事件的Timestamp)作為同步事件〈Timestamp,Event>發(fā)送給本地 的"通信代理";如果在事件的處理過程中,產(chǎn)生需交互的數(shù)據(jù)(如:控制指令),同樣將該數(shù) 據(jù)加上時間戳〈Timestamp,Data>,并發(fā)送給本地的"通信代理"模塊。
[0065] ⑦步:信息通信仿真器在發(fā)送同步事件給本地"通信代理"的同時,獲取"同步事件 隊列"的空閑長度信息,如果"同步事件隊列"滿,則信息通信仿真器掛起自己。此時說明,信 息通信仿真器執(zhí)行超前于電力系統(tǒng)仿真器,需要等待電力系統(tǒng)仿真器執(zhí)行,以實現(xiàn)同步。
[0066] ⑧步:兩個"通信代理"完成同步事件、"同步事件隊列"的空閑長度信息的交換。 [0067]⑨步:"通信代理"將同步事件插入"同步事件隊列",并獲取"同步事件隊列"的空 閑長度信息。
[0068]⑩步:電力系統(tǒng)仿真器每執(zhí)行一個步長,便讀取"同步事件隊列",如果讀取的是〈 Timestamp,Event>,并且Timestamp晚于自己當(dāng)前的邏輯時間,說明自己滯后,便執(zhí)行下一 步長;如果讀取的是〈Timestamp,Data〉,則通過公式計算需執(zhí)行的步數(shù),執(zhí)行完Round步,用 Data修改當(dāng)前步驟的初始值,接著向下執(zhí)行;如果沒有讀取到同步事件,說明信息通信仿真 器滯后,則掛起自身,直到新的同步事件到達(dá)。
[0069] 計算公式為
[0070]其中,Now代表電力系統(tǒng)仿真器當(dāng)前的邏輯時間,StepTime代表電力系統(tǒng)仿真器每 步時長,Round代表計算出的需要執(zhí)行的仿真步數(shù),結(jié)果向上取整。
[0071]以上所述實施例僅表達(dá)了本發(fā)明的實施方式,其描述較為具體和詳細(xì),但并不能 因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說, 在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范 圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項】
1. 一種用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的裝置,包括信 息通信系統(tǒng)仿真同步裝置和電力系統(tǒng)仿真同步裝置,其特征在于:所述信息通信系統(tǒng)仿真 同步裝置包括通信代理模塊、同步數(shù)據(jù)隊列模塊、數(shù)據(jù)接收代理模塊,所述電力系統(tǒng)仿真同 步裝置包括通信代理模塊、同步事件隊列模塊; 兩個同步裝置之間實現(xiàn)數(shù)據(jù)的雙向通信,其中,在信息通信系統(tǒng)仿真同步裝置中,數(shù)據(jù) 從通信代理模塊傳輸至同步數(shù)據(jù)隊列模塊再傳輸至數(shù)據(jù)接收代理模塊,然后傳輸至信息通 信仿真器,信息通信仿真器與信息通信系統(tǒng)仿真同步裝置的通信代理模塊之間進(jìn)行數(shù)據(jù)雙 向通信; 在電力系統(tǒng)仿真同步裝置中,數(shù)據(jù)從電力系統(tǒng)仿真器傳輸至電力系統(tǒng)仿真同步裝置的 通信代理模塊,通信代理模塊與同步事件隊列模塊之間實現(xiàn)數(shù)據(jù)雙向通信,同步事件隊列 模塊再向電力系統(tǒng)仿真器傳輸數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的時間同步與數(shù)據(jù)交換的裝置,其特征在于:所述通信代理模塊 負(fù)責(zé)完成雙向通?目任務(wù); 所述同步數(shù)據(jù)隊列模塊按時間戳的時間順序存放電力系統(tǒng)仿真器發(fā)送來的數(shù)據(jù); 所述數(shù)據(jù)接收代理模塊在信息通信仿真器事件隊列中產(chǎn)生周期性的"數(shù)據(jù)采集事件" 數(shù)據(jù); 所述同步事件隊列模塊按時間戳的時間順序存放信息通信仿真器發(fā)送來的數(shù)據(jù)和同 步事件。3. 根據(jù)權(quán)利要求1所述的時間同步與數(shù)據(jù)交換的裝置,其特征在于:所述通信代理模塊 通過TCP/IP、通信中間件或共享內(nèi)存等方式實現(xiàn)雙向?qū)崟r通信。4. 根據(jù)權(quán)利要求1所述的時間同步與數(shù)據(jù)交換的裝置,其特征在于:所述數(shù)據(jù)接收代理 模塊以事件觸發(fā)的方式將數(shù)據(jù)傳輸給信息通信仿真器的設(shè)備對象,如果信息通信仿真器執(zhí) 行到"數(shù)據(jù)采集事件"而同步數(shù)據(jù)隊列中沒有數(shù)據(jù)時,數(shù)據(jù)接收代理則掛起自身,從而暫停 信息通信仿真器,通過等待電力系統(tǒng)仿真器發(fā)送數(shù)據(jù)實現(xiàn)同步。5. 根據(jù)權(quán)利要求1所述的時間同步與數(shù)據(jù)交換的裝置,其特征在于:電力系統(tǒng)仿真器在 每步開始時讀取所述同步事件隊列模塊的數(shù)據(jù),如果"同步事件隊列"數(shù)據(jù)為空,電力系統(tǒng) 仿真器則掛起自身,通過等待信息通信仿真器的發(fā)送數(shù)據(jù)實現(xiàn)同步。6. -種根據(jù)權(quán)利要求1所述的時間同步與數(shù)據(jù)交換的裝置,用于電力系統(tǒng)和信息通信 系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的方法,其特征在于,包括以下步驟: 步驟一:電力系統(tǒng)仿真器計算出仿真數(shù)據(jù),傳遞給本地的"通信代理",兩個同步裝置之 間的通信代理模塊之間進(jìn)行數(shù)據(jù)傳輸; 步驟二:信息通信系統(tǒng)仿真同步裝置中通信代理模塊將收到的仿真數(shù)據(jù)傳送至同步數(shù) 據(jù)隊列模塊,數(shù)據(jù)帶有邏輯時間戳,代表電力系統(tǒng)仿真器運行的當(dāng)前邏輯時間; 步驟三:信息通信系統(tǒng)仿真同步裝置中同步數(shù)據(jù)隊列模塊向數(shù)據(jù)接收代理模塊傳輸數(shù) 據(jù),信息通信仿真器執(zhí)行"數(shù)據(jù)采集事件",訪問同步數(shù)據(jù)隊列模塊,取出對應(yīng)時間戳的數(shù) 據(jù),傳遞給信息通信仿真器內(nèi)部的設(shè)備對象; 步驟四:信息通信仿真器將數(shù)據(jù)加上時間戳發(fā)送至本地的通信代理模塊,同時信息通 信仿真器獲取同步事件隊列模塊的空閑長度信息; 步驟五:兩個同步裝置的通信代理模塊完成同步事件、空閑長度信息的交換; 步驟六:在電力系統(tǒng)仿真同步裝置中通信代理模塊將同步事件數(shù)據(jù)傳輸至同步事件隊 列模塊,并獲得同步事件隊列模塊的空閑長度信息; 步驟七:電力系統(tǒng)仿真器每執(zhí)行一個步長,便讀取一次同步事件隊列模塊,如果讀取到 同步事件則向下進(jìn)行,如果沒有讀取到同步事件,貝IJ掛起自身,直到新的同步事件到達(dá)。7. 根據(jù)權(quán)利要求6的用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的 方法,其特征在于,在步驟三中,信息通信仿真器在第一次觸發(fā)"數(shù)據(jù)采集事件"時,同步自 己的邏輯時鐘。8. 根據(jù)權(quán)利要求6的用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的 方法,其特征在于,在步驟四中,信息通信仿真器在每次執(zhí)行新的事件處理程序時,將新的 事件開始時間作為同步事件發(fā)送給本地的通信代理模塊; 如果信息通信仿真器獲取空閑長度信息時發(fā)現(xiàn)同步事件隊列滿,則信息通信仿真器掛 起自己。9. 根據(jù)權(quán)利要求6的用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換的 方法,其特征在于,在步驟七中,如果電力系統(tǒng)仿真器讀取的是同步事件數(shù)據(jù),并且時間戳 晚于自己當(dāng)前的邏輯時間,說明電力系統(tǒng)仿真器滯后,則執(zhí)行下一步長,如果讀取的是時間 戳數(shù)據(jù)則通過計算需執(zhí)行的步數(shù),執(zhí)行完計算出的步數(shù),用此時間戳數(shù)據(jù)修改當(dāng)前步驟的 仿真數(shù)據(jù)初始值,接著向下執(zhí)行。10. 根據(jù)權(quán)利要求9的用于電力系統(tǒng)和信息通信系統(tǒng)聯(lián)合仿真的時間同步與數(shù)據(jù)交換 的方法,其特征在于,所述計算公式為其中,Round表示:計算出的需執(zhí)行的仿真步數(shù),Now表示電力系統(tǒng)仿真器當(dāng)前的邏輯時 間,StepTime表示電力系統(tǒng)仿真器每步時長。
【文檔編號】G06F17/50GK105930580SQ201610245049
【公開日】2016年9月7日
【申請日】2016年4月19日
【發(fā)明人】李玉凱, 林昌年, 王蘭香, 楊選懷, 徐正清, 魏文輝, 穆世霞, 韓佳兵, 張虹, 張巖, 王炎軍
【申請人】國家電網(wǎng)公司, 北京科東電力控制系統(tǒng)有限責(zé)任公司