專利名稱:用于多結(jié)點處理控制系統(tǒng)的仿真系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及處理控制系統(tǒng),尤其涉及一種仿真多結(jié)點處理控制系統(tǒng)的一個或多個結(jié)點的仿真系統(tǒng),以便提供與分布式處理控制系統(tǒng)相關(guān)的被仿真的處理控制功能。
背景技術(shù):
像那些在化學(xué)、石油中使用的分布式處理控制系統(tǒng)或其它處理系統(tǒng)典型地包括一個或多個處理控制器,該控制器經(jīng)由模擬、數(shù)字或組合模擬/數(shù)字總線可通信地連接到一個或多個現(xiàn)場器件(field device)。這些現(xiàn)場器件可以是例如閥門、閥門定位器、開關(guān)和發(fā)送器(例如,溫度、壓強和流速傳感器),這些現(xiàn)場器件位于處理環(huán)境內(nèi),并且執(zhí)行諸如打開或關(guān)閉閥門、測量處理參數(shù)等的功能。智能現(xiàn)場器件,諸如符合眾所周知的Fieldbus協(xié)議的現(xiàn)場器件也可以執(zhí)行控制計算、報警功能、或其它通常在控制器中執(zhí)行的控制功能。典型地位于工廠環(huán)境內(nèi)的處理控制器接收指示由現(xiàn)場器件做出的處理測量的信號和/或其它與現(xiàn)場器件相關(guān)的信息,并且執(zhí)行控制器應(yīng)用程序,該應(yīng)用程序例如運行不同的控制模塊,做出處理控制決定、根據(jù)所接收的信息來產(chǎn)生控制信號,以及與諸如HART和Fieldbus的現(xiàn)場器件中執(zhí)行的控制模塊或塊相互配合??刂破髦械目刂颇K經(jīng)通信線路將控制信號發(fā)送到現(xiàn)場器件,從而控制處理的操作。
來自現(xiàn)場器件和控制器的信息通常經(jīng)過數(shù)據(jù)總線而可用于一個或多個其它硬件設(shè)備,例如操作員工作站、個人計算機(jī)、數(shù)據(jù)歷史記錄、報表生成器、集中數(shù)據(jù)庫等,典型地是放在控制室或遠(yuǎn)離更惡劣的工廠環(huán)境的其它位置的硬件設(shè)備。這些硬件設(shè)備運行應(yīng)用程序,例如可以使操作員執(zhí)行有關(guān)處理的功能,例如改變處理控制例行程序的設(shè)置、修改控制器或現(xiàn)場器件內(nèi)的控制模塊的操作、查看處理的當(dāng)前狀態(tài)、仿真處理操作用于培訓(xùn)員工或測試處理控制軟件、保留和更新配置數(shù)據(jù)庫等。
作為一個例子,由Fisher-Rosemount系統(tǒng)股份有限公司銷售的DeltaVTM控制系統(tǒng)包括多個應(yīng)用程序,這些應(yīng)用程序存儲在位于處理工廠內(nèi)的不同空間的不同器件內(nèi),并且由這些器件執(zhí)行。位于一個或多個操作員工作站中的配置應(yīng)用程序使用戶能夠創(chuàng)建或改變處理控制模塊,以及經(jīng)由數(shù)據(jù)總線將這些處理控制模塊下載到專用分布式控制器。配置應(yīng)用程序也可以允許設(shè)計者來創(chuàng)建或改變用戶接口,這些用戶接口被查看應(yīng)用程序用來向用戶顯示數(shù)據(jù),以及使用戶改變設(shè)置,諸如處理控制例行程序內(nèi)的設(shè)置點。每個專用控制器以及在一些情況中的現(xiàn)場器件存儲和執(zhí)行控制器應(yīng)用程序,該應(yīng)用程序運行被分配和下載給它的控制模塊,以便執(zhí)行實際的處理控制??梢栽谝粋€或多個操作員工作站運行的查看應(yīng)用程序經(jīng)數(shù)據(jù)總線從控制器應(yīng)用程序接收數(shù)據(jù)并且向處理控制系統(tǒng)設(shè)計者、操作員、或使用用戶接口的用戶顯示該數(shù)據(jù),其中用戶接口可以提供多種不同視圖的任意一種,例如操作員視圖、工程師視圖、技術(shù)人員視圖等。數(shù)據(jù)歷史應(yīng)用程序典型地存儲在數(shù)據(jù)歷史器件中并由其執(zhí)行,該數(shù)據(jù)歷史器件收集和存儲通過數(shù)據(jù)總線提供的一些或全部數(shù)據(jù),同時在另一個附加到數(shù)據(jù)總線的計算機(jī)設(shè)備中可以運行配置數(shù)據(jù)庫應(yīng)用程序,以便存儲當(dāng)前處理控制例行程序配置及其相關(guān)的數(shù)據(jù)??商鎿Q地,可以將配置數(shù)據(jù)庫存儲在與配置應(yīng)用程序相同的工作站中。
可以在附加到數(shù)據(jù)總線的個人計算機(jī)上運行仿真應(yīng)用程序,例如由密蘇里州圣路易的Don H.Munger公司銷售的Mimic應(yīng)用程序、或由加拿大卡爾加里的Hyprotech公司制造和銷售的HYSYS應(yīng)用程序。這些或其它接口應(yīng)用程序經(jīng)由數(shù)據(jù)總線與控制器應(yīng)用程序和查看應(yīng)用程序通信,以便能夠測試存儲在控制器中的控制模塊或用戶接口。這些仿真應(yīng)用程序也使能執(zhí)行培訓(xùn)和系統(tǒng)檢查。在一些情況中,HYSYS應(yīng)用程序是一種高保真度處理仿真產(chǎn)品,可以與Mimic應(yīng)用程序被集成到相同的計算機(jī),以便仿真用于設(shè)計的檢查的處理控制設(shè)計的精確定時以及響應(yīng)。典型地,這些仿真應(yīng)用程序使用眾所周知的諸如OPC接口或PI接口的標(biāo)準(zhǔn)接口與控制器內(nèi)的控制器應(yīng)用程序或現(xiàn)場器件進(jìn)行通信。
作為替換,仿真已被人工執(zhí)行,其中操作員或其它用戶利用控制器或現(xiàn)場器件的控制模塊內(nèi)的輸入/輸出(I/O)功能塊的仿真能力,來人工設(shè)置由I/O塊處理的值和狀態(tài)變量,以便依次使信息或控制邏輯能夠被驗證,而不用實際上控制現(xiàn)場器件或使現(xiàn)場器件連接到控制器。在另一種情況下,在控制器或現(xiàn)場器件中可以創(chuàng)建和存儲特定的仿真模塊,以便通過向?qū)嶋H控制模塊提供基于輸出塊目標(biāo)的仿真的處理動態(tài)而與實際控制模塊進(jìn)行交互。
在這些系統(tǒng)中,能夠驗證在設(shè)計、分配和下載控制模塊到控制器或現(xiàn)場器件并使用仿真程序測試系統(tǒng)之后,由查看應(yīng)用程序產(chǎn)生的用戶顯示中示出的信息正在被控制器正確地進(jìn)行通信。在建立控制器系統(tǒng)值之前典型地執(zhí)行使用完全系統(tǒng)硬件用于配置檢查和操作員培訓(xùn),從而,可以完全測試到控制器的物理連接以及控制器與工作站之間的通信。而且,能夠檢查由配置的模塊引入到控制器的性能、存儲器要求、以及負(fù)載。
然而,在多數(shù)情況中,期望在處理控制系統(tǒng)已被全部配置和執(zhí)行和/或盡管處理控制系統(tǒng)正在在線運行之后,仿真處理控制系統(tǒng)或處理控制系統(tǒng)的結(jié)點。例如,期望創(chuàng)建一種仿真環(huán)境,能夠仿真一種完全執(zhí)行的處理控制系統(tǒng),用于培訓(xùn)目的,諸如培訓(xùn)新的操作員,或用于測試目的,諸如測試一組新的操作參數(shù)來看看在用這些操作參數(shù)來運行實際裝置之前是否獲得了期望的結(jié)果。
不幸的是,如果在配置完成時沒有創(chuàng)建仿真系統(tǒng),則必須從配置的實際處理中創(chuàng)建配置系統(tǒng)。這尤其意味著操作員或其它人員必須通過對要仿真的每個結(jié)點內(nèi)的每個控制塊安裝分離的仿真塊,來人工地創(chuàng)建仿真系統(tǒng),以及必須對于被仿真的結(jié)點之外的每個塊或結(jié)點創(chuàng)建I/O塊或參考,而不是可通信地連接到那些結(jié)點。該操作員也必須配置這些塊之間的通信,以仿真在處理工廠內(nèi)發(fā)生的實際通信。因為操作員是按照逐塊來人工復(fù)制每個結(jié)點的,所以所創(chuàng)建的仿真系統(tǒng)可能包括操作員引入的錯誤,因此不能準(zhǔn)確地仿真被配置的工廠。而且,這種處理非常耗時,尤其是在每個結(jié)點中具有成百上千的不同塊的復(fù)雜的工廠中,需要創(chuàng)建成百上千的仿真控制塊,有時候需要更多輸入/輸出塊。
作為替換,操作員可以將對于結(jié)點的每個塊配置的軟件復(fù)制在仿真環(huán)境中,例如復(fù)制到仿真計算機(jī)。然而,在這種情況中,操作員仍然必須人工地創(chuàng)建仿真輸入/輸出塊或參考那些塊。如上所述,這種處理仍需要應(yīng)付操作員引入的錯誤及時間消耗問題。
無論如何,因為上述問題,一個實際操作和配置的裝置的仿真系統(tǒng)的創(chuàng)建花費了大量的時間和操作員人力,因此是非常昂貴的,有時候花費了數(shù)以百萬美元。這些代價阻止了許多工廠對于配置的處理控制系統(tǒng)創(chuàng)建精確的仿真系統(tǒng),這限制了可以在工廠中提供的培訓(xùn)的數(shù)量和質(zhì)量,以及可被執(zhí)行的離線測試的數(shù)量。
另外,在從實際操作系統(tǒng)復(fù)制的仿真系統(tǒng)內(nèi)有許多信號,諸如輸入/輸出塊的狀態(tài)信號,可導(dǎo)致問題。特別是,當(dāng)發(fā)送通信信號到另一個塊時,每個塊通常提供一種指示信號的狀態(tài)的狀態(tài)信號,例如,好的、壞的、陳舊的等。然而,在從運行的工廠復(fù)制的仿真環(huán)境中,狀態(tài)信號將一直是舊的或壞的,因為在工廠內(nèi)沒有真正的設(shè)備來發(fā)送和更新那個信號。結(jié)果,仿真系統(tǒng)在處理壞的狀態(tài)信號時可能陷入困境,并且不能仿真實際的控制環(huán)境或可能發(fā)送大量的錯誤消息給操作員,而使仿真操作員厭煩。
而且,還存在這樣的情況或時間,即期望抓住或創(chuàng)建正在運行的仿真系統(tǒng)的瞬像(snapshot),所述瞬像包括所有處理變量的值、設(shè)置點和其它處理參數(shù)。所仿真的裝置或裝置的結(jié)點的這種瞬像在診斷問題、保存一個以后在另一個仿真中使用的特定的好的或壞的裝置條件時是有用的,以便重復(fù)相同的仿真和測試不同動作的影響等。然而,目前,沒有已知的方法用于創(chuàng)建仿真在特定實例的瞬像,而不用實際暫停仿真的運行相當(dāng)長的時間周期和復(fù)制仿真內(nèi)的每個塊的狀態(tài)。因為結(jié)點中已知或標(biāo)準(zhǔn)的復(fù)制塊的方法等使用比結(jié)點的運行周期更長的時間,執(zhí)行這些有關(guān)運行的仿真的復(fù)制方法意味著在復(fù)制過程中變量或值將會改變,因此,捕獲的裝置或結(jié)點狀態(tài)將不是對于時間上的特定單一實例的,而是具有來自不同時間的不同變量值。另一方面,暫停仿真訪問和復(fù)制所有的模塊參數(shù)的值的時間量,尤其在一個面向?qū)ο蟮木幊汰h(huán)境中對仿真操作員是非常明顯的,并且可能是破壞性的。
發(fā)明內(nèi)容
一種仿真系統(tǒng)附加到用于處理控制系統(tǒng)的一個或多個滿配置的結(jié)點的配置數(shù)據(jù)庫,并且將這些結(jié)點內(nèi)的包括功能塊的模塊復(fù)制到一個或更多仿真計算機(jī)中。該仿真系統(tǒng)包括一個算法,在復(fù)制處理期間或之后,自動創(chuàng)建每個所復(fù)制的結(jié)點的參考參數(shù)模塊,以存儲結(jié)點外的每個輸入或輸出參考的參考參數(shù),諸如輸入/輸出塊、其它結(jié)點中的其它功能塊、現(xiàn)場器件中的發(fā)送器塊等。在Fieldbus功能塊的情況下,仿真系統(tǒng)以控制器結(jié)點的協(xié)議自動地創(chuàng)建仿真工作站內(nèi)的功能塊,所述功能塊模仿Fieldbus功能塊的操作,并且然后創(chuàng)建具有這些被模仿的Fieldbus功能塊操作的仿真系統(tǒng),就像它們已經(jīng)初始被配置在被仿真的控制器中,而不是在控制器之外的現(xiàn)場器件中。另外,仿真系統(tǒng)可以禁止?fàn)顟B(tài)信號或以這樣一種方式進(jìn)行操作,即忽略仿真系統(tǒng)內(nèi)的被創(chuàng)建的輸入/輸出塊的狀態(tài)信號,以便阻止該狀態(tài)信號導(dǎo)致操作員可見的錯誤。
而且,已知控制模塊的冗余能力可被用來在一段非常短的時間期間捕獲或存儲仿真系統(tǒng)的瞬像。特別是,仿真系統(tǒng)可以使用由處理控制系統(tǒng)內(nèi)的每個控制塊提供的冗余輸出,而不是更新一個冗余塊,以邏輯方式將被更新的參數(shù)簡單存儲在仿真工作站內(nèi)的存儲器中。當(dāng)期望仿真結(jié)點的瞬像時,仿真系統(tǒng)可以停止仿真模塊的操作一段時間,在這段時間可以將仿真存儲器內(nèi)的冗余數(shù)據(jù)復(fù)制到瞬像文件或某種緩沖器文件中。在這種快速的復(fù)制過程之后,可以重新起動仿真系統(tǒng)。通常,該復(fù)制過程太短,以致仿真操作員注意到在仿真系統(tǒng)的操作中沒有中斷。這種處理使仿真操作員能夠在一個特定和單個時間獲取一個或多個仿真結(jié)點的瞬像,而不必嚴(yán)重地中斷仿真系統(tǒng)。
圖1是具有多結(jié)點和仿真系統(tǒng)的典型處理控制網(wǎng)絡(luò)的方框圖,所述仿真系統(tǒng)用于創(chuàng)建和執(zhí)行一個或多個結(jié)點的仿真;圖2是解釋由仿真操作員使用的仿真創(chuàng)建和控制屏幕顯示;圖3是解釋創(chuàng)建處理控制系統(tǒng)的單個控制器結(jié)點的仿真的命令的屏幕顯示;圖4是解釋為處理控制系統(tǒng)的單個控制器結(jié)點創(chuàng)建的仿真的屏幕顯示;圖5是解釋在仿真內(nèi)被轉(zhuǎn)換成模塊參考的一組外部參考參數(shù)的屏幕顯示;圖6是解釋被創(chuàng)建用來保持所創(chuàng)建的仿真的輸入/輸出參考的容器或參考參數(shù)模塊的屏幕顯示;圖7是解釋在捕獲仿真系統(tǒng)的瞬像時被仿真操作員使用的瞬像捕獲屏幕的屏幕顯示;以及圖8是解釋在將仿真系統(tǒng)恢復(fù)成先前捕獲的瞬像時由仿真操作員使用的恢復(fù)屏幕的屏幕顯示。
具體實施例方式
現(xiàn)在參考圖1,分布式處理控制系統(tǒng)10包括一個或多個結(jié)點12、14、16、18和20。在圖1的處理控制系統(tǒng)10的實例中,每個結(jié)點12、14和16包括通過輸入/輸出(I/O)裝置24連接到一個或多個現(xiàn)場器件22和23的處理控制器12a、14a、16a,該輸入/輸出(I/O)裝置可以是例如Fieldbus接口、HART接口等??刂破?2a、14a和16a通過數(shù)據(jù)總線30也被連接到結(jié)點18和20中的一個或多個主機(jī)或操作員工作站18a和20a,所述數(shù)據(jù)總線可以是例如以太網(wǎng)鏈接。如果期望的話,控制器結(jié)點12、14和16可以包括冗余控制器12R、14R和16R,用來以所熟知的方式(例如,典型地使用專用通信鏈接)跟蹤控制器12a、14a和16a的狀態(tài),并且當(dāng)所連接的主控制12a、14a和16a的一個失敗時接管作為主控制器。同時,控制器結(jié)點12、14、16以及與之連接的輸入/輸出和現(xiàn)場器件22、23和24典型地位于下部,并且有時分布于較差的工廠環(huán)境中,控制器工作站結(jié)點18和20通常位于控制空間或其它較好的環(huán)境,容易由控制器個人訪問。
一般來講,結(jié)點18和20的工作站18a和20a可以被用來存儲和執(zhí)行用于配置和監(jiān)視處理控制系統(tǒng)10的應(yīng)用程序。而且,數(shù)據(jù)庫32可以連接到數(shù)據(jù)總線30,并且作為數(shù)據(jù)歷史或配置數(shù)據(jù)庫來運行,該配置數(shù)據(jù)庫存儲被下載到結(jié)點12、14、16、18和20并在其中存儲的處理控制系統(tǒng)10的當(dāng)前配置。
眾所周知,每個控制器12a、14a和16a,例如是由Fisher-Rosemount系統(tǒng)股份有限公司銷售的DeltaV控制器,存儲和執(zhí)行控制器應(yīng)用程序,該應(yīng)用程序使用大量不同的獨立執(zhí)行的控制模塊或塊來實現(xiàn)控制策略。每個控制模塊可以由通常被稱作功能塊的模塊來組成,其中每個功能塊是整個控制例行程序的一部分或子程序,并且與其它功能塊聯(lián)合(經(jīng)由稱作鏈路的通信)操作,以便實現(xiàn)處理控制系統(tǒng)10內(nèi)的處理控制環(huán)路。為大家所熟知的,功能塊典型地執(zhí)行一種例如與發(fā)送器、傳感器或其它處理參數(shù)測量器件相關(guān)的輸入功能,例如與執(zhí)行PID、模糊邏輯等的控制程序有關(guān)的控制功能、或控制一些諸如閥門的器件的操作的輸出功能,以便執(zhí)行一些處理控制系統(tǒng)10內(nèi)的物理功能。當(dāng)然,還存在混合和其它類型的功能塊。然而,盡管Fieldbus協(xié)議和DeltaV系統(tǒng)協(xié)議使用以面向?qū)ο缶幊虆f(xié)議設(shè)計和執(zhí)行的控制模塊和功能塊,控制模塊也可以使用任何期望的控制編程方案來設(shè)計,例如包括序列功能塊、階梯邏輯等,并且并不限于使用功能塊或任何其它特定編程技術(shù)來設(shè)計。典型地,存儲在處理控制結(jié)點12、14和16內(nèi)的控制模塊的配置被存儲在配置數(shù)據(jù)庫32中,該配置數(shù)據(jù)庫對于工作站18a和20a內(nèi)的應(yīng)用程序是可存取的。
在圖1所示的系統(tǒng)中,連接到控制器12a、14a和16a的現(xiàn)場器件22和23可以是標(biāo)準(zhǔn)4-20ma器件,或可以是諸如HART、Profibus、或Fieldbus現(xiàn)場器件的智能現(xiàn)場器件,該智能現(xiàn)場器件包括處理器和存儲器。一些這樣的器件,諸如Fieldbus現(xiàn)場器件(在圖1中標(biāo)記為標(biāo)號23)可以存儲和執(zhí)行模塊或子模塊,例如與控制器12a、14a和16a中執(zhí)行的控制策略相關(guān)的功能塊。圖1中示出的功能塊26和27被放置在兩個不同的Fieldbus現(xiàn)場器件23中。現(xiàn)場器件23中的功能塊26和27可以與控制器12a、14a和16a內(nèi)的模塊一起執(zhí)行,以便實現(xiàn)眾所周知的處理控制。當(dāng)然,現(xiàn)場器件22、23可以是任何類型的器件,諸如傳感器、閥門、發(fā)送器、定位器等,I/O器件24可以是符合任何期望通信或控制器協(xié)議的任何類型的I/O器件,例如HART、Fieldbus、Profibus等。
在圖1的處理控制系統(tǒng)10中,工作站20a包括一個仿真系統(tǒng)或應(yīng)用程序50,該應(yīng)用程序被用來對于處理控制系統(tǒng)10的一個或多個結(jié)點,創(chuàng)建和執(zhí)行一個或多個仿真,這里被稱作仿真實例。一般來講,當(dāng)執(zhí)行時,仿真應(yīng)用程序50通過從配置數(shù)據(jù)庫復(fù)制結(jié)點內(nèi)的每個控制模塊作為仿真模塊,對于一個或多個指定的結(jié)點創(chuàng)建仿真實例,并且在仿真工作站20a內(nèi)存儲這些仿真模塊。如果期望的話,仿真應(yīng)用程序50可以在多個工作站上分布仿真實例。然而,為了討論,假定在單個仿真工作站20a上創(chuàng)建和執(zhí)行所有的仿真模塊。在這種創(chuàng)建處理期間,仿真應(yīng)用程序50在仿真實例中對于每個結(jié)點創(chuàng)建一個參考參數(shù)模塊,其中每個參考參數(shù)模塊包括每個輸入/輸出參考的參考參數(shù),所述輸入/輸出參考與由那個結(jié)點內(nèi)的任意仿真模塊送入和送出指定結(jié)點的信號相關(guān)。一旦對于一個或多個結(jié)點創(chuàng)建了仿真實例,則可以為了任何期望的目的,例如為了測試或培訓(xùn)目的,來執(zhí)行或運行該仿真實例。
如圖1所示,仿真應(yīng)用程序50(存儲在計算機(jī)可讀存儲器52中并且適于在主工作站20a的微處理器54上執(zhí)行)包括應(yīng)用程序、例行程序或其子程序56-58。第一例行程序56與創(chuàng)建和操作與仿真工作站20a連接的用戶顯示器60有關(guān),使仿真操作員創(chuàng)建、觀看和控制處理控制系統(tǒng)10的一個或多個結(jié)點的仿真實例。當(dāng)執(zhí)行第二例行程序57時,第二例行程序通過為與每個指定結(jié)點相關(guān)的每個模塊(可以包括單個或多個功能塊)創(chuàng)建可通信的互相連接的仿真模塊,以及然后通過為每個結(jié)點自動創(chuàng)建參考參數(shù)模塊以便存儲這些結(jié)點的輸入或輸出,來實際上創(chuàng)建一個或多個指定結(jié)點的仿真實例。一旦第三例行程序58被創(chuàng)建,則可被用來起動、停止、重新配置、捕獲瞬像、恢復(fù)或者相反控制仿真實例。當(dāng)然,例行程序57和58與用戶顯示例行程序56集成,使仿真操作員采取不同的步驟創(chuàng)建、控制和查看對于處理控制系統(tǒng)10的仿真實例。
在處理控制系統(tǒng)10的運行期間(即,在處理控制配置已經(jīng)被創(chuàng)建和下載到處理控制系統(tǒng)10并且從而到每個不同的結(jié)點之后),但是先于任何仿真實例的創(chuàng)建,操作員可以訪問仿真應(yīng)用程序50。在那時,顯示例行程序56可以呈現(xiàn)一個控制或仿真顯示屏幕70給操作員,如圖2所示。圖2的仿真顯示屏70例子具有多個不同的區(qū),包括在顯示屏70的左手邊的結(jié)點指示區(qū)72,和在顯示屏70的右手邊的信息區(qū)74。
結(jié)點指示區(qū)72可以指示與處理控制系統(tǒng)10的每個結(jié)點相關(guān)的結(jié)點和器件、例行程序等,并且能夠使仿真操作員以任何期望的方式,例如使用鼠標(biāo)來選擇這些結(jié)點的一個或多個或者一個結(jié)點之內(nèi)的器件,如控制器。圖2的結(jié)點指示區(qū)72說明了樹狀結(jié)構(gòu),顯示了存儲在處理10的配置數(shù)據(jù)庫32中的不同的處理控制配置元素。當(dāng)然,可以以任何其它期望的方式來說明處理控制系統(tǒng)10的結(jié)點或其它元素。另一方面,信息區(qū)74給仿真操作員提供結(jié)點指示區(qū)內(nèi)的有關(guān)選擇的元素的信息,例如結(jié)點指示區(qū)72中選擇的元素內(nèi)的子元素的圖形或文本描述。如果愿意,可以通過控制屏幕70上的下拉或彈出菜單來訪問成組的命令,這些命令可被用來產(chǎn)生處理控制系統(tǒng)10的一個或多個結(jié)點的仿真實例,或運行、控制和查看處理控制系統(tǒng)10的一個或多個結(jié)點的仿真實例。如果愿意,可以提供滑動條來指定有關(guān)實際處理控制系統(tǒng)10的執(zhí)行速度或周期的仿真速度。滑動條可以包括一個停止位置和使仿真實例的執(zhí)行速度比實際處理控制系統(tǒng)10的執(zhí)行速度慢或快的位置。這個滑動條也可以包括一個暫停和播放或前進(jìn)按鈕,使仿真操作員能夠快速地停止和起動仿真實例。
圖2具體描述了結(jié)點指示區(qū)72中的樹狀結(jié)構(gòu),該結(jié)點指示區(qū)除其它事物外還包括控制策略80,其中控制策略包括一個與其相關(guān)的Area_A,該Area_A在其下面包括一組模塊Loop1-Loop6、TEST_All、TEST_AO1、TEST_DI1和TEST_DO1模塊。因為在圖2中選擇了Area_A,所以信息區(qū)域74示出了與Area_A相關(guān)的不同環(huán)路和其它元素,只要選擇Area_A,就會在信息區(qū)域中發(fā)生隨后的動作。同樣,圖2的樹狀結(jié)構(gòu)包含一個控制網(wǎng)絡(luò)84,該控制網(wǎng)絡(luò)除其它事物外還包括3個控制器N_Solv_1、Sol_Man_1和Ctlr1。Ctlr1包含分配的模塊、I/O卡C01、C03、C04以及分配的遠(yuǎn)程I/O。當(dāng)然,其它入口、模塊等都與N_Solv_1和Sol_Man_1控制器相關(guān),但在圖2的樹狀結(jié)構(gòu)中未擴(kuò)展出來。
通常來說,工作站20a的仿真操作員可以使用顯示屏70上的結(jié)點指示區(qū)72來選擇一個或多個結(jié)點,例如控制器,以便發(fā)生后續(xù)動作。因此,仿真操作員可以選擇一個或多個結(jié)點(例如控制器)來創(chuàng)建和執(zhí)行仿真實例。例如,當(dāng)仿真操作員僅選擇一個結(jié)點,然后例如通過下拉菜單來創(chuàng)建一個仿真實例時,上述的例行程序57將對于那個單個結(jié)點創(chuàng)建一個仿真實例。同樣,如果仿真操作員選擇了3個結(jié)點(例如圖1中的結(jié)點12、14和16的每一個)或者顯示屏70的結(jié)點指示區(qū)72上的整個處理控制系統(tǒng),然后選擇創(chuàng)建仿真命令,例行程序57創(chuàng)建一個這樣的仿真實例,它包含這三個結(jié)點的每個結(jié)點或整個系統(tǒng)之內(nèi)的模塊。以這種方式,仿真操作員可以簡單地選擇數(shù)字和處理控制系統(tǒng)10中的特定結(jié)點,以便創(chuàng)建和執(zhí)行一個仿真實例,從而能夠在同一時刻對于任何數(shù)量的指定結(jié)點創(chuàng)建一個仿真實例。而且,仿真操作員在仿真實例運行期間可以利用結(jié)點指示區(qū)72選擇不同的結(jié)點來觀察。
當(dāng)仿真操作員選擇創(chuàng)建仿真命令時,算法或例行程序57啟動,將在指定結(jié)點上所配置的處理控制網(wǎng)絡(luò)轉(zhuǎn)換成仿真實例。為了執(zhí)行該功能,創(chuàng)建仿真例行程序57訪問配置數(shù)據(jù)庫32,并且為存儲在配置數(shù)據(jù)庫32中的每個指定結(jié)點的模塊和塊復(fù)制(或創(chuàng)建)一個仿真塊。如果期望的話,創(chuàng)建仿真例行程序57可以逐結(jié)點地進(jìn)行上述處理。作為該處理的一部分,創(chuàng)建仿真例行程序57將命令發(fā)送給數(shù)據(jù)庫32,以便獲取一個結(jié)點的模塊、功能塊等的一個副本。所得到的副本存儲于仿真工作站20a中,并且最好通過指定仿真輸入被用于輸入塊而被轉(zhuǎn)換成一個仿真模塊。
當(dāng)在仿真工作站20a中逐結(jié)點地創(chuàng)建仿真模塊時,通過如在實際控制模塊中指定的通信鏈路將仿真模塊可通信地連接在一起。然而,作為這種創(chuàng)建處理的一部分的創(chuàng)建仿真例行程序57使用例如與實際輸入和輸出相關(guān)的路徑名稱,自動識別指定結(jié)點之外的每個控制塊的輸入和輸出。為了執(zhí)行該功能,創(chuàng)建仿真例行程序57可以將創(chuàng)建的仿真塊的輸入和輸出的源或目的的路徑名稱和其它指示,與所仿真的結(jié)點的路徑名稱進(jìn)行比較,來確定輸入或輸出源是位于指定結(jié)點(例如對于仿真正在被創(chuàng)建的結(jié)點)的內(nèi)部還是外部。如果通信信號的源或目的位于指定結(jié)點之外,創(chuàng)建仿真例行程序57自動創(chuàng)建一個到仿真系統(tǒng)內(nèi)的參考參數(shù)模塊(已由例行程序57創(chuàng)建)的鏈路,以便用作輸入或輸出,并且在諸如仿真工作站20中的仿真系統(tǒng)中存儲該模塊。如所理解的,該參考參數(shù)模塊被用來在仿真系統(tǒng)中為實際上不存在的仿真實例提供一個鏈接或一定輸入和輸出的目的,例如到現(xiàn)場器件的鏈接等。
圖3舉例說明了含有樹狀結(jié)構(gòu)92的屏幕顯示90,其中已經(jīng)選擇了一個單一控制器結(jié)點94(稱為Sol_Man_1)。仿真操作員已調(diào)出一個彈出菜單96(例如,通過鼠標(biāo)右擊已選擇的控制器94),以便獲取一個“仿真轉(zhuǎn)換”命令。顯示屏90的右手邊顯示了已選擇的控制器94中的模塊。選擇窗口96中的仿真轉(zhuǎn)換命令調(diào)用應(yīng)用程序57,然后如上所述的對于所選擇的控制器結(jié)點94創(chuàng)建一個仿真。
特別是,例行程序57對于每個指定結(jié)點94內(nèi)的每個控制模塊創(chuàng)建仿真模塊或塊,隨之一起創(chuàng)建參考參數(shù)模塊用于存儲至結(jié)點的輸入和輸出。圖4舉例說明這樣的仿真實例,圖4描述了一個顯示屏100,該顯示屏示出了仿真實例創(chuàng)建后對于已選擇的控制器94的仿真實例。如顯示屏100的右手邊所示,該對于控制器結(jié)點94的仿真實例包括仿真模塊Loop1-Loop6(從存儲于配置數(shù)據(jù)庫32中的結(jié)點94的實際模塊Loop1-Loop6創(chuàng)建該仿真模塊)。然而,作為轉(zhuǎn)換處理的一部分,應(yīng)用程序57已創(chuàng)建一個附加模塊102(名為M_Ctlr1),此模塊作為一個容器模塊來保存控制器結(jié)點94的輸入和輸出參考。如上所述,在為一個結(jié)點創(chuàng)建已仿真的控制塊和模塊后,例行程序57確定已創(chuàng)建的仿真模塊之外的任意輸入/輸出的存在,例如對于來自不包括在仿真實例內(nèi)的其它結(jié)點的現(xiàn)場器件或模塊的塊或信號的參考。一旦檢測到這樣的輸入/輸出參考,例行程序57對于這些參考自動地創(chuàng)建一個參考模塊,例如模塊102,從而創(chuàng)建一個仿真系統(tǒng)內(nèi)的模塊,負(fù)責(zé)對于發(fā)送至或來自不是仿真的一部分的硬件,例如現(xiàn)場器件的信號提供或接受仿真實例的輸入/輸出。
圖5描述了一個屏顯示105,該屏顯示示出了一個被轉(zhuǎn)換的功能塊108(具有一個已仿真的輸入)和一組外部參考110a-110f,每個所述外部參考指定了一個HART器件輸入或輸出,(因而一個外部參考)實際上指向?qū)τ诮Y(jié)點而創(chuàng)建的用來保存這些外部參考的一個外部參考模塊。參考框110a已經(jīng)被選擇并且其屬性被顯示在彈出窗口112中,為此參考指定路徑名稱為M_Sol_Man_1控制器結(jié)點(已仿真的結(jié)點)中的C01CH01HART_PV模塊。同樣,圖6描述了一個屏顯示116,該屏顯示解釋C01CH01HART_PV模塊為包括一組已在菜單框118中命名的外部參考參數(shù)。從這些外部參考參數(shù)中選擇的一個參數(shù)(即HART_PV參數(shù))的屬性顯示在彈出窗口120中。當(dāng)然,對于與圖4的參考參數(shù)模塊102相關(guān)或存儲在其中的每個其它參考參數(shù)保存相似的屬性。
因而,正如所理解的,作為仿真轉(zhuǎn)換的一部分,應(yīng)用程序57創(chuàng)建外部參考參數(shù)模塊,該模塊存儲與每個仿真塊相關(guān)的外部參考的值和其它屬性。盡管此處所描述的應(yīng)用程序57對于每個指定的控制器結(jié)點創(chuàng)建單個外部參考模塊,如果愿意,外部參考參數(shù)模塊可以或多或少地保存外部參考。因此,例如,可以對于每個外部參考創(chuàng)建一個外部參考參數(shù)模塊等。此操作也避免了仿真操作員必須為仿真系統(tǒng)人工指定或創(chuàng)建外部參考,這在以前既費時又總出現(xiàn)錯誤。此外,因為可以通過這些外部參考模塊來處理來自仿真實例的輸入和輸出,所以這些模塊的創(chuàng)建使運行一個仿真變得更加容易,其中這些外部參考模塊由于它們的面向?qū)ο蟮膶傩远菀妆辉L問和改變。
盡管對于創(chuàng)建仿真例行程序57來說識別和復(fù)制與控制器結(jié)點相關(guān)的控制塊和其它模塊是一件相對簡單的事情,有這樣的情況出現(xiàn)一個結(jié)點的某些控制或其它功能塊或模塊可以存儲于此結(jié)點的控制器中且在其外部運行。例如,F(xiàn)ieldbus現(xiàn)場器件能夠存儲和執(zhí)行控制塊和其它的與處理控制系統(tǒng)的結(jié)點相關(guān)的模塊。在這種情況下,創(chuàng)建仿真例行程序57可以首先通過在存儲于配置數(shù)據(jù)庫32中的配置方案中查找塊,來識別在結(jié)點內(nèi)但在控制器外的控制塊或其它模塊的存在。盡管這里描述的應(yīng)用程序57專門查找Fieldbus功能塊,也可能存在能夠在結(jié)點的控制器外運行的其它類型的功能塊,并且應(yīng)用程序57也可以查找這些類型的塊。當(dāng)然,執(zhí)行這些查找的方式將依賴于結(jié)點的控制器中所使用的編程和文檔的類型。
一旦識別出功能塊或與結(jié)點相關(guān)的模塊存在但在那個結(jié)點的控制器之外,則創(chuàng)建仿真例行程序57可以在仿真工作站20a中復(fù)制那個塊或創(chuàng)建一個模仿那個塊的新的塊。例如,為了復(fù)制塊,創(chuàng)建仿真應(yīng)用程序57可以從配置數(shù)據(jù)庫或從實際存儲該塊的現(xiàn)場器件訪問該塊。如果現(xiàn)場器件或其它器件內(nèi)的功能塊與仿真中使用的控制器塊不用相同的協(xié)議,就像通常實例一樣,那么,應(yīng)用程序57可以用控制器協(xié)議創(chuàng)建仿真塊,該控制器協(xié)議最佳模仿現(xiàn)場器件內(nèi)的功能塊的功能性。這種功能可以在或不在仿真操作員的輔助下執(zhí)行,該仿真操作員可被詢問來對于現(xiàn)場器件中的功能塊指定控制器協(xié)議塊。作為替換,可以存儲并使用指定不同協(xié)議的塊之間的轉(zhuǎn)換的包括參數(shù)轉(zhuǎn)換的表格或列表,在控制器協(xié)議內(nèi)創(chuàng)建模仿現(xiàn)場器件內(nèi)的實際功能塊的操作的功能塊。
在對于例如Fieldbus功能塊的外部功能塊在控制器協(xié)議內(nèi)創(chuàng)建功能塊之后,創(chuàng)建仿真例行程序57然后可以以控制器協(xié)議塊或模塊執(zhí)行的相同方式將那個功能塊轉(zhuǎn)換成仿真塊。
當(dāng)前仿真中出現(xiàn)的另一個問題是處理來自諸如輸入和輸出功能塊的源的輸入/輸出錯誤指示的問題,這些源不再連接到控制系統(tǒng)內(nèi)的實際器件或源,比如一個現(xiàn)場器件,或者沒有仿真模式,因而呈現(xiàn)為提供錯誤或無效的數(shù)據(jù)或者導(dǎo)致診斷錯誤。在某些情況下,產(chǎn)生這些信號的塊或源沒有被設(shè)置用來仿真,因此來自這些塊的信號導(dǎo)致產(chǎn)生錯誤的I/O消息。而且,用對于輸入和輸出的參考參數(shù)創(chuàng)建仿真實例導(dǎo)致這樣一種情況,即,I/O故障可能被仿真控制模塊或塊檢測到,即使實際上這樣的I/O故障并不存在(因為沒有發(fā)生真正的I/O)。根據(jù)發(fā)送到或來自仿真中這些塊的數(shù)據(jù)的量,在仿真實例運行期間,可能檢測到大量的錯誤消息,并且這些錯誤消息可被發(fā)送給仿真操作員作為輸入/輸出或診斷錯誤指示。在仿真期間處理這些虛假的錯誤消息會變得混亂和冗長乏味。
為了緩解這個問題,創(chuàng)建仿真應(yīng)用程序57相對于實際處理控制系統(tǒng)改變在仿真實例中處理輸入/輸出信號的方法。特別是,創(chuàng)建仿真程序57禁止對例如在模擬輸出(AO)和數(shù)字或離散輸出(DO)塊中以及在直接參考I/O通道的外部參數(shù)中,比如在上述所討論的外部參考參數(shù)模塊中的外部參數(shù)中壞的I/O的指示或檢測。為了執(zhí)行此操作,創(chuàng)建仿真應(yīng)用程序57可故意禁止這些I/O信號的狀態(tài)指示,例如,如果輸出模塊被指定在仿真工作站20a上運行則通過不設(shè)定用于I/O錯誤檢測或仿真的位。當(dāng)禁止這些狀態(tài)或錯誤指示信號時,盡管I/O正常,也將出現(xiàn)仿真操作員接口,這將使仿真操作員培訓(xùn)在不受虛假的錯誤I/O指示信號的干擾下被執(zhí)行。當(dāng)然,創(chuàng)建仿真例行程序57在轉(zhuǎn)換過程期間可以在仿真系統(tǒng)內(nèi)執(zhí)行禁止來自任何其它塊或源的I/O錯誤檢測,因為這些數(shù)據(jù)源沒有被連接到實際的操作器件,比如現(xiàn)場器件,這些塊或源可能有壞的或無效的I/O數(shù)據(jù)。
在為一個或多個結(jié)點創(chuàng)建一個仿真實例后,可在仿真工作站20a中執(zhí)行此仿真實例用于培訓(xùn)或測試目的。在某些情況下,經(jīng)由為每個結(jié)點的輸入/輸出所創(chuàng)建的參考,使用諸如OPC的任何已知技術(shù),將仿真實例連接到一個標(biāo)準(zhǔn)仿真接口,例如HYSIS接口。當(dāng)然,如果愿意,創(chuàng)建仿真例行程序57可提供自己的接口比如API(應(yīng)用程序接口),使仿真操作員以任何想要的方式來指定或改變到仿真實例的輸入和輸出。
正如所理解的,可以使用單一命令通過單一接口來執(zhí)行仿真實例的初始化、和速度的控制以及仿真實例內(nèi)的信息視圖的命令,即使不止一個結(jié)點被影響。此視圖使仿真操作員發(fā)布單一請求,尋址仿真中涉及的所有結(jié)點。通過經(jīng)由顯示屏的結(jié)點指示區(qū)來選擇不同的結(jié)點,可以影響和改變視圖。
在大型培訓(xùn)系統(tǒng)中通常需要在培訓(xùn)會話中一個先前時間提供重新起動處理控制仿真的能力。而且也需要及時重放在從前一點開始的仿真中采取的操作員動作。這些功能可以通過應(yīng)用程序58來執(zhí)行,應(yīng)用程序58可以,例如通過圖2的顯示屏70上的下拉菜單來起動。
在過去,捕獲正在運行的仿真的瞬像比較困難,因為它通常需要提供一個從仿真實例內(nèi)的不同功能塊或模塊復(fù)制每個期望參數(shù)的請求。然而,因為這些請求必須單獨發(fā)送到不同的模塊,并且要花費有限時間來執(zhí)行,因此,在不停止仿真一段擴(kuò)展的時間期間來允許這種復(fù)制發(fā)生的情況下,在同一實例中復(fù)制仿真系統(tǒng)的所有模塊的狀態(tài)實際上是不可能的。在具有許多控制模塊的大型仿真系統(tǒng)中,這種復(fù)制處理可能導(dǎo)致相當(dāng)?shù)难舆t,從而導(dǎo)致仿真中明顯的中斷。
為了加速捕獲瞬像的處理,已經(jīng)發(fā)現(xiàn)可以使用仿真系統(tǒng)內(nèi)的模塊的冗余能力。具體地,眾所周知,許多控制模塊,諸如在圖1的控制器12a、14a和16a中執(zhí)行的控制模塊和塊包括冗余能力。更具體地,這些控制模塊通常被創(chuàng)建用來定期或變化地將模塊的參數(shù)值等發(fā)送到位于冗余控制器12R、14R和16R中的冗余控制模塊。冗余控制模塊以這樣一種方式來更新它們自己,即冗余控制器12R、14R和16R在任何時候都可以在一旦控制器12a、14a或16a中的單獨一個失敗時接管處理控制系統(tǒng)的主要操作。
在創(chuàng)建仿真實例的仿真模塊的處理期間,創(chuàng)建仿真應(yīng)用程序57可以將每個由仿真模塊產(chǎn)生的冗余信號連接到一個冗余模塊或一個仿真計算機(jī)20a內(nèi)的特定存儲器地址,并且使這些信號被寫入和保存在一個已知的存儲器位置。這樣,創(chuàng)建仿真應(yīng)用程序57不是對仿真實例內(nèi)的每個模塊創(chuàng)建冗余控制模塊,而僅需要將由仿真模塊產(chǎn)生的冗余信號連接到特定和專用的存儲器位置,該位置可以或可以不是分離模塊內(nèi)的存儲器位置。在仿真系統(tǒng)的運行期間,然后,捕獲在仿真模塊的正常進(jìn)程中創(chuàng)建的冗余信號,并且以任何邏輯方式將這些信號內(nèi)的數(shù)據(jù)保存在一個對于以后檢索容易訪問的存儲器中。之后,在仿真實例的運行過程中的任何時間,通過將以該邏輯方式存儲的冗余數(shù)據(jù)復(fù)制到可由操作員訪問的緩沖器或文件中,應(yīng)用程序58可以創(chuàng)建正在運行的仿真的瞬像。因為用于冗余數(shù)據(jù)的存儲器位置是專用的并且是在容易訪問的存儲器中,因此能夠快速地執(zhí)行復(fù)制處理,該復(fù)制處理可以是塊復(fù)制,與復(fù)制存儲在實際仿真實例的不同模塊中的數(shù)據(jù)相比,加速了捕獲仿真系統(tǒng)瞬像所用的時間。因此,當(dāng)創(chuàng)建一個特定時間的瞬像時,例行程序58僅需要在特定時間暫停仿真系統(tǒng)的運行,將專用存儲器位置的內(nèi)容復(fù)制到瞬像文件,然后繼續(xù)仿真系統(tǒng)的運行,其中復(fù)制處理通??梢苑浅Q杆俚赝瓿伞?br>
圖7解釋了屏幕顯示130,該屏幕顯示可被仿真操作員用來在一個特定時間起動仿真系統(tǒng)的瞬像的捕獲。如所述的,仿真操作員可以保存在一個選擇的結(jié)點內(nèi)系統(tǒng)的瞬像,該已選擇的結(jié)點是由結(jié)點指示區(qū)72所指定的,并且仿真操作員可以命名那個瞬像以便將來參考。當(dāng)然,對于任何具有正常冗余能力的結(jié)點,可以在逐結(jié)點的基礎(chǔ)上捕獲這個瞬像。如果愿意,瞬像收集應(yīng)用程序58可以指示處理控制系統(tǒng)的每個結(jié)點來同時捕獲瞬像,這樣就獲取了多結(jié)點瞬像。
相同地,如圖8所示,通過起動恢復(fù)應(yīng)用程序(例行程序58的一部分)并選擇一個要恢復(fù)的系統(tǒng)的先前瞬像,仿真操作員可以將仿真系統(tǒng)恢復(fù)到在所保存的瞬像中捕獲的先前設(shè)置。當(dāng)然,由仿真操作員選擇的恢復(fù)文件通常是先前作為瞬像保存的文件,并且該恢復(fù)應(yīng)用程序?qū)⑷〕龌謴?fù)文件中的那個數(shù)據(jù)并且以任何標(biāo)準(zhǔn)或任何已知方法將該數(shù)據(jù)寫入仿真模塊。在該操作期間,例行程序58將暫停仿真系統(tǒng)的運行,訪問由仿真操作員指定的瞬像文件,將瞬像文件的內(nèi)容復(fù)制到可通信地互相連接的仿真模塊中,并且然后繼續(xù)仿真系統(tǒng)的運行。
盡管處理請求來保存或恢復(fù)仿真,相關(guān)仿真的仿真模塊的執(zhí)行停止。為此,應(yīng)當(dāng)用最小的延遲完成保存和恢復(fù)。如果愿意,可以使用OPC將有關(guān)保存和恢復(fù)的命令從應(yīng)用程序/培訓(xùn)臺傳遞到結(jié)點。在這種情況下,相關(guān)的應(yīng)用程序負(fù)責(zé)將保存和恢復(fù)命令發(fā)布到每個感興趣的結(jié)點。最好是,當(dāng)保存命令起動時,仿真控制應(yīng)用程序58將在顯示器上提供一個對話,該對話允許仿真操作員指定將要保存的結(jié)點。而且,仿真操作員可以提供一個將用數(shù)據(jù)文件來保存的描述。相同地,當(dāng)恢復(fù)命令起動時,仿真控制應(yīng)用程序58將呈現(xiàn)一個已經(jīng)創(chuàng)建瞬像文件的時間列表以及相關(guān)的描述。當(dāng)選擇一個特定時間時,仿真操作員可使用保存的數(shù)據(jù)來選擇將被恢復(fù)的結(jié)點。
如果愿意,仿真控制應(yīng)用程序58支持這樣一種選擇,就是允許將保存命令自動和定期地發(fā)布到所有的結(jié)點。為了起動自動保存,仿真操作員必須使能這種特征并且指定保存的頻率和將用文件包括的描述。在MicrosoftTMWord自動保存Tools Option之后可以模仿這種特征的對話。作為這個特征的運行結(jié)果,仿真控制應(yīng)用程序58將定期地發(fā)布一個捕獲和保存命令到仿真實例的結(jié)點。為了避免中斷培訓(xùn)會話,保存命令的處理將使仿真模塊的執(zhí)行停止,從而該命令可以毫無延遲地執(zhí)行。
當(dāng)被執(zhí)行時,這里所描述的任何軟件可被存儲在諸如磁盤、激光盤、或其它存儲介質(zhì)的任一計算機(jī)可讀存儲器中,計算機(jī)或處理器的RAM或ROM中等。同樣地,可以使用任何已知或期望的發(fā)送方法,包括例如在計算機(jī)可讀盤上或其它可傳輸?shù)挠嬎銠C(jī)存儲裝置或通過諸如電話線、因特網(wǎng)、萬維網(wǎng)、任何其它局域網(wǎng)或廣域網(wǎng)等的通信信道,這些軟件都可以被發(fā)送到用戶、處理控制系統(tǒng)或操作員工作站(發(fā)送被視為與經(jīng)由可傳遞存儲介質(zhì)提供這樣的軟件相同或可互換)。而且,在通過通信信道發(fā)送之前,這些軟件可不用調(diào)制直接提供或可以使用任何合適的調(diào)制載波來調(diào)制。
因此,雖然已經(jīng)參考具體實例描述了本發(fā)明,所述具體實例僅為示意性而不是對本發(fā)明的限制,但是對于本領(lǐng)域的技術(shù)人員很明顯的是,在不脫離本發(fā)明的精神和范圍的情況下,可以做出所公開實施例的修改、增加和刪除。
權(quán)利要求
1.一種創(chuàng)建仿真系統(tǒng)的方法,該仿真系統(tǒng)用于仿真處理控制系統(tǒng)的一個或多個結(jié)點的操作,該處理控制系統(tǒng)在一個或多個結(jié)點中的每個結(jié)點都具有多個可通信的互相連接的模塊,并且具有在配置數(shù)據(jù)庫中存儲的一個或多個結(jié)點中的每個結(jié)點的配置,所述方法包括以下步驟指定所述處理控制系統(tǒng)的至少一個結(jié)點,來創(chuàng)建一個仿真實例;訪問所述配置數(shù)據(jù)庫,以獲取所述處理控制系統(tǒng)的至少一個指定結(jié)點的配置內(nèi)的模塊的副本;將所述模塊的副本存儲在仿真計算機(jī)內(nèi);以及將復(fù)制的模塊自動轉(zhuǎn)換成仿真模塊,以創(chuàng)建具有多個可通信的互相連接的仿真模塊的仿真實例。
2.如權(quán)利要求1所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,至少一個被復(fù)制的模塊是用控制器協(xié)議的,并且所述方法還包括以下步驟根據(jù)所述配置數(shù)據(jù)庫,確定使用與所述控制器協(xié)議不同的協(xié)議的第二模塊的存在;對于所述第二模塊用所述控制器協(xié)議來創(chuàng)建第二仿真模塊;以及將第二仿真模塊與所述互相連接的仿真模塊可通信地互相連接。
3.如權(quán)利要求2所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述第二模塊是一功能塊。
4.如權(quán)利要求2所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述確定步驟包括確定Fieldbus模塊的存在。
5.如權(quán)利要求2所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述創(chuàng)建第二仿真模塊的步驟包括使用一個指定不同協(xié)議內(nèi)的特定模塊與控制器協(xié)議內(nèi)的特定模塊之間的轉(zhuǎn)換的列表。
6.如權(quán)利要求5所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述使用列表的步驟包括使用一個指定不同協(xié)議內(nèi)的特定模塊與控制器協(xié)議內(nèi)的特定模塊之間的參數(shù)轉(zhuǎn)換的列表。
7.如權(quán)利要求2所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,至少一個被復(fù)制的模塊包括一個外部參考參數(shù),并且所述方法還包括創(chuàng)建一個外部參考參數(shù)模塊,以將所述外部參考參數(shù)存儲在所述仿真計算機(jī)中。
8.如權(quán)利要求7所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述創(chuàng)建外部參考參數(shù)模塊的步驟包括創(chuàng)建單個外部參考參數(shù)模塊,以保持一個指定結(jié)點的多個外部參考參數(shù)。
9.如權(quán)利要求7所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述創(chuàng)建外部參考參數(shù)模塊的步驟包括創(chuàng)建單個外部參考參數(shù)模塊,以保持一個指定結(jié)點的所有外部參考參數(shù)。
10.如權(quán)利要求1所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,至少一個被復(fù)制的模塊包括一個外部參考參數(shù),并且所述方法還包括創(chuàng)建一個外部參考參數(shù)模塊,以將所述外部參考參數(shù)存儲在所述仿真計算機(jī)中。
11.如權(quán)利要求10所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述創(chuàng)建外部參考參數(shù)模塊的步驟包括創(chuàng)建單個外部參考參數(shù)模塊,以保持一個指定結(jié)點的多個外部參考參數(shù)。
12.如權(quán)利要求10所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述創(chuàng)建外部參考參數(shù)模塊的步驟包括創(chuàng)建單個外部參考參數(shù)模塊,以便保持一個指定結(jié)點的所有外部參考參數(shù)。
13.如權(quán)利要求1所述的用于創(chuàng)建仿真系統(tǒng)的方法,還包括禁止與至少一個仿真模塊相關(guān)的輸入或輸出狀態(tài)指示。
14.如權(quán)利要求13所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述禁止步驟包括禁止與輸出功能塊相關(guān)的輸入或輸出狀態(tài)指示。
15.如權(quán)利要求13所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述禁止步驟包括禁止與輸入功能塊相關(guān)的輸入或輸出狀態(tài)指示。
16.如權(quán)利要求1所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述處理控制系統(tǒng)內(nèi)的模塊包括冗余能力,并且所述方法進(jìn)一步包括創(chuàng)建仿真模塊以包括冗余能力,以及使用仿真模塊的冗余能力捕獲在仿真系統(tǒng)的運行期間仿真系統(tǒng)的瞬像。
17.如權(quán)利要求16所述的用于創(chuàng)建仿真系統(tǒng)的方法,其中,所述使用仿真模塊的冗余能力的步驟包括將由仿真模塊創(chuàng)建的冗余信號連接到仿真計算機(jī)內(nèi)的特定存儲器位置,以及將仿真計算機(jī)內(nèi)特定存儲器位置的內(nèi)容復(fù)制到一個瞬像文件以獲得仿真系統(tǒng)的瞬像。
18.一種獲得處理控制系統(tǒng)的仿真系統(tǒng)的瞬像的方法,所述處理控制系統(tǒng)包括具有冗余能力的模塊,該模塊創(chuàng)建將被發(fā)送到處理控制系統(tǒng)內(nèi)的冗余模塊的冗余信號,所述方法包括以下步驟創(chuàng)建仿真系統(tǒng)為多個可通信地互相連接的仿真模塊,所述仿真模塊對于其參數(shù)創(chuàng)建冗余信號;在仿真系統(tǒng)的運行期間,發(fā)送仿真系統(tǒng)內(nèi)可通信地互相連接的仿真模塊的冗余信號,該冗余信號將被存儲在仿真計算機(jī)中的專用存儲器位置中;以及通過下列步驟存儲仿真系統(tǒng)在特定時間的瞬像在所述特定時間暫停仿真系統(tǒng)的運行;將專用存儲器位置的內(nèi)容復(fù)制到一個瞬像文件中;以及繼續(xù)所述仿真系統(tǒng)的運行。
19.如權(quán)利要求18所述的獲得仿真系統(tǒng)的瞬像的方法,還包括通過暫停所述仿真系統(tǒng)的運行、訪問所述瞬像文件、將所述瞬像文件的內(nèi)容復(fù)制到可通信地互相連接的仿真模塊中、以及然后繼續(xù)所述仿真系統(tǒng)的運行,將仿真系統(tǒng)恢復(fù)成先前的狀態(tài)。
20.如權(quán)利要求18所述的獲得仿真系統(tǒng)的瞬像的方法,包括步驟在仿真系統(tǒng)的運行期間,自動和定期地執(zhí)行與存儲仿真系統(tǒng)的瞬像的步驟相關(guān)的步驟。
21.一種用于創(chuàng)建仿真實例來仿真處理控制系統(tǒng)的一個或多個結(jié)點的運行的仿真創(chuàng)建系統(tǒng),該處理控制系統(tǒng)在所述一個或多個結(jié)點的每個結(jié)點具有多個可通信地互相連接的模塊,以及存儲于配置數(shù)據(jù)庫中的一個或多個結(jié)點的每個結(jié)點的配置,所述仿真創(chuàng)建系統(tǒng)包括處理器;計算機(jī)可讀存儲器;第一例行程序,存儲于所述計算機(jī)可讀存儲器上,并且適于在所述處理器上執(zhí)行,以便用戶能夠指定對其創(chuàng)建仿真實例的處理控制系統(tǒng)的至少一個結(jié)點;以及第二例行程序,存儲于所述計算機(jī)可讀存儲器上,并且適于在所述處理器上執(zhí)行,以便通過下列步驟創(chuàng)建所指定的結(jié)點的仿真實例訪問配置數(shù)據(jù)庫,以便獲得指定結(jié)點的配置內(nèi)的模塊的副本;在仿真存儲器內(nèi)存儲所述模塊的副本;以及自動將復(fù)制的模塊轉(zhuǎn)換成仿真模塊,以創(chuàng)建具有多個可通信地互相連接的仿真模塊的仿真實例。
22.如權(quán)利要求21所述的仿真創(chuàng)建系統(tǒng),其中,至少一個被復(fù)制的模塊是用控制器協(xié)議的,并且其中所述第二例行程序還適于根據(jù)配置數(shù)據(jù)庫確定使用不同于控制器協(xié)議的協(xié)議的第二模塊的存在,以用控制器協(xié)議創(chuàng)建第二模塊的第二仿真模塊,以及可通信地將第二仿真模塊與可通信地互相連接的仿真模塊互相連接。
23.如權(quán)利要求22所述的仿真創(chuàng)建系統(tǒng),還包括一個存儲于計算機(jī)可讀存儲器中的列表,該列表指定不同協(xié)議內(nèi)的特定模塊與控制器協(xié)議內(nèi)的特定模塊之間的轉(zhuǎn)換,并且其中所述第二例行程序適于使用所述列表,用控制器協(xié)議來創(chuàng)建第二仿真模塊。
24.如權(quán)利要求23所述的仿真創(chuàng)建系統(tǒng),其中,所述列表還指定不同協(xié)議內(nèi)的特定模塊與控制器協(xié)議內(nèi)的特定模塊之間的參數(shù)轉(zhuǎn)換。
25.如權(quán)利要求21所述的仿真創(chuàng)建系統(tǒng),其中,至少一個被復(fù)制的模塊包括一個外部參考參數(shù),并且其中第二例行程序適于創(chuàng)建一個外部參考參數(shù)模塊,以將所述外部參考參數(shù)存儲于計算機(jī)可讀存儲器中。
26.如權(quán)利要求25所述的仿真創(chuàng)建系統(tǒng),其中,所述第二例行程序適于創(chuàng)建單個外部參考參數(shù)模塊,以便保持一個指定結(jié)點的所有的外部參考參數(shù)。
27.如權(quán)利要求21所述的仿真創(chuàng)建系統(tǒng),其中,所述第二例行程序還適于禁止關(guān)于至少一個仿真模塊的輸入或輸出狀態(tài)指示。
28.如權(quán)利要求27所述的仿真創(chuàng)建系統(tǒng),其中,所述第二例行程序還適于禁止關(guān)于輸入功能塊的輸入或輸出狀態(tài)指示。
29.如權(quán)利要求21所述的仿真創(chuàng)建系統(tǒng),其中,所述處理控制系統(tǒng)內(nèi)的模塊包括冗余能力,并且其中所述第二例行程序適于創(chuàng)建仿真模塊,以包括冗余能力,所述仿真創(chuàng)建系統(tǒng)還包括存儲于計算機(jī)可讀存儲器上的第三例行程序,該第三例行程序適于在所述處理器上執(zhí)行,以使用仿真模塊的冗余能力來捕獲在仿真系統(tǒng)的執(zhí)行期間仿真系統(tǒng)的瞬像。
30.如權(quán)利要求29所述的仿真創(chuàng)建系統(tǒng),其中,所述第二例行程序適于將由仿真模塊創(chuàng)建的冗余信號連接到仿真存儲器內(nèi)的特定存儲器位置,并且所述第三例行程序適于將仿真存儲器內(nèi)的特定存儲器位置的內(nèi)容復(fù)制到一個瞬像文件,以獲得仿真系統(tǒng)的瞬像。
全文摘要
一種仿真系統(tǒng),它附加到用于處理控制系統(tǒng)的一個或更多全配置的結(jié)點的配置數(shù)據(jù)庫,并且將這些結(jié)點內(nèi)的模塊復(fù)制到一個或多個仿真計算機(jī)中作為仿真模塊。該仿真系統(tǒng)包括一個算法,在復(fù)制處理過程中或之后,對于被復(fù)制的每個結(jié)點自動創(chuàng)建一個參考參數(shù)模塊,該模塊對于該結(jié)點外部的信號的每個輸入、輸出或其它參考,例如其它結(jié)點中的輸入/輸出塊、其它功能塊、現(xiàn)場器件中的發(fā)送器塊等存儲參考參數(shù)。在Fieldbus功能塊的情況下,仿真系統(tǒng)在仿真工作站內(nèi)以控制器結(jié)點的協(xié)議自動創(chuàng)建一個功能塊,模仿Fieldbus功能塊的操作,然后創(chuàng)建具有那些模仿的Fieldbus功能塊的仿真系統(tǒng),就像它們初始就被配置在被仿真的控制器中,而不是在控制器外部的現(xiàn)場器件中。
文檔編號G06F17/30GK1497442SQ20031010246
公開日2004年5月19日 申請日期2003年10月21日 優(yōu)先權(quán)日2002年10月21日
發(fā)明者馬克·尼克松, 特倫斯·布萊文斯, 丹尼斯·史蒂文森, 邁克爾·盧卡斯, 盧卡斯, 史蒂文森, 布萊文斯, 馬克 尼克松 申請人:費舍-柔斯芒特系統(tǒng)股份有限公司