專利名稱:在過程系統(tǒng)中用于批處理及執(zhí)行的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及過程設(shè)備中的過程控制系統(tǒng),尤其涉及執(zhí)行過程(比 如批過程)以及在所述過程的運行期間的矛盾解決。
背景技術(shù):
工廠及其他生產(chǎn)設(shè)施經(jīng)常用于創(chuàng)造多種產(chǎn)品。過程控制系統(tǒng)-比如由
美國德克薩斯州奧斯汀市(Austin, Texas)的艾默生過程控制有限公司 (Emerson Process Management, LLP )提供的那些過程控制系統(tǒng)陽廣泛地用 于這些制造產(chǎn)品或控制過程(例如化學(xué)品制造、發(fā)電廠控制等等)的工廠及 /或設(shè)施。過程控制系統(tǒng)也用于自然資源的開采,例如石油及天然氣鉆探及 處理過程等等。實質(zhì)上,任何制造過程、資源開采過程等等可以通過一個或 多個過程控制系統(tǒng)的應(yīng)用來自動化。
過程控制網(wǎng)絡(luò)-如那些用于化學(xué)、石油或其他過程的過程控制網(wǎng)絡(luò)-一般包括集中式過程控制器,集中式過程控制器通信連接到一個或多個現(xiàn)場 設(shè)備,所述現(xiàn)場設(shè)備可能是閥定位器、開關(guān)、傳感器(溫度傳感器、壓力傳 感器及流率傳感器)等等。這些現(xiàn)場設(shè)備可以在過程中執(zhí)行物理控制功能(比 如開啟及/或關(guān)閉閥),可以在過程中進(jìn)行測量以用于控制過程的操作,或 可以在過程中執(zhí)行任何其他期望功能。過程控制器傳統(tǒng)上通過一個或多個模 擬信號線或總線與現(xiàn)場設(shè)備連接,模擬信號線或總線可以(例如)傳送4-20 mA信號到現(xiàn)場設(shè)備或從現(xiàn)場設(shè)備傳送4-20mA信號。然而,最近,過程控 制行業(yè)已經(jīng)開發(fā)許多標(biāo)準(zhǔn)、開放式、數(shù)字或混合數(shù)字及模擬通信協(xié)議,比如 FOUNDATION FIELDBUS(此后稱"Fieldbus" ) 、 HART 、 PROFIBUS⑧、 WORLDFIP⑧、Device-Net 、 CAN等協(xié)議;這些協(xié)議可以用于實施控制器與現(xiàn)場設(shè)備之間的通信。 一般而言,所述現(xiàn)場設(shè)備接收由一個或多個現(xiàn)場設(shè)備 所進(jìn)行的測量的信號及/或關(guān)于所述現(xiàn)場設(shè)備的其他信息,并使用這些信息 來實施典型復(fù)雜的控制例程,然后產(chǎn)生控制信號并通過所述通信線或總線傳 送至所述現(xiàn)場設(shè)備,從而控制所述過程的操作。
由過程控制系統(tǒng)控制的另 一個常見的制造過程為批處理過程。批處理典 型地涉及用于創(chuàng)建材料的配方。例如,批處理經(jīng)常在醫(yī)藥及化學(xué)工業(yè)中用于 制造藥品、化學(xué)品及其他物質(zhì)。描述批處理過程的配方典型地指示怎樣制造 期望的物質(zhì)。例如,可以首先混合兩種化學(xué)品,然后加熱其混合物來制成特 定化學(xué)品。僅僅用于制造一種物質(zhì)的總配方可能包含數(shù)以百計的步驟。所述 配方可能指示需使用哪些原材料及采用什么比例、應(yīng)加熱或冷卻所述原材料 及需要什么設(shè)備來產(chǎn)生所期望的物質(zhì)。聚氯乙烯的制造是一個工業(yè)規(guī)模的批 處理過程范例。聚氯乙烯是通過聚合或"結(jié)合"小得多的氯乙烯分子而制 成。聚氯乙烯的制造是通過以氯乙烯、溶劑及誘導(dǎo)聚合物的混合物將批式反 應(yīng)器填充至適當(dāng)水平、加熱所述反應(yīng)器中的混合物、冷卻生成批產(chǎn)物、以及 通過清除剩余的原材料來提純所述批產(chǎn)物。
某些類別的過程控制網(wǎng)絡(luò)-如那些用于批處理過程的過程控制網(wǎng)絡(luò)-典型地包括設(shè)計成有相同或相似設(shè)備的多組重復(fù)的設(shè)備,所述多組重復(fù)的設(shè) 備在所述過程中執(zhí)行本質(zhì)上相同的功能。因此,作為例子,聚氯乙烯制造廠 可能有多組反應(yīng)器設(shè)備(即反應(yīng)器)、多組加熱設(shè)備(即加熱器)、多組冷 卻設(shè)備(即冷卻器)、多組提純設(shè)備(即提純器)及多組包裝設(shè)備(即包裝 機),其中一些或所有反應(yīng)器能夠與一些或所有加熱器、冷卻器、提純器及 包裝機并行地操作,或其中一些或所有反應(yīng)器能夠連接,從而與一些或所有 加熱器、冷卻器、提純器及包裝機連續(xù)地操作。
典型地,批處理過程按順序執(zhí)行許多不同階段或步驟,在開始第二階段
之前先完成第一階段。因此,在上述制造廠中,所述批處理過程可以運行第
一階段或步驟來控制反應(yīng)器,然后可以接著運行第二階段來對由所述反應(yīng)器
設(shè)備制造的產(chǎn)品開動加熱器,運行第三階段來控制冷卻器以冷卻由所述加熱
11器產(chǎn)生的產(chǎn)品,運行第四階段來控制提純器以提純所述產(chǎn)品,以及運行第五 階段來控制包裝機以包裝已提純的產(chǎn)品。典型地,每個單元有一相關(guān)的單元 模塊對象,其可以是適合代表某單元(例如硬件構(gòu)件)的狀態(tài)的軟件。單元 模塊對象可以是實施于軟件指令中的算法,這些軟件指令被最優(yōu)化來協(xié)調(diào)較 低層次模塊(此后較低層次模塊將簡稱為"模塊對象")的執(zhí)行。模塊對象, 如此后更詳細(xì)描述的那樣,可以包括可變部分及算法部分。典型地,模塊對 象被設(shè)計來執(zhí)行單一邏輯功能,比如開啟閥或填充槽。筒而言之,模塊對象 用于改變硬件構(gòu)件的狀態(tài)。
雖然前述用于制造聚氯乙烯的范例批處理過程指示每個階段在一個特 定單元上操作,但并一定總是這樣。視每個階段的步驟數(shù)目而定,設(shè)備的多 個單元可以用于執(zhí)行一特定階段。例如,如果代替批處理過程被寫入及用于 制造聚氯乙烯,制造聚氯乙烯可以是較大的批處理過程的單一階段,這樣的 階段可以涉及反應(yīng)器、加熱器、冷卻器、提純器及包裝機。
一般上,對批處理過程進(jìn)行控制非常重要。例如,如果氯乙烯反應(yīng)混合 物的反應(yīng)時間不夠長,所述處理過程的聚氯乙烯產(chǎn)量將不充分,而且將損失 金錢。在涉及危險化學(xué)品或可相比實體的生產(chǎn)時,批處理過程的控制可能變 得很關(guān)鍵??刂婆幚磉^程的一個方式是人工方式。換句話說, 一個或多 個工人被指定注視批處理過程的所有方面,以確保事事根據(jù)計劃進(jìn)行。然而, 這是冗長乏味的工作,而且錯誤可能悄悄混進(jìn)而不被發(fā)現(xiàn)。由于這些原因及 其他原因,已經(jīng)發(fā)展自動化以通過使用電子設(shè)備來控制批處理過程。計算機、 可編程控制器及可相比電子設(shè)備與智能現(xiàn)場設(shè)備(即智能傳感器及可控制 閥)已經(jīng)被許多批控制系統(tǒng)供應(yīng)商同時用于自動化批處理過程的控制。智能 傳感器典型地放置在設(shè)備上,并向工廠的中央控制室報告設(shè)備情況。可控制 閥典型地控制對設(shè)備的輸入或控制來自設(shè)備的輸出,而且可控制閥常??梢?根據(jù)接收自智能傳感器的信息,從中央控制室控制。
使批處理自動化的努力已經(jīng)促使涉及批處理的行業(yè)成員及批處理設(shè)備
供應(yīng)商等方面組成多個標(biāo)準(zhǔn)委員會。這些標(biāo)準(zhǔn)委員會的共同目的在于為自動化批處理制訂統(tǒng)一標(biāo)準(zhǔn)。"國際測量及控制學(xué)會"(International Society for Measurement and Control)- —個涉及過程控制課題的國際組織-已經(jīng)公布 一個這樣的標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)的標(biāo)題為《批控制第1部分模型及術(shù)語》(Batch Control Part 1: Models and Terminology ),其常被稱為ISA S88.01-1995標(biāo)準(zhǔn) (或在這個應(yīng)用中稱為"S88" )。 S88.01標(biāo)準(zhǔn)定義用于自動化批處理過程 的設(shè)備模型及程序,以及定義用于稱謂這些模型及其元件的術(shù)語。S88.01標(biāo) 準(zhǔn)將"批處理過程"定義為通過使用一臺或多臺設(shè)備,使大量輸入材料在 限定時間期內(nèi)經(jīng)過有序組合的處理活動而導(dǎo)致限定數(shù)量的材料的生產(chǎn)的過 程。"批"為正在通過批處理過程的單一執(zhí)行而生產(chǎn)的材料,或已經(jīng)通過批 處理過程的單一執(zhí)行而生產(chǎn)的材料。
在批處理過程中用于操作物理元件的控制配方在S88.01標(biāo)準(zhǔn)中常被稱 為"程序模型"。根據(jù)S88.01標(biāo)準(zhǔn),程序模型被結(jié)構(gòu)化為程序的層次等級, 其最高層次包含每個較低層次,下一個最高層次包含其下的每個層次,依此 類推。程序模型的層次降序排列,其排列為"程序"、"單元程序"、"操 作"及"階段",而"程序元件"指的是所述控制配方或程序模型中的任何 層次。在所述層級中,最高層次的程序元件被稱為程序,而程序是由一個或 多個單元程序組成。每個單元程序依次由一個或多個操作組成,而每個操作 依次由一個或多個階段組成。
批執(zhí)行環(huán)境已經(jīng)變得越來越復(fù)雜,特別是在S88.01標(biāo)準(zhǔn)出現(xiàn)后更是如 此。這個復(fù)雜性典型地以越來越大的控制配方出現(xiàn),而每個配方在外觀上是 不斷地有更大數(shù)目的程序元件。與此同時,批處理設(shè)備的規(guī)模及能力也正在 增長。例如,批處理設(shè)備能夠同時地運行多組產(chǎn)品"列車,,,從而需要控制 系統(tǒng)能夠同時管理許多并行的批。然而,由于配方的復(fù)雜性及規(guī)模增加,加 上實際工廠設(shè)備的機動性已改進(jìn),使得批處理控制系統(tǒng)的工作過度緊張。以
大而復(fù)雜的配方加載及運行許多批,使得處理設(shè)備、存儲器及其他資源的利 用達(dá)到極限。
例如,批執(zhí)行引擎將控制配方加載到過程存儲器,然后按照預(yù)配置順序開始執(zhí)行所述控制配方的程序元件。整個程序結(jié)構(gòu)在創(chuàng)建時間加載,包括控 制配方的所有層次,不論所述多種程序元件是否將會被實際執(zhí)行。因此,視 執(zhí)行兩個不同程序之間的選擇而定,完全可能實際上絕不會需要未經(jīng)選擇的 程序(包括一些或所有相關(guān)程序單元、操作及階段)。不幸的是,實際上執(zhí) 行哪個程序的選擇并非已知-直到所述控制配方的運行時間為止,而所述 控制配方的運行時間超過所有程序元件在創(chuàng)建時間被加載的時間許多。因 此,即使在實際執(zhí)行期間有些程序元件可能需要或不需要,它們都被加載, 而且程序元件消耗大量內(nèi)存、處理器時間及其他資源。最后,這些應(yīng)變導(dǎo)致 對設(shè)備典型地能在批執(zhí)行引擎中加載的批次數(shù)目的限制。
批執(zhí)行環(huán)境的復(fù)雜性已經(jīng)變得越來越復(fù)雜,并且不斷地以更大的設(shè)備配 置出現(xiàn),而這些設(shè)備配置必須定期地維護(hù)及更新。在典型的系統(tǒng)中,有兩個
組件在批的執(zhí)行期間被使用 一較低層次控制器(其負(fù)責(zé)促動閥、泵及其他
設(shè)備)及一較高層次批執(zhí)行引擎(其裁定、監(jiān)控及協(xié)調(diào)較低層次控制器)。 這兩個組件使用實際設(shè)備的最新模型(比如以上討論的程序模型)及需要的 相關(guān)邏輯,以便在運行特定的批時控制工廠設(shè)備。工廠工程師及監(jiān)督員可以 重新配置工程設(shè)備的部分,以適應(yīng)新產(chǎn)品的制造、增高效率等等。這個重新 配置可以包括控制配方或設(shè)備模型的改變,以使控制配方或設(shè)備模型匹配新 配置。在重新配置發(fā)生時,所述控制器及批執(zhí)行引擎應(yīng)進(jìn)行更新,以使所述 控制器及批執(zhí)行引擎知道所述改變并能夠?qū)嵤┧鲂赂淖儭2恍业氖?,由?任何數(shù)目的原因,這兩個組件之間的矛盾典型地需要停止或中止整個批,從 而導(dǎo)致?lián)p失生產(chǎn)時間或甚至導(dǎo)致?lián)p失產(chǎn)品。然而,所述矛盾完全可能屬于良 性或完全可能以較舊模型或模型參數(shù)來克服。
發(fā)明內(nèi)容
本發(fā)明提供 一 種用于實施控制配方及在所述控制配方的執(zhí)行期間解決 矛盾的系統(tǒng)及方法。明確地說,所述控制配方是以最優(yōu)化加載及執(zhí)行最復(fù)雜 的控制配方所需要的時間數(shù)量及內(nèi)存的技術(shù)來實施,其增加可以同時處理的
14并行批的數(shù)目。所述技術(shù)涉及"剛好及時地"實例化及加載配方的程序元 件,而且只是在程序元件在所述控制配方的運行時間被使用時(而不是在所 述控制配方的創(chuàng)建時間時)實例化及加載配方的程序元件。在以所述程序元 件完成所述控制配方時(例如所述程序元件被完成執(zhí)行時),所述程序元件 從所述控制配方被解構(gòu)及卸載。
用于"剛好及時"的處理的系統(tǒng)及方法使用實例化對象或程序,這些實 例化對象或程序被實施為所述控制配方的部分,或由所述控制配方要求???以在所述控制配方的運行時間期間被要求的每個程序元件與 一 實例化對象 有關(guān)。例如,在批創(chuàng)建時間,所述程序元件可以加載到相關(guān)實例化對象。明 確地說,所述程序元件的邏輯結(jié)構(gòu)可以加載到所述實例化對象,而所述邏輯 結(jié)構(gòu)不包括由所述程序元件用于控制所述過程的方面的多個參數(shù)。在另 一個 例子中,在所述程序元件被使用時,所述程序元件的邏輯結(jié)構(gòu)被創(chuàng)建在所述 實例化對象中。在運行時間期間,所述實例化對象被用于實例化程序元件, 這是由于所述控制配方需要。 一旦所述程序元件被執(zhí)行為所述控制配方的部 分,所述實例化對象被用于從所述控制配方解構(gòu)所述程序元件。已由所述程 序元件使用的資源可以從而被收回,以供進(jìn)一步用于執(zhí)行所述控制配方。
在另一方面,相同的實例化對象可以用于多個程序元件。例如,使用相 同的邏輯結(jié)構(gòu)的多個程序元件可以使用相同的實例化對象。所述實例化對象 加載或創(chuàng)建所述邏輯結(jié)構(gòu),并且以特定程序使用的參數(shù)來填寫所述邏輯結(jié) 構(gòu)。因此,較少的程序元件在創(chuàng)建時間被加載,這可能導(dǎo)致資源使用減少。
此外,用于檢測及解決在所述控制配方的執(zhí)行期間發(fā)生的矛盾的技術(shù)允 許選擇忽略矛盾或中止(停止)批處理過程以糾正所述矛盾。明確地說,所 述技術(shù)解決用于較高層次的執(zhí)行引擎及較低層次的控制器的模型之間的矛 盾。有關(guān)所述矛盾的信息可以被提供,而所述批執(zhí)行引擎或批操作員可以根 據(jù)有關(guān)矛盾的信息來決定是否繼續(xù)或中止所述批處理過程。在一個例子中, 所述批過程可以被允許繼續(xù)使用默認(rèn)參數(shù)、供所有控制器使用的全球參數(shù)、 先前使用的參數(shù)等等。
圖l為一部分框圖、部分原理圖,其顯示過程設(shè)備的部分的一個范例,
該圖描繪在批處理過程設(shè)備中實施的批執(zhí)行環(huán)境;
圖2為一部分框圖、部分原理圖,其顯示圖1的范例過程控制系統(tǒng)的部 分及一批處理過程的部分;
圖3為一流程圖,其顯示控制配方的執(zhí)行(包括批執(zhí)行環(huán)境中的多種程 序元件的執(zhí)行)的一個范例;
圖4為一流程圖,其顯示控制配方的執(zhí)行在批執(zhí)行環(huán)境中使用實例化對 象來實例化多種程序元件的 一 個范例;
圖5為一流程圖,其顯示實例化對象實例化程序元件、程序元件被執(zhí)行 及所述實例化對象解構(gòu)所述程序元件的 一 個范例;
圖6為一流程圖,其顯示控制配方的執(zhí)行在批執(zhí)行環(huán)境中使用相同的實 例化對象來實例化多個程序元件的 一個范例;
圖7為一部分框圖、部分原理圖,其顯示過程設(shè)備的部分的一個范例, 該圖描繪較高層次的批執(zhí)行引擎與較低層次的控制器以及它們之中使用的 模型之間的關(guān)系;以及
圖8為一流程圖,其顯示用于解決較高層次的批執(zhí)行引擎的模型與較低 層次的控制器的模型之間的矛盾的程序的 一 個范例。
具體實施例方式
過程控制系統(tǒng)經(jīng)常在多種工業(yè)中用于控制及監(jiān)測工業(yè)廠房的多種設(shè)備 的操作。使用過程控制系統(tǒng)的一類工業(yè)廠房是醫(yī)藥制造設(shè)施。醫(yī)藥制造設(shè)施 使用批處理技術(shù)并經(jīng)過一步接一步的過程來產(chǎn)生大量的特定物質(zhì)(比如藥 品)。與連續(xù)處理技術(shù)(比如那些用于控制天然氣流率的連續(xù)處理技術(shù))相 反,批處理技術(shù)涉及一系列的離散而有序的步驟(比如以配方指定用于制造 產(chǎn)品的各別步驟)。例如,在批處理環(huán)境中,最終產(chǎn)品或期望產(chǎn)品典型地是 使用被稱為"控制配方"的一系列步驟來制造。每個步驟可能需要使用一臺或多臺設(shè)備,比如加熱器、運輸帶、槽、混合器等等。
特定設(shè)備也可能充分并行地運行多個配方。典型地,制造設(shè)備被邏輯地 分別為截然不同組合的設(shè)備,以避免使批控制系統(tǒng)的處理能力超載。每個組 合將包括某些設(shè)備而且將被指定用于某些操作。每個控制配方一般包含所有 信息(例如程序結(jié)構(gòu)、配方參數(shù)、需要的設(shè)備等等)以控制所述過程的多個 組合,包括不同過程區(qū)域、單元、環(huán)路或設(shè)備,以便制造特定產(chǎn)品。例如, 一個配方可能需要使用混合桶,而另一個配方則涉及在存儲容器中加熱。這 些控制配方被實例化為運行"批",并由批執(zhí)行系統(tǒng)或等效的子系統(tǒng)進(jìn)行。 以控制配方的實際實例化來運行批典型地涉及加載所述控制配方到所述批 執(zhí)行系統(tǒng)的過程,例如通過將所述配方加載到由所述批執(zhí)行系統(tǒng)使用的存儲 器資源,然后所述批執(zhí)行系統(tǒng)使用處理器或其他計算機資源(包括多種硬件 及軟件資源)來執(zhí)行所述控制配方。
現(xiàn)在參看圖l,其圖解一范例過程設(shè)備IO,其中一個或多個控制過程(特 別是批處理過程或配方)可以由批執(zhí)行系統(tǒng)實施及執(zhí)行。明確地說,如圖1
中所示,過程設(shè)備50包括過程控制系統(tǒng)52、 一個或多個區(qū)域54、 一個或多 個設(shè)備56、通信網(wǎng)絡(luò)58及一個或多個設(shè)備用戶60。過程i殳備50可以包括 醫(yī)藥制造或生產(chǎn)設(shè)施、精煉處理操作或其他化學(xué)處理操作、或其他合適的批 或連續(xù)過程環(huán)境。在所述公開的實施例中,過程設(shè)備50使用至少一個批處 理4支術(shù),比如糸匕配方。
過程控制系統(tǒng)52可以包括硬件及/或軟件,所述硬件及/或軟件可操作以 通過通信網(wǎng)絡(luò)58來控制、要求、監(jiān)測、測試設(shè)備56、與設(shè)備56進(jìn)行通信 及/或使用設(shè)備56。例如,過程控制系統(tǒng)52可以是由美國德克薩斯州奧斯汀 市(Austin, Texas )的艾默生過程控制有限公司(Emerson Process Management, LLP)提供的DeltaVTM系統(tǒng)。 一般上,過程控制系統(tǒng)52控制對設(shè)備56的存 取并計劃設(shè)備用戶60對設(shè)備56的使用。通信網(wǎng)絡(luò)58支持過程控制系統(tǒng)52、 區(qū)域54、設(shè)備56及設(shè)備用戶60之間的數(shù)據(jù)通信,而且可以(單獨地或作 為多種組合)使用任何期望的基于總線的硬件及/或不是基于總線的硬件來
17實施,或使用任何期望的固定及/或無線通信結(jié)構(gòu)或其他合適的通信協(xié)議(比
如Ethernet、 Foundation Fieldbus或Profibus協(xié)議)來實施。
區(qū)域54代表過程設(shè)備50、設(shè)備56及設(shè)備用戶60的邏輯及/或物理組織。 區(qū)域54 —般用于組織用于執(zhí)行過程設(shè)備50中使用的配方步驟的設(shè)備56。 區(qū)域54的組織可以根據(jù)過程設(shè)備50中的設(shè)備56的物理位置、過程設(shè)備50 中的設(shè)備56的邏輯組織、或設(shè)備56的物理及邏輯組織中的合適者。例如, 批處理操作可以分解為不同的區(qū)域54,以用于接收、準(zhǔn)備、處理及運送。 繼續(xù)先前的范例,用于醫(yī)藥制造過程的原材料可以被接收于接收區(qū)域、改變 于準(zhǔn)備區(qū)域、結(jié)合及處理于過程區(qū)域以制造目標(biāo)藥物,而目標(biāo)藥物接著被包 裝并從運送區(qū)域載運。區(qū)域54中的設(shè)備56可以作為不同類別的最終產(chǎn)品的 生產(chǎn)的部分來使用,比如用于制造不同醫(yī)藥的多種設(shè)備。在一個實施例中, 區(qū)域54也為過程控制系統(tǒng)52需要以單一組合來處理太多設(shè)備56及設(shè)備用 戶60的問題提供實際解決方案。區(qū)域54可以用于分離大配方的處理,以便 使過程控制系統(tǒng)52不會因需要在執(zhí)行其他過程監(jiān)測任務(wù)時管理大量的設(shè)備 56而變得緩慢。
設(shè)備56可以各自包括閥、槽、泵、輸送帶、混合器、加熱器或其他可 作為過程設(shè)備50中執(zhí)行的過程的部分的合適設(shè)備。設(shè)備56可以在不同時間 由不同設(shè)備用戶60用于所述批處理過程的不同部分。例如,特定加熱器設(shè) 備56可以以第一實體用于一個最終產(chǎn)品、清洗、然后接著以第二實體用于 不同的最終產(chǎn)品。
設(shè)備用戶60代表使用設(shè)備56的物理或邏輯實體。例如,設(shè)備用戶60 可以代表由過程控制系統(tǒng)52執(zhí)行的特定配方,其按特定順序使用設(shè)備56, 以生產(chǎn)特定產(chǎn)品。設(shè)備用戶60本身可以是設(shè)備56。例如,泵設(shè)備可以在要 求存取槽設(shè)備時擔(dān)當(dāng)設(shè)備用戶的角色,以使所述泵設(shè)備能夠以特定材料來填 充所述槽設(shè)備。此外,設(shè)備用戶60可以代表作為所述生產(chǎn)過程的部分的材 料,比如原材料。例如,當(dāng)前正在被存儲在槽中的第一實體可以要求存取泵, 以便將所述第一實體作為配方的部分移到加熱器。此外,設(shè)備用戶60可以是不由過程控制系統(tǒng)52直接控制的人員或其他實體,但這可能要求從過程
控制系統(tǒng)52存取設(shè)備56。 一般而言,設(shè)備用戶60可以是由過程設(shè)備50在 過程控制系統(tǒng)52的控制下用于生產(chǎn)產(chǎn)品的人員、材料、硬件、軟件及/或其 他設(shè)備56。
在操作中, 一個或多個人類用戶(圖中未顯示)可以使用過程控制系統(tǒng) 52來配置、控制及監(jiān)測一個或多個配方、批處理過程或其他過程的執(zhí)行。 所述配方是以可用于過程設(shè)備50的設(shè)備56來執(zhí)行,以產(chǎn)生一個或多個期望 的最終產(chǎn)品。過程控制系統(tǒng)52負(fù)責(zé)通過設(shè)備用戶60來控制對設(shè)備56存取, 以便使兩個設(shè)備用戶60不嘗試同時使用相同的設(shè)備56。
圖2為更詳細(xì)的顯示過程控制系統(tǒng)52與區(qū)域54相互作用的圖。 一般上, 過程控制器12通過(例如)局域網(wǎng)(LAN) 15與多個工作站連接,其中一 個例子可以是以太網(wǎng)通信連接。控制器12也通過一個或多個輸入/輸出設(shè)備 (圖中未顯示)及一組通信線及/或總線18連接到過程設(shè)備(整體以參考數(shù) 字56命名)中的設(shè)備或裝置。控制器12例如可以是由艾默生過程控制有限 公司(Emerson Process Management)提供的DeltaV Batch控制器,控制 器12能夠與控制元件(比如分布遍及過程設(shè)備50的現(xiàn)場設(shè)備及現(xiàn)場設(shè)備中 的功能塊)進(jìn)行通信,以執(zhí)行一個或多個過程控制例程,從而對過程設(shè)備 50實施期望的控制。這些過程控制例程可以是連續(xù)過程控制例程,但將在 此被描述為批過程控制例程或程序。工作站14 (其可以是個人計算機、服 務(wù)器等等)可以由一名或多名工程師或操作員或其他用戶用于設(shè)計及執(zhí)行需 由控制器12執(zhí)行的一個或多個過程控制例程,用于與控制器進(jìn)行通信以便 下載這些過程控制例程,在過程設(shè)備50的操作期間用于接收及顯示關(guān)于過 程設(shè)備50的信息,以及另外與由(例如)控制器12執(zhí)行的過程控制例程相 互作用。此外,歷史數(shù)據(jù)庫19可以連接到局域網(wǎng)(LAN) 15,而且可以以 任何已知或期望方式自動地采集及存儲在過程設(shè)備50中產(chǎn)生的數(shù)據(jù),包括 在控制器12、所述現(xiàn)場設(shè)備及工作站14中產(chǎn)生的數(shù)據(jù)。
每個工作站14包括存儲器20,存儲器20用于存儲應(yīng)用程序(比如配
19置設(shè)計應(yīng)用程序)及存儲數(shù)據(jù)(比如有關(guān)過程設(shè)備50的配置的配置數(shù)據(jù))。
每個工作站14也包括處理器21,處理器21執(zhí)行一個或多個應(yīng)用程序,應(yīng) 用程序允許用戶設(shè)計過程控制例程(比如批控制例程)及將這些過程控制例 程下載到控制器12。同樣地,控制器12包括存儲器22,以存儲配置信息及 存儲用于控制過程設(shè)備50的過程控制例程,控制器12也包括處理器24, 處理器24執(zhí)行所述過程控制例程以實施過程控制策略。如果控制器12為 DeltaV Batch控制器,其可以與工作站14的其中 一個工作站上的一個或 多個應(yīng)用程序一起向用戶提供控制器12中的過程控制例程的圖形描繪,以 圖解所述過程控制例程中的控制元件及這些控制元件被配置來提供對過程 設(shè)備50的控制的方式。
在圖2的圖解范例中,控制器12通過總線18通信連接到兩組同樣地配 置的設(shè)備,每組設(shè)備有一反應(yīng)器單元(其在此稱為反應(yīng)器—01或反應(yīng)器—02)、 一過濾器單元(其在此稱為過濾器一Ol或過濾器_02)及一千燥器單元(其 在此稱為干燥器_01或干燥器—02)。反應(yīng)器—01包括一反應(yīng)器容器100、兩 個輸入閥101及102,反應(yīng)器容器100和輸入閥101及102連接成能夠控制 流體輸入線(流體輸入線從(例如)高位槽(圖中未顯示)提供流體進(jìn)入反 應(yīng)器容器100),以及包括一輸出閥103,輸出閥103連接成能夠控制通過 輸出流體線從反應(yīng)器容器IOO流出的流體流率。 一設(shè)備105 (其可以是傳感 器,比如溫度傳感器、壓力傳感器、料位計等或其他設(shè)備-比如電氣加熱 器或蒸汽加熱器)布置及/或靠近所述范例反應(yīng)器容器100。反應(yīng)器_01通過 閥103連接到過濾器—01,過濾器一Ol具有過濾器設(shè)備110,而過濾器設(shè)備 110依次連接到干燥器—01,干燥器一Ol具有干燥器設(shè)備120。同樣地,第二 組設(shè)備包括反應(yīng)器J)2,反應(yīng)器_02有一反應(yīng)器容器200、兩個輸入閥201及 202、 一輸出閥203及一設(shè)備205。反應(yīng)器—02連接到過濾器—02,過濾器—02 具有過濾器設(shè)備210,過濾器設(shè)備210依次連接到千燥器—02,干燥器—02具 有干燥器設(shè)備220。過濾器設(shè)備110及210和干燥器設(shè)備120及220可以有 與其相關(guān)的附加控制元件(比如加熱器、輸送帶及類似物)、傳感器等等。如果需要(雖然圖中未顯示),過濾器—01及過濾器—02中的每個過濾器單
元可以物理地連接到反應(yīng)器_01及反應(yīng)器—02中的每個反應(yīng)器單元,而干燥 器—01及干燥器—02中的每個干燥器單元可以連接到過濾器—01及過濾器_02 中的每個過濾器單元,以至使用各一個反應(yīng)器、過濾器及干燥器的批處理運 行可以采用圖2中圖解的設(shè)備的任何組合。
如圖2所示,控制器12通過總線18通信連接到閥101、 103、 201、 203, 通信連接到設(shè)備105、 205,通信連接到過濾器110、 120,及通信連接到干 燥器120及220 (以及通信連接到其他與其相關(guān)的設(shè)備),以控制這些元件 (它們可以是單元、現(xiàn)場設(shè)備等等)的操作,從而執(zhí)行與這些元件有關(guān)的一 個或多個處理操作。這些操作可以包括(例如)填充所述反應(yīng)器容器或干燥 器,或加熱所述反應(yīng)器容器或干燥器中的材料,傾卸所述反應(yīng)器容器或干燥 器,清洗所述反應(yīng)器容器或干燥器等等。當(dāng)然,控制器12可以通過附加的 總線、通過專用通信線(比如4-20mA通信線、HART通信線等等),連接 到過程設(shè)備50中的元件。
圖1中圖解的閥、傳感器及其他設(shè)備可以是任何期望種類或類別的設(shè) 備,包括(例如)Fieldbus設(shè)備、標(biāo)準(zhǔn)4-20 mA現(xiàn)場設(shè)備及/或HART設(shè)備 等等,而且可以使用任何已知或期望的通信協(xié)議(比如Fieldbus協(xié)議、HART 協(xié)議及/或4-20mA模擬協(xié)議等等),與控制器12進(jìn)行通信。此外,其他類 別的設(shè)備可以以任何期望方式連接到控制器12及/或由控制器12控制。另 外,其他控制器可以通過(例如)以太網(wǎng)通信線15連接到控制器12及連接 到工作站14,以控制其他與過程設(shè)備50有關(guān)的設(shè)備或區(qū)域,而且這些附加 控制器的操作可以以任何期望或已知方式與圖2中圖解的控制器12的操作 協(xié)調(diào)。
一^:而言,圖2的過程控制系統(tǒng)可以用于實施批處理過程,例如其中工 作站14的其中之一執(zhí)行一個批執(zhí)行應(yīng)用程序,其根據(jù)一個或多個控制配方 來實施并可能協(xié)調(diào)過程設(shè)備50中的不同批處理運行。這個批執(zhí)行引擎30被 圖解為存儲在圖1的工作站14a,而批執(zhí)行引擎30可以在其他工作站14中存儲及執(zhí)行或在其他以任何期望方式(包括任何無線方式)通信連接到總線
15或總線18的計算機中存儲及執(zhí)行。同樣地,如果需要,批執(zhí)行引擎30 可以分成多種組件或與在過程設(shè)備50中的不同計算機或工作站存儲及執(zhí)行
的多種組件發(fā)生聯(lián)系。
批執(zhí)行引擎30 —般為高層次控制例程(比如上述控制配方),而且可 以包括批活動管理器,批活動管理器使用戶能夠指定需在所述過程設(shè)備中執(zhí) 行的許多批處理運行,而且批活動管理器設(shè)置實質(zhì)上在過程設(shè)備控制網(wǎng)絡(luò) 10中獨立操作的許多不同批處理運行或批處理過程。批執(zhí)行引擎30也可以 包括批執(zhí)行例程或應(yīng)用程序,批執(zhí)行例程或應(yīng)用程序?qū)嵤┎z查由所述批活 動管理器指定的不同批處理運行。每個這樣的批處理運行引導(dǎo)一個或多個程 序、單元程序、操作、階段及批的其他細(xì)分的操作,每個程序、單元程序、 操作、階段及批的其他細(xì)分是或可以是在單一單元(比如所述反應(yīng)器單元、 所述過濾器單元、所述干燥器單元或過程設(shè)備50中的其他設(shè)備的其中之一) 上操作的子例程或過程。在這個范例中,每個單元程序(其為一般在其中一 個工作站14上運行的批處理運行的部分)可以執(zhí)行一系列的操作,每個操 作可以在一物理單元上執(zhí)行一個或多個階段。對這項討論而言,"階段"、 "操作"、"單元程序"及"程序"等術(shù)語可以指那些由S88標(biāo)準(zhǔn)定義的程 序元件,因此,"階段"是被執(zhí)行的最低層次的動作或步驟,而且典型地是 在其中一個控制器12上實施或執(zhí)行;"操作"是執(zhí)行特定功能的一組階段, 而且"操作"典型地是通過在控制器12中要求一系列階段,在其中一個工 作站14上實施或執(zhí)行;"單元程序"是被執(zhí)行的一系列的一個或多個操作, 而且典型地是在其中一個工作站14上實施為一組搡作要求。同樣地,"程 序"可以是一組單元程序,這些單元程序?qū)嵤榭刂婆浞街械牟襟E,而且可 以(例如)在過程設(shè)備50中的不同物理設(shè)備或裝置上執(zhí)行。因此,任何程 序可以包括一個或多個單元程序,而任何單元程序可以包括一個或多個階段 及/或一個或多個操作。照這樣,每個批處理過程執(zhí)行制造產(chǎn)品(比如食物 產(chǎn)品、藥品等等)而需要的不同步驟或階段(例如單元程序)。在此使用的施,而不僅僅指所述程序模型的"程序"層次或任何其他單一層次的那些具 體化或?qū)嵤?br>
為了實施個別批的不同程序、單元程序、操作及階段,控制配方指定需 執(zhí)行的步驟、與所述步驟有關(guān)的數(shù)量及時間以及所述步驟的順序。 一個配方 的步驟可以包括(例如)以適當(dāng)材料或成分填充反應(yīng)器容器、混合反應(yīng)器容 器中的材料,在某時間長度內(nèi)將反應(yīng)器容器中的材料加熱到某個溫度、清空 反應(yīng)器容器并接著清洗反應(yīng)器容器以準(zhǔn)備下一批、運行過濾器以過濾反應(yīng)器 的輸出,然后運行干燥器來干燥在反應(yīng)器容器中制造的產(chǎn)品。所述系列步驟 中與不同單元有關(guān)的每個步驟定義所述批的單元程序,而所述控制配方將為
的特定材料、材料數(shù)量、加熱溫度及時間等等可能不同,因此,視正在制造 及/或生產(chǎn)的產(chǎn)品及/或正在使用的配方而定,這些參數(shù)可以因不同的批處理 運4亍而有所不同。
本領(lǐng)域的普通工程技術(shù)人員將可以理解,通用批處理過程的相同階段、
處理運行的部分,實施在圖2的不同反應(yīng)器單元中的每個反應(yīng)器單元。此外, 由于圖2的反應(yīng)器一般包括相同數(shù)目及類別的設(shè)備(即它們屬于相同的單元 級),因此可以在特定階段使用相同的通用階段控制例程來控制所述不同反 應(yīng)器單元中的每個反應(yīng)器單元,但這個通用階段控制例程必須更改,以控制 與所述不同反應(yīng)器單元有關(guān)的不同硬件或設(shè)備。例如,為了實施反應(yīng)器_01 的填充階段(其中所述反應(yīng)器單元被填充), 一填充控制例程將在一個特定 時間長度內(nèi)開啟輸入閥101或102中的一個或多個輸入閥,例如開啟輸入閥 直到料位計105檢測到容器100已滿。然而,僅僅通過將所述輸入閥的指定 改變?yōu)殚y201或202 (而不是閥101或102)以及將所述料位計的指定改變 為料位計205 (而不是料位計105),此同一控制例程可以用于實施反應(yīng)器 —02的填充階段。圖3圖解控制配方300的執(zhí)行的一個范例,該控制配方300可以實施于
批執(zhí)行引擎30及由批執(zhí)行引擎30執(zhí)行。雖然以下范例參考程序元件來進(jìn)行
描述(由于程序元件可能涉及對區(qū)域中的設(shè)備或裝置的控制),但應(yīng)該理解, 所述程序元件可能涉及過程層級中的較高層次(例如程序元件涉及所述過程 的不同區(qū)域),或程序元件可能涉及過程層級中的較低層次(例如程序元件 涉及不同單元、不同環(huán)路、不同設(shè)備等等)。同樣地,控制配方中程序元件 的實施指的是所述控制配方的層級中的不同層次,包括任何程序、單元程序、 操作或階段。因此,應(yīng)該理解所述控制配方的執(zhí)行可能涉及一個或多個批處 理過程的較高層次的執(zhí)行,或可能涉及過程的較低層次的執(zhí)行。因此,控制
配方執(zhí)行300及在此描述的用于實施所述控制配方的技術(shù)可以應(yīng)用于批處 理過程中的任何層次的執(zhí)行。
如圖3所示,所述控制配方包括程序元件或步驟層級體系, 一如以上討 論的那樣。每個程序元件或步驟被配置成根據(jù)所述控制配方,按特定順序執(zhí) 行,而所述控制配方的執(zhí)行可以包括兩個或多個程序元件之間的幾個決定 樹。在每個決定所作的程序元件選擇可能視多種因素而定,這些因素包括所 述過程的狀態(tài)、從所述過程獲得的參數(shù)、所述控制配方中的先前程序元件的 結(jié)果或涉及所述批處理運行的多種因素。因此,使用一個程序元件(而不是 另一程序元件)的決定導(dǎo)致所選擇的程序元件的執(zhí)行,而未經(jīng)選擇的程序元 件未被執(zhí)行,雖然未經(jīng)選擇的程序元件在所述控制配方的執(zhí)行期間可以在別 處執(zhí)行。然而,未經(jīng)選擇的程序元件還是可能將絕不會在所述批處理運行期 間被執(zhí)行。
明確地說,參看圖3,所述控制配方的執(zhí)行以第一程序元件的執(zhí)行在流 程塊302為開始,接著在流程塊304進(jìn)行決定,以便在流程塊306執(zhí)行第二 程序元件或在流程塊308執(zhí)行第三程序元件。在流程塊304的決定可能視由 在流程塊302的第一程序元件產(chǎn)生的結(jié)果而定。例如,如果在流程塊302的 第 一程序元件需填充反應(yīng)器—01的反應(yīng)器容器100及執(zhí)行反應(yīng),在流程塊304 的決定可能根據(jù)來自傳感器105的測量來確定所述反應(yīng)是否完全而定。如果
24所述反應(yīng)充分地完成,所述控制配方可以進(jìn)行到流程塊306的第二程序元
件,以開啟閥103來將反應(yīng)器100的內(nèi)容輸出到過濾器110。如果所述反應(yīng) 未完成,則所述控制配方可以使用流程塊308的第三程序元件來繼續(xù)或重復(fù) 所述反應(yīng),及可能使用隨后的程序元件-視后來的決定而定,而控制返回 到流程塊306的第二程序元件??蛇x擇地,流程塊306的第三程序元件也可 以開啟閥103,以便將反應(yīng)器100的內(nèi)容輸出到過濾器110,但與所述批處 理過程的執(zhí)行(如果所述第二程序元件被選擇)比較,所述第三程序元件涉 及的所述批處理過程被執(zhí)行的方式不同。
因此,所述控制配方可能涉及任何數(shù)目的程序元件(程序l-N) 302、 304、 308、 312、 314、 318、 320的潛在執(zhí)行,并不是所有的程序元件可以 在所述控制配方的執(zhí)行期間被執(zhí)行-視在所述控制配方的執(zhí)行期間所作的 決定306、 310、 316而定。在圖3圖解的程序3、 4、 5 ... N中的任何程序 可能不在所述控制配方的執(zhí)行期間被執(zhí)行。例如,在流程塊308的以程序3 代表的程序元件事實上可能不需要-視在所述控制配方中在流程塊304的 "或者,,決定點所作決定而定。另一方面,有些程序元件可能必要地在所述 控制配方的執(zhí)行期間(例如程序l及2)被執(zhí)行。
亦如圖3所示,在所述控制配方(例如程序2)的執(zhí)行期間的程序元件 的執(zhí)行可以進(jìn)一步包括在程序步驟的層級結(jié)構(gòu)中排列的一個或多個子程序 元件的執(zhí)行。例如,如果在流程塊306的所述第二程序元件涉及開啟閥103 的操作及將反應(yīng)器100的內(nèi)容輸出到過濾器IIO的操作,子程序元件可以是 階段,該階段被實例化來控制所述閥的開啟,而另一子程序元件(例如階段) 被實例化來操作過濾器110。如同所述控制配方的執(zhí)行,程序元件的執(zhí)行可 以涉及一個或多個決定。因此,雖然有些子程序元件可能必要地被執(zhí)行為所 述程序元件的執(zhí)行的部分,其他子程序元件可能不會在所述程序元件的執(zhí)行 期間被執(zhí)行。此外,程序元件中的子程序元件可以包括進(jìn)一步的子程序元件 等等。例如,如以上所述,控制配方可以包括幾個程序,每個程序可以包括 單元程序,單元程序可以包括操作,而操作可以包括階段。因此,圖3中所是較高層次的控制配方中的程序元件。
應(yīng)該理解的是,在此使用的對程序元件及子程序元件的提及用意在于說
解釋成限制以下的權(quán)利要求。例如,所述層級的一個層次中(例如單元程序) 的程序元件可以被視為涉及所述層級的另一個層次(例如程序)的子程序元 件。相反地,所述層級的一個層次(例如操作)中的子程序元件可以被視為 涉及所述層級的另一個層次(例如階段)的程序元件。因此,所述程序元件 或子程序元件中的任何一個程序元件或子程序元件可以涉及整個批處理過 程控制的層級的不同層次的控制配方。此外,雖然控制配方執(zhí)行300已經(jīng)被
顯示為包括多種決定304、 310、 316,但應(yīng)該理解,控制配方的執(zhí)行可以包 括一 系列的以預(yù)配置順序執(zhí)行的程序元件,這系列的每個程序元件在所迷控 制配方的執(zhí)行期間被執(zhí)行。
圖4為控制配方結(jié)構(gòu)的一個范例,該控制配方結(jié)構(gòu)實施一個或多個實例 化對象或過程,以便在所述控制配方的執(zhí)行期間實例化每個程序元件。明確 地說,使用控制過程執(zhí)行對象或過程,批執(zhí)行引擎30可以在批處理創(chuàng)建時 加載所述控制配方結(jié)構(gòu),以及在所述控制配方^C實例化或加載時加載所述實 例化對象。與加載整個控制配方結(jié)構(gòu)(包括所有程序元件、結(jié)構(gòu)、配方參數(shù)、 設(shè)備等等)的、可以用于運行所述批的典型控制配方執(zhí)行相比,所述實例化 對象在所述程序元件由所述控制配方使用時用于實例化每個程序元件。此 外,對特定程序元件是否可以在控制過程的執(zhí)行期間實際地被執(zhí)行的選擇不 能在創(chuàng)建時間(例如在所述控制配方被加載以供執(zhí)行時)獲知,而且直到運 行時間(例如所述控制配方的執(zhí)行)之前還是未知。在所述程序元件被執(zhí)行 時,所述實例化對象將所述程序元件從所述控制配方卸載,而所述控制配方 繼續(xù)執(zhí)行。換句話說,所述控制配方的多個程序元件"剛好及時,,地被加載, 而且只是在需要時而不是在創(chuàng)建時間時被加載。在程序元件由所述控制配方 使用時,通過使用所述實例化對象來實例化每個程序元件,每個程序元件一 般只是在所述程序元件的執(zhí)行期間使用過程控制系統(tǒng)52的資源(例如存儲器、處理器、軟件等等)。此外,通過只是在需要程序元件時(而不是在創(chuàng) 建時間)實例化所述程序元件,只是在所述控制配方的執(zhí)行期間被實際使用
的那些程序元件最終使用過程控制系統(tǒng)52的資源。因此,批執(zhí)行引擎30及 過程控制系統(tǒng)52的性能一般可以實現(xiàn)增高資源的使用(例如處理器使用、 存儲器資源使用等等)的效率。
現(xiàn)在參看圖4,所述控制配方的邏輯結(jié)構(gòu)被顯示涉及多個實例化對象, 這些實例化對象亦被稱為程序水化器(例如程序水化器1-N)。如圖所示, 所述控制配方的邏輯結(jié)構(gòu)與圖3中顯示的結(jié)構(gòu)相似,帶有實施多種程序元件 及任何"或者"決定點的邏輯預(yù)定順序。然而,所述控制配方的邏輯結(jié)構(gòu)在 沒有所述程序元件的情況下被加載到批執(zhí)行引擎30,而不是在批處理創(chuàng)建 時間加載整個控制配方(包括可以在所述控制配方的執(zhí)行期間調(diào)用的所有程 序元件)。在一個范例中,所述控制配方的邏輯結(jié)構(gòu)可以參考所述控制配方 的邏輯流、"或者"決定點、以及標(biāo)記或與可以在所述控制配方的執(zhí)行期間 被訪問的每個可能程序元件有關(guān)的要求。
也是在批創(chuàng)建時間,每個實例化對象可以加載到批執(zhí)行引擎30。如圖4 中所示,以及與圖3相比,實例化對象與可以在所述控制配方的執(zhí)行期間被 執(zhí)行的每個程序元件有關(guān)。在一個范例中,每個所述實例化對象可以在所述 控制配方的邏輯結(jié)構(gòu)中實施。另一方面,所述控制配方的邏輯結(jié)構(gòu)中的要求 或標(biāo)記可以在每個實例化對象需要實例化程序元件時用于要求每個實例化 對象。
在所述控制配方的批處理運行時間及執(zhí)行期間,每個程序元件在所述程 序元件的執(zhí)行期間被實例化、執(zhí)行及解構(gòu),以至每個程序元件只是在需要的 時間內(nèi)使用資源。例如,在批處理過程的運行時間期間,批執(zhí)行引擎30通 過在流程塊402使用所述實例化對象(程序水化器1 )來開始所述控制配方, 以實例化圖3中顯示的程序元件1。 一旦程序元件1已經(jīng)被執(zhí)行,批執(zhí)行引 擎30使用所述實例化對象(程序水化器1)來解構(gòu)程序元件1,從而使已經(jīng) 在程序元件1的執(zhí)行期間被分配給程序元件1的所有資源被取消分配然后返回(或釋放)到批執(zhí)行引擎30。其后,所述控制配方的執(zhí)行達(dá)到?jīng)Q定點404, 決定點404提供以程序2或程序3來繼續(xù)進(jìn)行的決定,其選擇可以視先前程 序l的執(zhí)行而定。如果根據(jù)所述控制配方的邏輯來選4奪程序3,所述實例化 對象(程序水化器3)被用于實例化程序3,然而如果選擇程序2,所述實 例化對象(程序水化器2)被用于實例化程序2。因此,所述控制配方的執(zhí) 行分別地以實例化對象或?qū)嵗瘜ο?02、 406、 408、 412、 414、 418、 420的要求來替換可以在執(zhí)行期間被要求的每個程序元件302、 306、 308、 312、 314、 318、 320。
元件。例如,在執(zhí)行程序2時,所述程序元件的邏輯結(jié)構(gòu)可以包括實例化對 象,或?qū)嵗瘜ο蟮囊?。如果在所述程序元?例如程序2)的執(zhí)行期 間需要子程序結(jié)構(gòu)(例如單元程序、操作、階段等等),實例化對象被用于 實例化相關(guān)的子程序?qū)ο?,而所述子程序?qū)ο笤谒猿绦蛟倪\行時間期 間被執(zhí)行,并在所述子程序?qū)ο笸瓿蓵r被解構(gòu)。所述程序元件可以按需要繼 續(xù),或可以結(jié)束及由與所述程序元件有關(guān)的實例化對象解構(gòu),所述控制配方 從而按需要繼續(xù)執(zhí)行。因此,可以觀察到,所述實例化對象一樣適用于控制 配方中的多種層級。
圖5為一過程范例,該過程由實例化對象用于實例化及解構(gòu)程序元件, 以供所述控制配方使用。實例化對象可以包括可以在創(chuàng)建時間加載到所述實 例化對象的、程序元件的邏輯結(jié)構(gòu)??蛇x擇地,實例化對象可以包括邏輯模 塊或例程,所述邏輯模塊或例程理解所述程序元件的邏輯結(jié)構(gòu)怎樣被實施, 并在所述程序元件被實例化時構(gòu)建所述程序元件的邏輯結(jié)構(gòu)。
每個實例化對象可以進(jìn)一步包括邏輯模塊或例程,所述邏輯模塊或例程 理解怎樣在所述程序元件的邏輯結(jié)構(gòu)內(nèi)實施參數(shù)。明確地說,實例化對象理
解怎樣以不同參數(shù)來創(chuàng)建所述程序元件,而所述參數(shù)可以包括邏輯論證(比 如運行時間屬性)或在所述控制配方的執(zhí)行期間開發(fā)的邏輯論證、過程控制 變數(shù)、過程控制數(shù)據(jù)、設(shè)備使用等等。例如,在程序1由所述控制配方執(zhí)行時,在流程塊402用于程序2的實例化對象可以理解怎樣使用開發(fā)自程序1 的測量數(shù)據(jù)(例如用于填充反應(yīng)器IOO的產(chǎn)品數(shù)量)。用于程序2的實例化 對象可以進(jìn)一步理解怎樣將有關(guān)反應(yīng)器100的設(shè)備信息(例如填充狀況、壓 力)使用在程序2的實例化中(例如用于開啟閥103的行程及速度)。此外, 所述實例化對象可以核算所述設(shè)備用于程序2的參數(shù)(例如閥診斷信息)。 實例化對象因此能夠構(gòu)建所述相關(guān)程序元件的邏輯結(jié)構(gòu),以及使用將由相關(guān) 程序元件在執(zhí)行期間使用的參數(shù)來填寫所述相關(guān)程序元件的邏輯結(jié)構(gòu)。
現(xiàn)在參看圖5,實例化對象(程序水化器)可以等待在流程塊502由所 述控制配方或批執(zhí)行引擎30調(diào)用或要求。例如,所述實例化對象可以基于 對與所述實例化對象有關(guān)的程序元件的要求而被調(diào)用或要求,可以基于其被 包含于所述控制配方的邏輯結(jié)構(gòu)而被調(diào)用或要求,或可以基于對所述控制配 方的邏輯結(jié)構(gòu)中的所述實例化對象的標(biāo)記或要求被包含而被調(diào)用或要求。
在所述實例化對象在流程塊502被調(diào)用或要求時,所述實例化對象由所 述相關(guān)程序元件實例化,或在所述相關(guān)程序元件中被實例化。如以上所述, 每個實例化對象可以與加載到所述實例化對象中的所述相關(guān)程序元件的邏 輯結(jié)構(gòu)一起加載到批執(zhí)行引擎30。另一方面,在流程塊504,所述實例化對 象可以使用上述邏輯模塊或例程來構(gòu)建所述程序元件的邏輯結(jié)構(gòu),包括任何 子程序元件的核算。 一旦所述程序元件的邏輯結(jié)構(gòu)已經(jīng)被構(gòu)建或檢索,所述 實例化對象在流程塊506檢索用于所述程序元件的參數(shù),其可以包括或根據(jù) 已經(jīng)在所述控制配方的運行時間期間開發(fā)的參數(shù)(包括已經(jīng)由先前執(zhí)行的程 序元件開發(fā)的參數(shù),或已經(jīng)根據(jù)先前執(zhí)行的程序元件開發(fā)的參數(shù))。如以上 所述,所述參數(shù)可以包括但不限于需使用的設(shè)備、過程控制數(shù)據(jù)、過程控制 變數(shù)、邏輯論證或?qū)傩缘鹊取?br>
在流程塊508,所述實例化對象將所述程序元件的邏輯結(jié)構(gòu)及在流程塊 506檢索的參數(shù)結(jié)合,以完成實例化所述程序元件。所述實例化對象的邏輯 被提供,以便按所述程序元件的執(zhí)行需要(而且可以由批執(zhí)行引擎30引導(dǎo)) 來結(jié)合所述參數(shù)及邏輯結(jié)構(gòu)。其后,所述程序元件被加載到批執(zhí)行引擎30,以便在流程塊5 10在所述控制配方中執(zhí)行。
在流程塊512,所述實例化對象等待所述程序元件完成執(zhí)行。在所述程
序元件已經(jīng)被執(zhí)行時(其可以以所述實例化對象被調(diào)用或要求來指示),所
述實例化對象在流程塊514用于解構(gòu)所述程序元件。明確地說,所述實例化 對象可以從批執(zhí)行引擎30卸載所述程序元件,從而解放所述批執(zhí)行引擎的 資源,以及從所述程序元件的邏輯結(jié)構(gòu)移動參數(shù)。所述實例化對象可以維持 所述程序元件的邏輯結(jié)構(gòu)或分解所述邏輯結(jié)構(gòu)。其后,所述實例化對象將控 制返回到流程塊502,以供在所述控制配方的執(zhí)行期間按需要而再次調(diào)用或 要求。
圖6圖解所述實例化對象的另一方面,該方面可以在批執(zhí)行環(huán)境中用于 上述控制配方的實施。明確地說,許多用于控制配方的執(zhí)行的程序元件使用 相同的邏輯結(jié)構(gòu),或所述程序元件之間的差異在于其中使用的參數(shù)。在執(zhí)行 控制配方的過程中,相同的邏輯結(jié)構(gòu)實質(zhì)上是反復(fù)地使用。然而,根據(jù)以上 討論可以理解,由程序元件使用的參數(shù)在運行時間(即在所述控制配方的執(zhí) 行期間)之前可能為未知。
例如,再次參看圖3,程序4及程序5之間的差異可以是程序4在反應(yīng) 器100上運行,而程序5則在反應(yīng)器200上運行。程序4及程序5的邏輯結(jié) 構(gòu)在其他方面相同;只是與它們有關(guān)的設(shè)備及參數(shù)不同。在另一個范例中, 程序1涉及使用反應(yīng)器IOO的反應(yīng)過程,而在決定點304所作決定確定所述 反應(yīng)過程是否需要使用程序3來運行,或確定所述批處理過程是否使用程序 2來繼續(xù)。由于程序3實質(zhì)上是程序1的再執(zhí)行,唯可能有不同參數(shù)(例如 不同反應(yīng)時間),程序3的邏輯結(jié)構(gòu)可能與程序1的邏輯結(jié)構(gòu)相同。
現(xiàn)在返回到圖6,綜合地稱為600的控制配方的沖丸^f亍被顯示為包括不同 程序元件602、 604、 606 (程序A-C)。當(dāng)然,應(yīng)該理解,所述控制配方(包 括不同程序元件及子程序元件等的構(gòu)件結(jié)構(gòu))可以比圖6中所示的控制配方 復(fù)雜得多。程序A及C( 602、 606)被顯示為包括相同的邏輯結(jié)構(gòu)。因此, 相同的實例化對象(綜合地稱為608 )可以用于程序元件A及C兩者。換句話說,相同的實例化對象608可以根據(jù)需要,在實例化程序元件A及C中 的每個程序元件時使用相同的邏輯結(jié)構(gòu);以及可以根據(jù)需要,在將所述邏輯 結(jié)構(gòu)及唯一適用于程序元件A及C的參數(shù)結(jié)合時使用相同的邏輯結(jié)構(gòu)。
因此,雖然所述控制配方的執(zhí)行使用兩個不同的程序元件,但該兩個程 序元件只需要一個實例化對象。因此,只是一個實例化對象在創(chuàng)建時間時被 加載到批執(zhí)行引擎30,而且所述實例化對象只需要為該兩個程序元件維持 一個邏輯結(jié)構(gòu),或只是需要維持用于為該兩個程序元件構(gòu)建一個邏輯結(jié)構(gòu)所 需的邏輯。
比較測試已經(jīng)顯示,上述用于實施控制配方的方法可以顯著地改善內(nèi)存 使用或消耗,其改善可多至93%-視所述控制配方的復(fù)雜性而定。因此,由 于可用資源的增加,可以同時運行多得多的批。雖然按需要實例化每個程序 元件涉及若千時間,但即使是最大而復(fù)雜的控制配方為實例化一程序元件而 涉及的時間增加只不過是幾秒。
雖然以上批執(zhí)行技術(shù)參考用于實施控制配方的已改善方法及系統(tǒng)來進(jìn) 行描述,但過程控制系統(tǒng)中的控制配方的運行依賴設(shè)備模型,這些設(shè)備模型 向執(zhí)行環(huán)境描述所述過程設(shè)備的物理設(shè)備(例如槽、閥、泵等等)。 一般上, 程序元件被實施為計算機程序,這些計算機程序由數(shù)據(jù)處理設(shè)備(包括個人 計算機、工作站14及控制器12)執(zhí)行,或在數(shù)據(jù)處理設(shè)備(包括個人計算 機、工作站14及控制器12)中執(zhí)行。程序元件的執(zhí)行導(dǎo)致從可以用于控制 物理元件(比如設(shè)備)的數(shù)據(jù)處理設(shè)備輸出。程序元件通過調(diào)用對至少一個 物理元件的"基本控制"來執(zhí)行其指派任務(wù)。這類的控制專用于建立及維持 所述物理元件的特定需要狀態(tài)?;究刂?例如)將起動或維持存儲元件中 的材料流率或聚氯乙烯反應(yīng)元件中的原料的加熱。
際通信,從而調(diào)用或執(zhí)行基本控制。所述程序模型的較高層次被提供為摘要, 以改善所述程序模型以及所述物理模型的組織及結(jié)構(gòu)。執(zhí)行對象或過程在執(zhí) 行程序元件的所述數(shù)據(jù)處理設(shè)備(例如所述批執(zhí)行引擎)上運行。所述對象或過程根據(jù)一個或多個模型來協(xié)調(diào)程序元件的執(zhí)行。程序、相應(yīng)的單元程序、 相應(yīng)的操作及相應(yīng)的階段各自的步驟自始至終由所述對象或過程排序。在階 段被實例化時,所述階段將實例化要求傳送到相關(guān)控制器12中的階段邏輯 界面。所述可編程控制器12接著為所述階段執(zhí)行實際狀態(tài)邏輯,并通過對 所述過程設(shè)備的通信來提供所需要的過程控制。
圖7圖解批執(zhí)行環(huán)境中的批執(zhí)行引擎30、控制器12及其中提供的設(shè)備 模型700之間的邏輯關(guān)系的一個范例。像S-88標(biāo)準(zhǔn)中指定的那些模塊一樣, 設(shè)備模型700被分解為設(shè)備模塊及分解為控制模塊702、 704、 706,使得所 創(chuàng)建的每個模塊代表一邏輯集合的控制動作。例如, 一反應(yīng)器(及相關(guān)的過 濾器及干燥器)可以分解為三或四個控制模塊,每個控制模塊用于操縱及協(xié) 調(diào)多個閥103及泵,以便在沒有不適當(dāng)?shù)鼗旌喜槐匾墓?yīng)材料的情況下, 將產(chǎn)品從一個反應(yīng)器移到另一個反應(yīng)器,或?qū)a(chǎn)品從一個區(qū)域移到另一個區(qū) 域。這些控制模塊本身典型地組合在一起,以構(gòu)成"階段邏輯模塊"708。
階段邏輯模塊708本身為可以用于執(zhí)行特定任務(wù)(例如"混合"、"輸 送"或"加熱")的實體。通常這些階段708被分配及執(zhí)行于所述分布式批 控制系統(tǒng)中的控制器12。同時,工廠設(shè)備模型700也被分配及加載到"較 高層次"的批執(zhí)行引擎30,"較高層次"的批執(zhí)行引擎30負(fù)責(zé)協(xié)調(diào)在控制 器12中運行的多個階段708,以完成較高層次的控制配方,每個較高層次 的控制配方導(dǎo)致制成品。
由于控制器12及批執(zhí)行引擎30之間的這個邏輯關(guān)系,較低層次的控制 器12及較高層次的批執(zhí)行引擎30之間的設(shè)備模型700的兩個拷貝應(yīng)保持一 致,以便使控制配方的執(zhí)行能夠成功地完成。雖然如此,疏忽或必然性可能 導(dǎo)致一個或多個控制器12及批執(zhí)行引擎30辨認(rèn)的設(shè)備模型之間出現(xiàn)矛盾。 在發(fā)生這種情況時,可以用以下描述的解決技術(shù)來調(diào)節(jié)所述情況,而不是在 矛盾發(fā)生時立刻中止所述的批。使用下述技術(shù),可以減少損失的生產(chǎn)時間, 而且在最壞的情況,可以減少因物理過程所受時間限制而遭致的產(chǎn)品損失。
圖8圖解用于解決由控制器12及批執(zhí)行引擎30所維持的模型之間的矛
32盾的技術(shù)的一個范例。明確地說,所述技術(shù)提供可以檢測矛盾的方式,并向 批執(zhí)行引擎30或設(shè)備人員提供在運行時間決定是否解決或忽略所述矛盾的
的部分,如以上討論的那樣。這個選擇在為對怎樣及在什么時候?qū)嵤┕S設(shè) 備模型改變的決定提供靈活性的同時,使得所述模型的舊版本及新版本或它 們的參數(shù)能夠同時共存。
現(xiàn)在參看圖8,所述范例假設(shè)所述過程設(shè)備中使用一階段,該階段稱為
階段一l,而階段—1有一單一輸入?yún)?shù),該輸入?yún)?shù)在流程塊802標(biāo)注為"反
應(yīng)—時間",該單一輸入?yún)?shù)"反應(yīng)_時間"由其階段邏輯用于確定所述階段
應(yīng)運行反應(yīng)器100多久。然而,應(yīng)該理解,圖8中所示的4支術(shù)可以同樣應(yīng)用 于所述模型(包括不同模型版本)、不同設(shè)備(例如不同反應(yīng)器)的模型或 任何其他模型參數(shù)之間的任何矛盾。此外,雖然所述模型與所述過程設(shè)備中 的設(shè)備或裝置有關(guān),但應(yīng)該理解,所述模型可以涉及所述過程設(shè)備中的任何 實體,包括環(huán)路、單元、區(qū)域及所述整個過程設(shè)備本身的模型。
在某個時候,所述階段(其為整個工廠設(shè)備模型的部分)被下載到控制 器12及批執(zhí)行引擎30 -如在流程塊804標(biāo)注的那樣,而且在需要時被使用。 在這個范例中,所述"反應(yīng)—時間,,參數(shù)可以在運行時間由批執(zhí)行引擎30初 始化(初始化可以根據(jù)操作員的輸入選擇),然后在起動階段—1之前發(fā)送 到控制器12。
在這個范例中,進(jìn)一步假設(shè)在由至少一個控制器12維持的模型及由批 執(zhí)行引擎30維持的模型之間引進(jìn)一矛盾。例如,設(shè)備人員可能需要對階段 —l進(jìn)行修改,使階段—1有2個輸入?yún)?shù),而不是l個輸入?yún)?shù)。例如,設(shè) 備人員可能添加第二參數(shù)"卸載一目標(biāo)",以用于確定所述產(chǎn)品在階段—1完 成之后應(yīng)發(fā)送到哪里。為了使用所述階段的這個新版本,所述改變應(yīng)被下載 到可能需要運行其邏輯(如在流程塊808標(biāo)注的那樣)的任何控制器12 , 以及將所述新信息發(fā)送到批執(zhí)行引擎30。
然而,有可能甚至很可能的是,所述改變可通過N-M,安全地更新到
能力。在一個范例中,有些控制器12,而不是更新到其他控制器(N),所述更新可能基于使用所 述控制器的多個批處理的狀態(tài)。例如,使用控制器N的批處理可能妨礙所
述控制器更新所述模型。如果批執(zhí)行引擎30正在對當(dāng)時沒有模型的控制器 N運行一個批處理;或是正在運行已經(jīng)以第二參數(shù)"卸載—目標(biāo),,更新的一 個階段。
在批執(zhí)行引擎30接收輸入來對控制器N執(zhí)行所述批處理(例如執(zhí)行與 控制器N有關(guān)的過程)時-如流程塊810標(biāo)注的那樣,批執(zhí)行引擎30發(fā)送 "卸載—目標(biāo)"的一個值到所述控制器-如流程塊812標(biāo)注的那樣。然而, 由控制器12維持的階段一1的較舊版本將不會知道任何有關(guān)新"卸載—目標(biāo)" 參數(shù)的信息。
然而,實際上所述矛盾可能完全是良性的。例如,可能階段—1已經(jīng)在 沒有發(fā)生事件的情況下運行了一段很可觀的時間(例如數(shù)周)-因為在舊 配置中,所述"卸載_目標(biāo)"被"硬編碼"到所述階段邏輯本身。在這種情 況下,所述硬編碼值已足夠,而階段—1可以由所述控制器執(zhí)行。另一方面, 有可能所述矛盾是由于疏忽(即所述新配置沒有下載到所述控制器,而所述 控制器沒有"卸載—目標(biāo)"的值),在這種情況下,遺漏的參數(shù)不能被忽略。 所述矛盾可以在流程塊814由控制器12向批執(zhí)行引擎30報告(例如在接收 指示所述值或參數(shù)未知時,通過信號交換信號報告),而批執(zhí)行引擎30可 以向一工作站14提供有關(guān)所述矛盾的信息,以供操作員處理所述矛盾。在 這種情況下,操作員可以包括工作站用戶或由所述工作站14使用的診斷及 維護(hù)例程??蛇x擇地,批執(zhí)行引擎30可以在向所述工作站14報告或不向所 述工作站14報告的情況下處理所述矛盾。
明確地說,在流程塊816提供一個選項,以便在流程塊818中止(停止) 所述批處理過程,或在流程塊820通過執(zhí)行階段—1及繼續(xù)所述批處理過程, 而不是自動地中止所述批處理過程。所述決定可以由工作站用戶做出、由所 述工作站14使用的診斷及維護(hù)例程做出、或由批執(zhí)行引擎30做出。例如, 所述提示可以向所述工作站14的工作站用戶(例如設(shè)備操作員)顯示,或以其他方式提供給所述工作站14或批執(zhí)行引擎30。所述提示可以包括有關(guān) 所述矛盾的信息,包括位置(例如控制器)、涉及的模型、模型版本、涉及 的模型參數(shù)(例如階段一l、"卸載_目標(biāo)")或任何其他有關(guān)導(dǎo)致所述矛盾
的、控制器12的模型與批執(zhí)行引擎30的模型之間的差異的信息。所述提示
可以進(jìn)一步包括附加信息,以通過查找可以使用的替代值(例如硬編碼值) 或確定所述矛盾是否為疏忽來評估所述矛盾的嚴(yán)重性。
用于提供所述提示中的信息的邏輯可以由所述過程系統(tǒng)的多方面(包括
控制器12、批執(zhí)行引擎30及工作站14)提供。例如,控制器12及批執(zhí)行 引擎30各可以提供各自的模型版本及相關(guān)參數(shù)、犯規(guī)參數(shù)的標(biāo)識、先前用 于犯規(guī)參數(shù)的值、先前更新的日期/時間等等,而且控制器12、批執(zhí)行引擎
對所述批處理過程的影響。當(dāng)然,這些信息也可以向用戶顯示,以供用戶調(diào) 用決定。
如果在流程塊816的決定是中止(停止)所述批過程,則所述矛盾可以 通過將正確模型或模型更新上載到所述控制器12來解決。如果在流程塊816 的決定是繼續(xù)所述批處理過程,所述控制器可以被提供可使用的替代性信 息,比如使用所述模型或階段的較舊版本的指令。例如,所述控制器12可 以被提供在先前的批處理運行中使用而沒有發(fā)生事件的"卸載—目標(biāo)"先 前值,這個先前值可以從歷史數(shù)據(jù)庫19以所述硬編碼值提供。所述控制器 12接著能夠執(zhí)行階段—1,而所述批處理被允許繼續(xù)。所述控制器12或批執(zhí) 行引擎30可以使用的其他參數(shù)范例包括默認(rèn)值(例如制造商默認(rèn)值或批處 理過程默認(rèn)值)、用戶輸入值等等。如果所述過程中的多個控制器使用相同 的模型或模型參數(shù),但只是一個控制器提供所述矛盾,所述批執(zhí)行引擎30 可以提供全局參數(shù)以供所有控制器12使用,而所述全局參數(shù)與所述模型的 所有版本兼容。
雖然前述文字闡明了本發(fā)明的許多不同的具體實施例的詳細(xì)描述,但應(yīng) 該理解,本發(fā)明的范圍是以本專利結(jié)尾處的權(quán)利要求中宣布的文字定義。所述詳細(xì)描述只應(yīng)被解釋成起范例性作用,而且其并未描述本發(fā)明的每一種可 能的具體實施方式
,這是由于描述每一種可能的具體實施方式
將是不實際的 -如果不是不可能的。許多選擇性的實施例可以通過利用目前的技術(shù)或利用 在本專利提交日期之后開發(fā)的技術(shù)來實現(xiàn),而這些技術(shù)將還是屬于定義本發(fā) 明的權(quán)利要求的范圍之內(nèi)。
因此,可以在不脫離本發(fā)明的精神及范圍的條件下,對在此描述及圖解 的技術(shù)及結(jié)構(gòu)進(jìn)行許多修改和變化。因此,應(yīng)該理解,在此描述的方法和設(shè) 備只是在于闡明而不是限制本發(fā)明包括的范圍。
權(quán)利要求
1、一種在過程控制系統(tǒng)中用于實施控制過程的系統(tǒng),其中所述控制過程包括控制過程結(jié)構(gòu),而所述控制過程的執(zhí)行包括多個程序元件的執(zhí)行,所述系統(tǒng)包括多個實例化對象,其中所述控制過程的每個程序元件與所述實例化對象的其中之一有關(guān);以及控制過程執(zhí)行對象,所述控制過程執(zhí)行對象將所述控制過程結(jié)構(gòu)加載到控制過程執(zhí)行引擎,在所述控制過程被實例化時將所述多個實例化對象中的每個實例化對象加載到所述控制過程執(zhí)行引擎,在所述控制過程結(jié)構(gòu)在所述控制過程的執(zhí)行期間要求所述程序元件時使用每個實例化對象來實例化與所述實例化對象有關(guān)的程序元件,執(zhí)行所實例化的程序元件作為所述控制過程的部分,以及在所述程序元件的執(zhí)行在所述控制過程的執(zhí)行期間完成時使用所述實例化對象來解構(gòu)所實例化的程序元件。
2、 如權(quán)利要求l所述的系統(tǒng),其中所述控制過程執(zhí)行對象適合在所述控制 過程被實例化時將每個程序元件的邏輯結(jié)構(gòu)加載到所述相關(guān)的實例化對象。
3、 如權(quán)利要求1所述的系統(tǒng),其中所述多個實例化對象中的每個實例化對 象適合通過創(chuàng)建所述程序元件的邏輯結(jié)構(gòu)、以控制過程參數(shù)來填寫所述邏輯結(jié) 構(gòu)來創(chuàng)建所述相關(guān)的程序元件、以及將所填寫的邏輯結(jié)構(gòu)加載到所述控制過程 結(jié)構(gòu),以實例化與所述實例化對象有關(guān)的程序元件。
4、 如權(quán)利要求3所述的系統(tǒng),其中所述多個實例化對象中的每個實例化對 象適合使用在所述控制過程的執(zhí)行期間產(chǎn)生的控制過程參數(shù)來填寫所述相關(guān)的 程序元件的所述邏輯結(jié)構(gòu)。
5、 如權(quán)利要求4所述的系統(tǒng),其中所述多個實例化對象中的每個實例化對 象適合使用基于所述控制過程中的先前程序元件的執(zhí)行而產(chǎn)生的控制過程參數(shù) 來填寫所述相關(guān)的程序元件的所述邏輯結(jié)構(gòu)。
6、 如權(quán)利要求3所述的系統(tǒng),其中所述多個實例化對象中的每個實例化對象適合使用從包含所述過程控制系統(tǒng)中的設(shè)備的邏輯論證、過程控制變數(shù)、過 程控制數(shù)據(jù)及使用的組合中選擇的一個或多個控制過程參數(shù)來填寫所述相關(guān)的 程序元件的所述邏輯結(jié)構(gòu)。
7、 如權(quán)利要求1所述的系統(tǒng),其中所述多個實例化對象中的每個實例化對 象適合通過從所述控制過程結(jié)構(gòu)卸載所述程序元件、從所述程序元件的所述邏 輯結(jié)構(gòu)移動過程參數(shù)以及解構(gòu)所述程序元件的所述邏輯結(jié)構(gòu),以解構(gòu)與所述實 例化對象有關(guān)的程序元件。
8、 如權(quán)利要求1所述的系統(tǒng),其中所述控制過程結(jié)構(gòu)包括兩個或多個程序 元件之間的多個選擇,而所述控制過程的執(zhí)行包括每個選擇的所述兩個或多個 程序元件之間的決定,及其中所述實例化對象適合只實例化所述兩個或多個程 序元件中的其中之一。
9、 如權(quán)利要求8所述的系統(tǒng),其中所述實例化對象適合根據(jù)所述控制過程中的先前程序元件的執(zhí)行,只實例化所述兩個或多個程序元件中的其中之一 。
10、 如權(quán)利要求l所述的系統(tǒng),其中所述控制過程結(jié)構(gòu)包括所述多個實例化對象。
11、 如權(quán)利要求l所述的系統(tǒng),其中所述多個程序元件中的兩個或多個程 序元件包括所述相同的邏輯結(jié)構(gòu),及其中帶有所述相同的邏輯結(jié)構(gòu)的每個所述 程序元件與所述相同的實例化對象有關(guān)。
12、 如權(quán)利要求l所述的系統(tǒng),其中所實例化的程序元件的執(zhí)行包括子程序元件的執(zhí)行;及所述控制過程執(zhí)行對象適合在所述程序元件;陂實例化時將與所述子程序元 件有關(guān)的實例化對象加載到所述控制過程執(zhí)行引擎,在所實例化的程序元件在 所實例化的程序元件的執(zhí)行期間要求所述子程序元件時使用與所述子程序元件 有關(guān)的所述實例化對象來實例化所述子程序元件,執(zhí)行所實例化的子程序元件 作為所實例化的程序元件的部分,以及在所述子程序元件的執(zhí)行在所實例化的程序元件的執(zhí)行期間完成時使用與所述子程序元件有關(guān)的所述實例化對象來解 構(gòu)所實例化的子程序元件。
13、 如權(quán)利要求l所述的系統(tǒng),其中所述控制過程包括適用于批處理過程的控制配方。
14、 一種在執(zhí)行控制過程時用于解決過程控制系統(tǒng)中的設(shè)備模型中的矛盾的系統(tǒng),所述系統(tǒng)包括過程控制器,所述過程控制器帶有所述過程控制系統(tǒng)的實體的第 一模型; 控制過程執(zhí)行引擎,所述控制過程執(zhí)行引擎帶有所述過程控制系統(tǒng)的所迷實體的第二模型,其中所述控制過程執(zhí)行引擎適合根據(jù)所述實體的所述第二模型來向所述過程控制器提供控制指令,及其中所述過程控制器適合根據(jù)所述實體的所述第一模型來執(zhí)行所述控制指令;以及控制執(zhí)行對象,所述控制執(zhí)行對象在所述控制過程的執(zhí)行期間檢測所述實體的所述第一及第二模型之間的差異并產(chǎn)生提示以響應(yīng)所述差異的檢測,及接收有關(guān)所述控制過程的繼續(xù)操作的操作指令,其中所述操作指令包括繼續(xù)所述控制過程的執(zhí)行或中止所述控制過程的執(zhí)行的其中之一。
15、 如權(quán)利要求14所述的系統(tǒng),其中所述提示包括所述實體的所述第一及 第二模型之間的所述差異的標(biāo)識。
16、 如權(quán)利要求14所述的系統(tǒng),其中所述提示包括向用戶提供的所述實體 的所述第 一及第二模型之間的所述差異的顯示。
17、 如權(quán)利要求14所述的系統(tǒng),其中所述操作指令包括來自所述控制過程 的、要求繼續(xù)所述控制過程的執(zhí)行的操作指令。
18、 如權(quán)利要求14所述的系統(tǒng),其中所述操作指令包括來自用戶的操作指 令,其中所述用戶可在繼續(xù)所述控制過程的執(zhí)行及中止所述控制過程的執(zhí)行之 間進(jìn)4亍選才奪。
19、 如權(quán)利要求14所述的系統(tǒng),進(jìn)一步包括多個過程控制器,其中所述實 體的所述第一及第二模型之間的所述差異包括所述實體的所述第一及第二模型 的參數(shù)中的差異,及其中所述操作指令包括使用通用參數(shù)來繼續(xù)所述控制過程的執(zhí)行的操作指令,而所述通用參數(shù)被提供給使用所述參數(shù)的所述多個過程控 制器中的每個過程控制器。
20、 如權(quán)利要求14所述的系統(tǒng),其中所述實體的所述第一及第二模型之間的所述差異包括所述實體的所述第一及第二模型的參數(shù)中的差異,及其中所述 操作指令包括使用默認(rèn)參數(shù)來繼續(xù)所述控制過程的執(zhí)行的操作指令。
21、 如權(quán)利要求14所述的系統(tǒng),其中所述實體的所述第一及第二模型之間的所述差異包括所述實體的所述第一及第二模型的參數(shù)中的差異,及其中所述 操作指令包括使用由所述第一及第二模型使用的先前參數(shù)來繼續(xù)所述控制過程 的執(zhí)行的操作指令。
22、 一種在過程控制系統(tǒng)中用于實施控制過程的方法,其中所述控制過程 包括在所述控制過程的執(zhí)行期間要求多個程序元件的控制過程結(jié)構(gòu),所述方法 包括為所述程序元件中的每個程序元件建立實例化對象;在所述程序元件在所述控制過程的執(zhí)行期間被所述控制過程要求時,在所 述相關(guān)的實例化對象中構(gòu)建程序元件;執(zhí)行所述程序元件作為所述控制過程的部分;以及化對象中的所述程序元件,其中解構(gòu)所述程序元件的步驟是在所述控制過程的 執(zhí)行期間執(zhí)行。
23、 如權(quán)利要求22所述的方法,其中為所述程序元件中的每個程序元件建 立實例化對象的步驟包括在所述控制過程結(jié)構(gòu)中實施所述實例化對象,作為 對所述多個程序元件的所述要求。
24、 如權(quán)利要求22所述的方法,其中在所述相關(guān)的實例化對象中構(gòu)建所述 程序元件的步驟包括向所述程序元件分配資源,以供執(zhí)行為所述控制過程的 部分;及其中解構(gòu)所述實例化對象中的所述程序元件的步驟包括釋放已分配給 所述程序元件的所述資源。
25、 如權(quán)利要求22所述的方法,其中在所述相關(guān)的實例化對象中構(gòu)建所述程序元件的步驟包括將所述程序元件的邏輯結(jié)構(gòu)及一個或多個控制過程參it結(jié)合;以及將所結(jié)合的所述程序元件的邏輯結(jié)構(gòu)及所述一個或多個控制過程參數(shù)加載 到所述控制過程結(jié)構(gòu)。
26、 如權(quán)利要求25所述的方法,其中在所述相關(guān)的實例化對象中構(gòu)建所述 程序元件的步驟進(jìn)一步包括構(gòu)建所述程序元件的所述邏輯結(jié)構(gòu)。
27、 如權(quán)利要求25所述的方法,其中將所述程序元件的邏輯結(jié)構(gòu)及一個或 多個控制過程參數(shù)結(jié)合的步驟包括將所述程序元件的邏輯結(jié)構(gòu)及在所述控制 過程的執(zhí)行期間產(chǎn)生的一個或多個控制過程參數(shù)結(jié)合。
28、 如權(quán)利要求27所述的方法,其中將所述程序元件的邏輯結(jié)構(gòu)及一個或 多個控制過程參數(shù)結(jié)合的步驟包括將所述程序元件的邏輯結(jié)構(gòu)及來自先前在 所述控制過程中執(zhí)行的程序元件的一個或多個控制過程參數(shù)結(jié)合。
29、 如權(quán)利要求22所述的方法,進(jìn)一步包括 實例化所述控制過程;以及在所述控制過程被實例化時,將每個程序元件的所述邏輯結(jié)構(gòu)加載到所述 相關(guān)的實例化對象。
30、 如權(quán)利要求22所述的方法,其中每個程序元件包括邏輯結(jié)構(gòu),及其中 為所述程序元件中的每個程序元件建立實例化對象的步驟包括為帶有所述相 同的邏輯結(jié)構(gòu)的多個程序元件建立實例化對象。
31、 如權(quán)利要求22所述的方法,其中所實例化的程序元件包括在所實例化 的程序元件的執(zhí)行期間要求一子程序元件的邏輯結(jié)構(gòu),所述方法進(jìn)一步包括為所述子程序元件建立實例化對象;要求時,在所述相關(guān)的實例化對象中構(gòu)建所述子程序元件;執(zhí)行所述子程序元件作為所實例化的程序元件的部分;以及所述實例化對象中的所述子程序元件,其中解構(gòu)所述子程序元件的步驟是在所實例化的程序元件的執(zhí)行期間執(zhí)行。
32、 一種在處理及執(zhí)行環(huán)境中用于解決矛盾的方法包括 根據(jù)過程控制模型的第 一版本來執(zhí)行控制過程,以產(chǎn)生控制參數(shù); 將控制參數(shù)傳輸?shù)剿鲞^程中的控制器;與所述過程控制模型的第二版本一起使用所述控制參數(shù),以執(zhí)行控制功能; 根據(jù)所述過程控制模型的所述第二版本使用所述控制參數(shù)的能力,要求有 關(guān)所述控制過程的繼續(xù)操作的操作指令,其中如果所述參數(shù)不能與所述過程控 制模型的所述第二版本一起使用,則所述過程控制^f莫型的所述第二版本產(chǎn)生誤 差;如果所述操作指令包括繼續(xù)執(zhí)行指令,則繼續(xù)所述控制過程的執(zhí)行;以及 如果所述操作指令包括中止執(zhí)行指令,則中止所述控制過程的執(zhí)行。
33、 如權(quán)利要求32所述的方法,其中要求操作指令的步驟包括傳送帶有所 述實體的所述第一及第二模型之間的所述差異的標(biāo)識的提示。
34、 如權(quán)利要求32所述的方法,其中要求操作指令的步驟包括向用戶顯示 所述實體的所述第一及第二模型之間的所述差異。
35、 如權(quán)利要求32所述的方法,進(jìn)一步包括如果由于所述過程控制模型的所述第一及第二版本的參數(shù)中的差異而導(dǎo)致所述參數(shù)不可使用,則產(chǎn)生所述誤差;以及向使用所述參數(shù)的多個控制器中的每個控制器提供通用參數(shù),其中繼續(xù)所述控制過程的執(zhí)行的步驟包括使用所述通用參數(shù)來繼續(xù)所述控制過程的執(zhí)行。
36、 如權(quán)利要求32所述的方法,進(jìn)一步包括如果由于所述過程控制模型的 所述第一及第二版本的參數(shù)中的差異而導(dǎo)致所述參數(shù)不可使用,則產(chǎn)生所述誤 差,其中繼續(xù)所迷控制過程的執(zhí)行的步驟包括使用默認(rèn)參數(shù)來繼續(xù)所述控制過 程的執(zhí)行。
37、 如權(quán)利要求32所述的方法,進(jìn)一步包括如果由于所述過程控制模型的 所述第一及第二版本的參數(shù)中的差異而導(dǎo)致所述參數(shù)不可使用,則產(chǎn)生所述誤差,其中繼續(xù)所述控制過程的執(zhí)行的步驟包括使用由所述過程控制模型的所述 第 一及第二版本使用的先前參數(shù)來繼續(xù)所述控制過程的執(zhí)行。
38、 一種在過程控制系統(tǒng)中用于為批處理過程實施控制配方的方法,其中 所述控制配方包括在所述控制配方的執(zhí)行期間要求多個程序元件的控制配方結(jié)構(gòu),所述方法包括為所述程序元件中的每個程序元件建立實例化對象; 根據(jù)過程控制模型的第 一版本來執(zhí)行所述控制配方,以產(chǎn)生控制參數(shù); 在所述程序元件在所述控制過程的執(zhí)行期間被所述控制過程要求時,根據(jù) 所述相關(guān)的實例化對象來構(gòu)建程序元件;執(zhí)行所述程序元件作為所述控制配方的部分,其中執(zhí)行所述程序元件的步 驟包括在所述批處理過程中將控制參數(shù)傳輸?shù)娇刂破?,及與所述過程控制模型 的第二版本一起使用所述控制參數(shù)來執(zhí)行控制功能,以及根據(jù)所述過程控制模 型的所述第二版本使用所述控制參數(shù)的能力,要求有關(guān)所述控制配方的繼續(xù)操 作的操作指令,其中如果所述參數(shù)不能與所述過程控制模型的所述第二版本一起使用,則所述過程控制模型的所述第二版本產(chǎn)生誤差;如果所述操作指令包括繼續(xù)執(zhí)行指令,則繼續(xù)所述批處理過程的執(zhí)行,其 中繼續(xù)所述批處理過程的執(zhí)行的步驟包括 一旦所述程序元件已經(jīng)被執(zhí)行作為 所述控制配方的部分時,解構(gòu)所述程序元件;及其中解構(gòu)所述程序元件的步驟 是在所述控制配方的執(zhí)行期間執(zhí)行;以及如果所述操作指令包括中止執(zhí)行指令,則中止所述批處理過程的執(zhí)行。
39、 一種在過程控制系統(tǒng)中用于為批處理過程實施控制配方的系統(tǒng),其中 所述控制配方包括控制配方結(jié)構(gòu),而所述控制配方的執(zhí)行包括多個程序元件的 執(zhí)行,所述系統(tǒng)包括過程控制器,所述過程控制器帶有所述過程控制系統(tǒng)的實體的第 一模型; 多個實例化對象,其中所述控制配方的每個程序元件與所述實例化對象的其中之一有關(guān);以及批處理過程執(zhí)行引擎,所述批處理過程執(zhí)行引擎帶有所述過程控制系統(tǒng)的所述實體的第二模型,其中所述批處理過程執(zhí)行引擎適合根據(jù)所述實體的所述 第二模型來向所述過程控制器提供控制指令,及其中所述過程控制器適合根據(jù)所述實體的所述第一模型來執(zhí)行所述控制指令;批處理過程執(zhí)行對象,所述批處理過程執(zhí)行對象將所述控制過程結(jié)構(gòu)加載 到所述批處理過程執(zhí)行引擎,在所述控制過程被實例化時將所述多個實例化對 象中的每個實例化對象加載到所述批處理過程執(zhí)行引擎,在所述控制配方結(jié)構(gòu) 在所述控制配方的執(zhí)行期間要求所述程序元件時使用每個實例化對象來實例化 與所述實例化對象有關(guān)的程序元件,執(zhí)行所實例化的程序元件作為所述控制配的所述第一及第二模型之間的差異并產(chǎn)生提示以響應(yīng)所述差異的檢測,接收有關(guān)所述批處理過程的繼續(xù)操作的操作指令;其中所述操作指令包括繼續(xù)所述批包括繼續(xù)執(zhí)行指令,則在所述程序元件的執(zhí)行在所述控制配方的執(zhí)行期間完成 時使用所述實例化對象來解構(gòu)所實例化的程序元件,及如果所述操作指令包括 中止執(zhí)行指令,則中止所述批處理過程的執(zhí)行。
全文摘要
一種在過程控制系統(tǒng)中用于實施控制過程及在所述控制過程的執(zhí)行期間用于解決矛盾的系統(tǒng)及方法包括加載所述控制過程的邏輯結(jié)構(gòu)、在所述控制過程被實例化時加載多個實例化對象或過程、在執(zhí)行期間使用所述實例化對象來將所述控制過程的程序元件實例化成所述程序元件的控制過程要求、執(zhí)行所述程序元件作為所述控制過程的部分、以及在所述控制過程的執(zhí)行期間在所述程序元件的執(zhí)行完成時解構(gòu)所述程序元件。矛盾的解決包括在控制器中執(zhí)行實體的第一模型、在執(zhí)行引擎中執(zhí)行所述實體的第二模型、檢測所述模型之間的差異、產(chǎn)生提示及接收操作指令以繼續(xù)所述過程或中止所述過程。
文檔編號G05B19/418GK101446822SQ200810094729
公開日2009年6月3日 申請日期2008年5月14日 優(yōu)先權(quán)日2007年5月15日
發(fā)明者內(nèi)森·W·培特斯, 基姆·康納, 威爾·歐文, 米奇·南達(dá) 申請人:費舍-柔斯芒特系統(tǒng)股份有限公司