專利名稱:監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序的方法和配置裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機化的過程控制網(wǎng)絡(luò)。更特別地,本發(fā)明涉及監(jiān)督過程控制和制 造信息系統(tǒng)。這類系統(tǒng)通常在過程控制網(wǎng)絡(luò)中的控制層上執(zhí)行,以便為低層控制元件(例 如,可編程邏輯控制器)提供指導(dǎo)。
背景技術(shù):
工業(yè)過程控制技術(shù)中的顯著的進(jìn)展已極大地改善了工廠和車間操作的各個方面。 在引入如今的現(xiàn)代工業(yè)過程控制系統(tǒng)之前,工業(yè)過程是由人和基本的機械控制來操作/控 制的。結(jié)果,對過程的控制的復(fù)雜度和程度受到速度的限制,利用該速度,一個或多個人可 以確定各種過程狀態(tài)變量的目前狀態(tài),將該當(dāng)前狀態(tài)與所需操作水平進(jìn)行比較,計算糾正 的動作(如果需要的話),并且改變控制點,以便影響狀態(tài)變量的變化。 通過對過程控制技術(shù)的改進(jìn),已使得經(jīng)由被編程的控制處理器能夠控制大得多且 更加復(fù)雜的工業(yè)過程??刂铺幚砥鲌?zhí)行讀取過程狀態(tài)變量并且基于狀態(tài)變量數(shù)據(jù)和所需的 調(diào)整點信息來執(zhí)行控制算法,以呈現(xiàn)關(guān)于工業(yè)過程中的控制點的輸出值的控制程序。(一旦 建立調(diào)整點)這類控制處理器和程序就支持自動啟動運行的工業(yè)過程。 盡管工業(yè)過程能夠在以前所建立的調(diào)整點處的被編程的過程控制器的控制下進(jìn) 行操作,而無須干預(yù),但是,仍然需要對控制處理器及其關(guān)聯(lián)的過程的監(jiān)督控制和監(jiān)控。由 處于多層過程控制網(wǎng)絡(luò)的應(yīng)用程序/人接口層的人和高層控制程序來提供這類監(jiān)督。通常 需要這類監(jiān)督,用于驗證低層過程控制器之下的受控過程的正確執(zhí)行,并用于配置該受控 過程的調(diào)整點。 由于過程控制設(shè)備和這些過程本身有變化,因此對制造/過程控制系統(tǒng)進(jìn)行修 改。這樣,在這類實例中,重要的是提供用于迅速配置/重新配置(而不會涉及)該系統(tǒng) 的未改變的部分的裝置。提供用于在進(jìn)行這類更改的同時將該工業(yè)過程的操作的中斷減到 最少(例如,將該過程停頓的時間減到最少)的裝置也很重要。 鑒于不斷改進(jìn)監(jiān)督過程控制和制造信息系統(tǒng)的重要性和需求,強烈希望不受困于 用于監(jiān)督過程控制和制造信息系統(tǒng)的單一結(jié)構(gòu)。過程控制系統(tǒng)發(fā)生變化,需要具有適應(yīng)這 類變化(不管其大小如何)的高層系統(tǒng)。另外,不太靈活的監(jiān)督過程控制和制造信息系統(tǒng)方案要求過程控制安裝的設(shè)計者考慮應(yīng)用程序的長期要求,因為一旦該應(yīng)用程序被安裝,對它的修改相對來說是不靈活的。 但是,這類應(yīng)用程序不靈活性在保守的工業(yè)控制系統(tǒng)市場中不合需要。過程控制工業(yè)傾向于進(jìn)行引導(dǎo),這些設(shè)計者經(jīng)常不完全知道最終將被并入最后的安裝的自動化的全部范圍和形式。以后在車間的使用期內(nèi),當(dāng)增加新的功能性時,這些新的控制系統(tǒng)組件利用或合并現(xiàn)存的系統(tǒng)。在該過程控制系統(tǒng)有重大改變的這類實例中,將不同的結(jié)構(gòu)并入已已安裝的監(jiān)督過程控制應(yīng)用程序有各種優(yōu)點。
發(fā)明概述 根據(jù)本發(fā)明的一個方面,可以用多層層次方式將監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序分配給多個聯(lián)網(wǎng)計算機設(shè)備,其中,低層支持已安裝的高層應(yīng)用程序組件。應(yīng)用程序?qū)ο篑v留在過程控制系統(tǒng)內(nèi)的分布式應(yīng)用程序結(jié)構(gòu)和模型實體的相對較高的層次處。引擎對象在運行時間環(huán)境中支持這些應(yīng)用對象的執(zhí)行。這樣,直到部署與應(yīng)用對象關(guān)聯(lián)的主機引擎對象,才部署這些應(yīng)用對象。引擎對象由平臺對象來支持。這些平臺對象對應(yīng)于用于執(zhí)行這些引擎對象和關(guān)聯(lián)的應(yīng)用對象的物理計算機系統(tǒng)組件。 根據(jù)本發(fā)明的另一個方面,配置裝置為監(jiān)督過程控制和制造信息應(yīng)用程序指定了部署模型。該部署模型將應(yīng)用對象與特定的物理計算設(shè)備聯(lián)系起來,并提供這些物理計算設(shè)備之上的各個對象的分布視圖。特別是,該配置裝置包括一組平臺定義,這組平臺定義指定該應(yīng)用程序中的主機引擎可用的一種或多種物理計算設(shè)備類型。 一組引擎定義指定在這些物理計算系統(tǒng)之上加以執(zhí)行的引擎,從而定義了由這些物理計算設(shè)備支持的服務(wù)類型。一組區(qū)域定義指定應(yīng)用對象的邏輯分組。另外, 一組層次關(guān)系指定對這些物理計算系統(tǒng)中的特定物理計算系統(tǒng)的引擎分配以及對這些引擎中的特定引擎的區(qū)域分配。部署視圖發(fā)生器根據(jù)這組層次關(guān)系來創(chuàng)建這些物理計算設(shè)備、引擎和區(qū)域的層次視圖。
根據(jù)本發(fā)明的另一個方面,監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序配置裝置包括各種視圖。這些視圖促進(jìn)了對過程控制和制造信息軟件的配置和部署。該配置裝置包括與車間內(nèi)的設(shè)備和實體的功能相對應(yīng)的一組監(jiān)督過程控制系統(tǒng)對象。每個對象中包含關(guān)于這些設(shè)備和功能的關(guān)聯(lián)的功能。另外,該監(jiān)督過程控制系統(tǒng)對象具有與其關(guān)聯(lián)的一組屬性,這組屬性指定這些監(jiān)督過程控制系統(tǒng)對象之間的關(guān)系。 該配置裝置也包括視圖發(fā)生器,這些視圖發(fā)生器用于根據(jù)這些監(jiān)督過程控制系統(tǒng)對象之間的聯(lián)系來呈現(xiàn)這些監(jiān)督過程控制系統(tǒng)對象。這組視圖包括至少第一個視圖,用于展示過程/車間及其受監(jiān)控組件的邏輯布置;以及第二個視圖,用于展示執(zhí)行該應(yīng)用程序的計算機系統(tǒng)之上的對象的物理部署。
附圖簡述 所附權(quán)利要求書詳細(xì)陳述了本發(fā)明的各個特點。通過以下結(jié)合附圖的詳細(xì)描述,可以最佳程度地理解本發(fā)明及其目標(biāo)和優(yōu)點。在這些附圖中
圖1是包括多層監(jiān)督過程控制和制造信息應(yīng)用程序的示范監(jiān)督過程控制網(wǎng)絡(luò)的示意圖; 圖2描繪了關(guān)于應(yīng)用程序的多層對象方案; 圖3描繪了與包括該應(yīng)用程序的各個對象的共同部分關(guān)聯(lián)的一組屬性;
圖4描繪了與平臺對象的特定平臺部分關(guān)聯(lián)的一組屬性;
5
圖5描繪了與引擎對象關(guān)聯(lián)的一組屬性;
圖6描繪了與調(diào)度程序?qū)ο箨P(guān)聯(lián)的一組屬性;
圖7描繪了與示范應(yīng)用對象關(guān)聯(lián)的一組屬性; 圖8是概述一組步驟的序列圖,這組步驟用于啟動實現(xiàn)實現(xiàn)本發(fā)明的多層應(yīng)用程序; 圖9是概述一組步驟的序列圖,這組步驟用于將對象移到包括多個應(yīng)用引擎的網(wǎng)絡(luò)中的另一個引擎; 圖10是描繪簡單的車間過程的受控組件的示意圖; 圖11是描繪在邏輯上被分成各個區(qū)域的這些簡單的車間過程組件的示意 圖12是描繪圖11的車間布置中的區(qū)域分組的層次樹形結(jié)構(gòu);
圖13是層次樹形結(jié)構(gòu),展示與圖10中所描繪的車間過程關(guān)聯(lián)的監(jiān)督過程控制應(yīng)用程序的對象的派生派生關(guān)系; 圖14a是圖10中所描繪的車間過程的混合器容器部分的示意圖; 圖14b是層次模型視圖,描繪了與圖14中所描繪的混合器容器相對應(yīng)的
MixerVessel復(fù)合應(yīng)用對象模板的包含關(guān)系; 圖15是層次樹形結(jié)構(gòu),展示與系統(tǒng)的硬件(例如,平臺、引擎和設(shè)備集成對象)關(guān)聯(lián)的應(yīng)用程序的各個部分的派生派生結(jié)構(gòu); 圖16是層次樹形結(jié)構(gòu),展示包括與這些應(yīng)用對象關(guān)聯(lián)的區(qū)域的應(yīng)用對象布置的模型視圖;以及, 圖17是層次樹形結(jié)構(gòu),展示該應(yīng)用程序到一組計算機設(shè)備的部署視圖,這組計算
機設(shè)備由處于該層次的頂層的所標(biāo)識的平臺對象來表示。 示范實施例的詳細(xì)描述 鑒于已有監(jiān)督過程控制應(yīng)用程序有關(guān)適應(yīng)所更改的過程控制系統(tǒng)結(jié)構(gòu)的缺點,所描述的監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序結(jié)構(gòu)允許用戶自由地重新構(gòu)建(例如,增大、重新配置等)這類應(yīng)用程序,而對現(xiàn)存的基礎(chǔ)過程控制系統(tǒng)工程所產(chǎn)生的影響達(dá)到最小。特別是,這里舉例描述的所揭示的系統(tǒng)結(jié)構(gòu)包括多個層,其中,每個基礎(chǔ)層顯示出與下一個較高層的支持關(guān)系。但是,要注意,這類支持關(guān)系沒有擴展到通信,因此,到/來自支持層的通信不需要通過其主機。根據(jù)所揭示的分層應(yīng)用程序結(jié)構(gòu),由引擎來支持應(yīng)用對象。該引擎由與(例如)具有基礎(chǔ)結(jié)構(gòu)軟件的個人計算機相對應(yīng)的平臺來支持。中間引擎層從該平臺結(jié)構(gòu)中抽象出該應(yīng)用對象。這樣,包含該應(yīng)用對象的物理系統(tǒng)內(nèi)的位置不需要由該應(yīng)用對象來尋址。 所揭示的監(jiān)督過程控制和制造信息應(yīng)用程序的一個方面是對象層次,該對象層次釋放與其上駐留有這些應(yīng)用對象的計算系統(tǒng)硬件關(guān)聯(lián)的設(shè)計限制的高層應(yīng)用對象。特別是,與監(jiān)督過程控制應(yīng)用程序環(huán)境關(guān)聯(lián)的對象被布置在包括多個層的層次中的物理計算設(shè)備上。應(yīng)用對象在應(yīng)用層處執(zhí)行。這些應(yīng)用對象由處于中間層的引擎對象來支持。這些引擎對象由駐留在這三層中的最低層處的平臺對象來支持。每個平臺對象由處于甚至更低的層的引導(dǎo)程序?qū)ο髞砑虞d。該平臺對象對應(yīng)于其上執(zhí)行應(yīng)用程序和引擎對象的物理計算系統(tǒng)(包括操作系統(tǒng))。這樣,應(yīng)用對象只需要與支持應(yīng)用引擎對象建立適當(dāng)?shù)臉?biāo)準(zhǔn)化關(guān)系。與物理計算設(shè)備及其操作系統(tǒng)有關(guān)的監(jiān)督控制和制造信息系統(tǒng)的各個方面由引擎和平臺對象配置來加以處理。對于這些應(yīng)用對象的操作而言,該系統(tǒng)的物理拓?fù)浣Y(jié)構(gòu)和該應(yīng)用程 序的物理位置是透明的。 所揭示的對象的分層支持方案允許對監(jiān)督過程控制應(yīng)用程序的模仿而不取決于 其上執(zhí)行該應(yīng)用程序的該計算硬件和監(jiān)督過程網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。通過使該應(yīng)用程序模型與該 物理部署配置隔離,可允許在需要時將應(yīng)用程序移植到新的/不同的計算系統(tǒng),并且允許 在該應(yīng)用程序的使用過程中跟上基礎(chǔ)硬件變化。這樣的能力在過程控制和制造信息系統(tǒng)的 區(qū)域中尤其有益,在該區(qū)域中,使用引導(dǎo)安裝來提供概念證據(jù),然后,該應(yīng)用程序在得到證 明時有所發(fā)展。 該應(yīng)用程序模型包括被稱作"區(qū)域"的邏輯容器內(nèi)的各個應(yīng)用對象的分組。必須 根據(jù)軟件部署方案,將同一區(qū)域內(nèi)的所有應(yīng)用對象都部署在同一應(yīng)用引擎上。但是,該分層 應(yīng)用程序結(jié)構(gòu)允許在后期開發(fā)階段將應(yīng)用程序模型和特定的部署模型結(jié)合起來。這樣,直 到開發(fā)者準(zhǔn)備好部署和執(zhí)行監(jiān)督層系統(tǒng),抽象的"區(qū)域"才需要與特定的引擎相關(guān)聯(lián)。
關(guān)于監(jiān)督控制和制造信息系統(tǒng)的安全模型跟該物理硬件無關(guān),這樣,直到這些應(yīng) 用程序模塊已被部署在包含特定物理系統(tǒng)組件的物理系統(tǒng)內(nèi),監(jiān)督過程控制和制造信息系 統(tǒng)結(jié)構(gòu)才需要將安全性和該物理系統(tǒng)組件結(jié)合起來。通過安全性和系統(tǒng)的特定組件的后期 綁定,可允許開發(fā)者根據(jù)所部署的應(yīng)用對象來確定特定系統(tǒng)的授權(quán);并且,該開發(fā)者根據(jù)被 部署在特定的計算節(jié)點上的應(yīng)用對象的功能性來綁定安全性。 另外,通過使這些應(yīng)用對象所提供的功能性(商業(yè)邏輯)與在其上執(zhí)行的計算機 系統(tǒng)分離,可允許根據(jù)多個視圖/模型來呈現(xiàn)所定義的系統(tǒng)/軟件配置。"車間中心"應(yīng)用 程序模型允許系統(tǒng)開發(fā)者用邏輯方法來建立應(yīng)用程序模型。該系統(tǒng)開發(fā)者將單獨的設(shè)備和 功能定義為車間內(nèi)的獨特的實體。每個對象中包含所關(guān)聯(lián)的功能性。在定義該車間內(nèi)的單 獨的對象之后,該用戶配置(裝配)這些對象之間的聯(lián)系。 該應(yīng)用程序模型是相對于該車間的物理區(qū)域以及這些物理區(qū)域內(nèi)的設(shè)備和功能 的該車間的邏輯構(gòu)造。工程師對這些車間區(qū)域?qū)嶓w之間的行為和聯(lián)系進(jìn)行配置。該監(jiān)督過 程控制和制造信息系統(tǒng)提供了描繪包含層次的該應(yīng)用程序模型的配置視圖,該包含層次跟 這些區(qū)域和設(shè)備以及該設(shè)備本身有關(guān)。 該應(yīng)用程序模型支持在對象內(nèi)包含對象,并且,可以在模板中指定包含。包含促進(jìn) 提高不同的工程師在監(jiān)督過程控制和制造信息應(yīng)用程序的不同開發(fā)層次的工作的效率。特 定的技術(shù)員可以定義關(guān)于特定的低層設(shè)備的細(xì)節(jié)。其后,另一個工程師定義包含特定低層 設(shè)備的一個或多個實例的應(yīng)用程序中的單元或其他設(shè)備。 該應(yīng)用程序模型也支持通過繼承來傳送變化。這樣,子對象繼承所引用的母模板 定義的變化。 在開發(fā)者指定過程控制和制造信息應(yīng)用程序的功能之后,跨越許多物理計算系統(tǒng) 來部署該應(yīng)用程序。在這里所揭示的本發(fā)明的一個實施例中,第二種類型的系統(tǒng)視圖(被 稱作"部署模型")允許用戶配置與應(yīng)用程序有關(guān)的物理PC和設(shè)備。該部署模型定義在 這些平臺上運行的PC和引擎類型,以及外部設(shè)備集成。用戶定義將在特定引擎上運行的區(qū) 域,從而確定將在哪里對該特定的應(yīng)用程序軟件加以物理上的執(zhí)行。該監(jiān)督過程控制和制 造信息系統(tǒng)提供了部署模型的配置視圖,它展示具有物理PC的層次以及在這些物理PC上 運行的區(qū)域和應(yīng)用對象。在開發(fā)者指定/確認(rèn)該部署模型之后,根據(jù)該部署模型將這些應(yīng)用對象和引擎對象部署在這些物理計算設(shè)備上。 已通體概述了促進(jìn)重新配置(重新創(chuàng)建)該系統(tǒng)的監(jiān)督過程控制和制造信息系統(tǒng) 的新結(jié)構(gòu),現(xiàn)在來看圖l,該圖包括并入實現(xiàn)本發(fā)明的應(yīng)用程序結(jié)構(gòu)的系統(tǒng)的說明性例子。 第一個應(yīng)用服務(wù)器個人計算機(PC)100和第二個應(yīng)用服務(wù)器PC 102共同協(xié)作地執(zhí)行包括 第一個部分104和第二個部分106的分布式多層監(jiān)督過程控制和制造信息應(yīng)用程序。應(yīng)用 程序部分104和106分別包括設(shè)備集成應(yīng)用對象PLClNetwork和PLC1以及PLC2Network和 PLC2。該PLCxNetwork設(shè)備集成對象促進(jìn)了訪問數(shù)據(jù)訪問服務(wù)器(例如,OPC DAServer116 和118)的配置。PLC1和PLC2設(shè)備集成對象(作為OPC客戶來進(jìn)行操作)對OPC DAServer 116和118的緩沖器內(nèi)的數(shù)據(jù)位置進(jìn)行訪問。訪問數(shù)據(jù)訪問服務(wù)器116和118以及這些設(shè) 備集成對象協(xié)作地輸入并緩沖來自外部過程控制組件(例如,PLC或其他域設(shè)備)的數(shù)據(jù)。 這些數(shù)據(jù)緩沖器由在個人計算機IOO和102上執(zhí)行的各種應(yīng)用對象105和107來進(jìn)行訪問。 舉例來講,應(yīng)用對象的例子包括離散設(shè)備、模擬設(shè)備、域引用等。 根據(jù)本發(fā)明的一個實施例,應(yīng)用引擎經(jīng)由這里被稱作"區(qū)域"的邏輯分組對象來支 持這些應(yīng)用對象。這些引擎依次由處于該監(jiān)督過程控制和制造信息應(yīng)用程序的下一個較低 層的平臺對象來支持。應(yīng)用程序部分104和106依次由普通的引導(dǎo)程序組件108和110來 支持。在這里,以下參照圖2來描述所有這些前述的組件。 在實現(xiàn)本發(fā)明的示范系統(tǒng)中,包括部分104和106的多層應(yīng)用程序通訊連接到受 控過程。特別是,第一個應(yīng)用服務(wù)器個人計算機100通訊聯(lián)絡(luò)連接到第一個可編程邏輯控 制器112,第二個應(yīng)用服務(wù)器個人計算機102通訊連接到第二個可編程邏輯控制器114。注 意,從PC 100和102到PLC 112和114的所述連接表示邏輯連接。這類邏輯連接對應(yīng)于直 接和間接的物理通信連接。例如,在特殊的實施例中,PCL 112和PLC 114包括以太網(wǎng)LAN 上的節(jié)點,個人計算機100和104也與該以太網(wǎng)LAN連接。在其他實施例中,PLC 112和114 被直接連接到PC 100和102上的物理通信端口 。 在圖1中所陳述的說明性實施例中,PC 100和102分別執(zhí)行訪問數(shù)據(jù)訪問服務(wù)器 116和118。訪問數(shù)據(jù)訪問服務(wù)器116和118獲得/提取由PLC 112和114呈現(xiàn)的過程信息, 并將該過程信息提供給包括部分104和106的應(yīng)用程序的應(yīng)用對象(例如,PLClNetwork、 PLCl、 PLC2Network、 PLC2)。舉例來講,訪問數(shù)據(jù)訪問服務(wù)器116和118是OPC服務(wù)器。但 是,精通該技術(shù)領(lǐng)域的人將容易理解由訪問數(shù)據(jù)訪問服務(wù)器116和118潛在地執(zhí)行的自定 義和標(biāo)準(zhǔn)化數(shù)據(jù)格式/協(xié)議的廣泛多樣性。另外,示范應(yīng)用對象(通過與訪問數(shù)據(jù)訪問服 務(wù)器116和118的連接)表示PLC網(wǎng)絡(luò)和該PLC本身的操作。但是,這些應(yīng)用對象包括實 際上范圍無限的各個種類的可執(zhí)行對象,這些可執(zhí)行對象在該監(jiān)督過程控制和制造信息應(yīng) 用程序的上下文中執(zhí)行所需的監(jiān)督控制和數(shù)據(jù)獲取/集成功能。 例如,由執(zhí)行數(shù)據(jù)庫(例如,SQL)服務(wù)器122的配置個人計算機120來增強該監(jiān) 督過程控制和管理信息應(yīng)用程序,數(shù)據(jù)庫服務(wù)器122維護(hù)關(guān)于這些應(yīng)用對象和其他相關(guān)信 息(包括從其中呈現(xiàn)這些應(yīng)用程序?qū)ο蟮哪0?的監(jiān)督過程控制和管理信息應(yīng)用程序配置 數(shù)據(jù)庫124。配置數(shù)據(jù)庫124也包括全局名稱表125,全局名稱表125促進(jìn)將位置獨立的對 象名和位置導(dǎo)出的處理程序綁定,這些位置導(dǎo)出的句柄促進(jìn)在圖1中所描繪的系統(tǒng)內(nèi)的各 個對象之間發(fā)送消息。配置PC 120和關(guān)聯(lián)的數(shù)據(jù)庫服務(wù)器122支持關(guān)于多用戶環(huán)境的管 理監(jiān)控;修正歷史管理;集中的許可證管理;集中的對象部署,它包括新的對象及其關(guān)聯(lián)的軟件的部署和安裝;全局名稱表125的維護(hù);以及,導(dǎo)入/導(dǎo)出對象模板和實例。
經(jīng)由"集成開發(fā)環(huán)境"(IDE) 127來執(zhí)行這些應(yīng)用程序的實際配置,"集成開發(fā)環(huán) 境"(IDE) 127經(jīng)由分布式組件對象模型(DCOM)協(xié)議來與數(shù)據(jù)庫服務(wù)器122進(jìn)行通信。該 IDE是一種實用程序,應(yīng)用對象從它那里被配置和部署到應(yīng)用服務(wù)器PC 100和102。監(jiān)督 過程控制和制造信息應(yīng)用程序的開發(fā)者通過該IDE來執(zhí)行眾多不同的系統(tǒng)設(shè)計功能,這些 系統(tǒng)設(shè)計功能包括導(dǎo)入新的對象和模板類型、從現(xiàn)存的模板中配置新的模板、定義新的應(yīng) 用對象,以及將這些應(yīng)用對象部署到應(yīng)用服務(wù)器PC 100和102上的主機應(yīng)用引擎(圖1中 的AppEnginel或AppEngine2)。 圖1中所描繪的示范監(jiān)督控制網(wǎng)絡(luò)環(huán)境也包括提供過程或其部分的視圖的一組 操作員站130U32和134,這些操作員站由該監(jiān)督過程控制和管理信息應(yīng)用程序來進(jìn)行 監(jiān)控/控制,該監(jiān)督過程控制和管理信息應(yīng)用程序被安裝并作為PC 100和102之上的一 組分層對象來加以執(zhí)行。RawMaterial PC 130提供代表視圖,從而允許監(jiān)控被監(jiān)督的工 業(yè)過程的原料區(qū)。ProductionPC 132呈現(xiàn)該被監(jiān)督的工業(yè)過程的生產(chǎn)部分的代表視圖。 FinishedProductPC 134提供與成品關(guān)聯(lián)的生產(chǎn)設(shè)備的區(qū)域的代表視圖。操作員站130、 132和134中的每個操作員站包括每個特定的操作員站平臺的引導(dǎo)程序主機。操作員站 130、132和134中的每個操作員站包括查看引擎,查看引擎處理圖形信息,以便呈現(xiàn)所觀察 的工業(yè)過程或其部分的圖形表示。 注意,圖1中所描繪的和上文所描述的系統(tǒng)只是監(jiān)督過程控制和制造信息系統(tǒng)的 多層分層結(jié)構(gòu)的一個例子。本發(fā)明不局限于所揭示的特定應(yīng)用程序/系統(tǒng)。例如,預(yù)期該 多層應(yīng)用程序方法在較低的控制層可應(yīng)用于分布式控制系統(tǒng)(DCS)應(yīng)用程序或可編程序 邏輯控制器(PLC)應(yīng)用程序。在這些情況下,為該DCS或PLC內(nèi)的唯一的計算硬件開發(fā)了 特殊的平臺和應(yīng)用引擎對象。還要注意,圖1是作為所安裝的軟件與物理計算硬件之間的 相互關(guān)系的邏輯視圖而被呈現(xiàn)的,并且,它并不意在指定任何特定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。相反, 本發(fā)明實質(zhì)上適合任何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。實際上,本發(fā)明可應(yīng)用于在被連接到受控過程的單 個計算機系統(tǒng)上運行的控制應(yīng)用程序。 現(xiàn)在參考圖2,類圖描繪了至少與執(zhí)行監(jiān)督過程控制和制造信息應(yīng)用程序的部 分的計算機關(guān)聯(lián)的分層軟件的分層方案。每臺計算機在該層次的最低層執(zhí)行操作系統(tǒng) 200 (例如,MICROSOFT的WINDOWS)。操作系統(tǒng)200支持引導(dǎo)程序?qū)ο?02。引導(dǎo)程序?qū)ο?202被裝載到計算機上,并且聯(lián)合操作系統(tǒng)200所執(zhí)行的啟動程序來被加以激活。作為平臺 類對象204的主機,引導(dǎo)程序?qū)ο?02必須在開始平臺類對象204的操作之前被激活。引 導(dǎo)程序?qū)ο?02啟動及停止該平臺類對象。引導(dǎo)程序?qū)ο?02也呈現(xiàn)平臺類對象204所利 用的各種服務(wù),以便啟動及停止由平臺類對象204支持的一個或多個引擎對象206。
平臺類對象204是一個或多個引擎對象206的主機。在本發(fā)明的一個實施例中, 對于這一個或多個引擎對象206而言,平臺類對象204表示執(zhí)行特定的操作系統(tǒng)的計算機。 平臺類對象204維護(hù)部署在平臺類對象204上的引擎對象206的清單,啟動和停止引擎對 象206,并且,如果引擎對象206崩潰,則重新啟動它們。平臺類對象204監(jiān)控引擎對象206 的運行狀態(tài),并向客戶發(fā)布該狀態(tài)信息。平臺類對象204包括系統(tǒng)管理控制臺診斷實用程 序,該系統(tǒng)管理控制臺診斷實用程序允許對執(zhí)行平臺類對象204的計算機系統(tǒng)執(zhí)行診斷和 管理的任務(wù)。平臺類對象204也為分布式報警子系統(tǒng)提供警報。
引擎對象206支持一組應(yīng)用對象210,這組應(yīng)用對象210執(zhí)行與應(yīng)用程序關(guān)聯(lián)的監(jiān) 督過程控制和/或制造信息獲取功能。引擎對象206開始所有應(yīng)用對象210的啟動。在調(diào) 度程序?qū)ο蟮膸椭?,引擎對?06也調(diào)度彼此有關(guān)的應(yīng)用對象210的執(zhí)行。引擎對調(diào)度程 序注冊應(yīng)用對象用于執(zhí)行。該調(diào)度程序根據(jù)引擎所指定的配置相對于其他應(yīng)用對象來執(zhí)行 應(yīng)用對象。引擎對象206監(jiān)控應(yīng)用對象210的操作,并將發(fā)生故障的應(yīng)用對象置于隔離狀 態(tài)。通過將自動化對象所執(zhí)行的運行時間應(yīng)用程序更改保存/恢復(fù)到配置文件,引擎對象 206支持使用檢驗點。引擎對象206維護(hù)名稱綁定服務(wù),該服務(wù)將屬性引用(例如,tankl. value, pv)與應(yīng)用對象210中的一個適當(dāng)?shù)膽?yīng)用對象綁定。 引擎對象206最終控制將如何執(zhí)行應(yīng)用對象。但是, 一旦引擎對象206確定對應(yīng) 用對象210執(zhí)行調(diào)度,就由調(diào)度程序208來控制其執(zhí)行的實時調(diào)度。該調(diào)度程序支持包含 方法RegisterAutomationOb ject ()禾口 UnregisterAutomationOb ject ()的接口 ,從而允許 引擎對象206將特定的應(yīng)用對象加入預(yù)定操作的調(diào)度程序清單,或者從預(yù)定操作的調(diào)度程 序清單中除去特定的應(yīng)用對象。 應(yīng)用對象210包括執(zhí)行商業(yè)邏輯的多種不同的對象,這有利于促進(jìn)在(例如)工 業(yè)過程控制系統(tǒng)的上下文中執(zhí)行特定的過程控制操作(例如,開啟泵、開動閥門)和/或信 息搜集/管理功能(例如,根據(jù)所接收的域設(shè)備輸出信號值來發(fā)出警報)。應(yīng)用對象的例子 包括模擬輸入、離散設(shè)備和PID回路。 一類應(yīng)用對象210經(jīng)由設(shè)備集成對象(例如,OPC DAServer 118)來作用于過程控制系統(tǒng)(例如,PLC)所提供的數(shù)據(jù)。這些集成對象的功能 是提供過程控制/制造信息源跟該監(jiān)督過程控制和制造信息應(yīng)用程序之間的橋梁。
在示范實施例中,應(yīng)用對象210包括引擎對象和調(diào)度程序所訪問的應(yīng)用接口。這 些引擎對象訪問該應(yīng)用對象接口,以便對應(yīng)用對象進(jìn)行初始化、啟動應(yīng)用對象、以及關(guān)閉 應(yīng)用對象。這些調(diào)度程序使用該應(yīng)用對象接口來開始該應(yīng)用對象預(yù)定的執(zhí)行。
已描述了被分層布置的監(jiān)督過程控制和制造信息應(yīng)用程序的主要組件,現(xiàn)在來看 圖3-7,這些附圖標(biāo)識構(gòu)成以上所描述的對象結(jié)構(gòu)的基元的屬性。首先參考圖3,該圖描繪 了共同對象基元定義。共同基元被包含在所有這些應(yīng)用對象(即平臺、應(yīng)用引擎、調(diào)度程 序、應(yīng)用程序等)中。使用腳本屬性300來跟蹤與應(yīng)用對象關(guān)聯(lián)的腳本。腳本屬性300包 括從模板繼承的腳本以及特別為該特定的對象類型而創(chuàng)建的腳本。UDA(用戶定義屬性) 屬性302引用關(guān)于對象的繼承的和新的用戶定義屬性。報警模式屬性304指出是否啟用 警報,以及啟用警報的范圍?;?based on)屬性306標(biāo)識從其中獲得過對象的特定基礎(chǔ) 模板。屬性308將標(biāo)識屬性名稱的字符串存儲在對象中。包含名稱屬性310標(biāo)識分配給容 器內(nèi)的對象的名稱。例如,對象可能會對應(yīng)于"反應(yīng)器"對象內(nèi)所包含的一個"層次"。所部 署的版本屬性312存儲整數(shù),該整數(shù)標(biāo)識關(guān)于所部署的對象的版本。派生屬性314標(biāo)識從 其中獲得過對象的實際模板。派生屬性314的內(nèi)容不同于基于屬性306的內(nèi)容?;趯傩?306是從其中獲得過這個對象的基礎(chǔ)模板。派生屬性314是從其中創(chuàng)建過這個對象的直接 模板。例如,模板層次如下所示
$DiscreteDevice
$Pump
P卿OOl豸DiscreteDevice是從其中獲得新模板$Pump的基礎(chǔ)模板。從模板$Pump中創(chuàng)建
10實例Pump001。對象Pump001的"派生"屬性派生將會是$Pump。對象PumpOOl的"基于"屬 性將會是$DiscreteDevice。 相對執(zhí)行順序?qū)傩?16標(biāo)識另一個對象,本對象與這另一個對象有相對的執(zhí)行順 序關(guān)系。除了標(biāo)識另一個對象以外,屬性316還標(biāo)識這些對象的相對的執(zhí)行順序(例如,無、 之前、之后等)。利用該相對執(zhí)行順序信息來安排應(yīng)用對象的執(zhí)行。分層名稱屬性318為包 括該對象(例如,Reactorl. level)的任何容器的對象存儲全名。IsTemplate屬性320指 出該對象是模板還是從模板中實例化的對象。區(qū)域或容器對象內(nèi)的Alarmlnhibit屬性322 提供切斷功能,以便對區(qū)域或容器內(nèi)的所有對象禁止警報。報警模式屬性324指定對象的 當(dāng)前報警模式。如果啟用區(qū)域和容器,則該模式基于該對象的命令模式。否則,應(yīng)用該容器 或母區(qū)域的最被禁止的狀態(tài)。報警模式命令屬性326指定該對象的當(dāng)前指定的報警模式。
本發(fā)明的該說明性例子支持對象層次。對象在區(qū)域?qū)傩?28中的車間/模型視圖 的上下文中指定這種層次,區(qū)域?qū)傩?28指定對象所屬的區(qū)域。容器屬性330指定包含該 對象的容器。如前面所解釋的,在各種不同的所部署的對象之中存在支持關(guān)系。特別是,平 臺支持引擎,而引擎(經(jīng)由區(qū)域)支持應(yīng)用對象。這樣,主機屬性338標(biāo)識對象的主機。
分類屬性332指定與該對象關(guān)聯(lián)的一類對象,從而促進(jìn)了根據(jù)局部聯(lián)系和/或功 能來組織對象。該值是在分類列舉屬性334中被命名的各個種類之一。錯誤屬性336標(biāo)識 由該對象生成的錯誤。InAlarm標(biāo)志340存儲布爾標(biāo)志,該標(biāo)志指出對象中是否存在警報。 只有當(dāng)掃描狀態(tài)標(biāo)志342是真的(正在掃描該對象)并且該對象的警報被啟用時,該標(biāo)志 才為真。通過用信號通知是否讓該對象進(jìn)行/脫離掃描的掃描狀態(tài)命令344,來改變對象的 掃描狀態(tài)。 安全組346允許為該對象指定特定的安全組,以便對特定種類的用戶限制該對象 的訪問/使用。描述屬性348提供一個區(qū)域,用于存儲對象的簡短描述。標(biāo)記名稱屬性350 為對象指定唯一的標(biāo)記。警告屬性352列出由對象呈現(xiàn)的任何警告。 已描述了這里所述的所有對象的共同屬性,這里將參照圖4來描述一組特定對象 類型的屬性,以下從平臺基元的屬性開始。圖4中所標(biāo)識的各個屬性涉及支持該對象/引 擎/平臺支持層次。雖然未在圖4中被加以標(biāo)識,但通過該平臺基元來提供一組屬性,從而 允許平臺對象監(jiān)控/報告計算機設(shè)備統(tǒng)計數(shù)字。該示范平臺基元中所包括(但圖4中不包 括)的其他屬性涉及檢測和報告與計算機設(shè)備統(tǒng)計數(shù)字關(guān)聯(lián)的警報并且存儲這些統(tǒng)計數(shù) 字。 RegisterEngine屬性400存儲用于登記新引擎的命令。在部署時間使用 RegisterEngine屬性400,來對主機平臺注冊引擎。StartEngine屬性402存儲用于在 該平臺上啟動特定的已部署的引擎的命令。StartHostedObjects屬性404所存儲的命 令被傳遞到該平臺,以便啟動所有被支持的引擎,這些引擎是自動啟動和半自動啟動類型 的引擎。StopEngine屬性406所存儲的命令用于停止該平臺上的特定的已部署的引擎。 UnRegisterEngine屬性308所存儲的命令用于解除對該平臺上的以前所部署的引擎的部 署。"引擎"屬性410存儲被部署在該平臺上的所有引擎的清單。EngineStates屬性412存 儲由該平臺支持的所有引擎對象的當(dāng)前操作狀態(tài)的清單。 圖5概述了與引擎基元關(guān)聯(lián)的一組屬性。外部名稱屬性500存儲被用于外部引用 的字符串。內(nèi)部名稱屬性502存儲被用于內(nèi)部引用的字符串。引用計數(shù)屬性504存儲引用該引擎對象的對象數(shù)量。當(dāng)引用數(shù)量達(dá)到零時,在該引擎的外部,沒有客戶引用該引擎上的 任何自動化對象屬性。這有助于操作員確定停止該引擎所帶來的影響(將影響多少客戶)。 對象屬性506是包括由該引擎對象支持的一組所有的對象的數(shù)組。啟動類型屬性508標(biāo)識 將如何啟動引擎對象(例如,自動、半自動、手動)。CanGo0nscan屬性510指出是否可以將 引擎對象置于掃描。BindReference屬性512是被用于將引用(例如,pump001. inlet. PV) 轉(zhuǎn)為句柄的命令。通信基礎(chǔ)結(jié)構(gòu)使用這些句柄,以便在運行時間定位對象。AutoRestart 屬性514存儲布爾值,該布爾值指出是否一檢測到故障就應(yīng)該自動重新啟動該引擎對象。 CheckpointFailedAlarm屬性516所存儲的值指出在最后的嘗試期間,檢查被支持對象的 最后嘗試是否已失敗。在將要壓制由該引擎上的對象生成的警報之前,在引擎對象所發(fā)出 的每秒的警報中,AlarmThrottleLimit屬性518存儲值。EngineAlarmRate屬性520指出 在最后一次完整的掃描期間被登記在引擎上的警報數(shù)量。AlarmsThrottled屬性522指出 引擎對象在這最后的掃描期間壓制過警報。 提供一組屬性,以便處理腳本執(zhí)行。ScriptExecuteTimout屬性524存儲同步腳本 的時限,以便在引擎對象發(fā)出警報之前完成執(zhí)行。ScriptStartupTimeout屬性526存儲同 步腳本的時限,以便在將要發(fā)出警報之前進(jìn)行啟動。 ScriptShutdownTimout屬性528存儲同步腳本的時限,以便在將要發(fā)出警報之前 進(jìn)行關(guān)閉。PublisherHeartbeat屬性530存儲與秒數(shù)相對應(yīng)的值,在假定該引擎已發(fā)生故 障之前,引擎對象將等候來自另一個引擎對象的心跳消息達(dá)這些秒數(shù)。過程ID532標(biāo)識被 分配給弓I擎過程的唯一 的標(biāo)識符。 引擎對象也包含與管理應(yīng)用對象關(guān)聯(lián)的一組命令屬性。
CreateAutomationObject屬性534是用于創(chuàng)建應(yīng)用對象的命令屬性。
DeleteAutomationObject屬性536是用于刪除應(yīng)用對象的命令屬性。
StartHostedObjects屬性538是用于啟動被支持的應(yīng)用對象的命令屬性。
參考圖6,概述包含在調(diào)度程序基元內(nèi)的、對于調(diào)度程序?qū)ο蠖允仟氁粺o二的一 組屬性。每個調(diào)度程序?qū)ο蟀▋?nèi)部名稱屬性600和外部名稱屬性602。 StatsAvgPeriod 604所存儲的值表示該調(diào)度程序獲取被存儲在以下所描述的屬性內(nèi)的統(tǒng)計數(shù)字的平均周 期。CheckpointPeriodAvg屬性606標(biāo)識在當(dāng)前的平均周期期間各個檢查點之間的當(dāng)前平 均次數(shù)。ExecutionTimeAvg屬性608所存儲的值表示每一掃描周期執(zhí)行所有這些對象的時 間數(shù)量。Houseke印ingTimeAvg屬性610存儲與每一周期的平均時間相對應(yīng)的值,以便完成 內(nèi)務(wù)操作。TimeldleAvg屬性612存儲表示每一周期的平均空閑時間的值。TimeldleMax 屬性614存儲表示所記錄的最多空閑時間的值。TimeldleMin屬性616存儲表示所記錄的 最少空閑時間的值。InputMsgSizeAvg屬性618存儲在平均周期中的輸入消息平均尺寸。 InputMsgsProcessedAvg屬性620存儲一個值,該值表示該平均周期期間的每一掃描周期 所處理的消息總?cè)萘?用字節(jié)表示)。I即utMsgsQueuedAvg屬性622存儲在該平均周期期 間的每一掃描周期中排隊的消息的平均數(shù)量。InputMsgsQueuedMax屬性624存儲自從上次 重置這些統(tǒng)計屬性之后被存儲在屬性622中的最大平均數(shù)。 InputQueueSizeMaxAllowed屬性626存儲在網(wǎng)絡(luò)消息交換輸入隊列中所容許的 排隊的消息的最大尺寸。InputQueueSizeAvg屬性628存儲在該平均周期期間用字節(jié)表示 的該輸入隊列的平均尺寸。InputQueueSizeMax屬性630存儲自從上次重置這些統(tǒng)計屬性
12之后被存儲在屬性628中的最大平均數(shù)。 TimeI即utAvg屬性632存儲表示在當(dāng)前周期期間處理輸入消息所要求的平均時間的值。Ob j e c t Cn t屬性6 34存儲與當(dāng)前正由調(diào)度程序?qū)ο筇幚淼膽?yīng)用對象的當(dāng)前數(shù)量相對應(yīng)的計數(shù)值。Ob j ect sOf f ScanCnt屬性636指示當(dāng)前未掃描的應(yīng)用對象的數(shù)量。TimeOutputAvg屬性638存儲在一個周期期間處理輸出消息所要求的平均時間量。StatsReset屬性640指示對為調(diào)度程序而描述的沒有被定期重置的統(tǒng)計屬性進(jìn)行重置的請求(例如,最大值)。ScanCyclesCnt屬性642存儲一個值,該值指示自從上次通過StatsReset屬性640來重置這些屬性之后的周期數(shù)量。ScanOverrunsCnt屬性644指示自從上次StatsReset之后一個掃描周期結(jié)束而沒有完成對所有對象的掃描的次數(shù)。ScanOverrunsConsecut i veCount646存儲其中發(fā)生超時的當(dāng)前數(shù)量的連續(xù)周期。Scan0verr皿HighLimit屬性648存儲關(guān)于連續(xù)超時的警報高限,以引發(fā)被存儲在Scan0verrunCondition屬性650中的警報。ScanPeriod 652存儲表示該調(diào)度程序的周期時間的值。 注意,與特定的對象類型關(guān)聯(lián)的屬性不局限于這些特定的對象基元類型。實際上,所有對象類型都包括以上所描述的基元中的至少兩個基元。所有對象類型都利用共同對象基元。此外,平臺對象包括以上所描述的調(diào)度程序、引擎和平臺基元的各個屬性。引擎對象包括該調(diào)度程序的各個屬性以及這些引擎基元。 參考圖7, 一組基元與應(yīng)用對象有關(guān)聯(lián)。每種類型的應(yīng)用對象都有其自己的一組基元。這些基元包含商業(yè)特定邏輯以及對于這些基元的功能而言是獨一無二的那組屬性??梢钥缭讲煌膽?yīng)用對象類型來重用這些基元。 圖7中描繪了與模擬設(shè)備應(yīng)用對象關(guān)聯(lián)的一組示范基元。被標(biāo)示為"AnalogDevice屬性"的基元700包含客戶將會感興趣的 一組模擬設(shè)備特定的屬性。PV. Input 701是經(jīng)由設(shè)備集成對象(例如,PLC1)從域設(shè)備讀取數(shù)據(jù)的基元。PV. Output702是經(jīng)由設(shè)備集成對象將數(shù)據(jù)寫入該域的基元。"換算"703是對從該輸入基元(PV. Input701)讀取的數(shù)據(jù)執(zhí)行線性或平方根換算的基元。LevelAlarms 704是一種基元,如果AnalogDevice基元700中的過程變量超過或低于所配置的值,則該基元生成警報。PV. RoC705是一種基元,如果PV增加或減少的速度比預(yù)置的限制快,則該基元生成警報。SP 706是一種基元,當(dāng)客戶想要修改PV. Output 702寫入的那個值時,他們寫入該基元。PVDev 707是一種基元,如果(經(jīng)由基元701)從域設(shè)備被讀入的值偏離(經(jīng)由基元702)被寫入該域設(shè)備的值達(dá)某個數(shù)量,則使用該基元來生成警報。CtrlTrack 708是被用來允許該調(diào)整點和PV基元跟蹤從該外部設(shè)備被驅(qū)動的變化的基元。已描述了實現(xiàn)本發(fā)明的監(jiān)督過程控制和制造信息應(yīng)用程序的基本構(gòu)件塊,現(xiàn)在來看概述被用來執(zhí)行這種應(yīng)用程序的方法的一組序列圖。參考圖8,序列圖描繪了用于啟動和停止實現(xiàn)分層支持關(guān)系的應(yīng)用程序的各個步驟。在階段800期間,計算機系統(tǒng)上的引導(dǎo)程序過程向已裝載的平臺對象發(fā)出啟動平臺請求。作為響應(yīng),在步驟802期間,該平臺過程向該引導(dǎo)程序接口發(fā)出調(diào)用,以請求該引導(dǎo)程序啟動由該平臺對象支持的所有這些應(yīng)用引擎。在階段804期間,該引導(dǎo)程序過程創(chuàng)建具有上文所討論的各個屬性的應(yīng)用引擎對象。 在階段806期間,該應(yīng)用引擎過程啟動其所有被支持的應(yīng)用對象。在階段808期間,該應(yīng)用引擎也對調(diào)度程序過程注冊這些被支持的應(yīng)用對象。通過注冊應(yīng)用對象,可以將
1那個應(yīng)用對象加入該調(diào)度程序在每個掃描周期期間進(jìn)行掃描的那組應(yīng)用對象。在階段810中,該應(yīng)用引擎向該調(diào)度程序發(fā)出命令,以便開始執(zhí)行/掃描已啟動和已注冊的應(yīng)用對象。其后,在階段812中,該調(diào)度程序執(zhí)行這些已注冊的應(yīng)用對象。在每個掃描周期期間,定期進(jìn)行這類執(zhí)行。 該調(diào)度程序繼續(xù)根據(jù)監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序來定期地掃描這些已注冊的應(yīng)用對象,直到接收關(guān)閉命令為止。特別是,在階段814期間,該引導(dǎo)程序過程響應(yīng)于操作系統(tǒng)關(guān)閉命令,向該平臺過程發(fā)出關(guān)閉命令。在階段816期間,該平臺過程將停止引擎命令返回到該引導(dǎo)程序,以便開始關(guān)閉由該平臺過程支持的所有引擎。作為響應(yīng),在階段818期間,該引導(dǎo)程序向該應(yīng)用引擎發(fā)出停止的請求。該引導(dǎo)程序?qū)⒌群蛟搼?yīng)用引擎停止。但是,在一段時期后,如果該應(yīng)用引擎還沒有停止,該引導(dǎo)程序?qū)⒄埱笤摬僮飨到y(tǒng)關(guān)閉該應(yīng)用引擎過程。 在正常的操作條件下,在階段820期間,該應(yīng)用引擎向該調(diào)度程序發(fā)出命令解除對該引擎的被支持應(yīng)用對象的注冊。另外,在本發(fā)明的一個實施例中,該引擎請求其被支持的應(yīng)用對象關(guān)閉。但是,在本發(fā)明的選擇性實施例中,該調(diào)度程序響應(yīng)于該解除注冊命令來發(fā)出該關(guān)閉請求。 注意,在以上所描述的示范實施例中,這些引擎對象和平臺對象跟該引導(dǎo)程序過程進(jìn)行通信,并且處理該監(jiān)督過程控制和制造信息應(yīng)用程序關(guān)聯(lián)于在其上執(zhí)行該應(yīng)用程序的物理計算設(shè)備配置的各個方面。但是,這些應(yīng)用對象本身只根據(jù)平臺獨立接口跟該引擎和調(diào)度程序進(jìn)行通信。支持這些應(yīng)用對象的這一個或多個引擎對象使這些應(yīng)用對象與其上執(zhí)行這些應(yīng)用對象的計算機系統(tǒng)的特征隔離。這樣,這些應(yīng)用對象獨立于這些物理計算設(shè)備配置來加以執(zhí)行。雖然這些應(yīng)用對象被限制在具有同一區(qū)域內(nèi)所指定的其他應(yīng)用對象的同一引擎上加以執(zhí)行,但是,它們沒有受到在系統(tǒng)內(nèi)的多個有能力的引擎和/或平臺中的一個特定的引擎和/或平臺上加以執(zhí)行的任何要求的限制。因此,移動包括一組應(yīng)用對象的區(qū)域?qū)υ谑苡绊懙囊嫔线\行的其他應(yīng)用對象的執(zhí)行有最小的影響。
參考圖9,序列圖展示了與其引擎對象主機有關(guān)的應(yīng)用對象的操作獨立性,以及在另一個主機引擎上再部署應(yīng)用對象的能力。從階段900開始,引擎A向調(diào)度程序A發(fā)出啟動命令,以便開始對應(yīng)用對象A的定期執(zhí)行/掃描。在階段902期間,調(diào)度程序A定期激活應(yīng)用對象A,以便聯(lián)合包括多個應(yīng)用對象的應(yīng)用程序來執(zhí)行其商業(yè)邏輯。
隨后,應(yīng)用程序工程師決定將應(yīng)用對象A移植到不同的計算機平臺上的引擎B。進(jìn)行這種變化的一個原因是隨著系統(tǒng)的發(fā)展,減少計算機設(shè)備上的計算負(fù)擔(dān)。該用戶在階段904期間向引擎A發(fā)出除去應(yīng)用對象A的請求。作為響應(yīng),在階段906期間,引擎A向調(diào)度程序A發(fā)出停止掃描應(yīng)用對象A的請求。在階段908期間,引擎A向應(yīng)用對象A發(fā)出關(guān)閉的命令。換句話說,引擎A和調(diào)度程序A的操作不會受到除去應(yīng)用對象A的影響。
在本發(fā)明的一個實施例中,該應(yīng)用程序分布在多個計算設(shè)備中,并且,每個計算設(shè)備裝備有促進(jìn)執(zhí)行應(yīng)用對象的應(yīng)用層次的平臺、引擎和調(diào)度程序?qū)ο???缭蕉鄠€硬件平臺的較低層支持功能的復(fù)制提供了某種程度的平臺獨立性,該平臺獨立性允許對應(yīng)用對象進(jìn)行再定位,而不會影響該應(yīng)用程序的操作。這樣,在階段910期間,該用戶將應(yīng)用對象A加入不同的計算機上的引擎B。在階段912期間,引擎B對新近增加的應(yīng)用對象A進(jìn)行初始化。例如,初始化階段912包括在啟動應(yīng)用對象之前由該應(yīng)用對象執(zhí)行的任何自定義初始
14化(例如,類變量的初始化、緩存由該應(yīng)用程序所使用的接口等)。在階段914中,引擎B向應(yīng)用對象A發(fā)出啟動命令。這時,該對象假定其所有的基元已被初始化,并且,它能夠根據(jù)這些基元中所維護(hù)的屬性來執(zhí)行任何初始計算。在階段916期間,引擎B對這個新的計算平臺上的調(diào)度程序B注冊執(zhí)行的應(yīng)用對象A注冊。其后,在階段918中,調(diào)度程序B定期提示應(yīng)用對象A執(zhí)行其商業(yè)邏輯。在本地并在連接各個引擎的網(wǎng)絡(luò)上呈現(xiàn)執(zhí)行應(yīng)用對象A的結(jié)果。這樣,將應(yīng)用對象A再定位到引擎B不影響涉及應(yīng)用對象A的數(shù)據(jù)訪問。
通過消息交換裝置進(jìn)行對象間通信 在本發(fā)明的一個實施例中,這些應(yīng)用對象通過邏輯名稱(而不是物理地址)來引用其他對象。這樣,就同一應(yīng)用程序內(nèi)的應(yīng)用對象而言,這些應(yīng)用對象之間的通信與包含該應(yīng)用對象的網(wǎng)絡(luò)的基礎(chǔ)物理配置相隔離。被嵌入這些平臺和引擎對象內(nèi)的該應(yīng)用程序的一個組件(被稱作"消息交換裝置")允許應(yīng)用對象從位于執(zhí)行該分布式應(yīng)用程序的網(wǎng)絡(luò)內(nèi)的任何地方的其他對象中檢索(獲得)數(shù)據(jù),并將數(shù)據(jù)發(fā)送(設(shè)置)到這些其他的對象。信息交換裝置是允許由邏輯名稱(而不是物理網(wǎng)絡(luò)地址)來指定目標(biāo)的對等通信基礎(chǔ)結(jié)構(gòu)。這樣,允許這些應(yīng)用對象進(jìn)行通信,而無須考慮數(shù)據(jù)請求的預(yù)定接收者的物理位置。這也允許開發(fā)應(yīng)用程序的應(yīng)用對象層,而無須考慮最終將這些應(yīng)用對象部署在哪里。在本發(fā)明的一個實施例中,在應(yīng)用引擎所執(zhí)行的本地消息交換裝置(LMX)與平臺所執(zhí)行的網(wǎng)絡(luò)消息交換裝置(NMX)之間劃分該消息交換裝置,以便允許在用于執(zhí)行分布式應(yīng)用程序的網(wǎng)絡(luò)上所連接的各個計算設(shè)備之間傳達(dá)命名請求。在本發(fā)明的另一個實施例中,由這些引擎來執(zhí)行LMX和NMX功能。這種方案避免了在該平臺對象執(zhí)行NMX的情況下所要求的額外的、過程之間的通信。 被并入這些引擎對象(例如,應(yīng)用引擎對象)的LMX所提供的服務(wù)允許應(yīng)用對象訪問其他對象上所維護(hù)的、作為屬性的數(shù)據(jù)。當(dāng)使用LMX服務(wù)來訪問目標(biāo)數(shù)據(jù)時,應(yīng)用對象指定表示與對象關(guān)聯(lián)的一段數(shù)據(jù)的字符串(例如,以"ObjectB. AttributeA"的形式指定的屬性)。利用這個字符串,LMX定位與該對象關(guān)聯(lián)的數(shù)據(jù)(潛在地請求該平臺所提供的NMX服務(wù)來訪問位于網(wǎng)絡(luò)中的另一個計算設(shè)備上的目標(biāo)對象)。LMX將與該對象關(guān)聯(lián)的數(shù)據(jù)返回到請求該數(shù)據(jù)的應(yīng)用對象。此外,該消息交換裝置保證消息傳遞的認(rèn)證。所以,當(dāng)應(yīng)用對象將消息發(fā)送到其他應(yīng)用對象時,它們接收到確認(rèn)該消息的目標(biāo)接收或沒有接收到該消息。 舉例來講,該應(yīng)用引擎的LMX包括一組接口 。這組接口包括
IMxSupervisoryCo皿ection禾口 IMxUserCo皿ection。 IMxSupervisoryCo皿ection接口定義應(yīng)用對象用來訪問來自車間中的物理設(shè)備的信息的方法。被用于這個接口 上的方法包括SupervisoryRegisterReference、 SupervisoryGetAttribute禾口Superviso:rySetAtt:ribute。 SupervisoryRegisterReference方法被應(yīng)用對象調(diào)用,以便通知消息交換裝置訪問屬性的值的請求即將來臨。SupervisorySetAttribute方法被應(yīng)用對象用來指導(dǎo)消息交換裝置修改先前的SupervisoryRegisterReference調(diào)用中所指定的屬性的值。SupervisoryGetAttribute方法被應(yīng)用對象用來指導(dǎo)消息交換裝置檢索先前的SupervisoryRegisterReference調(diào)用中所指定的屬性的值。 MxUserConnection接口所定義的方法被應(yīng)用程序用來顯現(xiàn)從車間中的物理設(shè)備中檢索到的數(shù)據(jù)。用于這個接口上的這些方法包括UserRegisterReference、
15UserGetAttribute和UserSetAttribute。 這些方法十分類似于上文所描述的ImxSupervisoryCormection接口的各禾中方法?!獋€不同之處是IMxUserCormection接口方法中的各種方法通過允許經(jīng)由回收機制(而不是該ImxSupervisoryConnection所利用的輪詢機制)的數(shù)據(jù)更新,來適應(yīng)用戶接口客戶。 利用一組結(jié)構(gòu)來執(zhí)行該消息交換裝置的功能。MxReference結(jié)構(gòu)是"MICROSOFT組件對象模型"(COM)對象,它實現(xiàn)接口 ImxReference,標(biāo)識其值將由應(yīng)用對象來訪問的對象的屬性,并且被傳入方法SupervisoryRegisterReference禾卩UserRegisterReference。消息交換裝置使用MxReferenceHandle(整數(shù)值)來為應(yīng)用對象提供檢索由MxReference提到的值的位置透明的工具。當(dāng)成功地完成SupervisoryRegisterReference或UserRegisterReference調(diào)用時,該MxReferenceHandle被該消息交換裝置返回到應(yīng)用對象。應(yīng)用對象將該MxReferenceHandle傳入用于獲得并設(shè)置屬性(例 如,UserSetAttribute、 UserGetAttribute、 SupervisorySetAttribute禾口SupervisoryGetAttribute)的方法調(diào)用。 MxHandle結(jié)構(gòu)標(biāo)識對象的屬性的性質(zhì)。該MxHandle標(biāo)識該對象所屬的平臺和弓|擎。該MxHandle包括兩禾中結(jié)構(gòu)MxAutomation0bjectHandle禾口 MxAttributeHandle。MxAutomation0b jectHandle是被用來表示對象在整體系統(tǒng)內(nèi)的位置的數(shù)據(jù)結(jié)構(gòu)。MxAttributeHandle數(shù)據(jù)結(jié)構(gòu)被用來標(biāo)識該對象內(nèi)的屬性的這種性質(zhì)。消息交換裝置在內(nèi)部使用MxAttributeHandle結(jié)構(gòu)來迅速定位對象的屬性。 MxAutomationObjectHandle數(shù)據(jù)結(jié)構(gòu)包括五個域galaxy系統(tǒng)、平臺、引擎、對象和簽名。galaxy系統(tǒng)域標(biāo)識引用的對象所屬的通用系統(tǒng)。平臺域標(biāo)識與該引用的對象關(guān)聯(lián)的平臺對象。引擎域標(biāo)識該對象的引擎。對象域標(biāo)識對象。簽名域存儲從該對象的名稱中獲得的值,并且防止當(dāng)再定位對象時會發(fā)生的配置失配。 MxAttributeHandle數(shù)據(jù)結(jié)構(gòu)包括七個域primitiveID、 attributeID、propertylD、indexl、 index 2、 index 3禾口簽名。primitiveID域標(biāo)識自動化對象內(nèi)的基元?;窃?例如)應(yīng)用對象中執(zhí)行特殊操作的助手對象。attributeID對所標(biāo)識的基元內(nèi)的特定屬性進(jìn)行標(biāo)識。PropertyID標(biāo)識屬性的性質(zhì)。索引域1、2和3將指數(shù)提供到三維數(shù)組中。簽名域存儲從該MxAttributeHandle的內(nèi)容中獲得的檢驗和值,以防止配置失配。
注意,在本發(fā)明的一個實施例中,該消息交換裝置包括額外的數(shù)據(jù)結(jié)構(gòu)和接口。精通該技術(shù)領(lǐng)域的人將會知道這類額外的接口和結(jié)構(gòu)。還要注意,本發(fā)明不局限于一些系統(tǒng),這些系統(tǒng)利用消息交換裝置為監(jiān)督過程控制和制造信息應(yīng)用程序內(nèi)的一組應(yīng)用對象的對象之間的通信提供硬件/部署獨立的消息服務(wù)。
模型部署的多幅視圖/后期綁定 所提出的應(yīng)用結(jié)構(gòu)的另一個方面是對象內(nèi)的聯(lián)系的規(guī)范。以下所討論的各種聯(lián)系允許配置組件(這里被稱作"集成開發(fā)環(huán)境"(IDE))在各種視圖(至少包括(邏輯)模型視圖和(物理計算)部署視圖)中過濾并顯示一組相關(guān)的對象。通過應(yīng)用程序配置的其顯示視圖,該IDE允許用戶在包括多個計算設(shè)備的計算機網(wǎng)絡(luò)中設(shè)計并部署應(yīng)用程序。
這些應(yīng)用程序配置作為"包"被存儲在配置數(shù)據(jù)庫124內(nèi)。包框架子系統(tǒng)所提供的接口允許該IDE存儲并檢索這些包的對象。包框架使用關(guān)系數(shù)據(jù)庫來存儲包數(shù)據(jù)及關(guān)于這些對象跟其他對象的聯(lián)系/關(guān)系的知識。該IDE詢問包框架,以便根據(jù)與對象有關(guān)的指
16定的聯(lián)系來傳遞對象清單。例如,該IDE可以請求包框架從分組中檢索由命名引擎支持的對象。 開發(fā)者經(jīng)由該IDE和包管理器,在各個對象之間建立前述的聯(lián)系(或"關(guān)系")。舉例來講,這類聯(lián)系包括以下預(yù)定義的指派關(guān)系主機、區(qū)域、容器、引擎和平臺。以下討論這些關(guān)系中的每種關(guān)系。 在運行時間使用主機關(guān)系來指示對象在哪里執(zhí)行。另外,可能直到部署對象的主機,才部署該對象。應(yīng)用對象由區(qū)域?qū)ο笾С郑瑓^(qū)域?qū)ο笥梢鎸ο笾С?,而引擎對象由平臺對象支持。區(qū)域關(guān)系建立對象的邏輯分組,并提供用于收集由被分類在該區(qū)域之下的對象發(fā)出的事件和警報的工具。容器關(guān)系指定兩個對象之間的弱耦合,并且只在該應(yīng)用邏輯的上下文中有意義。例子被包含在"Tank"對象內(nèi)部的"Valve"對象。允許所包含的對象獲取這些對象的容器的上下文內(nèi)的層次名稱。舉例來講,用作入口的閥門被分配別名"入口 ",并且得到"Tank. Inlet"的層次名稱。對象的引擎是實際上執(zhí)行該對象的引擎。對象的平臺是在其上部署有該對象的計算機設(shè)備上運行的唯一的平臺對象。對象可能具有所有這五種關(guān)系,但只有一個對象可能與這些關(guān)系中的任何一種關(guān)系相關(guān)聯(lián)。例如,只可以將應(yīng)用對象分配給唯一的一個區(qū)域。 模型視圖按照受控車間過程內(nèi)的車間/過程設(shè)備之間的邏輯聯(lián)系來描繪該應(yīng)用程序(例如,物理車間布置的表示)。部署視圖描繪了這些物理計算機設(shè)備,以及該模型視圖中所標(biāo)識的實例化的對象對這些計算機設(shè)備和在這些計算機設(shè)備上執(zhí)行的引擎的指派。派生視圖描繪了從模板中被實例化的對象的來源(從基礎(chǔ)模板到實例的所繼承的性質(zhì)關(guān)系),以便執(zhí)行這些模型視圖元件的功能。 舉例來講,圖1展示在物理上被部署到兩臺應(yīng)用服務(wù)器計算機100和102的應(yīng)用程序。作為選擇,通過在根據(jù)應(yīng)用程序來執(zhí)行監(jiān)督過程控制并/或提取制造信息的過程中可視地描繪應(yīng)用對象的角色,向用戶介紹該應(yīng)用程序?,F(xiàn)在參考圖io,根據(jù)該車間過程中的應(yīng)用對象的角色,在車間模型中描繪車間過程應(yīng)用程序。為了說明性地描繪本發(fā)明的示范實施例,這個說明性例子被是按比例縮小的。精通該技術(shù)領(lǐng)域的人將容易理解本發(fā)明可應(yīng)用于比這個例子復(fù)雜得多的眾多不同的工業(yè)/車間監(jiān)控/控制應(yīng)用程序。
具有受控出口閥的送料斗H1 1000將初級產(chǎn)品傳送到輸送機C1 1002,該輸送機可被控制向左、右運轉(zhuǎn)或被禁止使用。輸送機C1 1002將該未加工的產(chǎn)品倒入混合器M11004和混合器M2 1006。通過分別打開混合器M1 1004和混合器M2 1006的閥門V1 1012和V2 1014,可允許該未加工的產(chǎn)品傳入這些混合器?;旌掀鱉1 1004和混合器M2 1006分別包括可控制的攪拌器A1 1008和A2 1010?;旌袭a(chǎn)品落入送料斗H2 1016和H3 1018。選擇性地打開送料斗H21016和H3 1018,以允許該混合產(chǎn)品落在向右運轉(zhuǎn)或被禁止使用的輸送機C21020上。當(dāng)被啟用時,輸送機C2 1020將該混合產(chǎn)品落到升降機E1 1022上。升降機E1 1022將該混合產(chǎn)品放到向右運轉(zhuǎn)的輸送機C3 1024上。輸送機C31024將該原料放在能夠向左、右運轉(zhuǎn)的分發(fā)輸送機C4 1026上,從而可以在第一個雙態(tài)門D1 1028與第二個雙態(tài)門D2 1030之間分發(fā)該混合產(chǎn)品??梢钥刂崎TD1 1028將成品指引到料箱B1 1032或B2 1034中??梢钥刂崎TD2 1030將成品指引到料箱B3 1036或料箱B4 1038中。
圖10中所描繪的上述生產(chǎn)流水線很簡單,因此相對比較容易理解,而在大多數(shù)情況下,過程非常復(fù)雜,包括成百上千、甚至成千上萬個獨特的傳感器和受控組件。在這類實例中,將跟這些傳感器和受控組件相對應(yīng)的應(yīng)用對象邏輯上在區(qū)域內(nèi)分組。在運行時間內(nèi)利用應(yīng)用對象的邏輯分組,以便為警報和事件管理提供特定應(yīng)用對象的統(tǒng)一處理。例如,可以由該區(qū)域?qū)ο髢?nèi)的單一指定來禁止特定區(qū)域中的所有警報。通過檢驗被支持對象的"所要求的主機特性"和該支持區(qū)域?qū)ο笏付ǖ?被支持的特性",來確定該主機區(qū)域和被支持對象的兼容性。當(dāng)建立這些對象時,建立了這些對象屬性。如果該"所要求的主機特性"適合該"被支持的特性",那么,通過將合適的值分配給被支持對象,來完成主機指派。通過在應(yīng)用程序或區(qū)域?qū)ο蟮墓餐膮^(qū)域?qū)傩?28中指定區(qū)域名稱,將對象放置在區(qū)域內(nèi)。
區(qū)域本身可以在層次方案中的其他區(qū)域內(nèi)分組。舉例來講,通過在被支持區(qū)域?qū)ο蟮膮^(qū)域?qū)傩?28中指定另一個"主機"區(qū)域的名稱,可以實現(xiàn)將一個區(qū)域分配給該主機區(qū)域。區(qū)域與子區(qū)域之間的關(guān)系不限于在相同的引擎上執(zhí)行。這樣,當(dāng)監(jiān)督過程控制和制造信息應(yīng)用程序的應(yīng)用對象被部署在包括多個平臺對象(對應(yīng)于多個計算機設(shè)備)和引擎對象的系統(tǒng)內(nèi)時,可以將區(qū)域內(nèi)的子區(qū)域分配給不同的應(yīng)用引擎。但是,在本發(fā)明的一個實施例中,子區(qū)域內(nèi)所指定的應(yīng)用對象被限制部署在相同的應(yīng)用引擎上。這種限制確??商幚韰^(qū)域中的所有應(yīng)用對象,而不會有節(jié)點之間的通信延遲。 舉例來講,區(qū)域?qū)ο蟀ù龠M(jìn)以上所描述的功能的以下屬性警報信息、禁止所有警報、禁止顯示所有警報、子區(qū)域清單。 參考圖ll,展示了圖10中相關(guān)過程組件邏輯分組為區(qū)域。該修訂的過程圖解將該系統(tǒng)描繪成一系列區(qū)域,這一系列區(qū)域包括在邏輯上被分組的受控過程組件。原料存儲區(qū)1100包括送料斗H1 1000。生產(chǎn)區(qū)1102包括輸送機C1 1002、linel區(qū)1104(包括混合器M1 1004、閥門V1 1012和送料斗H2 1016)和line2區(qū)1106 (包括混合器M2 1006、閥門V2 1014和送料斗H3 1018)。分發(fā)區(qū)1108包括輸送機C2 1020、升降機E1 1022、輸送機C31024、輸送機C4 1026、雙態(tài)門D1 1028和雙態(tài)門D2 1030。成品存儲區(qū)1110包括料箱Bl1032、B2 1034、B3 1036和料箱B4 1038。這組子區(qū)域在單一過程車間區(qū)域1120之下分組。
已描述了示范車間過程和觀察涉及該車間過程的應(yīng)用程序所采用的兩種替換方法(即車間模型視圖和應(yīng)用對象部署視圖),現(xiàn)在描述配置實用程序接口 ,該配置實用程序接口根據(jù)這兩種替換視圖來顯示這些應(yīng)用組件。簡要地參考圖12,由配置實用程序生成的局部完成的模型視圖用戶接口描繪用樹形表示的區(qū)域?qū)哟?。該樹形結(jié)構(gòu)呈現(xiàn)了圖11中所描繪的過程車間中所指定的各個區(qū)域的高層模型視圖。這幅模型視圖不完全,因為它沒有標(biāo)識被分組在所標(biāo)識的區(qū)域內(nèi)的應(yīng)用對象以及應(yīng)用對象的包含關(guān)系。 參照該示范樹形結(jié)構(gòu),在該層次區(qū)域表示的最高層處,指定了與過程車間區(qū)域1120相對應(yīng)的過程車間節(jié)點1200。 一組二級節(jié)點(對應(yīng)于被分組在過程車間區(qū)域1120內(nèi)的子區(qū)域)從過程車間節(jié)點1200分支出來。RawMaterialStore節(jié)點1202、"生產(chǎn)"節(jié)點1204、"分發(fā)"節(jié)點1206和FinishedProductStore節(jié)點1208分別對應(yīng)于原料存儲區(qū)1100、生產(chǎn)區(qū)1102、分發(fā)區(qū)1108和成品存儲區(qū)1110。從"生產(chǎn)"節(jié)點1204分支出來的線路1節(jié)點1210和線路2節(jié)點1212對應(yīng)于被分組在圖11中的生產(chǎn)區(qū)1102內(nèi)的linel區(qū)1104和line2區(qū)1106。該視圖允許技工迅速標(biāo)識并指定用于定義控制應(yīng)用對象(例如,報警行為等)的策略的邏輯分組。 在描述圖12中的模型視圖的擴展版本(標(biāo)識所標(biāo)識的區(qū)域內(nèi)的應(yīng)用對象和復(fù)合物)之前,來討論對象從模板的派生。圖IO中所標(biāo)識的每個組件對應(yīng)于應(yīng)用對象。在本發(fā)
18,從對象模板中實例化應(yīng)用對象。派生視圖展示從其中獲得由應(yīng)用程序的當(dāng)前模型指定的應(yīng)用對象的所有這些類型的模板。 從其中獲得應(yīng)用對象的這組候選模板是可擴展的。為用戶提供了工具包,該工具包包括基礎(chǔ)模板和編輯器,用于定義用戶從其中建立應(yīng)用對象的定制的新模板。基礎(chǔ)模板(其中,$表示模板)的例子有^DiscreteDevice- —種狀態(tài)機,可以將它配置成創(chuàng)建表示圖10中所描繪的主要輸送機和閥門的應(yīng)用對象,以及SUserDefined-—種簡單的對象模板,它只包含該共同基元,并且,通過增加腳本和屬性來模仿跟這些料箱和送料斗相對應(yīng)的應(yīng)用對象,用戶可從其中在該配置環(huán)境內(nèi)建立擴充部分。 參考圖13,說明性地描繪了由所生成的派生視圖呈現(xiàn)的示范派生視圖。參照圖13,在圖10中所陳述的例子的情況下,用戶從豸DiscreteDevice基礎(chǔ)模板中獲得$Valve、$SliceGate、$Agitator和$Conveyor自定義應(yīng)用對象模板類型。在$Conveyor模板之下,該用戶進(jìn)一步定義$SingleDirectionConveyor、$BiDirectionalConveyor禾口 $Elevator模板類型。在$UserDef ined基礎(chǔ)模板之下,該用戶獲得過$VeSSel應(yīng)用對象模板。進(jìn)一步對該$VeSSel模板加以改進(jìn),以便獲得SHo卯er和$Bin應(yīng)用對象。參照圖13,這些基礎(chǔ)模板占有該層次派生樹形結(jié)構(gòu)的最高層,該層次派生樹形結(jié)構(gòu)根據(jù)用戶對特定模板的指定,由配置視圖發(fā)生器來呈現(xiàn)。從這些基礎(chǔ)模板中獲得的對象模板由來自這些基礎(chǔ)模板節(jié)點的分支來加以標(biāo)識。如圖13中所描繪的,可以從其他導(dǎo)出對象中獲得對象。在這類情況中,子模板繼承其母模板的指定的特征。子模板與其母模板之間的派生派生關(guān)系被注冊在來自該模板對象的屬性314的派生中。 在此揭示模板結(jié)構(gòu)的另一個方面(應(yīng)用對象的容器屬性330中所指定的)應(yīng)用對象包含以及來自一組先前定義的對象模板的復(fù)合對象模板的創(chuàng)建。在本發(fā)明的一個實施例中,包含局限于相同的對象類型。這樣,區(qū)域?qū)ο笾豢梢园瑓^(qū)域?qū)ο螅瑧?yīng)用對象只可以包含其他的應(yīng)用對象。包含其他對象的對象在這里被稱作"復(fù)合物"。單獨存在以便包含其他對象的對象被稱作"合成物"。 簡要地參考圖14a和14b,提供了復(fù)合應(yīng)用對象模板的例子-在這種情況下是$MiXerVeSSel復(fù)合對象模板,它包括被分配標(biāo)記名稱"入口"的閥門對象、繼續(xù)攜帶標(biāo)記名稱"攪拌器"的攪拌器和已被分配標(biāo)記名稱"容器"的混合器。這些模板所包含的名稱屬性310對應(yīng)于這三個所包含的對象中的每個對象。完整的層次標(biāo)記名稱(例如,MixerVessel.Inlet)被存儲在關(guān)于這三個所包含的對象中的每個對象的層次名稱屬性318中。為每個所包含的對象的容器屬性330分配字符串"MixerVessel"。圖14a示意地描繪了包含混合器容器方案的圖10中所描繪的過程車間的一個部分。圖14b中描繪了復(fù)合模板的模型視圖,它展示該$MixerVeSSel應(yīng)用對象模板與其所包含的(重命名的)應(yīng)用對象之間的包含關(guān)系。在本發(fā)明的一個實施例中,當(dāng)在實際的應(yīng)用程序內(nèi)進(jìn)行實例化時,復(fù)合應(yīng)用對象內(nèi)所包含的所有應(yīng)用對象在屬性338中指定相同的主機,并且按要求在屬性328中指定相同的區(qū)域。也可應(yīng)用于其他對象(服從任何部署限制)的這種包含層次通過支持可以從其中建立應(yīng)用程序的邏輯構(gòu)件塊(包括許多較小的應(yīng)用對象)的創(chuàng)建,來協(xié)助系統(tǒng)開發(fā)者開發(fā)系統(tǒng)。
在本發(fā)明的一個實施例中,該IDE所支持的"包含"功能促進(jìn)經(jīng)由圖形用戶接口"拖放"操作在各個對象之間建立包含關(guān)系。為了在源和目標(biāo)(容器)應(yīng)用對象之間建立包含關(guān)系,開發(fā)者選擇用戶接口上所顯示的源應(yīng)用對象,拖動該目標(biāo)(容器)對象之上的源應(yīng)
19用對象,然后將該源應(yīng)用對象放在該目標(biāo)應(yīng)用對象上。在該IDE確認(rèn)這兩個對象之間的兼 容性(即,它們都是應(yīng)用對象)之后,該IDE(通過該包管理器實用程序)在該源對象中設(shè) 置這些主機、區(qū)域和容器屬性。特別是,將區(qū)域?qū)傩?28設(shè)置為該目標(biāo)對象的區(qū)域,將主機 屬性338設(shè)置為該目標(biāo)的主機,并且將容器屬性330設(shè)置為該目標(biāo)對象的名稱。這時,也用 該開發(fā)者所提供的名稱來填充該來源的所包含的名稱屬性310和層次名稱屬性318。
再來參考圖13,該$MixerVessel復(fù)合應(yīng)用對象模板被分配該$UserDef ined基 礎(chǔ)模板節(jié)點之下的分支,并且指定該復(fù)合物的各個應(yīng)用對象模板元件之間的包含關(guān)系。另 外。將從$Vessel中獲得的$MixerVessel. Vessel模板放置在該$Valve模板節(jié)點之下。 將從$Agitator中獲得的$MixerVessel. Agitator模板放置在該$Agitator模板節(jié)點之 下。通過在每個這些復(fù)合元件中的容器屬性330中指定該$MiXerVessel模板對象,來注冊 包含關(guān)系。由該派生視圖樹形結(jié)構(gòu)內(nèi)的$MixerVessel. Inlet、 $MixerVessel. Agitator和 $MixerVessel. Vessel對象模板表示中放置在前面的"$MixerVessel"在圖13的派生視圖 樹形結(jié)構(gòu)中指示該包含關(guān)系。 屬性鎖定及其對模板中的變化傳播的影響是這里所揭示的示范配置實用程序的 派生派生結(jié)構(gòu)的其他方面。該派生派生結(jié)構(gòu)允許對象模板內(nèi)的信息被傳播到導(dǎo)出對象,或 者作為選擇,為可以被開發(fā)者覆蓋的導(dǎo)出模板指定默認(rèn)值。在本發(fā)明的一個實施例中,通過 存儲對鎖定屬性的母副本的引用,來自動影響傳播。 模板或?qū)嵗械膶傩钥梢员唤獬i定,可以被鎖定在雙親中,或者可以被鎖定在 自身中。模板和實例都可以具有被解除鎖定的屬性。被解除鎖定的屬性是可讀-寫的,并 且,該對象具有自己的該屬性值的副本-即,它不與導(dǎo)出對象共享。模板(而不是實例)可 以具有被鎖定在自身中的屬性狀態(tài)。在被鎖定在自身中的屬性的情況下,該值是可讀_寫 的。導(dǎo)出對象沒有得到自己的該屬性值的副本,但卻通過參考其中鎖定該屬性的起源來共 享該鎖定值。被鎖定在自身中的屬性的子部分中的屬性狀態(tài)是"被鎖定在雙親中"。這樣, 被鎖定在自身中的模板屬性的值的變化傳播到所有的子部分。模板和實例都可以具有被鎖 定在雙親中的屬性。被鎖定在雙親中的屬性是只讀的。 向配置客戶暴露用于獲得和設(shè)置屬性的鎖定狀態(tài)的接口。該客戶獲得對該屬性的 引用,并設(shè)置其鎖定狀態(tài)。是否允許改變屬性并且/或者將此變化傳播給導(dǎo)出的子部分取 決于是否鎖定模板中的特定屬性。鎖定屬性有兩個結(jié)果。首先,無法在導(dǎo)出的模板或?qū)嵗?中修改被鎖定在雙親中的屬性。其次,可以改變模板中的被鎖定在自身中的屬性,并且,通 過從包含該鎖定屬性的模板中獲得的所有模板和實例,來傳播該變化。另一方面,如果屬性 未被鎖定,那么,該屬性指定可以在導(dǎo)出模板中被覆蓋的默認(rèn)值。另外,如果改變非鎖定屬 性的值,那么,該變化不被傳播到導(dǎo)出的模板。 在建立將要被用于圖10中所標(biāo)識的應(yīng)用對象的一組模板之后,根據(jù)所提出的監(jiān)
督過程控制和制造信息應(yīng)用程序,從這些模板中創(chuàng)建這些應(yīng)用對象實例。使用圖13中所定
義的模板和圖10中所描繪的示范過程車間來呈現(xiàn)以下的應(yīng)用對象 $MixerVessel被用于"混合器"M1和M2 ; 豸Ho卯er被用于"送料斗"Hl 、 H2和H2 ; $SingleDirectionConveyor被用于輸送機C2禾口 C3 ; $BiDirectionalConveyor被用于輸送機Cl和C4 ;
20
SSlideGate被用于"門"Dl和D2 ;以及,
$Bin被用于"料箱"Bl 、 B2、 B3和B4 參考圖15,硬件派生視圖描繪了來自對象模板的引擎對象和平臺對象的來源。當(dāng) 決定將具有特殊的引擎和/或平臺要求的區(qū)域分配或再定位到哪里時,這種視圖是有益 的。節(jié)點1500對應(yīng)于基于WINDOWS操作系統(tǒng)的平臺模板。 一組平臺實例(對應(yīng)于從基于 WINDOWS操作系統(tǒng)的平臺模板中獲得的平臺對象)從節(jié)點1500分支出來,并且對應(yīng)于圖1 中所標(biāo)識的每臺個人計算機。節(jié)點1510對應(yīng)于應(yīng)用引擎模板。從該應(yīng)用引擎模板中獲得的 一組應(yīng)用引擎實例從節(jié)點1510分支出來,并且對應(yīng)于圖1中所描繪的應(yīng)用引擎。節(jié)點1520 對應(yīng)于觀察引擎模板。 一組觀察引擎實例從節(jié)點1520分支出來,并且對應(yīng)于圖1中所描繪 的觀察引擎。節(jié)點1530對應(yīng)于PLCNetwork設(shè)備集成對象模板。從節(jié)點1530分支出來的 一組實例對應(yīng)于圖1中所標(biāo)識的設(shè)備集成對象,這些設(shè)備集成對象支持對OPC服務(wù)器116 和118的配置。最后,節(jié)點1540對應(yīng)于PLC0bject設(shè)備集成對象模板。從節(jié)點1540分支 出來的一組實例對應(yīng)于圖1中所標(biāo)識的設(shè)備集成對象。 圖16展示圖10和11中所描繪的過程應(yīng)用程序的模型視圖。該模型視圖顯示了 由對象(包括應(yīng)用對象和區(qū)域)指定的區(qū)域支持和包含關(guān)系。為了描述該車間方案,該模 型視圖標(biāo)識在邏輯上被分組在一起的對象。該模型視圖允許用戶迅速指定將要在特定的策 略(例如,報警等)之下統(tǒng)一處理的對象。舉例來講,該模型視圖包括與圖11中所指定的 區(qū)域相對應(yīng)并且在圖12的區(qū)域樹形結(jié)構(gòu)中有所描繪的節(jié)點。樹1600的葉節(jié)點標(biāo)識這些應(yīng) 用對象和它們對所標(biāo)識的區(qū)域的指派。另外,該模型視圖樹形結(jié)構(gòu)描繪了諸如從(以上參 照圖13所討論的)$MiXerVessel復(fù)合模板中實例化的一組復(fù)合容器對象MV1和MV2的復(fù) 合容器。 根據(jù)在特定應(yīng)用程序之下所指定的對象的區(qū)域和容器屬性,由模型視圖發(fā)生器來 呈現(xiàn)模型視圖。在本發(fā)明的一個實施例中,當(dāng)用戶尋求創(chuàng)建該聯(lián)系時,確定區(qū)域/容器與被 分組/被包含的對象的兼容性。通過將該母對象的支持特性與該被分類/被包含的子對象 的需求進(jìn)行比較,可以確定這種兼容性。另外,在本發(fā)明的一個實施例中,要求容器內(nèi)的所 有對象都指定相同的區(qū)域。 區(qū)域可以是有層次的。這樣,區(qū)域可以包括區(qū)域,并且,母區(qū)域為其子區(qū)域中的所 有對象收集警報統(tǒng)計數(shù)字。在圖16所描繪的模型視圖層次樹形結(jié)構(gòu)中,從該樹形結(jié)構(gòu)的最 高層開始,如果沒有為區(qū)域?qū)ο笾付▍^(qū)域,那么,該區(qū)域?qū)ο?例如,ProcessPlant 1602) 被直接連接到該根節(jié)點(樹形結(jié)構(gòu)的最高層)。在下一層處,ProcessPlant 1602的子區(qū)域 (即RawMaterialStore 1604、"生產(chǎn)"1606、"分發(fā)"1608和FinishedProductStore 1610) 作為分支被連接在ProcessPlant 1602節(jié)點之下。在示范應(yīng)用程序模型樹1600中,來自 這些子區(qū)域的分支包含應(yīng)用對象(即送料斗Hl、輸送機Cl-C4、門Dl-D2、升降機El和料箱 Bl-B4)和額外的子區(qū)域(即"生產(chǎn)"1606子區(qū)域中的Linel和Line2) 。 Linel和Line2子 區(qū)域都包括復(fù)合物(即混合器容器MV1和MV2)。這些復(fù)合物MV1和MV2的葉節(jié)點標(biāo)識這些 復(fù)合對象所包含的對象。在該特殊的例子中,MixerVessel復(fù)合物MV1包括攪拌器A1、容器 Ml和入口閥VI。 MixerVessel復(fù)合物MV2包括攪拌器A2、容器M1和入口閥VI。
圖17展示該應(yīng)用模型的區(qū)域?qū)D1中所描繪的硬件和平臺的示范部署視圖。該部 署視圖直觀地描繪了應(yīng)用程序的各種對象執(zhí)行的地方。所以,根據(jù)由對象指定的支持(屬
21性338)和包含(屬性330)關(guān)系,來呈現(xiàn)部署視圖。不限制子區(qū)域?qū)ο笤谧鳛橹付ǖ哪竻^(qū) 域(在屬性328中)的相同的應(yīng)用引擎上執(zhí)行,并且,當(dāng)呈現(xiàn)該部署視圖時,不應(yīng)用由對象 指定的各種區(qū)域關(guān)系。ApplicationObjects由其區(qū)域來"支持"(屬性338),所以,該部署 視圖展示與其區(qū)域的ApplicationObject關(guān)系。這樣,部署視圖(和嵌套的區(qū)域?qū)ο蟮膶?際部署)沒有反映出與在各個區(qū)域?qū)ο笾g被指定的各種層次區(qū)域模型關(guān)系關(guān)聯(lián)的警報/ 事件集中和傳播。 圖17中沒有顯示這些應(yīng)用對象。但是,部署視圖發(fā)生器根據(jù)那些對象內(nèi)的主機/ 容器指定,將這些應(yīng)用對象安排在合適的區(qū)域之下。在本發(fā)明的一個實施例中,按要求,應(yīng) 用對象的指定主機和區(qū)域是相同的。所以,引用區(qū)域?qū)ο蟮乃袘?yīng)用對象都在該區(qū)域?qū)ο?的主機屬性338中所標(biāo)識的同一引擎對象上被加以執(zhí)行。該要求確保為特定區(qū)域之下的 應(yīng)用對象而保存的警報和數(shù)據(jù)被局部地在同一計算機設(shè)備上維護(hù)。如果應(yīng)用對象在屬性 330中指定容器(復(fù)合應(yīng)用對象),那么,當(dāng)生成部署視圖樹時,該命名容器取代該命名區(qū)域 主機(即,復(fù)合物(容器)內(nèi)的應(yīng)用對象被放置在其指定的復(fù)合名稱之下)。但是,在本發(fā) 明的一個實施例中,限制復(fù)合物內(nèi)所包含的所有應(yīng)用對象在同一主機上執(zhí)行(即,所有被 包含的應(yīng)用對象獲取該復(fù)合物/容器的指定區(qū)域)。 圖17中所闡明的部署視圖被特別適當(dāng)?shù)胤诸愐宰魇痉叮驗檫@些區(qū)域及其關(guān) 聯(lián)的對象能夠在任何合適的平臺/應(yīng)用引擎組合上運行。多層平臺/引擎/區(qū)域/應(yīng) 用對象支持方案呈現(xiàn)各種區(qū)域(及其關(guān)聯(lián)的應(yīng)用對象),這些區(qū)域(及其關(guān)聯(lián)的應(yīng)用對 象)能夠在圖17中所描繪的應(yīng)用組件部署的圖形表示中的任何合適的支持引擎分支處 執(zhí)行安裝。該部署樹形結(jié)構(gòu)層次的最高層標(biāo)識與圖1中所描繪的個人計算機相對應(yīng)的一 組平臺。由節(jié)點表示的這組平臺包括RawMaterialPC節(jié)點1700、"生產(chǎn)PC"節(jié)點1702、 FinishedProductPC節(jié)點1704、 Conf igurationPC節(jié)點1706、 ApplicationServerlPC節(jié)點 1708和ApplicationServer2PC節(jié)點1710。 將一組引擎部署到這些平臺主機。與這些被指出的平臺對象所支持的引擎 對象相對應(yīng)的這組被部署的引擎對象節(jié)點包括RawMaterialView引擎節(jié)點1712、 ProductionView弓l擎節(jié)點1714、 FinishedProductView弓l擎節(jié)點1716、 AppEnginel節(jié)點 1718和A卯Engine2節(jié)點1720。 這些引擎支持設(shè)備集成和區(qū)域分組的應(yīng)用對象,這些應(yīng)用對象在該部署視圖中被 表示為節(jié)點。與被部署的設(shè)備集成對象相對應(yīng)的這組設(shè)備集成對象節(jié)點包括PLClEthernet 節(jié)點1722和PLC1節(jié)點1724,以及PLC2Ethernet節(jié)點1726和PLC2節(jié)點1728。與包括各組 應(yīng)用對象和/或其他區(qū)域的部署區(qū)域相對應(yīng)的這組區(qū)域?qū)ο蠊?jié)點包括ProcessPlant節(jié)點 1730、RawMaterialStore節(jié)點1732、"生產(chǎn)"節(jié)點1734、Linel節(jié)點1736、Line2節(jié)點1738、 "分發(fā)"節(jié)點1740和FinishedProductStore節(jié)點1742。將以上所標(biāo)識的區(qū)域節(jié)點連接到 其關(guān)聯(lián)的引擎的分支對應(yīng)于這些區(qū)域?qū)ο蠹捌潢P(guān)聯(lián)的應(yīng)用對象中的主機屬性338中所指 定的引擎,為了避免過度混亂,從圖17中所闡明的部署視圖中省略這些區(qū)域?qū)ο蠹捌潢P(guān)聯(lián) 的應(yīng)用對象。 附圖和附隨的書面說明中已提供了本發(fā)明的說明性實施例及其某些變更。本發(fā)明 并不意在局限于這些實施例。精通該技術(shù)領(lǐng)域的人將會理解已描述了一種新的、有用的方 法和應(yīng)用程序,用于配置并執(zhí)行監(jiān)督過程控制和制造信息應(yīng)用程序。鑒于可以應(yīng)用本發(fā)明的原理的這許多可能的環(huán)境以及設(shè)計和執(zhí)行基于軟件的系統(tǒng)的靈活性,應(yīng)該認(rèn)識到這里
所描述的實施例意在起說明性的作用,而不應(yīng)該被視作限制本發(fā)明的范圍。精通應(yīng)用本發(fā)
明的技術(shù)領(lǐng)域的人將會理解在不脫離本發(fā)明的精神的前提下,可以在方案和細(xì)節(jié)方面修
改所展示的這些實施例。本發(fā)明打算在鑒于由以下所附權(quán)利要求書定義的本說明書和各項
發(fā)明所允許的最完全的程度上,來包括所揭示的實施例以及處于本發(fā)明的范圍和精神以內(nèi)
的其他實施例。所以,如這里所描述的本發(fā)明計劃可將所有這類實施例包括在以下權(quán)利要 求書及其相等物的范圍以內(nèi)。
權(quán)利要求
一種用于執(zhí)行可分配給多個聯(lián)網(wǎng)計算機設(shè)備并具有層次結(jié)構(gòu)的監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序的方法,其特征在于,所述方法包括執(zhí)行模仿過程控制系統(tǒng)內(nèi)的實體的應(yīng)用對象;執(zhí)行引擎對象,用于在運行時間環(huán)境中支持所述應(yīng)用對象的執(zhí)行;以及,執(zhí)行平臺對象,它們對應(yīng)于用于執(zhí)行所述引擎對象和所支持的應(yīng)用對象的物理計算機系統(tǒng)組件,并且所述平臺對象支持一個或多個引擎對象。
2. 如權(quán)利要求1所述的方法,其特征在于,在執(zhí)行引擎對象和執(zhí)行平臺對象的步驟中, 所述引擎對象和平臺對象實現(xiàn)與其上執(zhí)行所述應(yīng)用程序的物理計算設(shè)備配置有關(guān)的應(yīng)用 程序的各個方面,并且在執(zhí)行應(yīng)用對象期間,所述應(yīng)用對象獨立于所述物理計算設(shè)備配置 而執(zhí)行。
3. 如權(quán)利要求l所述的方法,其特征在于,還包括 通過引擎對象,由所述應(yīng)用對象在同一計算設(shè)備上進(jìn)行通信;以及通過平臺對象跨越計算設(shè)備網(wǎng)絡(luò)進(jìn)行通信,從而將各個應(yīng)用對象之間的通信與其內(nèi)執(zhí) 行應(yīng)用對象的計算機系統(tǒng)的拓?fù)浣Y(jié)構(gòu)隔離開來。
4. 如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用對象、引擎對象和平臺對象共享共 同基礎(chǔ)對象定義。
5. 如權(quán)利要求1所述的方法,其特征在于,還包括由平臺對象控制根據(jù)一組屬性在平 臺對象上部署的引擎對象。
6. 如權(quán)利要求1所述的方法,其特征在于,還包括由引擎對象管理根據(jù)一組命令屬性 在引擎對象上部署的應(yīng)用對象。
7. 如權(quán)利要求1所述的方法,其特征在于,還包括向物理計算機提供描述應(yīng)用對象、引 擎對象和平臺對象物理分布的應(yīng)用程序部署視圖。
8. 如權(quán)利要求7所述的方法,其特征在于,所述部署視圖分層描述所述平臺對象、引擎 對象和應(yīng)用對象。
9. 如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序的應(yīng)用程序視圖描述相對于 車間的物理區(qū)域以及所述物理區(qū)域內(nèi)的設(shè)備的車間邏輯構(gòu)造。
10. 如權(quán)利要求15所述的方法,其特征在于,所述應(yīng)用程序視圖分層描述構(gòu)成應(yīng)用層 的區(qū)域和應(yīng)用對象。
11. 一種用于執(zhí)行可分配給多個聯(lián)網(wǎng)計算機設(shè)備并具有層次結(jié)構(gòu)的監(jiān)督過程控制和制 造信息系統(tǒng)應(yīng)用程序的部分的網(wǎng)絡(luò)計算設(shè)備,其特征在于,所述網(wǎng)絡(luò)計算設(shè)備執(zhí)行一組與 應(yīng)用程序相關(guān)的對象,包括模仿過程控制系統(tǒng)內(nèi)的實體的應(yīng)用對象;至少一個引擎對象,用于在運行時間環(huán)境中支持所述應(yīng)用對象的執(zhí)行;以及, 平臺對象,用于支持所述至少一個弓I擎對象。
12. 如權(quán)利要求11所述的網(wǎng)絡(luò)計算設(shè)備,其特征在于,所述至少一個引擎對象和平臺 對象處理與其上執(zhí)行所述應(yīng)用對象的所述網(wǎng)絡(luò)計算設(shè)備的物理計算設(shè)備配置有關(guān)的應(yīng)用 程序的各個方面,并且所述應(yīng)用對象獨立于這些物理計算設(shè)備配置而執(zhí)行。
13. 如權(quán)利要求11所述的網(wǎng)絡(luò)計算設(shè)備,其特征在于,所述應(yīng)用對象通過所述至少一 個引擎對象在所述網(wǎng)絡(luò)計算設(shè)備上進(jìn)行通信,并且,由所述平臺對象支持所述網(wǎng)絡(luò)計算設(shè)備和其他網(wǎng)絡(luò)計算設(shè)備之間的通信,從而將各個應(yīng)用對象之間的通信與所述網(wǎng)絡(luò)計算設(shè)備 所處的計算機網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)隔離開來。
14. 如權(quán)利要求11所述的方法,其特征在于,所述應(yīng)用對象、引擎對象和平臺對象共享 共同基礎(chǔ)對象定義。
15. 如權(quán)利要求11所述的方法,其特征在于,所述平臺對象包括一組屬性,用于配置和 控制在所述平臺對象上部署的所述至少一個引擎對象。
16. 如權(quán)利要求1所述的方法,其特征在于,所述至少一個引擎包括與管理應(yīng)用對象相 關(guān)的一組命令屬性。
17. —種用于為監(jiān)督過程控制和制造信息應(yīng)用程序指定部署模型的配置裝置,所述監(jiān) 督過程控制和制造信息應(yīng)用程序用于將應(yīng)用對象與特定的物理計算設(shè)備聯(lián)系起來并在這 些物理計算設(shè)備上提供這些對象的分布視圖,其特征在于,所述配置裝置包括指定一種或多種物理計算設(shè)備類型的平臺定義;指定引擎的引擎定義,所述引擎在這些物理計算系統(tǒng)上執(zhí)行,從而定義由物理計算設(shè) 備支持的服務(wù)類型;指定區(qū)域的區(qū)域定義,所述區(qū)域包括應(yīng)用對象的邏輯分組;一組層次關(guān)系,所述層次關(guān)系指定引擎對物理計算系統(tǒng)中的特定物理計算系統(tǒng)的指 派,以及區(qū)域?qū)σ嬷械奶囟ㄒ娴闹概桑灰约?,部署視圖發(fā)生器,它根據(jù)所述層次關(guān)系來描繪物理計算設(shè)備、引擎和區(qū)域的層次。
18. —種監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序配置裝置,它包括根據(jù)促進(jìn)過程控制 和制造信息軟件的配置與部署的特定視圖而被加以布置的組件,其特征在 于,所述裝置包 括與設(shè)備和功能相對應(yīng)的監(jiān)督過程控制系統(tǒng)對象,所述設(shè)備和功能對應(yīng)于車間內(nèi)的獨特 的實體,其中,每個對象中包含關(guān)于這些設(shè)備和功能的關(guān)聯(lián)的功能,并且,其中,監(jiān)督過程控 制系統(tǒng)對象具有與其關(guān)聯(lián)的一組指定所述監(jiān)督過程控制系統(tǒng)對象之間的關(guān)系的屬性;以 及,用于根據(jù)監(jiān)督過程控制系統(tǒng)對象之間的聯(lián)系來呈現(xiàn)監(jiān)督過程控制系統(tǒng)對象的視圖發(fā) 生器,所述視圖發(fā)生器至少提供第一個視圖,用于展現(xiàn)過程/車間及其受監(jiān)控組件的邏輯布置,以及, 第二個視圖,用于展現(xiàn)執(zhí)行該應(yīng)用程序的計算機系統(tǒng)上的對象的物理部署。
19. 如權(quán)利要求18所述的配置裝置,其特征在于,用戶定義一組區(qū)域,每個區(qū)域包括被 限制在同一引擎上執(zhí)行的一組相關(guān)的應(yīng)用對象,并且在第二視圖中描繪所述區(qū)域與引擎之 間的聯(lián)系。
20. 如權(quán)利要求18所述的配置裝置,其特征在于,所述監(jiān)督過程控制系統(tǒng)對象包括容 器對象,所述容器對象包括被嵌套在其中的其他監(jiān)督過程控制系統(tǒng)對象。
21. 權(quán)利要求18所述的配置裝置,其特征在于,從模板中獲得/實例化所述監(jiān)督過程控 制系統(tǒng)對象,并且所述模板指定其他模板的包含。
22. 權(quán)利要求21所述的配置裝置,其特征在于,所述模板能夠指定母模板,模板從所述 母模板所繼承的特征包括在指定子模板之后母模板隨后發(fā)生的變化。
全文摘要
揭示了一種監(jiān)督過程控制和制造信息系統(tǒng)應(yīng)用程序。該應(yīng)用程序的各個組件可以用多層層次方式來分配給多個聯(lián)網(wǎng)計算機設(shè)備,其中,由較低層來支持已安裝的較高層的應(yīng)用組件。應(yīng)用對象駐留在過程控制系統(tǒng)內(nèi)的分布式應(yīng)用結(jié)構(gòu)和模型實體的相對高層處。引擎對象在運行時間環(huán)境中支持這些應(yīng)用對象的執(zhí)行。這樣,直到已部署與應(yīng)用對象關(guān)聯(lián)的主機引擎對象,才部署這些應(yīng)用對象。引擎對象由平臺對象來支持。這些平臺對象對應(yīng)于物理計算機系統(tǒng)組件,物理計算機系統(tǒng)組件用于執(zhí)行這些引擎對象和關(guān)聯(lián)的應(yīng)用對象。配置裝置呈現(xiàn)了各種視圖,這些視圖包括該應(yīng)用程序的部署視圖和模型視圖。這些視圖包含構(gòu)成分布式應(yīng)用程序的對象的各種關(guān)系。
文檔編號G06F9/46GK101714101SQ20091020523
公開日2010年5月26日 申請日期2002年6月24日 優(yōu)先權(quán)日2001年6月22日
發(fā)明者L·G·萊布蘭克, P·H·莫迪, R·M·萊斯尼克, T·索維爾 申請人:英維思系統(tǒng)股份有限公司