專利名稱:用于輪機(jī)控制仿真的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及對控制系統(tǒng)進(jìn)行仿真的系統(tǒng)和方法,更具體地, 本發(fā)明涉及對動態(tài)反饋控制系統(tǒng)進(jìn)行仿真的系統(tǒng)和方法.背景技術(shù)輪機(jī)仿真可以被定義為包括半實物(Hardware in the loop)仿真 和桌面仿真(Table-T叩simulation,也稱為非HITL仿真) 動態(tài)反饋 控制系統(tǒng)的仿真可以分類為是半實物(HITL)仿真或非HITL仿真. HITL仿真系統(tǒng)包括與HITL仿真系統(tǒng)的其他元件進(jìn)行直接或間接通信 的來自被仿真的實際(或目標(biāo))控制系統(tǒng)的一些硬件元件。非HITL 仿真在仿真系統(tǒng)中不包括來自實際(或目標(biāo))控制系統(tǒng)的任何硬件元 件.半實物仿真測試控制系統(tǒng)的所有方面以及附接到那個控制器的輸 入和輸出卡.半實物仿真主要用于由控制系統(tǒng)工程師進(jìn)行的工廠驗收 試驗(FAT),以向客戶證明控制系統(tǒng)的功能性.在HITL仿真系統(tǒng)的 操作中,控制系統(tǒng)接收來自仿真的設(shè)備模型的測量的輸入信號,執(zhí)行 一定的內(nèi)部計算,然后向仿真的設(shè)備模型輸出命令信號.假設(shè)在典型 的HITL仿真中使用實際控制系統(tǒng)硬件和軟件的專用和專有部件,通 常以精確控制的間隔高速重復(fù)這些搮作,然而,由于這些部件設(shè)計為 根據(jù)一組嚴(yán)格的標(biāo)準(zhǔn)進(jìn)行搮作,得到的HITL仿真的動態(tài)反饋仿真受 到許多搮作限制,諸如嚴(yán)格的實時操作、非停止操作,并且執(zhí)行常在 單個預(yù)置狀態(tài)開始.典型地,雖然昂貴,但是半實物是仿真輪機(jī)控制 的最有時效的方法。在典型的非HITL仿真中,實際控制系統(tǒng)軟件的仿真模型通常經(jīng) 由轉(zhuǎn)換(translation)到與設(shè)備模型相同的仿真軟件環(huán)境中。這個加工 設(shè)備和控制系統(tǒng)的集成仿真包含許多內(nèi)在問題,諸如由于轉(zhuǎn)換過程而 在仿真的控制系統(tǒng)模型中會出現(xiàn)的潛在錯誤,由于控制邏輯的仿真而 導(dǎo)致的保真度和真實性的喪失,需要其他步驟以將控制系統(tǒng)邏輯轉(zhuǎn)換 并嵌入到仿真軟件中,并且在仿真過程期間對仿真的控制系統(tǒng)邏輯所作的修改必須從仿真中提取出來并且應(yīng)用到實際控制系統(tǒng)軟件.系統(tǒng) 中的保真度指的是仿真和控制以匹配發(fā)電設(shè)施的運(yùn)轉(zhuǎn)的能力.通常,非HITL仿真由控制系統(tǒng)工程師使用,來驗證控制系統(tǒng)以 預(yù)定的正確順序完成搮作。非HITL仿真不包括任何I/O驗證.然而, 非H1TL仿真要求使用培訓(xùn)人,這增加了仿真的開發(fā)代價并且限制了 高速驗證.為了解決與HITL仿真和非HITL仿真兩者都相關(guān)的內(nèi)在缺陷,發(fā) 電設(shè)備控制系統(tǒng)的現(xiàn)代化也對仿真真實控制器升級或在故障檢修操作 實際上實施到實際控制系統(tǒng)之前仿真維護(hù)或故障檢修操作,提出了挑 戰(zhàn).與更為現(xiàn)代的數(shù)字控制系統(tǒng)(DCS)相比,模擬發(fā)電設(shè)備控制系 統(tǒng)相對容易些.提供DCS控制器的精確仿真以為控制系統(tǒng)操作員提供 培訓(xùn)場景也更加困難和昂責(zé).由于DGS系統(tǒng)變得愈加復(fù)雜,完全仿真 也變得更為困難和昂責(zé).發(fā)明內(nèi)容根據(jù)本發(fā)明的實施例,公開了 一種仿真動態(tài)反饋控制系統(tǒng)的方法, 其包括經(jīng)由到共享存儲器的公共通道在要仿真的控制器的控制系統(tǒng)邏 輯和仿真模型之間建立連接.從存儲器中檢索與控制系統(tǒng)邏輯和仿真模型相關(guān)的來自先前仿真的狀態(tài)數(shù)據(jù)以初始化另一次仿真操作,然后 用定時和控制機(jī)構(gòu)同步與仿真模型和控制系統(tǒng)邏輯相關(guān)的狀態(tài)數(shù)據(jù), 并且執(zhí)行控制器的仿真.根據(jù)本發(fā)明的一個方面,該方法進(jìn)一步包括在執(zhí)行控制器仿真時, 更新至少一部分與仿真模型和控制系統(tǒng)邏輯相關(guān)的狀態(tài)數(shù)據(jù),并且將 更新的狀態(tài)數(shù)據(jù)存儲在數(shù)據(jù)庫中.根據(jù)本發(fā)明的另一方面,該方法進(jìn) 一步包括在執(zhí)行控制器仿真之前,接受來自圖形用戶界面的命令,以 調(diào)整至少一部分與控制器的仿真相關(guān)的狀態(tài)數(shù)據(jù).根據(jù)本發(fā)明的又一 方面,該方法進(jìn)一步包括在執(zhí)行控制器仿真之前,接受來自圖形用戶 界面的命令,以調(diào)整至少一部分與控制器的仿真相關(guān)的狀態(tài)數(shù)據(jù).根據(jù)本發(fā)明的又一方面,該方法進(jìn)一步包括在執(zhí)行控制器仿真之 前,接受來自圖形用戶界面的命令,以調(diào)整與控制器仿真相關(guān)的至少 一個控制系統(tǒng)設(shè)置。根據(jù)本發(fā)明的另一方面,該方法進(jìn)一步包括接受 來自圖形用戶界面的命令,以對至少一部分所述狀態(tài)數(shù)據(jù)進(jìn)行回歸分析以預(yù)測未來仿真結(jié)果。根據(jù)本發(fā)明的另一方面,該方法進(jìn)一步包括 接受來自困形用戶界面的命令,以對與仿真模型相關(guān)的仿真數(shù)據(jù)進(jìn)行 繪圖.根據(jù)本發(fā)明的又一方面,控制器仿真的執(zhí)行包括從指定的起始 步驟步進(jìn)到指定的結(jié)束步驟,然后停止并等待下一個命令或調(diào)用程序.根據(jù)本發(fā)明的另一方面,公開了一種準(zhǔn)備仿真動態(tài)反饋控制系統(tǒng) 的方法,其包括經(jīng)由到共享存儲器的公共通道在控制器的至少一部分 控制系統(tǒng)邏輯和仿真軟件之間建立連接,其中仿真軟件包括仿真模型. 該方法還接受從圖形用戶界面接收的命令以在該至少一部分控制系統(tǒng)邏輯和仿真軟件之間建立輸入/輸出(1/0)部件的連接,該方法進(jìn)一步 包括檢測(I/O)部件連接中的錯誤;識別與錯誤相關(guān)的輸入和輸出信 號命名失配;以及校正輸入和輸出信號命名失配.根據(jù)本發(fā)明的一個方面,該方法進(jìn)一步包括檢索與該至少一部分 控制系統(tǒng)邏輯和仿真模型相關(guān)的狀態(tài)數(shù)據(jù),其中該狀態(tài)數(shù)據(jù)與先前仿 真相關(guān);對仿真模型和控制系統(tǒng)邏輯進(jìn)行同步;并且執(zhí)行仿真.根據(jù) 本發(fā)明的另一方面,該方法進(jìn)一步包括在執(zhí)行仿真時,更新與仿真模 型和控制系統(tǒng)邏輯相關(guān)的狀態(tài)數(shù)據(jù)的至少一部分;并且將更新的狀態(tài) 數(shù)據(jù)存儲到數(shù)據(jù)庫中.根據(jù)本發(fā)明的另一方面,該方法進(jìn)一步包括接 受來自圖形用戶界面的命令以調(diào)整與仿真相關(guān)的狀態(tài)數(shù)據(jù).根據(jù)本發(fā)明的又一方面,該方法進(jìn)一步包括在執(zhí)行仿真之前,接 受來自圖形用戶界面的命令以調(diào)整與仿真相關(guān)的至少一個控制系統(tǒng)設(shè) 置.根據(jù)本發(fā)明的另一方面,該方法進(jìn)一步包括接受來自閨形用戶界 面的命令以對至少一部分所述狀態(tài)數(shù)據(jù)進(jìn)行回歸分析,以預(yù)測未來仿 真結(jié)果.根據(jù)本發(fā)明的又一方面,該方法進(jìn)一步包括接受來自圖形用 戶界面的命令以對與仿真模型相關(guān)的仿真數(shù)據(jù)進(jìn)行繪圖.根據(jù)本發(fā)明 的一個方面,仿真的執(zhí)行包括從指定的起始步驟步進(jìn)到指定的結(jié)束步 驟,然后停止并等待下一個命令或調(diào)用程序.根據(jù)本發(fā)明的又一個實施例,公開了一種用于仿真動態(tài)反饋控制 系統(tǒng)的系統(tǒng),其包括與共享存儲器通信的仿真軟件,其中該仿真軟件 包括仿真模型.該系統(tǒng)還包括與共享存儲器通信的與控制器相關(guān)的控 制系統(tǒng)邏輯的至少一部分,其中該共享存儲器經(jīng)由公共通道建立到控 制器的至少一部分控制系統(tǒng)邏輯和仿真軟件的連接.該系統(tǒng)進(jìn)一步包 括與仿真軟件和控制器通信的數(shù)據(jù)庫,其中與控制系統(tǒng)邏輯和仿真模型相關(guān)的狀態(tài)數(shù)據(jù)存儲在該數(shù)據(jù)庫中.該系統(tǒng)還包括與控制器和仿真 軟件通信的定時和控制機(jī)構(gòu),其中該定時和控制機(jī)構(gòu)對仿真軟件和該 至少 一部分控制系統(tǒng)邏輯進(jìn)行同步.根據(jù)本發(fā)明的一個方面,控制器的控制系統(tǒng)邏輯駐留在與仿真模 型相同的操作系統(tǒng)上.根據(jù)本發(fā)明的另一個方面,該系統(tǒng)進(jìn)一步包括 與該至少一部分控制系統(tǒng)邏輯通信的困形用戶界面,用于接受配置或 執(zhí)行仿真的用戶命令.根據(jù)本發(fā)明的又一方面,圖形用戶界面包括觀 察窗口菜單,其中觀察窗口繪制與一個或多個仿真變量相關(guān)的實況數(shù) 據(jù).根據(jù)本發(fā)明的又一方面,圖形用戶界面包括交互仿真菜單,其中 該交互仿真菜單提供與仿真的狀態(tài)數(shù)據(jù)相關(guān)的增加或減小步長的選 項。
已經(jīng)籠統(tǒng)地描述了本發(fā)明,現(xiàn)在將參考附圖,附圖并不必按比例繪制,其中困1示出了根據(jù)本發(fā)明的示范性實施例用于對復(fù)雜的動態(tài)反饋控 制系統(tǒng)進(jìn)行仿真的系統(tǒng).圖2是旨在建立和執(zhí)行根據(jù)本發(fā)明的示范性實施例的仿真的流程圖.圖3是示出根據(jù)本發(fā)明的示范性實施例的結(jié)合控制系統(tǒng)仿真器工 作的多個部件的仿真軟件的概圖.圖4示出了根據(jù)本發(fā)明示范性實施例的示范性控制系統(tǒng)仿真器。 圖5示出了本發(fā)明示范性實施例的仿真執(zhí)行用戶界面.具體實施方式
本發(fā)明涉及成本有效的基于軟件的仿真,與當(dāng)前HITL和非HITL 仿真系統(tǒng)相比,其用更少的時間實現(xiàn)高級功能性以及控制和可搮作性 的驗證。本發(fā)明涉及一種仿真系統(tǒng),其實現(xiàn)半實物(HITL)和非HIT1 環(huán)境兩者的優(yōu)點(diǎn)并且最小化每一個的缺點(diǎn),本發(fā)明涉及稱為"虛擬刺 激(virtual stimulation )"的過程,其獲取DCS的底層源代碼,并且 移植(port)所迷底層源代碼以便在低成本計算機(jī)平臺上運(yùn)行.本發(fā)明 的系統(tǒng)和方法提供了一種仿真框架,其組合了非HITL仿真環(huán)境的大調(diào)試能力和採作靈活性以及實時HITL仿真環(huán)境的真實性和可靠性.本發(fā)明提供了一種環(huán)境,其中用于特定系統(tǒng)的實際控制系統(tǒng)應(yīng)用 軟件可以在仿真執(zhí)行的控制下對照具有完全調(diào)試能力和靈活性的設(shè)備 的仿真模型來進(jìn)行測試.控制系統(tǒng)可以實時工作,并且可以不依賴于 仿真器進(jìn)行工作.例如,可以告訴仿真器每一毫秒進(jìn)行步進(jìn),但是仿 真器可以假設(shè)那是40毫秒的控制器掃描速率。此外,本發(fā)明提供一種 基于仿真來分析和設(shè)計動態(tài)反饋控制系統(tǒng)的新能力.這個能力在設(shè)計 和開發(fā)活動期間提供了生產(chǎn)率的改善,并且實現(xiàn)了終端用戶培訓(xùn)的技 術(shù).此外,本發(fā)明改進(jìn)了控制系統(tǒng)設(shè)計的精度和質(zhì)量,減少了缺陷, 并且允許對要控制的過程的可操作性的更為徹底的研究.使得本發(fā)明 的仿真平臺對設(shè)計團(tuán)隊更有效的相同特征,還將提供操作員培訓(xùn)仿真 器的基礎(chǔ),允許客戶培訓(xùn)他們的搮作人員并且達(dá)到各種設(shè)備的更為有 效的搮作.本發(fā)明還適合于涉及燃?xì)廨啓C(jī)、蒸汽輪機(jī)或聯(lián)合循環(huán)發(fā)電 設(shè)備的應(yīng)用.此外,本發(fā)明可以用在多個方面,包括控制系統(tǒng)邏輯開 發(fā)和驗證、機(jī)器設(shè)計驗證、可操作性研究、客戶培訓(xùn)、回歸分析以及 對外貿(mào)易/收入.下面參考根據(jù)本發(fā)明實施例的系統(tǒng)、方法、設(shè)備和計算機(jī)程序產(chǎn) 品的框圖來描述本發(fā)明.應(yīng)理解的是框圖的每個框以及框圖中框的組合分別可以由計算機(jī)程序指令實施,這些計算機(jī)程序指令可以裝入通 用計算機(jī)、專用計算機(jī)或其他可編程數(shù)據(jù)處理裝置中以生成一機(jī)器, 使得在計算機(jī)或其他可編程數(shù)據(jù)處理裝置上運(yùn)行的指令產(chǎn)生用于實施 框圖的每個框或者框圖中框的組合的裝置,下面將對其進(jìn)行詳細(xì)討論。這些計算機(jī)程序指令也可以存儲在計算機(jī)可讀存儲器中,其可以 引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理裝置以特定的方式工作,使得存儲在計算機(jī)可讀存儲器中的指令產(chǎn)生包括實施所述(多個)框中指定功 能的指令裝置的產(chǎn)品。計算機(jī)程序指令也可以裝入計算機(jī)或其他可編 程數(shù)據(jù)處理裝置中以促成在計算機(jī)或其他可編程裝置上執(zhí)行一系列搮 作步驟,從而生成計算機(jī)實施過程,使得在計算機(jī)或其他可編程裝置 上運(yùn)行的指令提供用于實施在所述框中指定的功能的步驟.因此,框圖中的框支持用于執(zhí)行指定功能的裝置的組合、用于執(zhí) 行指定功能的步驟與用于執(zhí)行指定功能的程序指令裝置的組合.還應(yīng)理解的是框圖中的每個框以及框圖中框的組合可以由執(zhí)行指定功能或 步驟的、專用的基于硬件的計算機(jī)系統(tǒng)來實施,或由專用硬件和計算 機(jī)指令的組合來實施.本發(fā)明可以通過運(yùn)行在計算機(jī)搮作系統(tǒng)上的應(yīng)用程序來實施.本 發(fā)明還可以用其他計算機(jī)系統(tǒng)配置來實施,包括手持設(shè)備、多處理器 系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、微型計算機(jī)、大型計算 機(jī)等。作為本發(fā)明的組成部分的應(yīng)用程序可以包括實施某些抽象數(shù)據(jù)類 型、執(zhí)行某些任務(wù)、動作或任務(wù)的例程、程序、部件、數(shù)據(jù)結(jié)構(gòu)等. 在分布式計算環(huán)境中,應(yīng)用程序(整體地或部分地)可以位于本地存 儲器或其他存儲設(shè)備中,此外,或作為備選,應(yīng)用程序(整體地或部 分地)可以位于遠(yuǎn)程存儲器中或其他存儲設(shè)備中,以允許本發(fā)明的實 施,這種情況下由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù).以下 參考附圖更充分地描述本發(fā)明的示范性實施例,在附圖中相似的數(shù)字 表示整個附圖中相似的元件,實際上,這些發(fā)明可以體現(xiàn)在許多不同形式中,并且不應(yīng)解釋為限于此處所述的實施例;相反,提供這些實 施例以便該公開文本能滿足可適用的法律要求.圖1示出了根據(jù)本發(fā)明示范性實施例的用于對復(fù)雜的動態(tài)反饋控 制系統(tǒng)進(jìn)行仿真的系統(tǒng).在本發(fā)明的示范性實施例中,要仿真的實時 控制系統(tǒng)軟件的內(nèi)部體系結(jié)構(gòu)是已知的,并且源代碼可用以進(jìn)行修改. 在本發(fā)明的示范性實施例中,控制系統(tǒng)可以駐留在QNX實時搮作系統(tǒng) 上.作為基于微核的操作系統(tǒng),QNX以多個小任務(wù)的形式運(yùn)行大多數(shù) 操作系統(tǒng).在QNX的情況下,使用微核允許開發(fā)者關(guān)閉他們不需要的 任何功能而不必改變OS本身.控制系統(tǒng)軟件是分層產(chǎn)品,其中應(yīng)用程 序在稱為運(yùn)行時間的實用進(jìn)程層上,該層又在ONX搮作系統(tǒng)上.結(jié)果, 運(yùn)行時間層用于將應(yīng)用程序與QNX搮作系統(tǒng)的細(xì)節(jié)隔離.如圖1的示范性實施例中所示出的,本發(fā)明包括運(yùn)行時間環(huán)境到 諸如Microsoft Windows⑧搮作系統(tǒng)之類的操作系統(tǒng)102的移植.在示 范性實施例中,移植運(yùn)行時間取得QNX特定功能以及控制系統(tǒng)構(gòu)件 (blockware),并且產(chǎn)生Microsoft Window^軟件封裝器(wrapper), 這允許在Microsoft \^11(10\^@環(huán)境中執(zhí)行相同的功能,利用運(yùn)行時間 到操作系統(tǒng)102環(huán)境的移植,被仿真的控制器104的實際控制系統(tǒng)邏輯106可以作為所仿真的設(shè)備的仿真模型駐留在同一 PC上.在本發(fā)明 的示范性實施例中,使用Microsoft Visual Studio設(shè)計套件,用C和C + +對運(yùn)行時間和相關(guān)應(yīng)用工具進(jìn)行編程.這些工具和軟件語言與仿 真軟件包兼容,在Windows^操作系統(tǒng)上執(zhí)行.在本發(fā)明的示范性實施例中,實時控制系統(tǒng)邏輯106的實施是分 層的,最小程度地依賴于主計算機(jī)的實時操作系統(tǒng).控制系統(tǒng)應(yīng)用軟 件語言、其支持的開發(fā)工具和編程環(huán)境與設(shè)備仿真軟件/模型114的那 些兼容.用于實施設(shè)備模型的仿真軟件/模型114也可以具有支持與其 他第三方軟件包通信的能力.仿真軟件具有將笫三方代碼合并到所得 到的仿真中的靈活裝置,在這種情況下包括訪問共享存儲器的靈活機(jī) 制,該共享存儲器是與笫三方軟件程序通信的裝置。應(yīng)用程序接口 (API)用以實現(xiàn)這個功能.經(jīng)由到共享存儲器區(qū)域的公共通道112建立仿真系統(tǒng)的兩個主要 部件之間的通信信道,即控制系統(tǒng)邏輯106和仿真軟件/模型114之間 的通信信道.在圖l的示范性實施例中,仿真軟件/模型114和與控制 系統(tǒng)邏輯106相關(guān)的運(yùn)行時間的WiIldows 移植都使用共享存儲器訪問 機(jī)構(gòu)112,以用作所仿真的控制器104的控制系統(tǒng)應(yīng)用軟件邏輯106 和仿真設(shè)備模型之間的通信信道。定時和控制機(jī)構(gòu)116協(xié)調(diào)并同步仿 真設(shè)備模型和控制系統(tǒng)邏輯106的執(zhí)行,數(shù)據(jù)庫機(jī)構(gòu)118在任何時間 點(diǎn)保存并恢復(fù)執(zhí)行的仿真的狀態(tài),包括所仿真的設(shè)備模型和控制系統(tǒng) 邏輯106。下面參考圖3和4詳細(xì)討論所仿真的控制器104的控制系統(tǒng) 邏輯106和仿真軟件/模型114.提供了仿真執(zhí)行圖形用戶界面以控制和協(xié)調(diào)仿真系統(tǒng)部件執(zhí)行的 所有方面,所述仿真系統(tǒng)部件包括仿真軟件/模型114和控制系統(tǒng)應(yīng)用 軟件.仿真模型和控制系統(tǒng)邏輯106的執(zhí)行控制和同步受仿真執(zhí)行圖 形用戶界面的影響.仿真執(zhí)行圖形用戶界面允許標(biāo)準(zhǔn)控制系統(tǒng)軟件工 具的可用性,所述標(biāo)準(zhǔn)控制系統(tǒng)軟件工具尤其包括工具箱108、趨勢記 錄器以及HMI (人機(jī)界面)no,具有與標(biāo)準(zhǔn)實時控制系統(tǒng)平臺中的可 用特征相同的特征.通過工具箱108和HMI 110 (諸如GE Fanuc Automation North America, Inc.,s Climplicity Workbench人機(jī)界面 (Complicity HMI))獲得對控制系統(tǒng)邏輯106的訪問,將參考圖5 詳細(xì)討論圖形用戶界面的示范性實施例。從所仿真的控制器104的角度來看,仿真可以分成由它們的用戶 團(tuán)體所廣泛定義的三組操作員仿真、需求仿真(Requisition Simulation)和交互仿真.操作員仿真通常瞄準(zhǔn)用戶培訓(xùn),對硬件成本 最敏感.在諸如Microsoft \^11(1(^8@的操作系統(tǒng)上運(yùn)行的只有軟件的 解決方案是示范性解決方案.需求仿真支持應(yīng)用程序代碼驗證并且需 要與外部設(shè)備交互的能力,并且支持仿真的1/0和真實I/O的混合.任 何時候控制器訪問1/0,它都必須駐留在實際硬件中.交互仿真用在內(nèi) 部開發(fā)中以及模型和控制算法的分析中.交互仿真通常需要控制應(yīng)用 程序代碼調(diào)度和先進(jìn)的調(diào)試特征.圖2是旨在建立并執(zhí)行根據(jù)本發(fā)明示范性實施例的仿真的流程圖. 過程開始于步驟202,其中配置HMI (人機(jī)界面),如果需要可以打 開HMI和工具箱以查看控制系統(tǒng)軟件并改變設(shè)置。接著,調(diào)用步驟204 以通過裝栽仿真模型、配置用于控制器的仿真器并建立控制系統(tǒng)邏輯 到共享存儲器的通道,來執(zhí)行模擬器系統(tǒng).然后調(diào)用步壤206建立控 制系統(tǒng)邏輯軟件和仿真模型之間的I/O (輸入/輸出)部件的連接.在圖2示出的本發(fā)明的示范性實施例中,調(diào)用步稞208以確定是 否有任何I/O連接錯誤,如果在嘗試建立連接的過程中檢測到有任何 錯誤,則通過仿真執(zhí)行圖形用戶界面向操作員發(fā)出通知.此外,如果 1/0連接有錯誤,那么步驟210校正錯誤.錯誤校正的一個示例包括在 對應(yīng)于導(dǎo)致錯誤的I/O連接的仿真模型或模擬器控制軟件中校正適當(dāng) 的引用名.接著,步驟212存儲校正的信息(例如I/0引用名)供將來 使用以及用于減少設(shè)置時間.如果沒有檢測到錯誤并且I/O連接成功, 那么調(diào)用步驟214裝栽所仿真的控制器的初始條件或狀態(tài)數(shù)據(jù)(或狀 態(tài)文件)以及來自數(shù)據(jù)倉庫的仿真模型.接著,在步取216執(zhí)行仿真, 然后在步驟218保存狀態(tài)數(shù)據(jù)為將來所用。這個特定設(shè)置的一個獨(dú)特 方面是該仿真能夠存儲數(shù)據(jù)供將來使用以及可能通過本領(lǐng)域普通技術(shù) 人員了解的各種回歸分析方法、基于所存儲的數(shù)據(jù)來學(xué)習(xí)和預(yù)測結(jié)果。下面討論的經(jīng)由圖形用戶界面進(jìn)行的回歸分析使用為先前仿真存儲的 狀態(tài)數(shù)據(jù),來確定對仿真模型各方面和/或仿真設(shè)置的調(diào)整,以產(chǎn)生更 精確的仿真.圖3是示出根據(jù)本發(fā)明示范性實施例的結(jié)合控制系統(tǒng)仿真器工作 的多個部件的仿真軟件的概圖。如困3中所示,本發(fā)明的仿真器系統(tǒng)包括與(多個)控制系統(tǒng)仿真器306 —起工作的多個部件.仿真器系 統(tǒng)的主要部件是控制器模擬器DLL (動態(tài)鏈接庫)302,仿真執(zhí)行310, 驗證工具308,建模軟件312以及外部輪機(jī)建模軟件或第三方包,諸如 AspenTech的Aspen HYSYS 304,如圖3中所示.控制器模擬器DLL 302是用作設(shè)置和通信仿真環(huán)境的所有外部程 序的裝置的動態(tài)鏈接庫.控制器模擬器DLL 302使得與控制器模擬器 DLL302相關(guān)的進(jìn)程能夠使用應(yīng)用程序編程接口 (API),并且使得外 部接口能夠從單個進(jìn)入點(diǎn)與多個進(jìn)程通信.API是基于程序的調(diào)用, 其可以由其他程序使用,以獲得對程序的特定功能的訪問而不需要訪 問它的源代碼.因此,API提供了到其他軟件應(yīng)用程序的控制和監(jiān)視 接口.控制器模擬器DLL 302可以通過指定在建模軟件310和仿真器306 之間是已知的特定標(biāo)識號來以協(xié)議(contract)的形式建立所有的輸入 /輸出(I/O)連接.控制系統(tǒng)包括模擬或數(shù)字(也稱為實值或布爾值) 的變量.協(xié)議形式是與諸如布爾值和/或模擬/實變量的特定信號/變量相 關(guān)的共享存儲器的特定塊.在本發(fā)明的示范性實施例中,要通過稱為 "寄存器協(xié)議ID"的API讓仿真器306知道這些協(xié)議.寄存器協(xié)議ID API將產(chǎn)生將用作附加進(jìn)程之間的通信裝置的共享存儲器的塊.在本發(fā)明的示范性實施例中,控制器模擬器DLL 302向所有外部 程序展示運(yùn)行命令A(yù)PI,以實現(xiàn)到仿真器306的單個進(jìn)入點(diǎn),并且使得 建模接口實現(xiàn)同步運(yùn)行.控制器模擬器DLL 302也可以向調(diào)用程序展 示全局停止命令A(yù)PI.當(dāng)執(zhí)行該停止命令時,其關(guān)閉所有從屬進(jìn)程并 且銷毀那個進(jìn)程所附帶的所有窗口.此外,控制器模擬器DLL 302可 以展示步進(jìn)命令(step command),該步進(jìn)命令將使所有附帶進(jìn)程步 進(jìn)調(diào)用程序提供的步數(shù).附帶進(jìn)程都是當(dāng)執(zhí)行諸如仿真模型、仿真器 等的仿真時啟動的搮作系統(tǒng)(例如Microsoft Windows )進(jìn)程.當(dāng)執(zhí) 行步進(jìn)命令時,所述仿真從指定的起始步驟"步進(jìn)"到指定的結(jié)束步 驟,然后停止并等待下一個命令或調(diào)用程序。控制器模擬器DLL 302還可以展示保存命令,該保存命令將觸發(fā) 控制器模擬器所附帶的每個進(jìn)程的所有變量的全局保存,調(diào)用程序除 外。而且,保存命令可以接受來自調(diào)用進(jìn)程的標(biāo)志,該標(biāo)志標(biāo)識控制 器模擬器DLL 302應(yīng)該保存數(shù)據(jù)的格式(通過變量、數(shù)據(jù)轉(zhuǎn)儲(datadump)等).此外,控制器模擬器DLL 302可以展示恢復(fù)命令,該恢 復(fù)命令將觸發(fā)除了調(diào)用程序之外的控制器模擬器DLL 302附帶的每個 進(jìn)程的所有變量的全局恢復(fù),另外,恢復(fù)命令可以接受來自調(diào)用進(jìn)程 的標(biāo)志,該標(biāo)志標(biāo)識是否應(yīng)該通過變量或數(shù)據(jù)轉(zhuǎn)儲來進(jìn)行恢復(fù).數(shù)據(jù) 轉(zhuǎn)儲是所有變量的二進(jìn)制恢復(fù).該恢復(fù)假設(shè)正運(yùn)行的軟件沒有發(fā)生任 何改變.通過變量進(jìn)程(variable process)的恢復(fù)一次一個地在軟件系 統(tǒng)內(nèi)將已知值寫到每個單獨(dú)的信號名稱.控制器模擬器DLL 302也可以展示暫停命令,暫停命令觸發(fā)所有 控制器模擬器DLL 302附帶的進(jìn)程的全局暫停,在暫停狀態(tài)期間,這 些附帶進(jìn)程等待來自控制器模擬器DLL 302的重新開始命令或步進(jìn)命 令.控制器模擬器DLL 302也可以展示除了調(diào)用進(jìn)程的所有附帶進(jìn)程 的已命名變量信號列表。此外,識別附著了該列表的設(shè)備(即輪機(jī)控 制系統(tǒng)燃?xì)廨啓C(jī)模型,Gl, Sl等).這個展示不干擾仿真環(huán)境的正常 搮作.控制器模擬器DLL 302應(yīng)該展示I/O-報告API,該I/O-報告API 將列出在所附進(jìn)程中的所有輸入/輸出名稱.這使得調(diào)用進(jìn)程能夠識別 通信進(jìn)程之間的任何失配.控制器模擬器DLL 302也可以展示這樣的API,其使得調(diào)用程序 能夠在指定變量上拴上仿真標(biāo)志并且將用戶定義值寫到該變量.這可 以用于故障注入.例如,用戶可以向控制系統(tǒng)寫入有故障的速度信號, 看控制系統(tǒng)如何反應(yīng),這個仿真命令直接通信到控制系統(tǒng)仿真器306, 控制器模擬器DLL 302也可以向調(diào)用程序展示這樣的API,其使得終 端用戶能夠讀寫單個模擬或數(shù)字變量以及附于控制系統(tǒng)仿真器306的 強(qiáng)制邏輯(force logic).這些讀、寫和強(qiáng)制邏輯命令也是直接通信到 控制系統(tǒng)仿真器306.驗證工具308是包括下述部件GUI (圖形用戶界面),所述部件 在仿真系統(tǒng)上模擬、繪圖、自動操作以及執(zhí)行回歸分析.驗證工具308 也可以包括仿真執(zhí)行310的基本功能.驗證工具308可以包括HMI仿 真、繪圖、自動操作以及回歸分析.HMI仿真使得終端用戶能夠運(yùn)行 發(fā)電設(shè)備仿真的基本功能而不需要在其PC上安裝諸如 Cimplicity⑧HMI軟件的HIMI軟件.繪圖允許終端用戶在同一圖中繪 制來自仿真模型310和控制系統(tǒng)的數(shù)據(jù).它還給予終端用戶在控制系 統(tǒng)邏輯的證實/驗證中使用的分析工具.自動操作包括標(biāo)準(zhǔn)的列表/組合框,其使得用戶能夠插入他們想要完成的特定動作.而且,自動操作給用戶提供了以標(biāo)準(zhǔn)的文本格式寫腳本以輸入到驗證工具308中的能 力.除了這個輸入功能,初學(xué)的用戶可以選擇從固形用戶界面寫腳本 并進(jìn)行保存,程序?qū)@個數(shù)據(jù)進(jìn)行解析,并將其以正確的格式輸入到 存儲器中用于自動操作.驗證工具使得能夠使用由輪機(jī)控制系統(tǒng)使用 的標(biāo)準(zhǔn)趨勢格式/工具(trending format/tool).驗證GUI也與所有控 制器模擬器DLL API —起被預(yù)先使能.在本發(fā)明的示范性實施例中,在驗證工具308和當(dāng)前用于發(fā)電設(shè) 備數(shù)據(jù)分析的數(shù)據(jù)分析工具之間有直接接口 .這個接口是一 API調(diào)用, 其將繪圖數(shù)據(jù)和簽名數(shù)據(jù)傳遞給主程序,主程序?qū)Ρ绕鋵?yīng)的簽名分 析該圖,并返回基于與均值的偏差的結(jié)果.邊界可以由用戶在程序啟 動之前設(shè)定,簽名數(shù)據(jù)是已經(jīng)從先前仿真或發(fā)電設(shè)備操作采集的并且 已經(jīng)被證實有效且是發(fā)電設(shè)備的正確搮作的數(shù)據(jù).建模軟件312是仿真系統(tǒng)的附加部件和開支.通過使用預(yù)生成 (pre-build)進(jìn)程,模型可以被編譯為與獨(dú)立的模型,并且減少或消 除了與建模過程相關(guān)的某些開支.在本發(fā)明的示范性實施例中,MSC軟件Easy5建模軟件可以用作發(fā)電設(shè)備仿真開發(fā)的組成部分,并且將 源代碼編譯為獨(dú)立的供用戶仿真。這是獨(dú)立于模擬器系統(tǒng)的工具.Aspen 8¥8乂8@304是交互過程建模方案,其使得工程師能夠為設(shè)備設(shè) 計、性能監(jiān)測、故障檢修、搮作改進(jìn)等產(chǎn)生穩(wěn)定狀態(tài)模型.Aspen HYSYS⑧是通過控制器模擬器DLL與仿真軟件進(jìn)行雙向通信的外部軟 件.在本發(fā)明的示范性實施例中,仿真器系統(tǒng)還可以包括I/O配置工 具,其將幫助終端用戶向模型和所仿真的控制器輸入信號名稱,以及 從模型和所仿真的控制器輸出信號名稱.這個工具可以識別失配的名 稱并且給予用戶輸入新名稱的能力.在用戶已經(jīng)解決所有命名或數(shù)據(jù) 類型失配之后,他們將有保存配置供將來使用的選擇權(quán)。這個數(shù)據(jù)可 以回饋到仿真執(zhí)行310中,并且在詢問用戶輸入之前用在未來的設(shè)置 中,也可以使該工具向后兼容桌面(非HITL)仿真.模擬器系統(tǒng)還可以在啟動/設(shè)置過程中分析系統(tǒng)以確定在任何運(yùn)行 周期中可以達(dá)到的最大速度.這個數(shù)字然后可以放入仿真執(zhí)行310中, 作為在發(fā)電設(shè)備仿真期間可以達(dá)到的時間步的規(guī)格上限(USL).還可以給予用戶增加或減少到U SL的時間步的能力.圖4示出了根據(jù)本發(fā)明示范性實施例的示范性控制系統(tǒng)仿真器. 如圖4中所示,該示范性實施例是多個軟件單元的組合,它們一起通 信以實現(xiàn)平臺之間的通用性.在本發(fā)明的示范性實施例中,仿真器是 對一個或多個控制器的一些基本功能進(jìn)行仿真的一組軟件可執(zhí)行體. 使用工具箱402對仿真器進(jìn)行配置,就像實際的控制器一樣.應(yīng)用程 序接口 (API)提供了對變量空間(vardef) 406的直接訪問,以便可 以由外部軟件模型驅(qū)動輸入和輸出信號.API 404為其他\¥111(|0^8@軟 件應(yīng)用程序提供了控制和監(jiān)測接口 .工具箱配置和監(jiān)測接口是建立在TCP/IP套接字庫上的.這提供了 標(biāo)準(zhǔn)化,,其允許在沒有任何改變的情況下使用工具箱402,即使當(dāng)它 在與模擬器/仿真器相同的PC上執(zhí)行時,仿真器依賴于工具箱402產(chǎn) 生符號表以進(jìn)行狀態(tài)變量恢復(fù)和通過名稱的變量訪問.在本發(fā)明的示 范性實施例中,對于用在控制器中的所有信號(或變量),符號表包 括以下字段完整的信號名稱、地址令牌、初始/當(dāng)前值.套接字是 Microsoft Windows⑧環(huán)境中可用于通過TCP/IP協(xié)議進(jìn)行通信的標(biāo)準(zhǔn)功 能部件,如圖4中所示,工具箱ST是用于配置/修改輪機(jī)控制邏輯的 GE專有控制系統(tǒng)軟件GUI,在本發(fā)明的可選實施例中,可以使用其他 GUI,也支持SDI408協(xié)議和配置文件.SD1是用于控制器和工具箱之間 通信的GE專有協(xié)議,當(dāng)然可以實施其他通信協(xié)議.為每個模式產(chǎn)生獨(dú) 立的Pcode擴(kuò)展器410. Pcode擴(kuò)展器410是讀取二進(jìn)制語言并且解釋 控制系統(tǒng)應(yīng)該如何操作的軟件解譯器,每個Pcode擴(kuò)展器410生成公 共的配置信息集以驅(qū)動構(gòu)件(blockware)引擎412,構(gòu)件(blockware) 引擎412是在其上執(zhí)行控制系統(tǒng)程序化(sequencing)的仿真的控制器 邏輯.不需要或不支持的來自工具箱402的任何配置信息可以被Pcode 擴(kuò)展器410忽略,并且按需要向工具箱402確認(rèn)成功. 一組構(gòu)件庫414 可以支持多個仿真器模式,因為它們之間只有微小的數(shù)據(jù)類型變化. 構(gòu)件庫414是在建立控制系統(tǒng)邏輯(例如Rung Ladder Diagram PLC 邏輯)時使用的標(biāo)準(zhǔn)函數(shù)集合。應(yīng)用程序變量空間(vardef) 406可以被實施為全局存儲區(qū)域。變 量空間是仿真器存儲變量值的存儲塊,通過API 404要求快速訪問,用于存儲、恢復(fù)和回溯操作.目標(biāo)是小于100ms的存儲時間.仿真器 可以保持在vardef4恥中不存在的應(yīng)用程序代碼,從工具箱402到仿真器的在線裝栽應(yīng)該保持vardef 406的狀態(tài), 除了如命令所指示的那樣初始化新的或所有的變量.在本發(fā)明的示范 性實施例中,對在線裝栽沒有性能要求、同步要求或外部數(shù)據(jù)產(chǎn)生要 求.所有這些實際控制器支持的特征都可以在模擬器中折衷,只要 vardef 406的保持相對于真實控制器是精確的.術(shù)語折衷指的是修正的 控制邏輯的初始化及其對輪機(jī)控制搮作的影響.如果添加的新邏輯將 在輪機(jī)上產(chǎn)生不利影響,那么則禁止在線下栽.當(dāng)涉及實際控制器時, 術(shù)語折衷意味著仿真的控制器將具有同實際控制器一樣的功能.仿真器保存可經(jīng)由工具箱402訪問的感興趣的變量.在本發(fā)明的 示范性實施例中,感興趣的變量包括只讀狀態(tài)信息.感興趣的變量可 以是用戶選擇在仿真執(zhí)行期間監(jiān)測的任何變量.在本發(fā)明的一些示范 性實施例中,可以通過特殊令牌來訪問感興趣的變量,而在其他示范 性實施例中可以通過固有的變量方法訪問感興趣的變量.這指的是通 過令牌地址(存儲器地址空間)或變量名稱的訪問.雖然可以讓操作 員訪問感興趣的變量,但是仿真器可以保持這些變量的其中一些,這 樣工具箱402不顯示有關(guān)控制器的引起混淆的或錯誤的信息.可以在 啟動時將許多變量值設(shè)置為缺省狀態(tài),然后就置之不理.可以支持至 少兩個讀變量命令. 一個讀變量命令可以提供通過符號名稱的訪問, 第二個讀變量命令可以提供通過令牌的訪問.讀變量命令可以支持每 次訪問多個變量.也可以支持至少兩個寫變量命令. 一個寫變量命令 可以提供通過符號名稱的訪問,笫二個寫變量命令可以提供通過令牌 的訪問.這些命令可以支持每次訪問多個變量.與發(fā)電設(shè)備控制系統(tǒng)一起使用的網(wǎng)絡(luò)通信協(xié)議(諸如GE的以太網(wǎng) 全局?jǐn)?shù)據(jù)(EGD)協(xié)議)可以從應(yīng)用程序代碼分離,或者在每幀之后 由應(yīng)用程序的輸出線程驅(qū)動.EGD是用于與HMI通信的TCP/IP協(xié)議. 產(chǎn)生EGD交換地圖,由EGD服務(wù)416周期性地發(fā)送,而不管其是否 被應(yīng)用程序代碼更新。此外,在圖4中示出的示范性實施例中,仿真器支持由簡化的警 報掃描器實現(xiàn)的簡單警報隊列.本發(fā)明的實施例用API實施警報隊列, 而其他實施例可以支持特定于控制器的警報協(xié)議.在本發(fā)明的示范性實施例中,可以為簡單的進(jìn)程警報功能提供接口.轉(zhuǎn)儲請求返回隊列上的進(jìn)程警報.轉(zhuǎn)儲請求是在等待來自外部進(jìn)程的命令的HMI進(jìn)程內(nèi) 運(yùn)行的異步協(xié)議,轉(zhuǎn)儲請求是一個告訴警報管理器使其所有現(xiàn)有警報 提示調(diào)用程序的命令.可以對隊列中的單個警報和所有警報支持確認(rèn) 和復(fù)位命令,在本發(fā)明的另 一個實施例中,可以為簡單的保持警報(hold alarm)功能提供接口.轉(zhuǎn)儲請求返回隊列上的保持警報.再次,可以 對隊列中的單個警報和所有警報支持確認(rèn)和復(fù)位命令.仿真器還可以支持?jǐn)?shù)據(jù)采集420,諸如捕獲塊(capture block)和 動態(tài)數(shù)據(jù)記錄器等.捕獲塊所需要的存儲器可以從堆存儲器或另一個 存儲單元分配.在本發(fā)明的示范性實施例中,來自捕獲塊的數(shù)據(jù)只可 以通過傳統(tǒng)的SDI接口 408訪問,而不能通過API 404訪問.在本發(fā) 明的可選實施例中,可以按照要求為所需仿真開發(fā)和部署訓(xùn)練器.訓(xùn) 練器可以是這樣的PC或其他公共硬件平臺,其用來駐留在實際控制器 中運(yùn)行的相同軟件,但是具有諸如缺少對本地I/O的支持的不利特征 或者冗余特征.使用各種命令來配置模擬器。這些命令可以包括選擇所仿真的控 制器的模型類型(例如GE Mark VI數(shù)字控制系統(tǒng)(DCS)或GE Mark Vie DCS等),選擇運(yùn)行模式(例如,實時-調(diào)度時鐘以幀速率運(yùn)行, 或者盡可能最快的-blockware412首尾相接地在死循環(huán)中執(zhí)行),或 者配置目錄(例如,符號表文件的位置、錯誤日志等).如果可用, 在啟動時應(yīng)裝栽符號表.如果沒有裝入該表,所有需要符號表的API 命令將出錯.根據(jù)運(yùn)行命令,調(diào)度時鐘源422連接到構(gòu)件引擎412,拾 取其最后停止的仿真時間.根據(jù)停止命令,調(diào)度時鐘源從構(gòu)件引擎412 斷開,有效地停止仿真時間.在單步模式中,執(zhí)行應(yīng)用程序代碼的一 幀,然后停止.在圖4的示范性實施例中,仿真器能夠通過名稱而不是地址(即 令牌)來保存和恢復(fù)變量,以允許跨越主應(yīng)用程序代碼變化保存和恢 復(fù)控制器狀態(tài)信息。在本發(fā)明的示范性實施例中,仿真器通過以原始 形式捕獲整個vardef 406來保存控制器的狀態(tài),然后將該捕獲與特定 的符號表文件相關(guān),以實現(xiàn)快速保存時間.回溯操作是在其中沒有主應(yīng)用程序代碼變化(即vardef406還沒有 改變)的控制器內(nèi)的狀態(tài)條件的初始化.可以通過用原始保存的值重寫vardef 406來完成回溯操作.恢復(fù)搮作表示在恢復(fù)之前可能已經(jīng)發(fā) 生了主應(yīng)用程序代碼改變.大量復(fù)制vardef 406是不夠的,因為其布 局可能已經(jīng)發(fā)生改變.為了確保將vardef406恢復(fù)到希望的狀態(tài)的最佳 機(jī)會,仿真器(1)將vardef 406置零;(2 )裝入現(xiàn)有的符號表和被 請求的恢復(fù)符號表;以及(3)對兩個符號表中的每個信號,使用在被 請求的恢復(fù)符號表中找到的值和令牌初始化變量.仿真GUI 424可以是仿真執(zhí)行的笫三方開發(fā)者的參考設(shè)計.仿真 GUI 424也可以包括仿真器支持的每個API調(diào)用的工作實例(working example),下面將參考圖5更詳細(xì)地討論仿真GUI.圖5示出了根據(jù)本發(fā)明示范性實施例的仿真執(zhí)行用戶界面502.仿 真執(zhí)行用戶界面502是控制到仿真系統(tǒng)的所有API的困形用戶界面 (GUI).仿真執(zhí)行用戶界面502可以包括各種方便使用的菜單項.這 些菜單項可以分成各種工具欄/可擴(kuò)展的設(shè)置菜單,并且包括嵌套子菜 單,諸如仿真菜單504、非實時子菜單506、觀察窗口 508等.也可以 包括本領(lǐng)域普通技術(shù)人員可以理解的其他子茱單,諸如圖5中示出的 幫助子菜單510.在困5的示范性實施例中,各種工具欄菜單可以提供對在典型 windows GUI上存在的基本項的訪問,所述基本項包括但不限于"New (新建)"菜單項一—用于創(chuàng)建新仿真,"Save(保存)"菜單項一一 用于保存當(dāng)前狀態(tài)下的當(dāng)前仿真,"Open,(打開)"菜單項一一用于 裝入現(xiàn)有仿真等.工具欄菜單還可以包括沒有在圖5的示范性仿真執(zhí) 行用戶界面502中示出的命令,諸如運(yùn)行、停止、暫停、繼續(xù)、保存 和恢復(fù).也可以定制工具欄菜單以為用戶提供對各種設(shè)置選項和命令 的訪問,以配置仿真運(yùn)行或分析現(xiàn)有(或先前存儲的)仿真.可以調(diào) 整的可能設(shè)置的示例是時間步、通過步進(jìn)命令的執(zhí)行控制,以及暫停 和繼續(xù)所有進(jìn)程,在圖5的示范性實施例中,仿真子菜單504包括菜單項(或按鈕) 創(chuàng)建新仿真(Create New)、打開現(xiàn)有仿真(Open Existing)等.創(chuàng)建新 仿真項打開GUI,以創(chuàng)建新仿真配置,該新仿真配置包括將要在仿真 中配置的設(shè)備名稱、分配給每個設(shè)備以及HMI的網(wǎng)絡(luò)地址、單位數(shù)據(jù) 高速通道(UDH)以及設(shè)備數(shù)據(jù)高速通道(PDH)網(wǎng)絡(luò)地址.UDH是 用在發(fā)電設(shè)備中在所有發(fā)電設(shè)備裝置之間傳輸數(shù)據(jù)的數(shù)據(jù)分配TCP/IP協(xié)議。PDH是連接客戶網(wǎng)絡(luò)到他們的發(fā)電設(shè)備硬件的分配TCP/IP協(xié) 議.在可選實施例中,創(chuàng)建新仿真或打開現(xiàn)有仿真GUI項還可以包括 自動配置網(wǎng)絡(luò)地址復(fù)選框,以允許用戶將所有上述提到的地址指定給 特定的NIC (網(wǎng)絡(luò)接口卡)卡分配.仿真子菜單504還可以具有連接 到仿真系統(tǒng)的有規(guī)律地受監(jiān)測的每個裝置的狀態(tài)指示符.在本發(fā)明的 示范性實施例中,當(dāng)裝置沒有啟動時狀態(tài)指示符顯示紅色狀態(tài),當(dāng)裝 置運(yùn)行時顯示綠色狀態(tài).其他未在圖5中示出的命令按鈕可以添加到仿真子菜單504中, 以提供其他功能,諸如"開始仿真(Start Simulation)",其啟動仿真系 統(tǒng)所附帶的所有進(jìn)程;"關(guān)閉仿真(Close Simulation)",其銷毀所有窗 口以及仿真系統(tǒng)附帶的進(jìn)程;"重啟控制器(Reboot Controller)",其 使仿真器的進(jìn)程進(jìn)行循環(huán);"取消(Cancel)",其關(guān)閉GUI并且將用戶 帶回主屏幕;"保存(Save)",其保存用戶輸入的配置;"恢復(fù) (Restore)",其從先前存在的設(shè)置文件恢復(fù)配置.也可以實施本領(lǐng)域 普通技術(shù)人員可以理解的其他命令.交互仿真(Interactive Simulation)子菜單允許訪問包括用于保存、 暫停、恢復(fù)和步進(jìn)功能的菜單項的其他子菜單.在本發(fā)明的示范性實 施例中,非實時子菜單506使得用戶能夠通過使用滑條或其他界面(例 如按鈕、文本框等)來增加和減小仿真的步長.除了上述,非實時子 菜單506可以包括諸如列表框的功能,所述列表框?qū)⒋鎯λ斜4娴?狀態(tài)的名稱和文本以及路徑/位置和用戶添加的關(guān)于仿真的任何評論. 圖5的示范性仿真執(zhí)行還具有到驗證工具的直接鏈接,所述驗證工具 在某些實施例中可以是獨(dú)立的程序.如圖5中所示,也可以被包括"觀察窗口"子菜單508,其可以具 有提示用戶是想要查看模型還是控制系統(tǒng)變量的瀏覽按鈕.模型和控 制系統(tǒng)變量可以由組合/列表框功能分離,這使得用戶能夠容易地從他 們的源查看變量,組合/列表框是分開的GUI界面,其使得終端用戶能 夠在用戶屏幕上的獨(dú)立欄中查看來自附帶進(jìn)程的所有變量.除了這個 功能,觀察窗口子菜單508可以提供改變并沒有被寫入的任何模擬(真 實)值的值以及在控制器內(nèi)人工轉(zhuǎn)移(force)任何邏輯的能力.此外, 觀察窗口子菜單508還可以提供選擇觀察列表中的所有信號的能力并 且具有繪制實時數(shù)據(jù)的選項。受益于以上描述以及相關(guān)附圖中的教導(dǎo),本發(fā)明所屬技術(shù)領(lǐng)域的 技術(shù)人員將會想到此處所述的本發(fā)明的許多修改和其他實施例,因此 應(yīng)理解的是本發(fā)明并不限于公開的具體實施例,修改和其他實施例都 打算包括在隨附權(quán)利要求的范閨內(nèi)。雖然此處采用了具體的術(shù)語,但 是它們僅用于一般的、描述性的意義,而不是為了限制的目的.部件列表102操作系統(tǒng) 104所仿真的控制器 106控制系統(tǒng)邏輯 108工具箱10 HMI112共享存儲器通道114仿真軟件/模型116 定時&控制118 數(shù)據(jù)庫202 框204 框206 框208 框210 框212 框214 框216 框218 框302 控制器模擬器DLL304 ASPE薩YSYS 306控制系統(tǒng)仿真器308 驗證工具 310仿真執(zhí)行 312建模軟件402 工具箱406 vardef408 SDI410 Pcode擴(kuò)展器 412構(gòu)件引擎414 庫416 EGD服務(wù) 418警報掃描器 420數(shù)據(jù)采集 422調(diào)度器424 仿真GUI502 執(zhí)行用戶界面 504仿真子菜單 506非實時子菜單 508觀察窗口子菜單510 幫助子菜單
權(quán)利要求
1.一種對動態(tài)反饋控制系統(tǒng)進(jìn)行仿真的方法,包括經(jīng)由到共享存儲器的公共通道建立控制器的控制系統(tǒng)邏輯的至少一部分和仿真模型之間的連接;檢索多個與控制系統(tǒng)邏輯和仿真模型相關(guān)的狀態(tài)數(shù)據(jù),其中所述狀態(tài)數(shù)據(jù)與先前的仿真相關(guān);用定時和控制機(jī)構(gòu)同步所述多個與控制系統(tǒng)邏輯和仿真模型相關(guān)的狀態(tài)數(shù)據(jù);以及執(zhí)行控制器的仿真。
2. 權(quán)利要求l的方法,進(jìn)一步包括在執(zhí)行所述控制器的仿真時,更新與仿真模型和控制系統(tǒng)邏輯相 關(guān)的狀態(tài)數(shù)據(jù)的至少一部分;并且在數(shù)據(jù)庫中存,更新的狀態(tài)數(shù)據(jù).
3. 權(quán)利要求l的方法,進(jìn)一步包括從圖形用戶界面接受命令,用于對狀態(tài)數(shù)據(jù)的至少一部分執(zhí)行回 歸分析以預(yù)測未來仿真結(jié)果,
4. 權(quán)利要求l的方法,其中控制器的仿真的執(zhí)行包括從指定的起 始步驟步進(jìn)到指定的結(jié)束步猓,然后停止,并且等待下一個命令或調(diào) 用程序,
5. —種準(zhǔn)備仿真動態(tài)反饋控制系統(tǒng)的方法,包括 經(jīng)由到共享存儲器的公共通道在控制器的控制系統(tǒng)邏輯的至少一部分和仿真軟件之間建立連接,其中所述仿真軟件包括仿真模型;接受從圖形用戶界面接收的命令,以在控制系統(tǒng)邏輯的所述至少 一部分和該仿真軟件之間建立輸入/輸出(I/O)部件的連接;在所述(I/O)部件連接中檢測錯誤;識別與所述錯誤相關(guān)的輸入和輸出信號命名失配;以及校正所述輸入和輸出信號命名失配,
6. 權(quán)利要求5的方法,進(jìn)一步包括檢索與控制系統(tǒng)邏輯的所述至少一部分和所述仿真模型相關(guān)的多 個狀態(tài)數(shù)據(jù),其中所述狀態(tài)數(shù)據(jù)與先前的仿真相關(guān); 同步仿真模型和控制系統(tǒng)邏輯;以及 執(zhí)行仿真.
7. 權(quán)利要求5的方法,進(jìn)一步包括從困形用戶界面接受用于調(diào)整與仿真相關(guān)的狀態(tài)數(shù)據(jù)的命令,
8. 權(quán)利要求5的方法,進(jìn)一步包括在執(zhí)行仿真之前,從圖形用戶界面接受用于調(diào)整與仿真相關(guān)的至 少一個控制系統(tǒng)設(shè)置的命令.
9. 一種用于對動態(tài)反饋控制系統(tǒng)進(jìn)行仿真的系統(tǒng),包括 與共享存儲器通信的仿真軟件,其中所述仿真軟件包括仿真模型;與控制器相關(guān)的控制系統(tǒng)邏輯的至少一部分,所述控制器與所述 共享存儲器通信,其中所述共享存儲器經(jīng)由公共通道建立到控制器的 控制系統(tǒng)邏輯的至少一部分和仿真軟件的連接;與仿真軟件和控制器通信的數(shù)據(jù)庫,其中與控制系統(tǒng)邏輯和仿真 模型相關(guān)的多個狀態(tài)數(shù)據(jù)存儲在該數(shù)據(jù)庫中;以及與控制器和仿真軟件通信的定時和控制機(jī)構(gòu),其中所述定時和控 制機(jī)構(gòu)使仿真軟件和控制系統(tǒng)邏輯的所述至少一部分同步,
10. 權(quán)利要求9的方法,進(jìn)一步包括與控制系統(tǒng)邏輯的所述至少 一部分通信的圖形用戶界面,用于接受配置或執(zhí)行仿真的用戶命令。
全文摘要
用于輪機(jī)控制仿真的系統(tǒng)和方法。用于對動態(tài)反饋控制系統(tǒng)進(jìn)行仿真的系統(tǒng)和方法包括經(jīng)由到共享存儲器(112)的公共通道在要仿真的控制器(104)的控制系統(tǒng)邏輯(106)和仿真模型(114)之間建立連接。從存儲器檢索來自先前仿真的與控制系統(tǒng)邏輯(106)和仿真模型(114)相關(guān)的狀態(tài)數(shù)據(jù)以初始化另一次仿真運(yùn)行。然后用定時和控制機(jī)構(gòu)(116)同步與控制系統(tǒng)邏輯(106)和仿真模型(114)相關(guān)的狀態(tài)數(shù)據(jù),并且執(zhí)行控制器的仿真。也可以提供圖形用戶界面(502)以允許用戶調(diào)整仿真設(shè)置(504)以及用將用在仿真中的輸入/輸出部件建立新連接。
文檔編號G06F17/50GK101226564SQ200810003049
公開日2008年7月23日 申請日期2008年1月10日 優(yōu)先權(quán)日2007年1月10日
發(fā)明者A·艾哈邁德, B·P·K·, C·J·賽納德, C·S·烏杜帕, G·J·莫爾頓, K·D·明頓, K·W·博格斯, S·戈帕拉克里什南 申請人:通用電氣公司