專利名稱:根據(jù)有限自動裝置的原理進行技術過程控制的方法
技術領域:
本發(fā)明涉及一種根據(jù)有限自動裝置的原理進行技術過程控制的方法,利用為了完成預定行為而在狀態(tài)空間中被存儲的既為具體對象又為功能型對象服務的條件值,通過執(zhí)行由單個控制任務分配的處理程序實現(xiàn)的。
如今我們大量使用計算機和計算機系統(tǒng)來對大規(guī)模的過程事件進行監(jiān)視和控制。而這些計算機和計算機系統(tǒng)工作所用的程序是極其復雜的。其編制過程要花費大量時間和金錢,因為程序通常并不是使用以開發(fā)者易于理解形式描述每個過程控制的面向問題的語言編制,而是以開發(fā)者費解的適合于計算機工作方式的人工程序語言編制。特別是需要再對這樣的程序進行可靠性檢驗時,用于發(fā)展和研制此類過程事件的控制系統(tǒng)的費用和時間將以不期望的方式增大。
如果在程序中涉及了的對一個控制設備的要求改變了,例如因為要鏈接輔助的過程元素到這個事件中或者必須滿足其它的過程要求,這樣就要進行大規(guī)模的程序改動以滿足這些新的要求;在安全性要求高的過程控制中,還有必要對改動過的軟件進行單獨的可靠性檢驗。
對于規(guī)模大而且復雜的過程事件的控制,有時要設法把復雜的過程事件分割成許多彼此相互獨立的具有一定概括性的子事件,并在不同的計算機系統(tǒng)中實現(xiàn)這些子事件(新技術,2號、1973年2月,77~79頁)。為了在一個計算機控制的鐵道信號所中應用這一原理,建議火車進站調度、道岔運動監(jiān)控、信號調整、運行分析、備用信號調整以及維護和支持在分立的計算機系統(tǒng)上實現(xiàn)(DE-29 27 169 C2)。在被分割成子過程的過程控制系統(tǒng)中,分配給單個子過程的計算機的編程仍然是用適合計算機工作方式的程序語言而不是開發(fā)者輕易能夠理解的格式完成的。在這兒就出現(xiàn)了和在全部過程事件的控制中原則上相同的困難。
在所謂面向對象的程序設計中有了這樣的開端,即使用開發(fā)者易于理解的明顯適合問題的程序設計方法,而不僅僅是面向計算機編程(計算機雜志7-8/91,34-40頁)。在面向對象的程序設計中首先要把面向應用的控制系統(tǒng),例如一個鐵道信號所,按分級的不同對象的類別分成許多層,其中較高的類,例如信號,描述較一般的對象;而向下分出的類,例如前信號和主信號,描述較特殊的對象。一個對象的類把每個有相同特征的單一對象集中起來。對象及其類型的描述在各個類中進行,越低層的類越有其特殊的性質,借此可以區(qū)分不同的對象。在各個層中也定義了處理對象所用的程序,它們被稱為“方法”。它們確定了對象的行為,并且每個“方法”都由作用在相關對象上的指令序列構成。
這些指令都依據(jù)所謂“對象的內部狀態(tài)”而定。內部狀態(tài)描述了確定的任務在相關對象上已完成的程度。一條指令或任務的執(zhí)行總會引起對象內部狀態(tài)的改變,這又導致新的行為。要想存儲一個過程控制中描述各個對象的所有可能內部狀態(tài)的大量參數(shù),以及存儲那些從屬于內部狀態(tài)的、用于把內部狀態(tài)變?yōu)楹罄m(xù)狀態(tài)的“方法”,將占用大量存儲器,重要的是,因其不直觀而會在程序運行過程中有產(chǎn)生錯誤的危險。
本發(fā)明的目的在于,提供一種如權利要求1的前序部分所述的方法,以此方法可以減少為描述所有可能狀態(tài)值和行為而必需的存儲量,同時降低自動裝置描述時的復雜程度。本發(fā)明的目的是通過對權利要求1特征部分的應用實現(xiàn)的。使自動裝置自己管理自己的內部狀態(tài),也就是說對于一個對象不必存儲所有可能的狀態(tài)序列,而只要存儲事實上存在的狀態(tài)序列,這些狀態(tài)序列被每個對象根據(jù)詳細信息修正,舊的狀態(tài)值會被新的狀態(tài)值覆蓋掉,因此自動裝置的描述將變得清晰。對于自動裝置的單獨編程只需要對輸出信息進行定義;內部狀態(tài)的定義和狀態(tài)傳遞的確定只需通過已存儲在自動裝置中的固定形式進行。
本發(fā)明方法的其他有利形式在從屬權利要求中給出。
下面借助附圖對本發(fā)明做進一步解釋。
圖1是有限自動裝置的示意圖,圖2是條件和行為的配合示例,圖3是帶有信息的一個對象的兩種狀態(tài)空間,這些信息將影響相關對象的狀態(tài)空間以及其它對象的狀態(tài)空間。
圖1所示為對任意對象,甚至功能型對象的有限自動裝置的公知模型。它通過輸入數(shù)據(jù)、內部狀態(tài)和輸出數(shù)據(jù)來實現(xiàn)對自動裝置的描述。新的內部狀態(tài)和輸出數(shù)據(jù)分別依賴于變化的輸入信息和新生成的內部狀態(tài)而依次生成。被存儲在狀態(tài)存儲器中的當前的內部狀態(tài)用Z表示,它被狀態(tài)傳遞函數(shù)ZUF按標準改變后作為新的狀態(tài)存儲在狀態(tài)存儲器中。輸出生成函數(shù)AEF根據(jù)對象的瞬時狀態(tài)Z和作用在自動裝置上的輸入數(shù)據(jù)E推導出輸出信號A。自動裝置圖中P個單芯或多芯的輸入通道E1到EP應解釋為自動裝置可以接受P個不同的信息。上標n表示在該輸入信息狀態(tài)時被觀測值的時間屬性。相應的,自動裝置中r個輸出通道A1到Ar也產(chǎn)生了r個不同的輸出值。為了進行狀態(tài)的管理,給自動裝置分配q個狀態(tài)分量。狀態(tài)傳遞函數(shù)ZUF把這些分量的當前狀態(tài)值Z1n到Zqn變?yōu)閷嶋H狀態(tài)值Z1n+1到Zqn+1,并把它們傳遞到狀態(tài)存儲器和輸出生成函數(shù)AEF上,以產(chǎn)生新的輸出值。
對于大規(guī)模過程控制,若用它的內部狀態(tài)、輸入輸出信息以及狀態(tài)傳遞函數(shù)和輸出生成函數(shù)來描述的話,該過程事件對開發(fā)者來說不直觀。本發(fā)明的方法是把控制過程中的每個對象看作特殊的自動裝置。這不僅適合于現(xiàn)有的、具體的對象,例如鐵路信號所控制中的信號、道岔、軌道區(qū)段等,也適合于一些功能型的對象,例如進站控制、防側面沖擊控制和道路分析等。每個這種自動裝置只處理全部裝置中完全指定的那些狀態(tài),因此比表示全部裝置的自動裝置更簡潔。對每個對象只使用一定數(shù)量的與對象類型一致的內、外部狀態(tài),這些狀態(tài)在自動裝置輸入輸出值的數(shù)字處理中最好使用二進制狀態(tài)分量來描述。每個任務都在它所作用的對象內部,在自動裝置的模型上引起一個內部狀態(tài)和行為的序列,直到出現(xiàn)任務所期望的結果為止。在這期間,一個對象可以把它不能獨自完成的任務分配給其它對象作為子任務,子任務的完成與否可以通過對應答信號的接收來監(jiān)控。通過這種方式每個對象可以同時處理多個任務。狀態(tài)管理和輸出數(shù)據(jù)推導的每個細節(jié)都要對于相關的對象被定義和確定。這樣自動裝置中每個任務及其相關過程都可被視為是隔離開的。要使一個對象接收一個狀態(tài)值和/或輸出信息,就要滿足相應的條件值,而這些條件值的得出并非本發(fā)明的主題;條件值的得出實際上出自過程要求本身。本發(fā)明的主題是如何形成新的狀態(tài)和輸出信息,以及如何在對象中管理狀態(tài)的方式和方法。
每一個對象中都存在一個狀態(tài)存儲器,每一個對象的外部狀態(tài)被存儲于其中,例如道岔位于正位置或者反位置,道岔被空運轉等。這個過程-狀態(tài)存儲器在對象中不斷地被調整,并把從過程傳到對象上的狀態(tài)值存儲起來。
對單一的對象只有短暫的當前狀態(tài)空間,它們?yōu)榱巳蝿盏耐瓿梢哉埱蟮姆绞奖谎b入;內部狀態(tài)指出請求的任務已經(jīng)被完成了多少。
在每個對象中都有一個共用的算法,它以程序格式存儲,并對狀態(tài)空間進行管理。一有任務傳送給對象,算法就首先為對象開辟一個狀態(tài)空間。這種狀態(tài)空間的開辟可理解為為了標記一個對象的內部狀態(tài)而暫時準備的一定的存儲空間。每個狀態(tài)空間通過對請求的任務和每個任務發(fā)出者的描述進行標識,并能通過應答信息知道其后任務的執(zhí)行。當遇到一個因需要其他對象的協(xié)助而不能獨自完成的任務時,對象會將任務變成子任務傳給其他對象。在此過程中將為子任務的完成開辟自己的狀態(tài)空間。被子任務訪問的對象使用與發(fā)出任務的對象相同的方法去實現(xiàn)狀態(tài)管理。
在一個對象的待控制過程處理程序中,有一個處理每條傳到對象上的信息(任務、應答、消息)的程序塊,在那里,行為以及完成每個行為執(zhí)行所需的條件被列表。
這些條件通過相關對象上完全確定的狀態(tài)的存在來定義,這些真實狀態(tài)存儲在為當前任務開辟的狀態(tài)空間內或存儲在為消息(對象的外部狀態(tài))準備的狀態(tài)存儲器中。對象的這些真實狀態(tài)序列引起在程序中固定從屬于這些狀態(tài)的行為,例如對象的反應(如道岔轉動)或者子任務到其他對象的分配。每個行為將不再通過在對象內部狀態(tài)上使用狀態(tài)傳遞函數(shù)求出,而是由程序預定。
此外,公用算法還包含期望每一個被發(fā)出的任務能從任務接收者那里得到一個應答信號。應答表明一個任務已經(jīng)被完成。在應答中通過任務的、任務發(fā)出者的、甚至是任務接收者的標記來將應答分配給每個任務。另外,公用算法還表明,當所有已發(fā)出的而且在狀態(tài)空間存儲的任務經(jīng)所屬應答標記已完成時,任務結束。對任務的取消還要有每個任務發(fā)出者的同意,這在必要時是要征求的。如果得到了同意,則其狀態(tài)空間將被清除,也就是說所有存儲在其中的信息將被清除。狀態(tài)空間清除后,對象將不再有完成過某些任務的記憶;被占用至今的存儲器可被其它狀態(tài)空間使用了。
以上闡述將借助圖2和圖3作進一步說明。圖2描述了一個功能型對象的內部狀態(tài),其中對象即“進路”,是一個為有限自動裝置結構的信號所,圖3是為一個任意對象開辟的兩個狀態(tài)空間。
在圖2中假設對象SELBST(=進路)是一個任務接受者,對象Fstrverb(進路聯(lián)系)是一個任務發(fā)出者,前者已經(jīng)接受了一個后者發(fā)出的用于進路接通(A-FstrAnschaltung)的任務。在基于任務的狀態(tài)空間被開辟后,對象“進路”將把屬于當前任務的程序段激活,該程序段產(chǎn)生確定的內部狀態(tài)列表,并在已開辟狀態(tài)空間的服務區(qū)內記入相應的數(shù)據(jù)。通過查詢?yōu)閷ο箝_辟的狀態(tài)空間或消息所固有的狀態(tài)空間,對象“進路”可以得到關于確定狀態(tài)存在或不存在的待記入的二進制值。則對象“進路”應該在查詢后把標志,例如當這樣的接通任務存在時,把標志j(=是)存到由該任務開辟的狀態(tài)空間中去。對象的其它內部狀態(tài)也被存儲在這一狀態(tài)空間中,即下列參數(shù)對象SELBST是否已向進路的元件(所有元件)發(fā)出了一個監(jiān)視它的指定位置的任務,對象SELBST是否已向進路元件發(fā)出了一個防側向沖擊監(jiān)視的任務,對象是否已向進路元件發(fā)出監(jiān)控鐵路通行安全裝置的任務,對象是否已向其進路元件發(fā)出監(jiān)控路段接通(區(qū)段安全,對鄰近車站的影響)的任務。上面所述四個子條件應假設還未被完成。對象在狀態(tài)空間中存入相應的標記n(=否)。所有這五個內部狀態(tài)在其具體結構中就為程序中規(guī)定的完全確定的行為的完成描述了條件。對象SELBST其它的內部狀態(tài)也許能在程序中引起其它的確定行為。所有可能出現(xiàn)的狀態(tài)序列(條件)及其附屬行為都在程序中為對象“進路”確定了。實際情況中應該完成的行為如圖2下半部分所示。它包括在所述狀態(tài)空間中被標為“未完成”記號的監(jiān)控任務的執(zhí)行?,F(xiàn)在對象發(fā)出相應的子任務給進路元件,并等待這些子任務完成的相應應答信息。對象自己管理自己的內部狀態(tài),它把相應的參數(shù)以二進制格式存儲在附帶的存儲器中。
子任務傳給其它對象時,所開辟的狀態(tài)空間的內部狀態(tài)也在改變。在這個實施例中,一個附加給對象“進路”的任務在對象“進路”中產(chǎn)生一第二狀態(tài)空間。這第二狀態(tài)空間以及其它可能再有的狀態(tài)空間將相互獨立地被管理。對象SELBST將等待每個任務接收者發(fā)回的對子任務的應答信號。有了全部任務的完整應答,并且在任務發(fā)出者同意的前提下可清除為已完成任務所開辟的狀態(tài)空間,在此例中,任務發(fā)出者為進路聯(lián)系Fstrverb。
圖3所示為兩個狀態(tài)空間同時的當前值(“瞬時記錄”),它們是為一個確定的對象OBJ_i開辟的兩個相互獨立的狀態(tài)空間,其中為每個狀態(tài)空間只標出了行為和所屬的應答,沒有標出條件。上面的狀態(tài)空間是由對象OBJ_3的任務5所開辟;它用任務的名字和任務發(fā)出者的名字標識。所有為了任務完成規(guī)定的應答和子任務被用發(fā)出應答和子任務的對象的名字命名。一個子任務的接收者-對象可以根據(jù)其任務找到應答信息的接收者。等待應答信號的任務發(fā)出者-對象也知道它在等誰(圖2),這樣,在子任務完成時由其它對象發(fā)出的應答信息可以被無誤地分配給對象的相應的狀態(tài)空間。在圖中,粗的黑體箭頭代表已輸入或已發(fā)出的任務、消息和應答,而細線箭頭代表等待的、還未輸入發(fā)出的任務、消息和應答。
對象i根據(jù)由對象3請求的任務5把子任務5a到5d傳遞給特定的對象,這些對象由對象i內部狀態(tài)條件所產(chǎn)生的行為逐個地標識。在這些子任務中,子任務5a、5b、5d將被完成,并返回相應的應答信息;子任務5c仍沒有應答信息。因此當前任務還沒有完全被完成,對象i還不能向任務發(fā)出者對象OBJ_3所發(fā)出任務5被完成的應答信息。因此,通過任務5為對象i而開辟的狀態(tài)空間仍不能被清除。對象3尚未向對象i發(fā)出該狀態(tài)空間可被清除的允許,清除將被阻止。只有在收到當前任務完成的應答之后,這種允許才被發(fā)出。
此外,對象i從對象1收到一個要完成的任務1。在消息M1輸入后,子任務1a和1d被分給其它對象。消息M1來源于狀態(tài)空間中的輔助存儲器,其不適用于狀態(tài)空間操作的一般方法。任務1a相應的應答信息1a已經(jīng)到達,而應答信息1d還沒有到。對象i已經(jīng)向發(fā)出任務的對象1發(fā)出了一個應答,告訴它待執(zhí)行的任務已經(jīng)被接受。由任務發(fā)出者對象1已經(jīng)給出清除狀態(tài)空間“Z.對象1-任務1”的許可。當所有子任務都得到應答后,對象i就可以將從屬于狀態(tài)空間Z.對象1-任務1的狀態(tài)分量立即清除。
本發(fā)明的方法可把一個自動裝置編程的單項消耗限制在比較小的程度,因為對于每個對象只記錄當前實際的內部狀態(tài),并且這個對象自己管理內部狀態(tài)。此方法放棄了對狀態(tài)傳遞函數(shù)的使用,取而代之的是直接把每個要完成的行為規(guī)入信息、條件,使自動裝置一目了然。為了確定條件和行為而存在的狀態(tài)空間的重要部分只須暫時被載入,則全部過程控制所需的存儲空間就相對小了。
權利要求
1.一種根據(jù)有限自動裝置的原理進行技術過程控制的方法,利用為了完成預定行為而在狀態(tài)空間中被存儲的既為具體對象又為功能型對象服務的條件值,通過執(zhí)行由單個控制任務分配的處理程序實現(xiàn),其特征在于每個傳輸給對象的任務都為此對象開辟一個基于任務的狀態(tài)空間,該狀態(tài)空間除了標識由程序給定的用于對象的確定狀態(tài)的條件外,還記錄對象中隨條件的給定而出現(xiàn)的行為,其中每個對象可以同時擁有許多為多個同時待執(zhí)行而還未完全完成的任務而開辟的狀態(tài)空間,這些狀態(tài)空間被相互獨立地管理,每個基于任務的狀態(tài)空間都只是暫時地被開辟,在任務完全完成后將被清除,一個請求完成的任務可以按實際給定條件的標準通過接受任務的對象自己或者一個或許多其它對象完成由這些條件決定的行為,這些行為是作為待完成的子任務交給各對象的,執(zhí)行任務或子任務的應答或子應答信息被傳輸給每個發(fā)出任務的對象,在得到所有被發(fā)出任務所引起的行為被完成的應答信號,而且有了發(fā)出任務的對象的允許后,所開辟的狀態(tài)空間會被開辟這一相應狀態(tài)空間的對象清除。
2.根據(jù)權利要求1的方法,其特征在于狀態(tài)空間的狀態(tài)分量由接受和發(fā)送的信息得出。
3.根據(jù)權利要求2的方法,其特征在于對每個任務發(fā)出者、任務接受者和任務的識別,被自動附加到信息中。
4.根據(jù)權利要求1的方法,其特征在于除了在一個任務執(zhí)行期間暫時開辟的狀態(tài)空間外,還設有為了存儲所有具體對象的外部狀態(tài)值開辟的永久狀態(tài)空間。
5.根據(jù)權利要求1或4的方法,其特征在于單個狀態(tài)空間中狀態(tài)分量以及行為的真實內容要通過在相關狀態(tài)空間占用的存儲器中的位的值被描述。
6.根據(jù)權利要求5的方法,其特征在于一個對象中互斥的狀態(tài)分量在一個狀態(tài)空間內部建立狀態(tài)子集,該子集通過不同值的一個或多個位表示。
全文摘要
對于每個有任務的對象(OBJ_i),至少要為重要的狀態(tài)分量臨時開辟一個狀態(tài)空間,也就是說要為它的臨時存儲預留一個存儲器。在單個狀態(tài)空間中確定的狀態(tài)分量組合的存在引起程序中確定的行為的執(zhí)行,行為還可以給其它對象傳出子任務(5a到5d。每個任務執(zhí)行后會從任務接受者以任務的名字(5a到5d)向任務發(fā)出者發(fā)出應答。在任務完全完成后,為它設置的狀態(tài)空間將被清除,也就是說,該存儲器又可以自由地被其它狀態(tài)空間使用。每個狀態(tài)空間自己管理自己,它只存儲對象的當前真實的狀態(tài)值,這些狀態(tài)值可以按照過程中輸入信息的標準用新的狀態(tài)值覆蓋。
文檔編號G05B19/045GK1138905SQ95191247
公開日1996年12月25日 申請日期1995年1月16日 優(yōu)先權日1994年1月17日
發(fā)明者阿明·布希 申請人:西門子公司