控制系統(tǒng)模擬系統(tǒng)和方法
【專利摘要】本發(fā)明題為控制系統(tǒng)模擬系統(tǒng)和方法。非暫時(shí)有形計(jì)算機(jī)可讀介質(zhì)可包括由模擬系統(tǒng)中的處理器可執(zhí)行以進(jìn)行模擬的指令。指令可包括等待多個(gè)虛擬控制器完成前一模擬步驟,把來自多個(gè)虛擬控制器的每個(gè)的前一步驟的結(jié)果寫到共享存儲(chǔ)器,從存儲(chǔ)器將輸入讀取到多個(gè)虛擬控制器的每個(gè),在多個(gè)虛擬控制器的每個(gè)上發(fā)起模擬步驟,以及在多個(gè)虛擬控制器的每個(gè)中的模擬步驟的發(fā)起時(shí)指示模擬的完成,其中多個(gè)虛擬控制器包括具有多個(gè)模擬步驟的控制器模型,并且指令配置成由處理器并行地執(zhí)行。
【專利說明】控制系統(tǒng)模擬系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]一般來說,本文所公開的主題涉及模擬系統(tǒng),以及更具體來說,涉及用來模擬控制設(shè)施、設(shè)備和過程中有用的控制系統(tǒng)的操作的模擬系統(tǒng)。
【背景技術(shù)】
[0002]用于過程、設(shè)施和設(shè)備的控制系統(tǒng)可包括配置控制系統(tǒng)如何監(jiān)測(cè)和控制過程、設(shè)施和設(shè)備的大量邏輯。例如,控制系統(tǒng)可包括控制器,其設(shè)計(jì)成監(jiān)測(cè)和控制過程、設(shè)施和/或設(shè)備。為了改進(jìn)控制系統(tǒng)的操作,包括虛擬控制器、組件模型、過程模型或者它們的任何組合的模擬系統(tǒng)可用來模擬控制系統(tǒng)的操作。相應(yīng)地,改進(jìn)這種模擬系統(tǒng)的模擬邏輯是有益的。
【發(fā)明內(nèi)容】
[0003]下面概述范圍與最初要求保護(hù)的本發(fā)明相稱的某些實(shí)施例。這些實(shí)施例不是意在限制要求保護(hù)的本發(fā)明的范圍,這些實(shí)施例而是僅預(yù)計(jì)提供本發(fā)明的可能形式的概述。實(shí)際上,本發(fā)明可包含可與下面提出的實(shí)施例相似或不同的多種形式。
[0004]在第一實(shí)施例中,非暫時(shí)有形計(jì)算機(jī)可讀介質(zhì)可包括由模擬系統(tǒng)中的處理器可執(zhí)行以進(jìn)行模擬的指令。指令可包括等待多個(gè)虛擬控制器完成前一模擬步驟,把來自多個(gè)虛擬控制器的每個(gè)的前一步驟的結(jié)果寫到共享存儲(chǔ)器,從存儲(chǔ)器將輸入讀取到多個(gè)虛擬控制器的每個(gè),在多個(gè)虛擬控制器的每個(gè)上發(fā)起模擬步驟,以及在多個(gè)虛擬控制器的每個(gè)中的模擬步驟的發(fā)起時(shí)指示模擬的完成,其中多個(gè)虛擬控制器包括具有多個(gè)模擬步驟的控制器模型,并且指令配置成由處理器并行地執(zhí)行。
[0005]在第二實(shí)施例中,一種操作模擬系統(tǒng)中的通信包(communicat1n package)的方法包括從模擬執(zhí)行器(simulat1n executive)來接收在多個(gè)虛擬控制器上執(zhí)行模擬步驟的指令,其中多個(gè)虛擬控制器的每個(gè)包括包含多個(gè)模擬步驟的控制器模型。該方法還包括等待多個(gè)虛擬控制器的每個(gè)完成前一模擬步驟,指示多個(gè)虛擬控制器的每個(gè)將前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器,指示多個(gè)虛擬控制器的每個(gè)從共享存儲(chǔ)器讀取輸入,指示多個(gè)虛擬控制器的每個(gè)開始模擬步驟的執(zhí)行、以使虛擬控制器的每個(gè)能夠并行地執(zhí)行模擬步驟,將完成狀態(tài)傳送給模擬執(zhí)行器而無需等待多個(gè)虛擬控制器完成模擬步驟。
[0006]在第三實(shí)施例中,模擬控制系統(tǒng)的操作的模擬系統(tǒng)包括處理器,其可執(zhí)行模擬執(zhí)行器以協(xié)調(diào)模擬系統(tǒng)和多個(gè)虛擬控制器的操作,其中多個(gè)虛擬控制器的每個(gè)包括包含多個(gè)模擬步驟的控制器模型,以模擬物理控制器的操作,以及多個(gè)虛擬控制器的每個(gè)與多個(gè)虛擬控制器的另一虛擬控制器并行地執(zhí)行模擬步驟。處理器也可執(zhí)行通信接口,其在通信上耦合到模擬執(zhí)行器和多個(gè)虛擬控制器,其中通信接口從模擬執(zhí)行器接收?qǐng)?zhí)行模擬步驟的指令,指示多個(gè)虛擬控制器的每個(gè)開始模擬步驟的并行執(zhí)行,以及在多個(gè)虛擬控制器的每個(gè)中開始模擬步驟的執(zhí)行時(shí)將完成狀態(tài)傳送給模擬執(zhí)行器。
[0007]按照本公開的第一方面,提供一種存儲(chǔ)模擬系統(tǒng)中的處理器可執(zhí)行以進(jìn)行模擬的指令的非暫時(shí)有形計(jì)算機(jī)可讀介質(zhì),所述指令配置成:
等待多個(gè)虛擬控制器完成前一模擬步驟;
把來自所述多個(gè)虛擬控制器的每個(gè)的所述前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器;
從所述存儲(chǔ)器將輸入讀取到所述多個(gè)虛擬控制器的每個(gè);
在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起模擬步驟;以及
在所述多個(gè)虛擬控制器的每個(gè)中發(fā)起所述模擬步驟時(shí),指示所述模擬的完成,其中所述多個(gè)虛擬控制器包括具有多個(gè)模擬步驟的控制器模型,并且所述指令配置成由所述處理器并行地執(zhí)行。
[0008]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在獨(dú)立計(jì)算線程中發(fā)起各模擬步驟的指令。
[0009]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在獨(dú)立處理核心中發(fā)起各模擬步驟的指令。
[0010]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器的每個(gè)上依次發(fā)起所述模擬步驟的指令。
[0011]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器的每個(gè)上基本上同時(shí)發(fā)起所述模擬步驟的指令。
[0012]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成等待所述多個(gè)虛擬控制器完成前一模擬步驟的所述指令包括配置成檢查所述多個(gè)虛擬控制器的每個(gè)的狀態(tài)的指令,其中所述多個(gè)虛擬控制器的所述狀態(tài)作為陣列來存儲(chǔ)。
[0013]按照第一方面的計(jì)算機(jī)可讀介質(zhì),其中,配置成等待所述多個(gè)虛擬控制器完成前一模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器之一在所指定時(shí)間期間之內(nèi)沒有完成所述前一模擬步驟時(shí)超時(shí)的指令。
[0014]按照本公開的第二方面,提供一種操作模擬系統(tǒng)中的通信包的方法,包括:
從模擬執(zhí)行器接收在多個(gè)虛擬控制器上執(zhí)行模擬步驟的指令,其中所述多個(gè)虛擬控制器的每個(gè)包括包含多個(gè)模擬步驟的控制器模型;
等待所述多個(gè)虛擬控制器的每個(gè)完成前一模擬步驟;
指示所述多個(gè)虛擬控制器的每個(gè)將所述前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器;
指示所述多個(gè)虛擬控制器的每個(gè)從所述共享存儲(chǔ)器讀取輸入;
指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行,以使所述虛擬控制器的每個(gè)能夠并行地執(zhí)行所述模擬步驟;以及
向所述模擬執(zhí)行器傳送完成狀態(tài),而無需等待所述多個(gè)虛擬控制器完成所述模擬步驟。
[0015]按照第二方面的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行包括指示所述多個(gè)虛擬控制器的每個(gè)在獨(dú)立計(jì)算線程上開始所述模擬步驟的執(zhí)行。
[0016]按照第二方面的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行包括指示所述多個(gè)虛擬控制器的每個(gè)在獨(dú)立處理核心上開始所述模擬步驟的執(zhí)行。
[0017]按照第二方面的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)將所述前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器包括依次指示所述多個(gè)控制器的每個(gè),并且在指示后一虛擬控制器之前等待所述多個(gè)虛擬控制器的每個(gè)完成寫入。
[0018]按照第二方面的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)從所述共享存儲(chǔ)器讀取輸入包括依次指示所述多個(gè)控制器的每個(gè),并且在指示后一虛擬控制器之前等待所述多個(gè)虛擬控制器的每個(gè)完成讀取。
[0019]按照第二方面的方法,包括存儲(chǔ)所述多個(gè)虛擬控制器的每個(gè)的執(zhí)行狀態(tài),其中等待所述多個(gè)虛擬控制器完成前一模擬步驟包括檢查所述多個(gè)虛擬控制器的所述狀態(tài)。
[0020]按照本公開的第三方面,提供一種配置成模擬控制系統(tǒng)的操作的模擬系統(tǒng),包括:
處理器,配置成執(zhí)行:
模擬執(zhí)行器,配置成協(xié)調(diào)所述模擬系統(tǒng)的操作;
多個(gè)虛擬控制器,其中所述多個(gè)虛擬控制器的每個(gè)包括包含多個(gè)模擬步驟的控制器模型,以模擬物理控制器的操作,并且所述多個(gè)虛擬控制器的每個(gè)配置成與所述多個(gè)虛擬控制器的其它虛擬控制器并行地執(zhí)行模擬步驟;以及
通信接口,在通信上耦合到所述模擬執(zhí)行器和所述多個(gè)虛擬控制器,其中所述通信接口配置成:
從所述模擬執(zhí)行器接收?qǐng)?zhí)行模擬步驟的指令;
指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的并行執(zhí)行;以及在所述多個(gè)虛擬控制器的每個(gè)中開始所述模擬步驟的執(zhí)行時(shí)向所述模擬執(zhí)行器傳送完成狀態(tài)。
[0021]按照第三方面的模擬系統(tǒng),其中,所述處理器配置成執(zhí)行:
包括多個(gè)模塊步驟的多個(gè)組件模型,其中所述多個(gè)組件模型的每個(gè)配置成模擬所述控制系統(tǒng)中的組件的操作;以及
包括多個(gè)模擬步驟的多個(gè)過程模型,其中所述多個(gè)過程模型的每個(gè)配置成模擬所述控制系統(tǒng)中的過程,其中所述通信接口配置成指示所述多個(gè)虛擬控制器、所述組件模型、所述過程模型或者它們的任何組合的每個(gè)開始所述模擬步驟的并行執(zhí)行。
[0022]按照第三方面的模擬系統(tǒng),其中,所述處理器包括多線程處理器,其中所述多個(gè)虛擬控制器的每個(gè)配置成在所述多線程處理器的獨(dú)立計(jì)算線程上執(zhí)行所述模擬步驟。
[0023]按照第三方面的模擬系統(tǒng),其中,所述處理器包括多核處理器,其中所述多個(gè)虛擬控制器的每個(gè)配置成在所述多線程處理器的獨(dú)立處理核心上執(zhí)行所述模擬步驟。
[0024]按照第三方面的模擬系統(tǒng),包括在通信上耦合到所述處理器的共享存儲(chǔ)器,其中所述多個(gè)虛擬控制器配置成在各模擬步驟之后將所述控制器模型的結(jié)果存儲(chǔ)在所述共享存儲(chǔ)器中,并且在各模擬步驟之前從所述共享存儲(chǔ)器來檢索所述控制器模型的輸入。
[0025]按照第三方面的模擬系統(tǒng),其中,所述多個(gè)虛擬控制器配置成至少部分基于從所述物理控制器所接收的數(shù)據(jù)來執(zhí)行所述模擬步驟。
[0026]按照第三方面的模擬系統(tǒng),其中,所述模擬系統(tǒng)配置成模擬燃?xì)鉁u輪機(jī)系統(tǒng)、氣化系統(tǒng)、蒸汽渦輪機(jī)系統(tǒng)、風(fēng)力渦輪機(jī)系統(tǒng)、水力渦輪機(jī)系統(tǒng)、發(fā)電系統(tǒng)、整體氣化聯(lián)合循環(huán)系統(tǒng)或者它們的任何組合的操作。
【專利附圖】
【附圖說明】
[0027]通過參照附圖閱讀以下詳細(xì)描述,將會(huì)更好地了解本發(fā)明的這些及其它特征、方面和優(yōu)點(diǎn),附圖中,相似標(biāo)號(hào)在附圖中通篇表示相似部件,附圖包括:
圖1是按照一實(shí)施例、包括控制系統(tǒng)的工業(yè)設(shè)施的框圖;
圖2是按照一實(shí)施例、適合于模擬圖1的控制系統(tǒng)的模擬系統(tǒng)的框圖;
圖3是按照一實(shí)施例、圖2所示模擬系統(tǒng)的信息流程圖;
圖4是按照一實(shí)施例、從物理控制器接收所捕獲狀態(tài)的虛擬控制器的框圖;
圖5是按照一實(shí)施例、圖2所示模擬系統(tǒng)的信息流程圖;
圖6是按照一實(shí)施例、圖2所示模擬系統(tǒng)的設(shè)定顯示;
圖7是示出按照一實(shí)施例、在選擇依次模式時(shí)的圖2所示模擬系統(tǒng)的操作的顯示;以及圖8是示出按照一實(shí)施例、在選擇并行模式時(shí)的圖2所示模擬系統(tǒng)的操作的顯示。
【具體實(shí)施方式】
[0028]下面將描述本發(fā)明的一個(gè)或多個(gè)具體實(shí)施例。在提供這些實(shí)施例的簡要描述的過程中,本說明書中可能沒有描述實(shí)際實(shí)現(xiàn)的所有特征。應(yīng)當(dāng)理解,在任何這種實(shí)際實(shí)現(xiàn)的開發(fā)中,如同任何工程或設(shè)計(jì)項(xiàng)目中那樣,必須進(jìn)行許多實(shí)現(xiàn)特定的判定以便實(shí)現(xiàn)開發(fā)人員的特定目標(biāo),例如符合系統(tǒng)相關(guān)和業(yè)務(wù)相關(guān)限制,這些限制可對(duì)每個(gè)實(shí)現(xiàn)而改變。此外,應(yīng)當(dāng)理解,這種開發(fā)工作可能是復(fù)雜且費(fèi)時(shí)的,但仍然是獲益于本公開的技術(shù)人員進(jìn)行的設(shè)計(jì)、制作和制造的日常事務(wù)。
[0029]在介紹本發(fā)明的各個(gè)實(shí)施例的元件時(shí),限定詞“一”、“一個(gè)”、“該”和“所述”預(yù)計(jì)表示存在元件的一個(gè)或多個(gè)。術(shù)語“包含”、“包括”和“具有”預(yù)計(jì)包括在內(nèi),并且表示可存在除了列示元件之外的附加元件。
[0030]一般來說,控制系統(tǒng)包括適合于監(jiān)測(cè)和/或控制過程(例如工業(yè)過程)、設(shè)施和/或設(shè)備的各種控制器(例如工業(yè)控制器)。例如,控制器可監(jiān)測(cè)和控制諸如燃?xì)鉁u輪機(jī)系統(tǒng)、氣化系統(tǒng)、蒸汽渦輪機(jī)系統(tǒng)、風(fēng)力渦輪機(jī)系統(tǒng)、水力渦輪機(jī)系統(tǒng)、發(fā)電系統(tǒng)、整體氣化聯(lián)合循環(huán)系統(tǒng)或者它們的任何組合之類的工業(yè)系統(tǒng)中的其它組件(例如機(jī)械)和過程的操作。
[0031]控制系統(tǒng)、過程、設(shè)施和/或設(shè)備的操作可由運(yùn)行于工作站或其它計(jì)算裝置的系統(tǒng)來模擬。在一些實(shí)施例中,可進(jìn)行(例如執(zhí)行總共離散數(shù)量的預(yù)期步驟)模擬,以逐步地實(shí)現(xiàn)過程、設(shè)施或設(shè)備的部分的分析。例如,由物理控制器所進(jìn)行的控制動(dòng)作或者動(dòng)作序列可首先在虛擬控制器中模擬。相應(yīng)地,模擬系統(tǒng)可包括各種模型,其各包括多個(gè)模擬步驟,適合于模擬物理控制器、組件和過程的操作。在一些實(shí)施例中,模擬系統(tǒng)可依次執(zhí)行模擬步驟。例如,模擬系統(tǒng)可執(zhí)行第一模擬步驟,等待第一模擬步驟完成,執(zhí)行第二模擬步驟,等待第二模擬完成,依此類推。但是,通過更有效地利用處理架構(gòu)、例如多線程和多核處理器的進(jìn)步來改進(jìn)模擬系統(tǒng)的模擬效率會(huì)是有益的。
[0032]相應(yīng)地,本公開在一個(gè)實(shí)施例中包括非暫時(shí)有形計(jì)算機(jī)可讀介質(zhì),其中包括由模擬系統(tǒng)中的處理器可執(zhí)行以進(jìn)行模擬的指令。指令可包括等待多個(gè)虛擬控制器完成前一模擬步驟,把來自多個(gè)虛擬控制器的每個(gè)的前一步驟的結(jié)果寫到共享存儲(chǔ)器,從存儲(chǔ)器將輸入讀取到多個(gè)虛擬控制器的每個(gè),在多個(gè)虛擬控制器的每個(gè)上發(fā)起模擬步驟,以及在多個(gè)虛擬控制器的每個(gè)中的模擬步驟的發(fā)起時(shí)指示模擬的完成,其中多個(gè)虛擬控制器包括具有多個(gè)模擬步驟的控制器模型,并且指令配置成由處理器并行地執(zhí)行。換言之,不是依次執(zhí)行模擬步驟,模擬步驟而是并行地執(zhí)行,以改進(jìn)模擬系統(tǒng)的模擬效率。在一些實(shí)施例中,這可使模擬系統(tǒng)能夠比實(shí)時(shí)操作基本上更迅速地模擬操作。下面描述若干新技術(shù),其在模擬例如與物理控制器相關(guān)的并行分支時(shí)可改進(jìn)模擬時(shí)間和/或存儲(chǔ)器/處理限制。如能夠理解,這也可改進(jìn)測(cè)試效率、組件的驗(yàn)證等。
[0033]作為介紹,圖1示出耦合到工業(yè)控制系統(tǒng)12的工業(yè)系統(tǒng)10 (例如發(fā)電站)的一個(gè)實(shí)施例。雖然描述工業(yè)系統(tǒng)10,但是本文所述的技術(shù)可適合其它過程、設(shè)施或設(shè)備。如所示,工業(yè)系統(tǒng)10包括過程14、渦輪機(jī)16和發(fā)電組件18。工業(yè)系統(tǒng)10的其它實(shí)施例可包括其它過程和組件,例如氣化器、氣體處理系統(tǒng)(例如酸性氣體去除)、空氣分離單元、壓縮機(jī)、風(fēng)扇、鼓風(fēng)機(jī)、攪拌機(jī)、混合機(jī)、離心機(jī)、打漿機(jī)、球磨機(jī)、破碎機(jī)/粉碎機(jī)、擠出機(jī)、造粒機(jī)、冷卻塔/熱交換器風(fēng)扇等。
[0034]另外,在所示實(shí)施例中,過程14、渦輪機(jī)16和發(fā)電組件18可包括任何數(shù)量的傳感器20和致動(dòng)器/電動(dòng)機(jī)22。更具體來說,傳感器20可提供與過程條件有關(guān)的信息。例如,傳感器可監(jiān)測(cè)溫度、壓力、速度、流體流率、振動(dòng)、噪聲、廢氣排放、功率輸出、凈空或者任何其它適當(dāng)參數(shù)。致動(dòng)器22可響應(yīng)輸入信號(hào)而進(jìn)行機(jī)械動(dòng)作。例如,致動(dòng)器22可控制燃料注入速率、稀釋劑或水注入速率、冷卻劑速率、功率輸出等級(jí)、速度、流率、凈空等。如所示,傳感器20和致動(dòng)器22經(jīng)由輸入/輸出24與控制系統(tǒng)12進(jìn)行通信。更具體來說,傳感器20和致動(dòng)器22可與控制器26 (例如可編程邏輯控制器)進(jìn)行通信,以促進(jìn)工業(yè)系統(tǒng)10的監(jiān)測(cè)和控制。如本文所使用的控制器26可稱作“物理控制器”。在一些實(shí)施例中,控制器26可以是 General Electric Company (Schenectady, New York)所提供的 Mark Vie? 控件或Mark VIeS?控件。在一些實(shí)施例中,僅使用一個(gè)控制器26。在另一個(gè)實(shí)施例中,三個(gè)控制器(例如R、S、T核心控制器)用來提供具有增強(qiáng)冗余度和故障轉(zhuǎn)移能力的三模冗余(TMR)控制系統(tǒng)12。TMR控制系統(tǒng)12例如可采用通過三個(gè)核心R、S和T的表決所確定的輸出來進(jìn)行任務(wù)。在其它實(shí)施例中,可使用四個(gè)或更多核心。
[0035]另外,控制系統(tǒng)12可耦合到一個(gè)或多個(gè)工作站28并且與其通信,一個(gè)或多個(gè)工作站28可包括臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或者其它適當(dāng)計(jì)算裝置。工作站28可使操作人員能夠進(jìn)行各種功能,例如監(jiān)測(cè)控制系統(tǒng)12的組件(例如控制器26和輸入/輸出24),以及模擬控制系統(tǒng)12和工業(yè)系統(tǒng)10的操作。更具體來說,為了促進(jìn)模擬,一個(gè)或多個(gè)工作站或其它計(jì)算裝置28可包含在模擬系統(tǒng)中。也就是說,模擬可包括多個(gè)計(jì)算裝置28,以提供附加計(jì)算能力。模擬系統(tǒng)30的一個(gè)實(shí)施例的框圖在圖2中示出。如所示,模擬系統(tǒng)30包括多個(gè)計(jì)算裝置28 (例如計(jì)算裝置1、計(jì)算裝置2、計(jì)算裝置N)。此外,各計(jì)算裝置28包括處理器32和存儲(chǔ)器34。在一些實(shí)施例中,處理器32可以是多線程處理器、多核處理器、多個(gè)分立處理器或者它們的任何組合。相應(yīng)地,計(jì)算裝置28的每個(gè)、更具體來說是處理器32和存儲(chǔ)器34可使操作人員能夠進(jìn)行功能,例如監(jiān)測(cè)控制系統(tǒng)12的組件(例如控制器26和輸入/輸出24),以及模擬控制系統(tǒng)12和工業(yè)系統(tǒng)10的操作。另外,計(jì)算裝置28的每個(gè)可經(jīng)由網(wǎng)絡(luò)35、例如以太網(wǎng)等在通信上與計(jì)算裝置28耦合。如能夠理解,通過利用本文所述的技術(shù),模擬系統(tǒng)30的其它實(shí)施例利用更少的計(jì)算裝置28,以及在一些實(shí)施例中可以僅包括一個(gè)計(jì)算裝置28。
[0036]為了模擬控制系統(tǒng)12和工業(yè)系統(tǒng)10的操作,模擬系統(tǒng)30可利用虛擬控制器和各種模型。更具體來說,模擬系統(tǒng)30可通過執(zhí)行一個(gè)或多個(gè)虛擬控制器來模擬控制系統(tǒng)12的操作,以及通過執(zhí)行一個(gè)或多個(gè)組件模型和過程模型來模擬工業(yè)系統(tǒng)10的操作。模擬系統(tǒng)30中的信息流程的一個(gè)實(shí)施例在圖3中示出。如所示,模擬系統(tǒng)30包括模擬執(zhí)行器38、監(jiān)測(cè)器40、虛擬控制器42、組件模型44、過程模型46和共享存儲(chǔ)器50。在一些實(shí)施例中,模擬執(zhí)行器38、監(jiān)測(cè)器40、虛擬控制器42、組件模型44和過程模型46可由處理器32來執(zhí)行,并且由模擬系統(tǒng)30中的各種計(jì)算裝置30的存儲(chǔ)器34來存儲(chǔ)。例如,模擬執(zhí)行器38可在第一計(jì)算裝置上存儲(chǔ)和執(zhí)行,而監(jiān)測(cè)器40和虛擬控制器42的每個(gè)可在第二計(jì)算裝置上存儲(chǔ)和執(zhí)行。另外,共享存儲(chǔ)器50可利用各種計(jì)算裝置30的物理存儲(chǔ)器34。模擬系統(tǒng)30的預(yù)期配置可基于各種因素來調(diào)整,例如各計(jì)算裝置28的計(jì)算和存儲(chǔ)能力以及虛擬控制器42和模型(例如組件模型44和過程模型36)的計(jì)算和存儲(chǔ)要求。相應(yīng)地,下面作為整體來描述模擬系統(tǒng)30,而沒有區(qū)分各種物理計(jì)算裝置28。
[0037]如所示,模擬執(zhí)行器38在通信上耦合到監(jiān)測(cè)器40,以便使模擬執(zhí)行器38和監(jiān)測(cè)器40能夠進(jìn)行通信。例如,模擬執(zhí)行器38可將指令傳遞給監(jiān)測(cè)器40,以及更一般來說提供模擬管理和控制。另外,監(jiān)測(cè)器40在通信上耦合到虛擬控制器42、組件模型44和過程模型46,以便使監(jiān)測(cè)器40能夠控制虛擬控制器42、組件模型44和過程模型46的操作。此外,虛擬控制器42、組件模型44和過程模型46可耦合到共享存儲(chǔ)器50,以便使虛擬控制器42、組件模型44和過程模型46能夠?qū)蚕泶鎯?chǔ)器50進(jìn)行寫入并且從共享存儲(chǔ)器50進(jìn)行讀取。
[0038]更具體來說,模擬執(zhí)行器38可負(fù)責(zé)協(xié)調(diào)模擬的執(zhí)行。換言之,模擬執(zhí)行器38可保持模擬步驟的執(zhí)行之間的時(shí)間相干性,因?yàn)槟M步驟各可具有不同的執(zhí)行期間。例如,組件模型44可具有10 ms的執(zhí)行步驟或期間,而虛擬控制器可具有40、80、120或160 ms的執(zhí)行步驟或期間。相應(yīng)地,模擬執(zhí)行器38可指示特定虛擬控制器42和模型(例如組件模型44和過程模型46)進(jìn)行特定動(dòng)作。模擬執(zhí)行器38可傳送識(shí)別虛擬控制器42和控制動(dòng)作、例如執(zhí)行控制過程步驟的指令。為了促進(jìn)模擬執(zhí)行器38與虛擬控制器42或各種模型之間的指令的傳遞,監(jiān)測(cè)器40可用作中介。換言之,監(jiān)測(cè)器40可以是通信接口或系統(tǒng)。更具體來說,監(jiān)測(cè)器40可從模擬執(zhí)行器38接收識(shí)別哪些虛擬控制器42或模型要進(jìn)行特定控制動(dòng)作的指令?;谶@個(gè)指令,監(jiān)測(cè)器40可指示所識(shí)別虛擬控制器42來進(jìn)行所指定控制動(dòng)作。相應(yīng)地,在一些實(shí)施例中,監(jiān)測(cè)器400可包含在與裝置28執(zhí)行或指示的虛擬控制器40相同的計(jì)算裝置28上。另外,可利用多個(gè)監(jiān)測(cè)器40。例如,在一些實(shí)施例中,一個(gè)監(jiān)測(cè)器40可包含在執(zhí)行虛擬控制器42或模型44、46的各計(jì)算裝置28上。另外,模擬執(zhí)行器38可提供其它動(dòng)作,例如對(duì)共享存儲(chǔ)器50進(jìn)行寫入以及從共享存儲(chǔ)器50進(jìn)行讀取。在一些實(shí)施例中,模擬執(zhí)行器 38 可以是 General Electric Company (Schenectady, New York)所提供的加速實(shí)時(shí)引擎模型交互模擬(ARTEMIS)。
[0039]如上所述,模擬系統(tǒng)30可包括虛擬控制器42、組件模型44、過程模型46或者它們的任何組合,以實(shí)現(xiàn)控制系統(tǒng)12或者控制系統(tǒng)12的組件的模擬。更具體來說,虛擬控制器42可模擬物理控制器26的操作。相應(yīng)地,各虛擬控制器42可包括控制器模型,其由多個(gè)模擬步驟或計(jì)算機(jī)可執(zhí)行指令所組成。在一些實(shí)施例中,虛擬控制器42可以以充分保真度來模擬Mark Vie "*控制器和/或Mark VIeS "*控制器。
[0040]在一些實(shí)施例中,在虛擬控制器42中進(jìn)行的模擬可至少部分基于物理控制器26的一個(gè)或多個(gè)的所捕獲狀態(tài),其可包括過程變量、狀態(tài)變量、診斷信息、告警信息、事件信息、控制命令等。從物理控制器26接收所捕獲狀態(tài)的虛擬控制器42的一個(gè)實(shí)施例在圖4中示出。如所示,物理控制器26的所捕獲狀態(tài)52存儲(chǔ)在物理控制器26的存儲(chǔ)器54中。所捕獲狀態(tài)52然后可傳遞給虛擬控制器46。例如,所捕獲狀態(tài)52可在控制器26的一個(gè)或多個(gè)執(zhí)行步驟之后、在預(yù)期時(shí)間期間(例如1、10、100、1000秒或以上)、通過使用調(diào)試設(shè)置點(diǎn)或者其組合來捕獲。在接收所捕獲狀態(tài)52之后,所捕獲狀態(tài)可在虛擬控制器46中恢復(fù)。例如,虛擬控制器46可選擇匹配所捕獲狀態(tài)52的對(duì)應(yīng)模型狀態(tài)。虛擬控制器46然后可至少部分基于對(duì)應(yīng)模型狀態(tài)來執(zhí)行模擬步驟。
[0041 ] 類似地,各組件模型44可對(duì)組件(例如渦輪機(jī)16或發(fā)電18)的操作進(jìn)行建模,以及各過程模型46可對(duì)工業(yè)系統(tǒng)10中的過程14的操作進(jìn)行建模,其中各模型由多個(gè)模擬步驟或者可執(zhí)行指令來組成。這些模型可基于第一原理,例如基于物理學(xué)的技術(shù)(例如低循環(huán)疲勞(LCF)使用壽命預(yù)測(cè)模型、計(jì)算流體動(dòng)力學(xué)(CFD)模型、有限元分析(FEA)模型、固態(tài)模型(例如參數(shù)和非參數(shù)建模)和/或3維-2維FEA映射模型)。相應(yīng)地,在一些實(shí)施例中,組件模型 44 可以是 MSC Software Corporat1n (Santa Ana, California)所提供的Easy5模型。另外,在一些實(shí)施例中,過程模型46可以是Invensys PLC (London, UnitedKingdom)所提供的DynSim模型。
[0042]此外,共享存儲(chǔ)器50可用來促進(jìn)虛擬控制器42和/或模型的每個(gè)之間的數(shù)據(jù)的傳遞。更具體來說,各模擬步驟的輸入可從共享存儲(chǔ)器50來讀取,以及各模擬步驟的輸出(例如結(jié)果)可存儲(chǔ)在共享存儲(chǔ)器50中。換言之,共享存儲(chǔ)器50存儲(chǔ)控制系統(tǒng)12和/或工業(yè)系統(tǒng)10的模擬狀態(tài)(例如操作參數(shù)),在各模擬迭代的執(zhí)行之后更新狀態(tài),并且可以是模擬系統(tǒng)30的組件的任一個(gè)可訪問的(例如讀取/寫入)。例如,可進(jìn)行模擬的一次迭代,來自那次迭代的結(jié)果可存儲(chǔ)在共享存儲(chǔ)器50中以更新狀態(tài),并且后續(xù)迭代可采用已更新狀態(tài)來進(jìn)行。如本文所使用的“模擬的一次迭代”預(yù)計(jì)描述基于控制系統(tǒng)12和/或工業(yè)系統(tǒng)10的相同狀態(tài)來執(zhí)行的模擬步驟的集合。在一些實(shí)施例中,共享存儲(chǔ)器50可以是 General Electric Company (Schenectady, New York)所提供的反射存儲(chǔ)器系統(tǒng)(Reflective Memory system)。
[0043]如上所述,t旲擬系統(tǒng)30實(shí)現(xiàn)控制系統(tǒng)12和/或工業(yè)系統(tǒng)10的I旲擬。I旲擬系統(tǒng)30的操作的一個(gè)實(shí)施例在圖5中示出。為了簡化論述,將相對(duì)控制系統(tǒng)10的模擬來描述模擬系統(tǒng)30。但是,能夠理解,以下所述的技術(shù)可適用于工業(yè)系統(tǒng)10的模擬或者利用由多個(gè)模擬步驟所組成的模擬模型的任何過程、設(shè)備或設(shè)施的模擬。
[0044]圖5是示出模擬系統(tǒng)30的模擬執(zhí)行器38、監(jiān)測(cè)器40和虛擬控制器42之間的信息流程的一實(shí)施例的信息流程圖。如所示,模擬迭代的執(zhí)行在監(jiān)測(cè)器40接收來自模擬執(zhí)行器38的寫輸出指令(過程箭頭56)時(shí)開始。監(jiān)測(cè)器40則可等待虛擬控制器42的每個(gè)完成前一模擬步驟的執(zhí)行(過程箭頭58)。一旦虛擬控制器42已經(jīng)完成執(zhí)行,監(jiān)測(cè)器40指示虛擬控制器42的每個(gè)將前一模塊步驟的結(jié)果(例如輸出)寫入共享存儲(chǔ)器50 (過程箭頭60)。在存儲(chǔ)結(jié)果之后,監(jiān)測(cè)器40向模擬執(zhí)行器38返回已完成寫輸出狀態(tài)(過程箭頭62)。監(jiān)測(cè)器40然后從模擬執(zhí)行器38接收讀輸入指令(過程箭頭64),并且指示虛擬控制器42的每個(gè)從共享存儲(chǔ)器50讀取后一模擬步驟的輸入(過程箭頭66)。在讀取輸入之后,監(jiān)測(cè)器40向模擬執(zhí)行器38返回已完成讀輸入狀態(tài)(過程箭頭68)。監(jiān)測(cè)器40然后從模擬執(zhí)行器38接收進(jìn)行步驟指令(過程箭頭70),并且指示虛擬控制器42的每個(gè)開始模擬步驟的并行執(zhí)行(過程箭頭72)。一旦在虛擬控制器42中已經(jīng)發(fā)起模擬步驟,監(jiān)測(cè)器40向模擬執(zhí)行器38返回已完成起始步驟或者完成狀態(tài)(過程箭頭74)。
[0045]更具體來說,監(jiān)測(cè)器40可通過檢查虛擬控制器42的執(zhí)行狀態(tài),來等待虛擬控制器42的每個(gè)完成前一模擬步驟的執(zhí)行(過程箭頭58)。如本文所使用的“虛擬控制器42的執(zhí)行狀態(tài)”預(yù)計(jì)指示虛擬控制器42是否已經(jīng)完成模擬步驟。另外,執(zhí)行狀態(tài)可指示已完成百分比。在一些實(shí)施例中,虛擬控制器42的每個(gè)的執(zhí)行狀態(tài)可作為EventHandle (其作為陣列的一部分來存儲(chǔ))來保持。一旦虛擬控制器42完成模擬步驟的執(zhí)行,調(diào)回例程將EventHandle設(shè)置成指示虛擬控制器42已經(jīng)完成模擬步驟(過程箭頭73和75)。在一些實(shí)施例中,并非全部虛擬控制器42都在各迭代期間執(zhí)行模擬步驟。相應(yīng)地,監(jiān)測(cè)器40可等待虛擬控制器42,其將在模擬的下一迭代中執(zhí)行模擬步驟。另外,在監(jiān)測(cè)器40指示虛擬控制器42執(zhí)行模擬步驟之前,可清除EventHandle,以指示虛擬控制器42尚未完成后一模擬步驟。
[0046]此外,監(jiān)測(cè)器40可等待所指定時(shí)間期間以使虛擬控制器42的每個(gè)完成。如果一個(gè)或多個(gè)虛擬控制器42在所指定時(shí)間期間之內(nèi)尚未完成,則監(jiān)測(cè)器40可超時(shí)并且停止模擬的操作??刂破?0可超時(shí),因?yàn)槿绻摂M控制器42的一個(gè)或多個(gè)尚未完成模擬步驟,則后續(xù)模擬步驟可基于控制系統(tǒng)12的未完成狀態(tài)來執(zhí)行。如上所述,一些虛擬控制器42可具有變化執(zhí)行2期間。相應(yīng)地,在一些實(shí)施例中,所指定時(shí)間期間可等于虛擬控制器42的最長執(zhí)行期間。
[0047]監(jiān)測(cè)器40可通過指示虛擬控制器42的每個(gè)在并行線程、處理核心、處理器或者其組合中執(zhí)行模擬步驟,來指示虛擬控制器42的每個(gè)開始(例如發(fā)起)模擬步驟的并行執(zhí)行(過程箭頭72)。例如,監(jiān)測(cè)器40可利用.NET委托,由此在來自.NET線程池的線程上執(zhí)行各模擬步驟。在一些實(shí)施例中,各模擬步驟的執(zhí)行在獨(dú)立處理線程或核心上進(jìn)行。作為補(bǔ)充或替代,可在幾個(gè)線程或核心之間分配各模擬步驟的執(zhí)行。換言之,可向各線程或核心分配一個(gè)以上模擬步驟的執(zhí)行。向線性和/或核心準(zhǔn)確指配模擬步驟可基于處理器32的處理能力和模擬步驟的處理要求來定制。
[0048]另外,在所示實(shí)施例中,監(jiān)測(cè)器40依次指示虛擬控制器42開始操作(過程箭頭76)。例如,監(jiān)測(cè)器40可指示第一虛擬控制器開始執(zhí)行,隨后指示第二虛擬控制器開始執(zhí)行,依此類推。作為補(bǔ)充或替代,監(jiān)測(cè)器40可指示虛擬控制器42基本上同時(shí)開始執(zhí)行。例如,監(jiān)測(cè)器40可向虛擬控制器42廣播指令以開始執(zhí)行。在任一個(gè)實(shí)施例中,虛擬控制器42的每個(gè)可并行地執(zhí)行模擬步驟,因?yàn)槿缟纤?,在多個(gè)并行線程、核心、處理器或者它們的任何組合上進(jìn)行該執(zhí)行。
[0049]此外,在所示實(shí)施例中,監(jiān)測(cè)器40指示虛擬控制器42依次對(duì)共享存儲(chǔ)器50進(jìn)入寫入(過程箭頭78)。例如,監(jiān)測(cè)器40指示第一虛擬控制器對(duì)共享存儲(chǔ)器50進(jìn)行寫入,從第一虛擬控制器接收寫完成狀態(tài)(過程箭頭80),隨后指示第二虛擬控制器對(duì)共享存儲(chǔ)器50進(jìn)行寫入,依此類推。類似地,監(jiān)測(cè)器40指示虛擬控制器依次從共享存儲(chǔ)器50進(jìn)行讀取(過程箭頭82)。例如,監(jiān)測(cè)器40指示第一虛擬控制器從共享存儲(chǔ)器50進(jìn)行讀取,從第一虛擬控制器接收讀完成狀態(tài)(過程箭頭84),隨后指示第二虛擬控制器從共享存儲(chǔ)器50進(jìn)行讀取,依此類推。作為補(bǔ)充或替代,監(jiān)測(cè)器40可例如通過廣播指令,基本上同時(shí)指示虛擬控制器42對(duì)共享存儲(chǔ)器50進(jìn)行讀取或?qū)懭搿?br>
[0050]最后,一旦在虛擬控制器42中已經(jīng)發(fā)起模擬步驟,監(jiān)測(cè)器40向模擬執(zhí)行返回完成狀態(tài)(過程箭頭74)。換言之,監(jiān)測(cè)器40返回完成狀態(tài),而無需等待虛擬控制器42完成模擬步驟的執(zhí)行。如上所述,當(dāng)模擬執(zhí)行器38經(jīng)由監(jiān)測(cè)器40指示虛擬控制器42進(jìn)行后一控制動(dòng)作、例如寫輸出時(shí),完成被檢查。
[0051]在其它實(shí)施例中,模擬系統(tǒng)30的操作可調(diào)整成進(jìn)一步改進(jìn)模擬系統(tǒng)30的效率。例如,模擬執(zhí)行器38與監(jiān)測(cè)器40之間的通信可通過利用具有增加處理能力的監(jiān)測(cè)器40來減少。更具體來說,模擬執(zhí)行器38與監(jiān)測(cè)器40之間的通信可減少到監(jiān)測(cè)器40在虛擬控制器42中發(fā)起模擬步驟時(shí)則接收進(jìn)行指令(過程箭頭70)并且返回完成狀態(tài)(過程箭頭72)。監(jiān)測(cè)器40然后可響應(yīng)接收到進(jìn)行步驟指令而指示虛擬控制器42(例如寫入輸出60、讀輸入66和執(zhí)行模擬步驟72)。
[0052]在評(píng)估上述技術(shù)中,在位于Knox County (Indiana)的Duke-Edwards整體氣化聯(lián)合循環(huán)(IGCC)工廠的模擬中實(shí)現(xiàn)這些技術(shù)。模擬系統(tǒng)30包括從Dell Inc.(Roud Rock,Texas)所提供的三個(gè)Dell T5500雙四核計(jì)算機(jī)(例如三個(gè)計(jì)算裝置28)。如上所述,虛擬控制器42可依次或并行地執(zhí)行。相應(yīng)地,模擬系統(tǒng)30上的圖形界面、例如圖6所示的界面可使操作人員能夠在適合于進(jìn)行循環(huán)經(jīng)過模擬(例如運(yùn)行時(shí)鐘周期)的依次或并行操作之間進(jìn)行選擇。更具體來說,圖6示出顯示(例如設(shè)定窗口 86)的一實(shí)施例,其使操作人員能夠選擇定時(shí)器模式88、模擬速度90和虛擬控制器運(yùn)行模式92。如所示,虛擬控制器運(yùn)行模式92包括下拉菜單,其使操作人員能夠在并行模式94、異步模式96和串行(即,依次)模式98之間進(jìn)行選擇。因此,操作人員可易于通過在虛擬控制器運(yùn)行模式菜單92中選擇不同模擬模式,在三種模擬模式的每個(gè)之間進(jìn)行切換。
[0053]在圖7所示模擬執(zhí)行器38的屏幕捕獲中示出當(dāng)選擇依次模式98用于虛擬控制器42的執(zhí)行時(shí)來自評(píng)估Duke-Edwards IGCC工廠的結(jié)果100。如所示,模擬結(jié)果100包括:模擬系統(tǒng)的圖形表示102 ;模擬執(zhí)行列表104,其描述已經(jīng)執(zhí)行的模擬步驟;以及設(shè)定窗口106,其描述模擬系統(tǒng)30的設(shè)定。在操作中,模擬系統(tǒng)30模擬設(shè)施的實(shí)時(shí)操作的總共75.12%的設(shè)施的操作(箭頭102)。另外,將模擬系統(tǒng)30中的處理器32加載到總處理能力的大約20%。
[0054]在圖8所示模擬執(zhí)行器的屏幕捕獲中示出當(dāng)選擇并行模式92用于虛擬控制器42的執(zhí)行時(shí)來自評(píng)估Duke-Edwards IGCC工廠的結(jié)果110。在操作中,模擬系統(tǒng)30模擬設(shè)施的實(shí)時(shí)操作的總共317.56%的設(shè)施的操作(箭頭112)。另外,將模擬系統(tǒng)30中的處理器32加載到總處理能力的大約80%。相應(yīng)地,可通過更好地利用處理器32的處理架構(gòu),極大地改進(jìn)模擬效率。
[0055]本公開的技術(shù)效果包括改進(jìn)模擬系統(tǒng)30的模擬效率。更具體來說,可通過更好地利用模擬系統(tǒng)的處理能力來并行地執(zhí)行模擬步驟,來改進(jìn)模擬效率。在一些實(shí)施例中,這可包括在多個(gè)線程、處理核心或處理器上并行地執(zhí)行模擬步驟。相應(yīng)地,模擬系統(tǒng)30的模擬速度也可得到改進(jìn),這使諸如測(cè)試或驗(yàn)證之類的操作也能夠更有效地完成。
[0056]本書面描述使用示例來公開本發(fā)明,其中包括最佳模式,以及還使本領(lǐng)域的技術(shù)人員能夠?qū)嵤┍景l(fā)明,包括制作和使用任何裝置或系統(tǒng)并且進(jìn)行任何結(jié)合的方法。本發(fā)明的專利范圍由權(quán)利要求書來定義,并且可包括本領(lǐng)域的技術(shù)人員想到的其它示例。如果這類其它示例具有與權(quán)利要求的文字語言完全相同的結(jié)構(gòu)單元,或者如果它們包括具有與權(quán)利要求的文字語言的非實(shí)質(zhì)差異的等效結(jié)構(gòu)單元,則預(yù)計(jì)它們落入權(quán)利要求的范圍之內(nèi)。
【權(quán)利要求】
1.一種存儲(chǔ)模擬系統(tǒng)中的處理器可執(zhí)行以進(jìn)行模擬的指令的非暫時(shí)有形計(jì)算機(jī)可讀介質(zhì),所述指令配置成: 等待多個(gè)虛擬控制器完成前一模擬步驟; 把來自所述多個(gè)虛擬控制器的每個(gè)的所述前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器; 從所述存儲(chǔ)器將輸入讀取到所述多個(gè)虛擬控制器的每個(gè); 在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起模擬步驟;以及 在所述多個(gè)虛擬控制器的每個(gè)中發(fā)起所述模擬步驟時(shí),指示所述模擬的完成,其中所述多個(gè)虛擬控制器包括具有多個(gè)模擬步驟的控制器模型,并且所述指令配置成由所述處理器并行地執(zhí)行。
2.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在獨(dú)立計(jì)算線程中發(fā)起各模擬步驟的指令。
3.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在獨(dú)立處理核心中發(fā)起各模擬步驟的指令。
4.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器的每個(gè)上依次發(fā)起所述模擬步驟的指令。
5.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成在所述多個(gè)虛擬控制器的每個(gè)上發(fā)起所述模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器的每個(gè)上基本上同時(shí)發(fā)起所述模擬步驟的指令。
6.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成等待所述多個(gè)虛擬控制器完成前一模擬步驟的所述指令包括配置成檢查所述多個(gè)虛擬控制器的每個(gè)的狀態(tài)的指令,其中所述多個(gè)虛擬控制器的所述狀態(tài)作為陣列來存儲(chǔ)。
7.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中,配置成等待所述多個(gè)虛擬控制器完成前一模擬步驟的所述指令包括配置成在所述多個(gè)虛擬控制器之一在所指定時(shí)間期間之內(nèi)沒有完成所述前一模擬步驟時(shí)超時(shí)的指令。
8.一種操作模擬系統(tǒng)中的通信包的方法,包括: 從模擬執(zhí)行器接收在多個(gè)虛擬控制器上執(zhí)行模擬步驟的指令,其中所述多個(gè)虛擬控制器的每個(gè)包括包含多個(gè)模擬步驟的控制器模型; 等待所述多個(gè)虛擬控制器的每個(gè)完成前一模擬步驟; 指示所述多個(gè)虛擬控制器的每個(gè)將所述前一模擬步驟的結(jié)果寫到共享存儲(chǔ)器; 指示所述多個(gè)虛擬控制器的每個(gè)從所述共享存儲(chǔ)器讀取輸入; 指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行,以使所述虛擬控制器的每個(gè)能夠并行地執(zhí)行所述模擬步驟;以及 向所述模擬執(zhí)行器傳送完成狀態(tài),而無需等待所述多個(gè)虛擬控制器完成所述模擬步驟。
9.如權(quán)利要求8所述的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行包括指示所述多個(gè)虛擬控制器的每個(gè)在獨(dú)立計(jì)算線程上開始所述模擬步驟的執(zhí)行。
10.如權(quán)利要求8所述的方法,其中,指示所述多個(gè)虛擬控制器的每個(gè)開始所述模擬步驟的執(zhí)行包括指示所述多個(gè)虛擬控制器的每個(gè)在獨(dú)立處理核心上開始所述模擬步驟的執(zhí)行。
【文檔編號(hào)】G05B19/04GK104460360SQ201410471092
【公開日】2015年3月25日 申請(qǐng)日期:2014年9月16日 優(yōu)先權(quán)日:2013年9月16日
【發(fā)明者】P.J.康羅伊, T.D.克勞利 申請(qǐng)人:通用電氣公司