亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實現(xiàn)分布式控制系統(tǒng)中算法塊之間異構數(shù)據(jù)流的系統(tǒng)與方法

文檔序號:6415793閱讀:211來源:國知局
專利名稱:實現(xiàn)分布式控制系統(tǒng)中算法塊之間異構數(shù)據(jù)流的系統(tǒng)與方法
技術領域
本發(fā)明的技術領域一般情況下,本發(fā)明致力于計算與處理系統(tǒng),更具體地說,主要致力于那些在一個分布式控制系統(tǒng)中的算法塊的參數(shù)之間提供異構數(shù)據(jù)流連接的計算與處理系統(tǒng)以及提供實現(xiàn)這一連接的方法。
本發(fā)明的技術背景自動化的工廠控制系統(tǒng)包括一系列可用以控制和監(jiān)視工廠(例如在一家制造工廠)中各種過程的完善的算法或一系列可由軟件定義的過程控制例程??梢詫@一控制系統(tǒng)加以修改,以滿足整個工廠或工廠中某些特殊部位的廣泛的過程需求。傳統(tǒng)上,控制系統(tǒng)包括一系列模塊,每一模塊都具有其自己的處理器或固件,并由傳輸總線將它們連接在一起,以產(chǎn)生一個分布式的過程控制系統(tǒng)。這一系統(tǒng)的分布特性使其具有良好的處理性能,并能夠實現(xiàn)對系統(tǒng)的逐步擴展,以滿足工廠設備不斷增長和不斷改造的需求。
自動化工廠管理的一個基本目標是提供一個能夠把工廠范圍的全部過程綜合在一起的過程控制方案,以提高工廠的整體運行效率。一般情況下,過程控制系統(tǒng)可提供一種創(chuàng)建定制化過程策略的方法,例如可由軟件定義的過程控制例程。在面向對象的程序設計環(huán)境中,一個完整的控制策略可以根據(jù)規(guī)模較小的叫做"塊"、"參數(shù)"以及"連接"的部件加以建造。一個塊是一個用于封裝基本控制計算的數(shù)據(jù)和算法的軟件結構;參數(shù)定義了可與塊內(nèi)的各數(shù)據(jù)部分相連的接口;連接將允許數(shù)據(jù)在塊的參數(shù)之間流動。
一個連接的基本功能是,提供不同塊的參數(shù)之間的數(shù)據(jù)流。然而,由于依賴于一個塊算法的設計,僅提供簡單的連續(xù)性和簡單的數(shù)據(jù)流是遠遠不夠的。不同的塊算法可能要求不同的連接功能元件。例如,盡管一般情況下塊算法擁有關于所傳送數(shù)據(jù)的類型的隱含的信息,但某些算法可能要求提供比這些隱含的信息更多的信息,有些算法可能還需要由連接服務提供的顯式的數(shù)據(jù)類型信息。
另外,某些塊算法可能需實現(xiàn)內(nèi)置的安全處理,這不僅要求關于所傳送數(shù)據(jù)的值信息,而且還要求獲知連接的連續(xù)性是否得以很好維持的信息。在某些情況下,區(qū)別不同的可能造成連接丟失的故障類型的狀態(tài)信息也將是必須的。那些不需要顯式存取狀態(tài)或數(shù)據(jù)類型的塊算法可能仍需要在連接性丟失時,獲知所提交數(shù)據(jù)的屬性。這樣的塊需要一個可使用的"故障保護"值,這一故障保護值對不同的數(shù)據(jù)類型可能不盡相同。
有的塊算法可能要求參數(shù),這些參數(shù)僅在少數(shù)過程控制策略或那些偶然需要連接的塊中加以連接,但它們不需要顯式存取數(shù)據(jù)的類型或狀態(tài)。另外,某些塊可能不能為每一個有時需要連接的參數(shù)分配專用的資源。全套塊算法必須向用戶提供一個可對參數(shù)加以連接的配置模型,那些面向實施例的算法將需要這一模型。一個用于構造過程控制方案的系統(tǒng),應允許塊算法之間以某種方便的方式共享數(shù)據(jù),而且不應僅僅為了建立一個連接就要求使用附加的塊。
因此,這一技術所需的是一個功能更為強大、且更為靈活的數(shù)據(jù)存取形式,這一形式應可以在一個分布式控制系統(tǒng)中實現(xiàn)算法塊的參數(shù)之間的異構的數(shù)據(jù)流連接。
發(fā)明總結為了克服以上所討論的事前技術中的缺陷,向控制系統(tǒng)中的參數(shù)傳輸提供一個更靈活的提供數(shù)據(jù)流的方式,是本發(fā)明的主要目的所在。
為了實現(xiàn)上述的主要目標,本發(fā)明提供了可在控制系統(tǒng)中第一和第二個算法塊之間實現(xiàn)異構數(shù)據(jù)流的一個系統(tǒng)和一個方法,以及使用了這一系統(tǒng)和這一方法的一個分布式、實時過程控制系統(tǒng)。在一個實施例中,該系統(tǒng)包括(1)一個被動連接。一個被動連接與一個含有第二個算法塊的一個控制模塊相關聯(lián),用于從第一個算法塊向第二個算法塊提供數(shù)據(jù)傳輸,而不需要在第二個算法塊中分配連接器資源或明顯動作;以及(2)一個主動連接。一個主動連接與第二個算法塊相關聯(lián),用于從第一個算法塊向第二個算法塊的數(shù)據(jù)傳輸,并在第二個算法塊中使用了專用的連接器資源和處理動作,因而控制系統(tǒng)具有既可通過被動連接也可通過主動連接向第二個算法塊提供數(shù)據(jù)的能力。
當在此處所使用時,一個"連接"意味著任何可由軟件加以定義的例程、或例程,以及相關的數(shù)據(jù),用以以單個的或以組合的形式提供此處所描述的功能;一個"主動連接"通過兩個所連塊之一的主動服務和引用存儲在該塊之中的參照數(shù)據(jù),提供了算法塊之間的數(shù)據(jù)連接;一個"被動連接"提供了兩個算法塊之間的數(shù)據(jù)連接,而不需要任何一個所連塊上的顯式的動作,也不需使用存儲在任何一個塊中的參照數(shù)據(jù)。被動連接是通過一個控制模塊的數(shù)據(jù)和服務加以實現(xiàn)的,控制模塊包括一或兩個由被動連接加以連接的算法塊。
因此本發(fā)明介紹了建立多個(即"異構的")連接類型的一個更寬的概念,以反映這樣一個事實不同的算法塊通常要求不同級別的參數(shù)存取。取代提供單一的、不靈活的連接類型來處理所有參數(shù)傳輸?shù)淖龇?,本發(fā)明提供了兩種功能更為強大的連接方式--主動連接和被動連接。其中,允許僅當需要時和資源較為充分時才對主動連接加以建立,并允許當主動連接不需要時對被動連接加以建立。主動連接和被動連接都可由單一的一個算法塊加以使用,從而控制系統(tǒng)可同時針對處理過程和資源的利用率加以優(yōu)化。
在本發(fā)明的一個實施例中,由一個被動連接所傳輸?shù)臄?shù)據(jù)不包括該數(shù)據(jù)的類型,而一個算法塊可能擁有關于所傳輸數(shù)據(jù)的類型的隱式的信息。不顯式地傳輸數(shù)據(jù)類型可減少專門用于算法塊之間數(shù)據(jù)傳輸?shù)南到y(tǒng)資源的數(shù)量。相類似,在一個實施例中,由被動連接所傳輸?shù)臄?shù)據(jù)不包括該被動連接的狀態(tài)(例如可用性)。然而,在一個相近的實施例中,當?shù)谝缓偷诙€算法塊之間的被動連接丟失(即不可用)時,控制模塊向第二個算法塊提供了一個故障保護值。那些熟悉這一技術的人將深知在控制系統(tǒng)中傳輸故障保護值的重要性。本發(fā)明甚至還允許故障保護值與被動連接間的傳輸。
在一個實施例中,由主動連接所傳輸?shù)臄?shù)據(jù)包括該數(shù)據(jù)的類型。在一個相近的實施例中,由一個主動連接所傳輸?shù)臄?shù)據(jù)包括該主動連接的狀態(tài)。向算法塊提供傳輸數(shù)據(jù)類型或一個連接的狀態(tài)的能力,需要分配額外的系統(tǒng)資源,然而在使用這種算法塊的控制過程的設計中提供了更大的靈活性。
在一個實施例中,包含第二個算法塊的控制模塊還包括第一個算法塊,一個控制系統(tǒng)可能使用多個擁有相關算法塊的控制模塊。本發(fā)明考慮到從一個算法塊向第二個算法塊的數(shù)據(jù)傳輸,使用了一個被動連接或主動連接,而不管第一個算法塊是否與第二個算法塊包含在相同的控制模塊中。
在本發(fā)明的一個實施例中,控制系統(tǒng)是一個分布式的、實時的過程控制系統(tǒng)。然而,那些熟悉這一技術的人可以理解本發(fā)明在各種類型控制系統(tǒng)中的其它形式的應用。
以上相當粗略地勾畫出了本發(fā)明的特性與技術上的優(yōu)點,以致于那些熟悉這一技術的人可以更好地理解以下對本發(fā)明的詳細的描述。更多的特性和優(yōu)點(構成了本發(fā)明權力要求的主體)將描述如下。那些熟悉這一技術的人將會對本發(fā)明理解,因為他們可以很容易地把本發(fā)明所透露的概念和實施例作為改進和設計其它結構的基礎,實現(xiàn)與本發(fā)明相同的目標。那些熟悉這一技術的人還將會體會到,就本發(fā)明的最主要的形式而言,這些等價的結構將不會背離本發(fā)明的基本宗旨。
對附圖的簡要描述為了更好地理解本發(fā)明以及本發(fā)明的優(yōu)點,以下將結合附圖對本發(fā)明加以描述。圖中同一部件具有相同的標號,其中

圖1描述的是一個適于使用本發(fā)明的示例性的分布式、實時過程控制系統(tǒng)的功能圖。
圖2描述的是一個示例性數(shù)字處理系統(tǒng)的高層方框圖。這一系統(tǒng)能夠用于執(zhí)行體現(xiàn)了本發(fā)明基本原理的可由軟件定義的過程控制例程。
圖3是對使用了本發(fā)明的基本原理的一個示例性的控制策略應用的圖示說明。
圖4是對圖3中所示的示例性控制策略應用的一個連接子系統(tǒng)圖的圖示說明。
詳細的描述在對本發(fā)明的系統(tǒng)和方法的一個示例性的實施例進行描述之前,先對一個適合使用或實現(xiàn)本發(fā)明的計算或處理系統(tǒng)環(huán)境加以描述將是十分有益的。首先請參照圖1。圖1所描述的是一個適于使用本發(fā)明的示例性的分布式、實時過程控制系統(tǒng)(在以下的整個描述過程中將其標記為100)的功能圖。
過程控制系統(tǒng)100直觀地包括一個擁有一臺服務器110和一個控制器網(wǎng)絡111的計算機網(wǎng)絡。控制器網(wǎng)絡111在服務器110和過程控制器(在以下的整個描述過程中將其標記為121)之間提供了一個接口。例如,控制器網(wǎng)絡111在服務器110和過程控制器121之間傳送控制消息,并在各過程控制器121之間傳送對等消息。過程控制器121通過一個輸入/輸出("I/O")網(wǎng)絡112與I/O設備122進行通信。使過程控制器121適合執(zhí)行一系列可由軟件定義的過程控制例程,以通過I/O設備122和I/O網(wǎng)絡112控制和接收來自過程傳感器和傳動裝置130的數(shù)據(jù)。那些熟悉這一技術的人對各種類型的可用于眾多產(chǎn)品制造過程的傳感器和傳動裝置130,例如電控馬達、閥門、泵等將不會感到陌生。本發(fā)明的基本原理不局限于某一具體的過程或一個具體的處理系統(tǒng),而且在任何這樣的系統(tǒng)都能夠很容易對本發(fā)明的基本原理加以使用,并受益于本發(fā)明所提供的好處。
在一個實施例中,過程控制系統(tǒng)100還包括一個局域網(wǎng)絡113,提供了服務器110和遠程工作站(在以下的整個描述過程中將其標記為140)之間的一個接口。遠程工作站140可由系統(tǒng)操作員加以使用,用以控制和監(jiān)視過程控制系統(tǒng)100的操作。盡管被表示為一個獨立網(wǎng)絡,但LAN112和控制器網(wǎng)絡111也可以是相同的,即遠程工作站140和過程控制器120可以共享同一網(wǎng)絡傳輸媒體。然而,那些熟悉這一技術的人都知道為控制系統(tǒng)和操作員工作站提供分離的網(wǎng)絡可以提高一個分布式、實時過程控制系統(tǒng)的可靠性,例如,在LAN 112上的、與從服務器110到操作員工作站140的分布式相關處理數(shù)據(jù)相關聯(lián)的網(wǎng)絡交通不會干擾服務器110和遠程過程控制器120之間通過控制器網(wǎng)絡111所傳輸?shù)倪^程控制信息。
可由軟件定義的過程控制例程能夠由任何一種數(shù)字處理系統(tǒng)(例如服務器110、工作站140或過程控制器121)加以執(zhí)行。圖2描述的是一個示例性數(shù)字處理系統(tǒng)200的高層方框圖。這一系統(tǒng)能夠用于執(zhí)行體現(xiàn)了本發(fā)明基本原理的可由軟件定義的過程控制例程。示例性的數(shù)字處理系統(tǒng)200包括一個微處理器210、永久性內(nèi)存220以及隨機存取內(nèi)存("RAM")230。能夠用于存儲可由軟件定義的過程控制例程的永久性內(nèi)存220可以是可編程的只讀內(nèi)存("PROM")、RAM閃存或磁存儲介質。存儲在永久性內(nèi)存220中的可由軟件定義的過程控制例程能夠由微處理器210加以執(zhí)行。當過程控制例程得以執(zhí)行時,微處理器使用RAM230存儲所有或部分過程控制例程,以及存儲那些與過程傳感器和傳動裝置130相關的過程控制數(shù)據(jù)。對示例性的數(shù)字處理系統(tǒng)200的描述僅僅是說明性的,那些熟悉這一技術的人將會體會到,使用了本發(fā)明基本原理的可由軟件定義的過程控制例程不局限于針對數(shù)字處理系統(tǒng)200的具體的硬件實現(xiàn),所有這樣的系統(tǒng)都將落入較后所要陳述的權力要求的范疇中。
本發(fā)明提供了可在分布式控制系統(tǒng)中的算法塊之間實現(xiàn)"異構"數(shù)據(jù)流的系統(tǒng)和方法,異構的數(shù)據(jù)流需考慮兩種類型的連接服務(在此定義為"主動的"和"被動的")的可用性。主動連接通過對主動連接器的使用得以建立,它們將把由塊設計者所分配的資源做為處于一個塊中的對象加以處理。除了可提供基本的數(shù)據(jù)流外,主動連接器還可提供關于所引用的參數(shù)的數(shù)據(jù)類型的完整信息,以及關于所維持的連接的狀態(tài)的完整信息。主動連接器之所以被叫做"主動的",是因為在執(zhí)行功能的過程中,它們要求算法塊的主動的介入。另外,它們也被稱為"內(nèi)部的"連接,因為它們依賴于在一個塊內(nèi)所分配的資源。由于它們要求專用的資源,所以建議不要為由一個塊所支持的每一個參數(shù)分配主動連接,而只是為一個塊的大多數(shù)或所有應用中所連接的那些參數(shù)分配主動連接。與主動連接相比,被動連接允許算法塊的參數(shù)在不必于一個算法塊中提供專用的連接器資源的情況下,擁有數(shù)據(jù)流的連接性。
被動連接可服務于大多數(shù)參數(shù),因為大多數(shù)參數(shù)不要求專用的連接器資源。被動連接提供了數(shù)據(jù)流,但不提供主動連接所提供的數(shù)據(jù)類型和狀態(tài)服務。一個被動連接可以通過一個特殊的、叫做"控制模塊"的封裝塊的服務得以建立??刂颇K既可做為算法塊的容器,也可做為連接這些塊的參數(shù)的被動連接的容器。之所以把它們叫做"被動的",是因為在執(zhí)行功能的過程中它們不要求一個算法塊的主動介入。被動連接也稱為"外部"連接,因為連接所使用的資源是作為控制模塊的一部分,在這一控制模塊所包含的任何算法塊的外部加以分配的。
本發(fā)明的基本原理由一系列概念和結構組成。建議最好通過可由軟件定義的過程控制例程加以實現(xiàn),通過使用兩個直觀化的圖可對這一建議更好地加以理解。第一張直觀化的圖(參照圖3中的描述)是一張展示可由某一過程控制技術人員所構造的控制策略的拓樸外觀圖。第二個直觀化的圖(參照圖4中的描述)使用了一個"類圖"來說明一個內(nèi)部軟件的設計,這一內(nèi)部軟件可由一位系統(tǒng)軟件設計人員加以構造。
現(xiàn)在轉向圖3。圖3是對使用了本發(fā)明的基本原理的一個示例性控制策略300的圖示說明。示例性的控制策略300包括控制模塊CM1和CM2??刂颇KCM1包含4個算法塊,AB1、AB2、AB3以及AB4??刂颇KCM2包含算法塊AB5。本發(fā)明的基本原理不局限于由算法塊所實現(xiàn)的任何一個具體的算法,也不局限于一個具體的過程控制策略所必須的控制模塊或算法塊的個數(shù)。例如,控制模塊CM2可能包含更多的算法塊(在以下的整個描述過程中將其標記為AB)。
每一算法塊定義了一系列的參數(shù),這些參數(shù)可能是輸入?yún)?shù)或輸出參數(shù),也可能包括這兩種參數(shù)。一般情況下,當創(chuàng)建過程控制策略時,可能會在這些塊上暴露多個或僅少數(shù)幾個與一個算法塊相關聯(lián)的參數(shù)。在控制模塊CM1中,算法塊AB1和算法塊AB2分別擁有輸出參數(shù)OP1和OP2,算法塊AB3擁有輸入?yún)?shù)IP1數(shù)和IP2,算法塊AB4擁有輸入?yún)?shù)IP3和IP4。在控制模塊CM2中,算法塊AB5擁有輸出參數(shù)OP3。
以下,為了使參數(shù)的指示符不產(chǎn)生二義性,參數(shù)指示符前被冠以塊指示符。當必要時,也可能向它們冠以控制模塊指示符,并把句號(".")作為參數(shù)指示符與塊指示符或控制模塊指示符之間的分隔符。例如,在控制模塊CM1的環(huán)境內(nèi),可把輸出參數(shù)OP1標記為AB1.OP1,把輸入?yún)?shù)IP3標記為AB4.IP3。在控制模塊CM2的環(huán)境內(nèi),可把輸出參數(shù)OP3非二義性地叫做AB5.OP3。在控制模塊CM2的環(huán)境外,可把輸出參數(shù)OP3稱為CM2.AB5.OP3。
示例性的控制策略300把控制模塊CM1中的連接描述為輸出參數(shù)和輸入?yún)?shù)之間的連線,數(shù)據(jù)流的方向對應于箭頭所顯示的方向??刂颇KCM1中的連接是AB1.OP1到AB3.IP1、AB2.OP2到AB3.IP2以及AB2.OP2到AB4.IP3??刂颇KCM1還包含一個與其環(huán)境之外的一個參數(shù)的連接,即與參數(shù)CM2.AB5.OP3的連接。與CM2.AB5.OP3的連接由一個附在輸入?yún)?shù)IP4上的方框加以表示,并把其稱為CM2.AB5.OP3到CM1.AB4.IP4。
在示例性的控制策略300中所描述的輸入?yún)?shù)中,假定一個參數(shù),AB3.IP2,要求一個主動連接,并假定實現(xiàn)算法塊AB3的算法是這樣的從AB2.OP2向AB3.IP2所傳輸?shù)臄?shù)據(jù)類型并非總是隱式的可知的。另外,為了便于說明,還假定算法塊AB3中所實現(xiàn)的算法使用了一個特殊的狀態(tài)檢測和響應機制,以便減輕通過使用更多算法塊實現(xiàn)這一功能的應用設計人員的負擔。參數(shù)AB3.IP1、AB4.IP3以及AB4.IP4不要求特殊的支持,于是,把這些輸入?yún)?shù)附接于相應輸出參數(shù)的連接是被動連接,它們的功能不需要算法塊AB3和AB4方面的顯式的動作。
當示例性的控制策略300所描述的過程控制例程得以執(zhí)行時,由本發(fā)明所提供的服務導致數(shù)據(jù)在連接上流動。更具體地說,控制模塊CM1的執(zhí)行導致每一算法塊按照應用設計人員所指定的一個順序依次執(zhí)行,例如AB1、AB2、AB3、以及AB4。于是,控制模塊CM1首先導致算法塊AB1的執(zhí)行,并運行它的處理過程,這為輸出參數(shù)OP1產(chǎn)生一個新的值,接下來又將致使算法塊AB2的執(zhí)行,并運行它的處理過程,然后產(chǎn)生輸出參數(shù)OP2的一個新的值。
在算法塊AB3執(zhí)行之前,控制模塊CM1認出連接AB1.OP1到AB3.IP1是一個被動連接,并讀出AB1.OP1的值,然后把這一值存儲于AB3.IP1中。接下來控制模塊CM1致使算法塊AB3的執(zhí)行,并運行它的處理過程。算法塊AB3認出輸入?yún)?shù)IP2擁有一個相關的主動連接器,并要求特殊的處理。算法塊AB3調用與IP2的主動連接器相關聯(lián)的服務,讀取數(shù)據(jù)的值,類型與/或狀態(tài)。由算法塊AB3所實現(xiàn)的算法在執(zhí)行它的功能時,使用了通過一個被動連接提供的IP1的值,以及通過一個主動連接提供的IP2的數(shù)據(jù)值、類型與/或狀態(tài),即算法塊AB3既使用了"主動"也使用了"被動",即"異構"的數(shù)據(jù)。
在執(zhí)行算法塊AB4執(zhí)行之前,控制模塊CM1認出參數(shù)AB4.IP3和AB4.IP4是由被動連接加以服務的、于是讀取AB2.OP2的值、將這一值存儲于AB4.IP3中,然后讀取CM2.AB5.OP3的值,并將其存儲于算法塊AB4.IP4中。接下來控制模塊CM1導致算法塊AB4的執(zhí)行,并運行它的處理過程,在這一期間,在執(zhí)行它的功能的過程中,它讀取并使用IP3和IP4的新值。
以上針對示例性的控制策略300所描述的動作,在控制模塊CM1的每次執(zhí)行時反復出現(xiàn)。正常情況下,連接性得以維護,且當需要時把數(shù)據(jù)提交給算法塊。然而,當非正常情況出現(xiàn)時,連接性將會丟失,例如,可能出現(xiàn)使算法塊AB2不能提供輸出參數(shù)OP2的一個可用的值的情況。但如果這一情況發(fā)生,算法塊AB3可以通過一個狀態(tài)值發(fā)現(xiàn)這一情況,這一狀態(tài)值是由與輸入?yún)?shù)IP2相關聯(lián)的主動連接器加以提供的。在另一種情況下,與輸出參數(shù)OP3的值的連接性(這一連接性將來自控制模塊CM1之外)可能丟失,此時,算法塊AB4不具有可從其處獲得狀態(tài)的主動連接器。然而,在本發(fā)明的一個具體裝置中,算法塊AB4可在這樣的假定下執(zhí)行當OP3和IP4之間的連接性丟失時,一個可以使用的"故障保護"值將由控制模塊CM1提交給AB4.IP4。
現(xiàn)在轉向圖4。圖4所示的是一個針對圖3中所示示例性的控制策略應用300的一個連接子系統(tǒng)圖400。連接子系統(tǒng)圖400使用了一個"類圖"來說明內(nèi)部的軟件設計,這內(nèi)部的軟件可以由一位系統(tǒng)軟件設計人員加以構造。那些熟悉這一技術的人都清楚這一類圖的表示,這種表示是由GradyBooch在其"Object Oriented Analysisand Design With Applications"一書中加以描述的,該書于1994年由Benjamin/Cummings出版公司出版,現(xiàn)將其并入此處以作參考。連接子系統(tǒng)圖400按一個類圖,參照圖3中所示的示例性的控制策略300,說明了以上所描述的行為,包括了在本發(fā)明的一個軟件實現(xiàn)中所使用的類。表1描述了這些類及它們與其它類的制約關系,并且還列出了出現(xiàn)在示例性的控制策略300中的這些類的每一取例。
那些顯式取例連接器類的算法塊(例如算法塊AB3)在配置時間和執(zhí)行時間擁有可以使用的數(shù)據(jù)類型,如同算法的處理過程所需要的。對于每一需要一個專用連接資源的參數(shù)來說,一個算法塊將會對連接器類的一個拷貝進行取例,使其成為一個主動的連接器。
狀態(tài)信息也可用于那些對連接器類進行取例的算法塊。在配置時間可使用狀態(tài)值進行有效性檢查,或作為一個執(zhí)行時間的檢查,以驗證連接操作的正確性。該值還可用于一個二進制檢測,以檢測連接的連續(xù)性,或在某些情況下,可用其存儲所出現(xiàn)故障的故障類型信息。
由算法塊所使用的連接器取例可由塊設計人員在實現(xiàn)時間加以分配,也可在實現(xiàn)期間的一個固定的時刻加以分配,或在一個于應用配置時間所確定的可變時刻加以分配。然而,在每一情況中,塊設計人員都應該提供顯式的程序語句,這些語句使用連接器服務來實現(xiàn)數(shù)據(jù)流、數(shù)據(jù)類型檢查以及狀態(tài)驗證。
在實現(xiàn)參數(shù)的連接性方面,那些不需要主動連接的算法塊,例如AB4,不要求對連接器類進行取例,而那些僅需要被動連接的算法塊,可以僅依賴控制模塊類的被動連接服務。在一個實施例中,控制模塊類為它所支持的每一個被動連接取例兩個被動連接器,一個被動連接用作對輸出參數(shù)的參照,另一個被動連接器用作對輸入?yún)?shù)的參照。一個被動連接器定義了應把哪一個輸出參數(shù)傳送給哪一輸入?yún)?shù),而偽代碼相對每一算法塊的執(zhí)行情況定義了傳輸所要進行的時間。
建議由一個控制模塊類所分配的被動連接器和偽代碼最好為可變的,即算法塊或控制模塊的設計不應限制在配置時間可與具體算法塊的參數(shù)連接的被動連接的數(shù)目。由于被動連接服務是由控制模塊類加以提供的,所以應用設計人員能夠虛擬地連接任何算法塊的任何參數(shù),而不管塊的設計者是否事先考慮到對一個主動連接器的支持。
作為其執(zhí)行被動連接任務的一部分,一個控制模塊的取例可監(jiān)視連接的連續(xù)性。在出現(xiàn)故障時,控制模塊將根據(jù)它的被動連接器數(shù)據(jù),在故障保護映象類中查找相應的故障保護值,來識別這一連接上的數(shù)據(jù)流的類型,并把這一故障保護值傳送給輸入?yún)?shù)。這一設計確保了對那些不使用主動連接的算法塊的最起碼的安全。故障保護映象類把故障保護值賦給具體的數(shù)據(jù)類型的方法可能隨針對本發(fā)明所選擇的實現(xiàn)方法的不同而各異對于符合IEEE浮點標準的浮點數(shù)據(jù)類型來說,可以使用自然的故障保護值NAN(不是一個數(shù)字)。對于布爾數(shù)據(jù)類型來說,"False"將是一個可接受的故障保護值。另外,故障保護值也可由系統(tǒng)用戶加以配置。那些熟悉這一技術的人將會很容易地尋找到其它合適的標準,為一個具體的應用選擇故障適當?shù)墓收媳Wo值。
為了進一步說明本發(fā)明,表2和表3分別提供了兩段用高度抽象的、類似C的程序設計語言("PDL")編寫的程序。表2中的PDL對應于控制模塊類的一個示例性的執(zhí)行算法,表3中的PDL對應于一個算法塊類的執(zhí)行算法。
表2中的PDL假設包含在一個控制模塊的連接器的取例中的參照數(shù)據(jù)已作為控制模塊建立操作的一部分進行過預處理。在預處理工作完成之后,偽代碼已從一個一般的形式轉換成一個具有完全限制的內(nèi)存參照的特殊的形式。
一個過程控制策略的實現(xiàn)通常要求多個算法塊類,每一個都具有其自己的執(zhí)行算法。表3中的PDL假設一個算法塊,例如AB3,擁有一個未使用主動連接器的輸入?yún)?shù)IP1和一個使用主動連接器的輸入?yún)?shù)IP2。針對輸入?yún)?shù)IP2的主動連接器叫做"IP2Connector",且假設連接器的取例IP2Connector已作為算法塊建立操作的一部分進行過預處理。在預處理之后,IP2Connector擁有一個完全限制的內(nèi)存參照以及數(shù)據(jù)類型和狀態(tài)信息。<
從以上的描述中,那些熟悉這一技術的人將會認識到,無論是主動連接還是被動連接都可在一個過程控制系統(tǒng)加以提供,從而異構的數(shù)據(jù)流可以在算法塊之間加以提供。擁有這兩種類型的連接,將允許算法塊的設計者控制資源的分配,與此同時還可從塊參數(shù)連接中獲得全部所需的功能。如果一個設計中的塊需要顯式的數(shù)據(jù)類型和狀態(tài),則可通過在這一塊中分配一個專用的資源以使數(shù)據(jù)類型和狀態(tài)能夠得以使用。相反,如果就可用的系統(tǒng)資源而言,這一專用的資源過于昂貴,或如果所有的參數(shù)連接性事件不可預測,那么仍可使用被動形式的連接。
由本發(fā)明所提供的主動連接在某些方面優(yōu)于事前技術,例如,它們可在塊的執(zhí)行期間使數(shù)據(jù)類型和狀態(tài)能夠得以使用。而且,若在一個面向對象的框架中加以實現(xiàn),它們還可大大減輕塊設計者為實現(xiàn)主動連接的程序設計的負擔。另外,如果在算法的實現(xiàn)中數(shù)據(jù)類型屬性是有用的,則主動連接不僅允許在執(zhí)行時間,而且也允許在配置時間對數(shù)據(jù)類型屬性加以存取。
由本發(fā)明所提供的被動連接在某些方面也優(yōu)于事前技術。例如,在所連接的輸出和輸入?yún)?shù)之間提供基本數(shù)據(jù)流的同時,被動連接也能夠提供對數(shù)據(jù)類型來說至關重要的、可定義的故障保護行為。另外,還提供了對布爾、整數(shù)以及浮點數(shù)據(jù)類型之間的被動連接的支持。對于每一數(shù)據(jù)類型,都將會獲得一個相應的可定義的故障保護值。連接性的丟失將導致故障保護值向所連輸入?yún)?shù)的提交。
從以上的描述可以明顯地看出,本發(fā)明提供了可用于在控制系統(tǒng)中第一和第二個算法塊之間實現(xiàn)異構數(shù)據(jù)流的一個系統(tǒng)和一個方法,以及使用了這一系統(tǒng)或這一方法的一個分布式的、實時的過程控制系統(tǒng)。盡管本發(fā)明及其優(yōu)點已詳細加以描述,但那些熟悉這一技術的人都清楚,他們可在不背離本發(fā)明基本宗旨的情況下,對本發(fā)明的實施例進行各種變通,替換以及改動。
權利要求
1.一個可在某一控制系統(tǒng)中的第一和第二算法塊之間實現(xiàn)異構數(shù)據(jù)流的系統(tǒng),包括一個被動連接,它與一個含有上述的第二個算法塊的一個控制模塊相關聯(lián),可提供從上述的第一個算法塊到上述的第二個算法塊的數(shù)據(jù)傳輸,而無需在上述的第二個算法塊中分配連接器資源;以及一個主動連接,它與上述的第二個算法塊相關聯(lián),可提供從上述的第一個算法塊到上述的第二個算法塊的數(shù)據(jù)傳輸,并在第二個算法塊中使用了專用的連接器資源,因而上述的控制系統(tǒng)能夠通過上述的被動和主動連接兩種連接方式向上述的第二個算法塊提供數(shù)據(jù)。
2.權力要求1中所陳述的系統(tǒng),其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括上述的數(shù)據(jù)的類型。
3.權力要求1中所陳述的系統(tǒng),其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括上述的被動連接的狀態(tài)。
4.權力要求1中所陳述的系統(tǒng),其中,上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的數(shù)據(jù)的一個類型。
5.權力要求1中所陳述的系統(tǒng),其中,上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的主動連接的狀態(tài)。
6.權力要求1中所陳述的系統(tǒng),其中,當上述的第一和第二個算法塊之間的上述的被動連接丟失時,上述的控制模塊向上述的第二個算法塊提供了一個故障保護值。
7.權力要求1中所陳述的系統(tǒng),其中,上述的控制模塊包含上述的第一個算法塊。
8.用于在某一控制系統(tǒng)中的第一和第二個算法塊之間實現(xiàn)異構數(shù)據(jù)流的方法,包括如下步驟在上述的第一和第二個算法塊之間建立一個被動連接,用于從上述的第一個算法塊向第二個算法塊的數(shù)據(jù)傳輸,上述的被動連接不要求在上述的第二個算法塊中分配連接器資源;以及在上述的第二個算法塊中分配專用的連接器資源,以提供一個主動連接,用于從上述的第一個算法塊向上述的第二個算法塊的數(shù)據(jù)傳輸,因而上述的控制系統(tǒng)能夠通過上述的被動和主動連接兩種連接方式向上述的第二個算法塊提供數(shù)據(jù)。
9.權力要求8中所陳述的方法,其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括該數(shù)據(jù)的類型。
10.權力要求8中所陳述的方法,其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括上述的被動連接的狀態(tài)。
11.權力要求8中所陳述的方法,其中,上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的數(shù)據(jù)的一個類型。
12.權力要求8中所陳述的方法,其中,上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的主動連接的狀態(tài)。
13.權力要求8中所陳述的方法,還包括當上述的第一和第二個算法塊之間的被動連接丟失時,向上述的第二算法塊提供一個故障保護值的步驟。
14.權力要求8中所陳述的方法,其中,上述的第二個算法塊包含于一個控制模塊中,上述的控制模塊執(zhí)行上述的建立的步驟。
15.權力要求14中所陳述的方法,其中,上述的第一個算法塊含于上述的控制模塊。
16.權力要求8中所陳述的方法,其中,上述的分配步驟由上述的第二個算法塊加以執(zhí)行。
17.一個分布式的、實時的過程控制系統(tǒng),包括一系列傳感器和可控的設備;數(shù)據(jù)處理和存儲電路,與上述的一系列傳感器和可控的設備相關聯(lián),可用于執(zhí)行軟件指令序列,以在上述的控制系統(tǒng)中的第一個和第二個算法塊之間實現(xiàn)異構的數(shù)據(jù)流,包括一個被動連接,與一個含有上述第二個算法塊的控制模塊相關聯(lián),用于提供從上述的第一個算法塊向上述的第二個算法塊的數(shù)據(jù)傳輸,而不要求在上述的第二個算法塊中分配連接器資源;以及一個主動連接,與上述的第二個算法塊相關聯(lián),用于提供從上述的第一個算法塊向上述的第二個算法塊的數(shù)據(jù)傳輸,并在上述的第二個算法塊中使用了專用的連接器資源,因而上述的控制系統(tǒng)能夠通過上述的被動和主動連接兩種連接方式向上述的第二個算法塊提供數(shù)據(jù)。
18.權力要求17中所陳述的系統(tǒng),其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括上述的數(shù)據(jù)的類型。
19.權力要求17中所陳述的系統(tǒng),其中,上述的被動連接所傳輸?shù)臄?shù)據(jù)不包括上述的被動連接的狀態(tài)。
20.權力要求17中所陳述的系統(tǒng),其中,由上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的數(shù)據(jù)的一個類型。
21.權力要求17中所陳述的系統(tǒng),其中,由上述的主動連接所傳輸?shù)臄?shù)據(jù)包括上述的主動連接的狀態(tài)。
22.權力要求17中所陳述的系統(tǒng),其中,當上述的第一和第二個算法塊之間的被動連接丟失時,上述的控制模塊向上述的第二個算法塊提供了一個故障保護值。
23.權力要求17中所陳述的系統(tǒng),其中,上述的控制模塊包含上述的第一個算法塊。
全文摘要
本發(fā)明提供了可在控制系統(tǒng)中第一和第二個算法塊之間實現(xiàn)異構數(shù)據(jù)流的一個系統(tǒng)和一個方法,以及使用了這一系統(tǒng)和這一方法的一個分布式、實時過程控制系統(tǒng)。在一個實施例中,該系統(tǒng)包括:(1)一個被動連接,其與一個含有第二個算法塊的一個控制模塊相關聯(lián),用于提供從第一個算法塊向第二個算法塊的數(shù)據(jù)傳輸,而不需要在第二個算法塊中分配連接器資源;以及(2)一個主動連接,其與第二個算法塊相關聯(lián),用于從第一個算法塊向第二個算法塊的數(shù)據(jù)傳輸,并在第二個算法塊中使用了專用的連接器資源,因而控制系統(tǒng)具有既可通過被動連接也可通過和主動連接向第二個算法塊提供數(shù)據(jù)的能力。
文檔編號G06F15/16GK1267373SQ98808379
公開日2000年9月20日 申請日期1998年8月19日 優(yōu)先權日1997年8月22日
發(fā)明者杰思羅·F·斯坦曼, 理查德·P·希默, M·吳拉姆·坎吉, 葉海亞·C·謝哈德赫, 約翰·J·羅薩-比安 申請人:霍尼韋爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1