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

具有在狀態(tài)間轉(zhuǎn)換的用戶可定義的動作的狀態(tài)機功能塊的制作方法

文檔序號:6713970閱讀:364來源:國知局
具有在狀態(tài)間轉(zhuǎn)換的用戶可定義的動作的狀態(tài)機功能塊的制作方法
【專利摘要】過程工廠內(nèi)的控制系統(tǒng)、安全系統(tǒng)等可以每個都使用能夠被容易地集成到功能塊圖表編程環(huán)境中的一個或多個狀態(tài)機功能塊。這種狀態(tài)機功能塊可以包括一個或多個輸入,其可以使得由狀態(tài)機功能塊實現(xiàn)的狀態(tài)機識別下一狀態(tài)以及根據(jù)從當前狀態(tài)轉(zhuǎn)換至下一狀態(tài)而執(zhí)行的一個或多個轉(zhuǎn)換動作??梢曰跔顟B(tài)機的當前狀態(tài)和下一狀態(tài)以及至少一個輸入從數(shù)據(jù)庫獲得與轉(zhuǎn)換動作相關(guān)聯(lián)的配置數(shù)據(jù)。狀態(tài)機功能塊還可以包括基于狀態(tài)轉(zhuǎn)換而產(chǎn)生的一個或多個輸出。
【專利說明】具有在狀態(tài)間轉(zhuǎn)換的用戶可定義的動作的狀態(tài)機功能塊

【技術(shù)領(lǐng)域】
[0001]本公開涉及用于過程工廠的功能塊,更具體地,涉及配置和實現(xiàn)與過程工廠相關(guān)聯(lián)的狀態(tài)機。

【背景技術(shù)】
[0002]過程控制系統(tǒng),如在化學(xué)、石油或其它過程中使用的那些,通常包括通過模擬的、數(shù)字的或組合模擬/數(shù)字總線或線路通信地耦接到至少一個主機或操作員工作站并耦接到一個或多個現(xiàn)場設(shè)備的一個或多個過程控制器??梢允抢玳y、閥定位器、開關(guān)和發(fā)送機(例如,溫度、壓力和流速傳感器)的現(xiàn)場設(shè)備在過程工廠內(nèi)執(zhí)行諸如打開或關(guān)閉閥以及測量過程參數(shù)的功能。過程控制器接收指示由現(xiàn)場設(shè)備所做的過程測量的信號和/或其它與現(xiàn)場設(shè)備相關(guān)的信息,使用這些信息來實現(xiàn)控制例程,然后產(chǎn)生經(jīng)總線或線路發(fā)送到現(xiàn)場設(shè)備的控制信號,以控制過程的運行。通常使由操作員工作站執(zhí)行的一個或多個應(yīng)用能夠得到來自現(xiàn)場設(shè)備和控制器的信息,以使操作員能夠相對于過程執(zhí)行任何期望的功能,諸如配置過程、察看過程的當前狀態(tài)、修改過程的運行等。
[0003]另外,在許多過程中,提供單獨的安全系統(tǒng)以檢測過程工廠內(nèi)與安全相關(guān)的重大問題,并且當發(fā)生可能造成或?qū)е鹿S中的嚴重危害問題時,諸如有毒化學(xué)物質(zhì)泄漏、爆炸等時,自動地關(guān)閉閥、對設(shè)備斷電,切換工廠內(nèi)的流程等。這些安全系統(tǒng)通常具有遠離標準過程控制控制器的一個或多個單獨的控制器,稱為邏輯求解器,它們通過安裝在過程工廠內(nèi)的單獨的總線或通信線路連接到安全現(xiàn)場設(shè)備。邏輯求解器使用安全現(xiàn)場設(shè)備來檢測與重大事件相關(guān)聯(lián)的過程狀況,諸如特定安全開關(guān)或關(guān)閉閥的位置、過程中的上溢或下溢、重要的功率產(chǎn)生或控制設(shè)備的操作、故障檢測設(shè)備的操作等,從而檢測過程工廠內(nèi)的“事件”。當檢測到一事件(通常稱為“起因”)時,安全控制器采取一些動作(通常稱為“結(jié)果”)以限制事件的破壞性,諸如關(guān)閉閥、關(guān)掉設(shè)備、對工廠的一些部件斷電等。一般地,這些動作或結(jié)果包括將安全設(shè)備切換到被設(shè)計為防止過程工廠內(nèi)的嚴重或危險狀況的跳閘或“安全”操作模式。
[0004]諸如過程控制系統(tǒng)和安全系統(tǒng)的過程工廠內(nèi)的系統(tǒng)通常可以保持跟蹤各種過程和/或系統(tǒng)本身的狀態(tài)。系統(tǒng)的輸入信號可能會導(dǎo)致由系統(tǒng)所跟蹤的狀態(tài)發(fā)生變化,由系統(tǒng)產(chǎn)生的輸出信號除了系統(tǒng)的輸入信號之外可能會依賴于系統(tǒng)的當前狀態(tài)。專利號為7,730,415的美國專利,在此以整體并入作為參考,詳細描述了過程工廠內(nèi)的控制系統(tǒng),其使用集成到功能塊圖表編程環(huán)境中的狀態(tài)機功能塊。特別地,這種狀態(tài)機功能塊包括一個或多個輸入,其用于使由狀態(tài)機功能塊實現(xiàn)的狀態(tài)機改變狀態(tài)。進一步地,該狀態(tài)機功能塊基于指示下一狀態(tài)的狀態(tài)轉(zhuǎn)換配置數(shù)據(jù)來確定它要轉(zhuǎn)換的下一種狀態(tài)。狀態(tài)轉(zhuǎn)換配置數(shù)據(jù)基于狀態(tài)機的當前狀態(tài)和至少一個輸入從數(shù)據(jù)庫獲得。狀態(tài)機功能塊還包括基于狀態(tài)機的狀態(tài)而產(chǎn)生的一個或多個輸出。狀態(tài)機功能塊的輸入與例如過程控制系統(tǒng)或安全系統(tǒng)相關(guān)聯(lián),輸出可以用于例如過程控制系統(tǒng)或安全系統(tǒng)中的現(xiàn)場設(shè)備的控制。
[0005]然而,當前的過程控制系統(tǒng)不具有自動地執(zhí)行與轉(zhuǎn)換出當前狀態(tài)或轉(zhuǎn)換入下一狀態(tài)相關(guān)聯(lián)的各種動作或功能的能力。替代地,當前的過程控制系統(tǒng)的用戶或管理員在狀態(tài)轉(zhuǎn)換期間必須手動地執(zhí)行或?qū)崿F(xiàn)動作或功能。因此,當前的過程控制系統(tǒng)在其執(zhí)行特定的安全測量,控制技術(shù)或者與狀態(tài)轉(zhuǎn)換相關(guān)聯(lián)的其他特性的能力上是有限的。


【發(fā)明內(nèi)容】

[0006]在此描述的系統(tǒng)和方法涉及管理過程控制環(huán)境的狀態(tài)之間的轉(zhuǎn)換。過程控制系統(tǒng)和方法可以實現(xiàn)狀態(tài)機,其包括基于置為有效的輸入識別狀態(tài)機的各種狀態(tài)之間的轉(zhuǎn)換的轉(zhuǎn)換表格。轉(zhuǎn)換表格還可以指定用于過程控制系統(tǒng)的一個或多個轉(zhuǎn)換動作和執(zhí)行的與從當前狀態(tài)轉(zhuǎn)換至下一狀態(tài)相關(guān)聯(lián)的方法。根據(jù)實施例,轉(zhuǎn)換動作可以是轉(zhuǎn)換入動作和/或轉(zhuǎn)換出動作的形式。過程控制系統(tǒng)和方法可以執(zhí)行與轉(zhuǎn)換出當前狀態(tài)相關(guān)聯(lián)的轉(zhuǎn)換出動作以及可以在適應(yīng)于下一狀態(tài)之前執(zhí)行轉(zhuǎn)換入動作。在一些實施例中,過程控制系統(tǒng)和方法可以將與轉(zhuǎn)換動作相關(guān)聯(lián)的配置數(shù)據(jù)提供給另一功能塊用于該功能塊來執(zhí)行。過程控制系統(tǒng)和方法可以額外地設(shè)置對應(yīng)于當前狀態(tài)和轉(zhuǎn)換動作的輸出。
[0007]根據(jù)一些實施例,過程控制系統(tǒng)和方法能夠通過由圖形用戶接口顯示的矩陣來管理轉(zhuǎn)換表格。矩陣的各種單元能夠指示狀態(tài)轉(zhuǎn)換數(shù)據(jù),該狀態(tài)轉(zhuǎn)換數(shù)據(jù)識別與置為有效的輸入相關(guān)聯(lián)的各種狀態(tài)轉(zhuǎn)換,以及與狀態(tài)轉(zhuǎn)換相關(guān)聯(lián)的將要執(zhí)行轉(zhuǎn)換動作。矩陣能夠經(jīng)由計算機或其用戶完全地可配置的,以執(zhí)行狀態(tài)轉(zhuǎn)換及與其相關(guān)聯(lián)的轉(zhuǎn)換動作。因此,功能塊能夠訪問適當?shù)木仃囈杂兄跔顟B(tài)轉(zhuǎn)換,自動地執(zhí)行相關(guān)聯(lián)的轉(zhuǎn)換動作和設(shè)置適當?shù)妮敵觥?br> [0008]與傳統(tǒng)的過程控制技術(shù)相比,在此描述的過程控制系統(tǒng)和方法的實施例可以導(dǎo)致更有效和高效率的過程控制技術(shù)。例如,轉(zhuǎn)換動作使得過程控制系統(tǒng)和方法能夠自動地執(zhí)行與轉(zhuǎn)換出當前狀態(tài)和轉(zhuǎn)換入下一狀態(tài)相關(guān)聯(lián)的動作,由此減少對用戶手動地執(zhí)行與狀態(tài)轉(zhuǎn)換相關(guān)聯(lián)的過程的需求。

【專利附圖】

【附圖說明】
[0009]通過參考下面詳細說明和附圖將更好地理解下文所述的方法、裝置和系統(tǒng)的特點和優(yōu)點,在附圖中:
[0010]圖1是一個示例過程工廠的方框圖;
[0011]圖2是示意地在圖1中說明的一個示例工作站的方框圖;
[0012]圖3是描述控制模塊的顯示的一個示例;
[0013]圖4是狀態(tài)機功能塊的示例表示;
[0014]圖5是用于輸入狀態(tài)機功能塊的狀態(tài)配置數(shù)據(jù)及與其相關(guān)聯(lián)的轉(zhuǎn)換動作數(shù)據(jù)的示例矩陣;
[0015]圖6是其中在矩陣中顯示狀態(tài)配置數(shù)據(jù)及與其相關(guān)聯(lián)的轉(zhuǎn)換動作數(shù)據(jù)的圖5的示例矩陣;
[0016]圖7是具有轉(zhuǎn)換動作功能的狀態(tài)機功能塊的操作的示例方法的流程圖;
[0017]圖8是并入轉(zhuǎn)換動作功能的示例狀態(tài)機功能塊的方框圖;
[0018]圖9是具有轉(zhuǎn)換動作功能的狀態(tài)機功能塊的操作的另一示例方法的流程圖;
[0019]圖10是用于處理到狀態(tài)機功能塊的數(shù)據(jù)輸入的一個示例例程的流程圖;
[0020]圖11是用于處理到狀態(tài)機功能塊的使能輸入的一個示例例程的流程圖;
[0021]圖12是用于改變狀態(tài)和設(shè)置包括狀態(tài)機功能塊的轉(zhuǎn)換動作輸出的輸出的示例例程的流程圖;
[0022]圖13是輸入用于狀態(tài)機功能塊的包括轉(zhuǎn)換動作的輸出配置數(shù)據(jù)的示例矩陣;
[0023]圖14是另一示例狀態(tài)機功能塊的方框圖;
[0024]圖15是輸入用于狀態(tài)機功能塊的狀態(tài)配置數(shù)據(jù)及與其相關(guān)聯(lián)的轉(zhuǎn)換動作數(shù)據(jù)的示例狀態(tài)轉(zhuǎn)換圖。

【具體實施方式】
[0025]過程工廠示例
[0026]圖1是包括一個或多個節(jié)點12、16、18和20的一個示例過程工廠10的方框圖。在圖1的示例過程工廠10中,節(jié)點12和16的每一個包括通過輸入/輸出(I/O)設(shè)備24連接到一個或多個現(xiàn)場設(shè)備22和23的過程控制器12a、16a,其中輸入/輸出(I/O)設(shè)備24可以是例如Foundat1n Field bus接口、HART接口等??刂破?2a和16a還通過網(wǎng)絡(luò)30耦接到節(jié)點18和20中的一個或多個主機或操作員工作站18a和20a,其中網(wǎng)絡(luò)30可以包含,例如一個或多個總線、諸如Ethernet LAN的有線局域網(wǎng)(LAN)、無線LAN、廣域網(wǎng)(WAN)、內(nèi)聯(lián)網(wǎng)等。盡管與之相關(guān)聯(lián)的控制器節(jié)點12、16和I/O設(shè)備24和現(xiàn)場設(shè)備22、23通常在有時惡劣的工廠環(huán)境內(nèi)由中心向遠處放置和分布在有時惡劣的工廠環(huán)境中,但操作員工作站節(jié)點18和20經(jīng)常位于控制器人員容易到達的控制房中或其它不很惡劣的環(huán)境中。
[0027]一般而言,節(jié)點18和20的工作站18a和20a可用來存儲和執(zhí)行用于配置和監(jiān)視過程工廠10、和/或管理過程工廠10中的設(shè)備22、23、24和控制器12a、16a的應(yīng)用程序。并且,數(shù)據(jù)庫32可以連接到網(wǎng)絡(luò)30并作為數(shù)據(jù)歷史和/或配置數(shù)據(jù)庫運行,該數(shù)據(jù)庫存儲下載到和/或存儲在節(jié)點12、16、18、20、22、23、24、50和70內(nèi)的過程工廠10的當前配置。
[0028]例如可以是由Emerson Process Management銷售的DeltaV?控制器的每個控制器12a和16a可以存儲和執(zhí)行通過使用數(shù)個不同的獨立執(zhí)行的控制模塊或塊來實現(xiàn)控制策略的控制器應(yīng)用。每個控制模塊可以由通常被稱為功能塊的塊構(gòu)成,其中每個功能塊是整個控制例程的一部分或一個子例程,并與其它功能模塊相結(jié)合(經(jīng)由被稱為鏈路的通信)進行操作以實現(xiàn)過程工廠10內(nèi)的過程控制環(huán)。如熟知的那樣,功能塊通常執(zhí)行輸入功能(諸如與發(fā)送器、傳感器或其它過程參數(shù)測量設(shè)備相關(guān)聯(lián)的輸入功能)、控制功能(諸如與執(zhí)行譬如PID、模糊邏輯等各種控制的控制例程相關(guān)聯(lián)的控制功能)或控制一些設(shè)備(諸如閥)的操作的輸出功能之一,以執(zhí)行過程工廠10內(nèi)的一些物理功能。當然存在和可以使用混合的和其它類型的功能塊。盡管fieldbus協(xié)議和DeltaV?系統(tǒng)協(xié)議可使用以面向?qū)ο蟮木幊虆f(xié)議設(shè)計和實現(xiàn)的控制模塊和功能塊,也可使用包括例如順序功能塊、階梯邏輯等的任何期望的控制編程方案來設(shè)計控制模塊,并且不限于使用功能塊或任何其它特定編程技術(shù)來進行設(shè)計。作為典型,存儲在過程控制節(jié)點12和16內(nèi)的控制模塊的配置可被存儲在可由工作站18a和20a執(zhí)行的應(yīng)用訪問的配置數(shù)據(jù)庫32中。通常當功能塊用于或與標準4-20mA設(shè)備和諸如HART設(shè)備的一些類型智能現(xiàn)場設(shè)備相關(guān)聯(lián)的情況下,這些功能塊可以存儲在例如控制器12a、16a中并由控制器12a、16a執(zhí)行,或者在Fieldbus設(shè)備的情況下,可以存儲在現(xiàn)場設(shè)備本身中并由現(xiàn)場備本身來實現(xiàn)。
[0029]在圖1中說明的系統(tǒng)中,耦接到控制器12a和16a的現(xiàn)場設(shè)備22和23可以是標準4-20mA設(shè)備,或可以是諸如HART、Profibus、或Foundat1n Fieldbus現(xiàn)場設(shè)備的包括處理器和存儲器的智能現(xiàn)場設(shè)備。這些設(shè)備的一些,諸如Foundat1n Fieldbus現(xiàn)場設(shè)備(圖1中以附圖標記23標示)可以存儲和執(zhí)行與在控制器12a和16a中實現(xiàn)的控制策略相關(guān)聯(lián)的諸如功能塊的模塊、或子模塊。當然,現(xiàn)場設(shè)備22、23可以是任何類型的設(shè)備,諸如傳感器、閥、發(fā)送器、定位器等。I/O設(shè)備24可以是符合諸如HART、Foundat1n Fieldbus、Profibus等的任何期望的通信或控制器協(xié)議的任何類型的I/O設(shè)備。
[0030]控制器12a和16a的每個包括實現(xiàn)或監(jiān)視存儲在存儲器中的一個或多個過程控制例程的處理器,該過程控制例程可以包括控制環(huán)路,存儲于其中或與之相關(guān)聯(lián)??刂破?2a和16a與現(xiàn)場設(shè)備22、23,工作站18a、20a和數(shù)據(jù)庫32進行通信,從而以任何期望的方式來控制過程??刂破?2a和16a的每個可以配置為以任何期望的方式來實現(xiàn)控制策略或控制例程。應(yīng)當理解的是,控制器12a和16a可以經(jīng)由無線連接與現(xiàn)場設(shè)備22,23,工作站18a,20a和數(shù)據(jù)庫32進行通信。
[0031]過程工廠1/0還可以包括與過程控制節(jié)點12和16集成的安全系統(tǒng)14(由點劃線表示)。安全系統(tǒng)系統(tǒng)14 一般地可以作為安全測量系統(tǒng)(SIS, Safety InstrumentedSystem)運行,以監(jiān)視和超控(override)由過程控制節(jié)點12和16提供的控制,從而最大化過程工廠10的可能安全操作。
[0032]節(jié)點12和16的每一個可以包括一個或多個安全系統(tǒng)邏輯求解器50。每個邏輯求解器50是具有處理器和存儲器的1/0設(shè)備,并被配置為執(zhí)行存儲在存儲器中的安全邏輯模塊。可通信地耦接至每個邏輯求解器50,以向安全系統(tǒng)現(xiàn)場設(shè)備60和62提供控制信號和/或從安全系統(tǒng)現(xiàn)場設(shè)備60和62接收信號。另外,節(jié)點12和16的每一個包括至少一個消息廣播設(shè)備(MPD) 70,它通過環(huán)或總線連接74 (僅其一部分在圖1中說明)通信地耦接到其它MPD70。一般地安全系統(tǒng)邏輯求解器50、安全系統(tǒng)現(xiàn)場設(shè)備60和62、MPD70和總線74構(gòu)成圖1的安全系統(tǒng)14。
[0033]圖1的邏輯求解器50可以是包括處理器和存儲安全邏輯模塊的存儲器的任何期望類型的安全系統(tǒng)控制設(shè)備,其中該安全邏輯模塊適合于在處理器上執(zhí)行以提供與使用現(xiàn)場設(shè)備60和62的安全系統(tǒng)14相關(guān)聯(lián)的控制功能。當然,安全現(xiàn)場設(shè)備60和62可以是符合或使用任何或期望通信協(xié)議,諸如上面提及的那些的任何期望類型的現(xiàn)場設(shè)備。特別地,現(xiàn)場設(shè)備60和62可以是傳統(tǒng)上由單獨的、專用的與安全相關(guān)的控制系統(tǒng)控制的那種類型的與安全相關(guān)的現(xiàn)場設(shè)備。在圖1所示的過程工廠10中,安全現(xiàn)場設(shè)備60被描述為使用諸如HART或4-20mA協(xié)議的專用或點到點通信協(xié)議,而安全現(xiàn)場設(shè)備62被說明為使用諸如Fieldbus協(xié)議的總線通信協(xié)議。安全現(xiàn)場設(shè)備60可以執(zhí)行諸如關(guān)閉閥、關(guān)閉開關(guān)等的任何期望功能。
[0034]在每個節(jié)點12和16中可以使用公用底板(未示出),以通信地將控制器12a和16a耦接到過程控制1/0卡24、耦接到安全邏輯求解器50和耦接到MPD70??刂破?2a和16a還通信地耦接到網(wǎng)絡(luò)30??刂破?2a和16a、1/0設(shè)備24、邏輯求解器50和MPD70可以通過網(wǎng)絡(luò)30與節(jié)點18和20進行通信。
[0035]如本領(lǐng)域的普通技術(shù)人員將會理解的,節(jié)點12、16中的底板(未示出)使邏輯求解器50能夠在本地互相通信以協(xié)調(diào)由這些設(shè)備實現(xiàn)的安全功能、互相傳送數(shù)據(jù)、和/或執(zhí)行其它集成的功能。相似地,節(jié)點16中的底板(未示出)能夠使邏輯求解器50在本地互相通信以協(xié)調(diào)由這些設(shè)備實現(xiàn)的安全功能、互相傳送數(shù)據(jù)、和/或執(zhí)行其它集成的功能。另一方面,MPD70進行操作以使得設(shè)置在工廠10的非常不同位置的安全系統(tǒng)14的部件仍能夠互相通信,以在過程工廠10的不同節(jié)點提供協(xié)調(diào)的安全操作。特別地,MPD70與總線74相結(jié)合使與過程工廠10的不同節(jié)點12和16相關(guān)聯(lián)的邏輯求解器50能夠通信地級聯(lián)在一起,以允許根據(jù)所分配的優(yōu)先級來級聯(lián)過程工廠10內(nèi)與安全相關(guān)的功能。MPD70和總線74為安全系統(tǒng)提供作為網(wǎng)絡(luò)30的替代物的通信鏈路。
[0036]替代地,過程工廠10內(nèi)不同位置上的兩個或多個與安全相關(guān)的功能可以互鎖或互連,而不用在工廠10的單獨區(qū)域或節(jié)點內(nèi)向單獨的安全現(xiàn)場設(shè)備布設(shè)專用線路。換言之,MPD70和72和總線74的使用使得安全工程師能夠設(shè)計和配置在特性上遍及過程工廠10分布但其不同組件通信地互連的安全系統(tǒng)14,從而使與安全相關(guān)的不同硬件能夠按需互相通信。該特征還提供了安全系統(tǒng)14的可縮放性,當需要額外的安全邏輯求解器時或當新的過程控制節(jié)點被添加到過程工廠10時,它使額外的安全邏輯求解器能夠被添加到安全系統(tǒng)14。
[0037]圖2是示例工作站18a (工作站20a可以包括相同或相似的設(shè)備)的方框圖。工作站18a可以包括至少一個處理器100,易失性存儲器104和非易失性存儲器108。易失性存儲器104可以包括,例如隨機存取存儲器(RAM)。在一些實施例中,可以由一個或多個電池來備份RAM,以便在掉電時不丟失數(shù)據(jù)。非易失性存儲器108可以包括,例如一個或多個硬盤、只讀存儲器(ROM)、高密度盤ROM(CD-ROM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電子可擦除可編程ROM(EEPROM)、數(shù)字多用途盤(DVD)、閃存等。工作站18a還可以包括工作站1/0設(shè)備112。處理器100、易失性存儲器104、非易失性存儲器108和工作站1/0設(shè)備112可以通過地址/數(shù)據(jù)總線116互連。工作站18a還可以包括至少一個顯示設(shè)備120和至少一個用戶輸入設(shè)備124,其可以是,例如一個或多個鍵盤、鍵區(qū)、鼠標、跟蹤球、觸摸屏、光筆等。在一些實施例中,易失性存儲器104、非易失性存儲器108和工作站1/0設(shè)備112中的一個或多個可以通過與地址/數(shù)據(jù)總線116分離的總線(未示出)耦接到處理器100,或可以直接地耦接到處理器100。
[0038]顯示設(shè)備120和用戶輸入設(shè)備124與工作站1/0設(shè)備112耦接。另外,工作站18a通過工作站I/o設(shè)備112耦接到網(wǎng)絡(luò)30。盡管在圖2中將工作站1/0設(shè)備112說明為一個設(shè)備,它也可以包括幾個設(shè)備。另外,在一些實施例中,一個或多個顯示設(shè)備120和用戶輸入設(shè)備124可以直接地耦接到地址/數(shù)據(jù)總線116或耦接到處理器100。
[0039]現(xiàn)在參考圖1和圖2,與一個或多個控制節(jié)點12、16相關(guān)聯(lián)的過程控制配置應(yīng)用可以存儲在一個或多個工作站18a和20a上并由一個或多個工作站18a和20a執(zhí)行。例如,過程控制配置應(yīng)用可以存儲在非易失性存儲器108和/或易失性存儲器104,并由處理器100執(zhí)行。然而,如果希望,該應(yīng)用可以在與過程工廠10相關(guān)聯(lián)的其它計算機中存儲和執(zhí)行。一般而言,過程控制配置應(yīng)用允許程序員創(chuàng)建和配置將由控制器12a、16a,1/0設(shè)備24和/或現(xiàn)場設(shè)備22、23實現(xiàn)的控制例程、控制模塊、功能模塊、程序、邏輯等。這些控制例程、控制模塊、功能模塊、程序、邏輯等然后可以通過網(wǎng)絡(luò)30下載到控制器12a、16a,1/0設(shè)備24和/或現(xiàn)場設(shè)備22、23中的適當?shù)脑O(shè)備。
[0040]相似地,與安全系統(tǒng)14相關(guān)聯(lián)的安全系統(tǒng)配置應(yīng)用可以存儲在一個或多個工作站18a和20a并由一個或多個工作站18a和20a執(zhí)行。例如,安全系統(tǒng)配置應(yīng)用可以存儲在非易失性存儲器108和/或易失性存儲器104中,并由處理器100執(zhí)行。然而,如果希望,該應(yīng)用可以在與過程工廠10相關(guān)聯(lián)的其它計算機中存儲和執(zhí)行。一般而言,安全系統(tǒng)配置應(yīng)用允許程序員創(chuàng)建和配置將由控制囂12a、16a,邏輯求解器50和/或設(shè)備60、62實現(xiàn)的控制例程、控制模塊、功能模塊、程序、邏輯等。這些控制例程、控制模塊、功能模塊、程序、邏輯等然后可以通過網(wǎng)絡(luò)30下載到控制器12a、16a,邏輯求解器50和/或設(shè)備60、62中的適當?shù)脑O(shè)備。
[0041]狀態(tài)機功能塊
[0042]控制系統(tǒng)或安全系統(tǒng)配置應(yīng)用可以允許編程控制模塊和/或控制例程使用功能塊編程范例。圖3說明了描述控制模塊154的顯示150的一個示例。顯示150可以是與配置應(yīng)用相關(guān)聯(lián)的用戶接口的一部分,并且顯示150可以,例如通過工作站18a的顯示設(shè)備120呈現(xiàn)給程序員。顯示150描述了具有一組通信地互連的功能塊的控制模塊154,所述功能塊可以被創(chuàng)建并通過網(wǎng)絡(luò)30下載到控制器12a、16a,I/O設(shè)備24,邏輯求解器50和/或設(shè)備22、23、60、62中的適當?shù)脑O(shè)備,用于在過程工廠的操作期間實施。如圖3中所示的,控制模塊154包括狀態(tài)機功能塊(SMFB)160、多個模擬輸入(AI)和數(shù)字輸入(DI)功能塊、多個模擬輸出(A0)和數(shù)字輸出(D0)功能塊和其它功能塊(FB)。SMFB160具有通信地與可以是,例如DI功能塊或其它FB的功能塊114互連的輸入。SMFB160還具有連接到可以是,例如D0功能塊或其它FB的功能塊118的輸出。控制模塊154可以控制,或可以是一起控制的多個控制模塊之一,控制諸如開關(guān)、閥等的設(shè)備,作為控制系統(tǒng),安全系統(tǒng)等的一部分。當然,控制模塊154僅僅是利用SMFB的控制模塊的一個示例。一般地,可以用任何期望的方式來編程控制模塊,以包含以任何期望的方式通信地連接到任何數(shù)目的SMFB的任何類型的功能塊,以及可以用任何期望的或有用的方式配置控制模塊,以執(zhí)行任何期望的功能。如果,例如在Fieldbus網(wǎng)絡(luò)中使用,則控制模塊可以包括任何fieldbus類型功能塊。
[0043]在一些實施例中,到SMFB160的一個或多個輸入可以從一個功能塊之外接收。例如,到SMFB160的一個或多個輸入可以通信地耦接以通過,例如操作員接口從操作員接收輸入。例如,使用在諸如節(jié)點18或20上實現(xiàn)的操作員接口的操作員可以提供到SMFB160的輸入。
[0044]SMFB可以是實現(xiàn)狀態(tài)機的功能塊。在一些實施例中,狀態(tài)機可以包括能夠處于多種狀態(tài)之一的實體(例如,設(shè)備、由處理器實現(xiàn)的軟件等)。如果至狀態(tài)機的特定輸入發(fā)生,則狀態(tài)機可以從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)。SMFB可以提供基于狀態(tài)機的當前狀態(tài)的輸出。僅作為一個示例,SMFB可以提供指示狀態(tài)機的當前狀態(tài)的一個或多個輸出。更一般而言,狀態(tài)機可以包括實體(例如,設(shè)備、由處理器實現(xiàn)的軟件等),其中存儲該實體的狀態(tài),或在給定時間包括一些其它實體(例如,過程工廠、過程工廠的子部分、過程工廠的組件等),并且可以改變狀態(tài)和/或基于至狀態(tài)機的輸入引起動作或?qū)⒁l(fā)生的輸出。
[0045]使用與配置應(yīng)用相關(guān)聯(lián)的用戶接口,程序員可以設(shè)計諸如控制模塊154的控制模塊。僅僅作為一個示例,用戶接口可以向程序員提供從例如模板或包括多個標準化或自定義功能塊模板的選項板中選擇期望的功能塊的機制。另外,用戶接口可以提供程序員在其上可以插入或放置功能塊描述的圖形圖表。程序員可以使用,例如鼠標、跟蹤球、鍵盤,鍵區(qū)、觸摸屏等以從模板或選項板中選擇功能塊,然后將功能塊“拖和放”到圖形圖表上。程序員還可以使用例如鼠標、跟蹤球、鍵盤、鍵區(qū)、觸摸屏等,通過例如在一個功能塊的輸出和另一個功能塊的輸入之間劃一條線來通信地耦接功能塊。
[0046]—旦被配置,控制模塊154可以由,例如控制器12a、14a、16a、I/O設(shè)備24、邏輯求解器50和設(shè)備22、23、60、62中的一個或多個來實現(xiàn)。
[0047]圖4是可以在例如,諸如圖3的顯示150的用戶接口顯示上顯示的SMFB200的表示的一個示例。SMFB200的表示指示SMFB200包括7個數(shù)據(jù)輸入(IN_D1至IN_D7)和9個數(shù)據(jù)輸出(TRANS_0UT,TRANS_IN, STATE和0UT_D1至0UT_D6)。數(shù)據(jù)輸入一般可以指示過程工廠內(nèi)的狀況,指示操作員命令等,并可以使得由SMFB200實現(xiàn)的狀態(tài)機改變狀態(tài)。數(shù)據(jù)輸出可包括對應(yīng)于SMFB200的狀態(tài)機的狀態(tài)的一個或多個指示符,以及對應(yīng)于將基于該狀態(tài)被執(zhí)行的功能或動作的配置項目(item)。例如,STATE輸出可以是狀態(tài)機的狀態(tài)(例如,狀態(tài)1、狀態(tài)2、狀態(tài)3等)的指示符。輸出0UT_D1可以是狀態(tài)機是否處于狀態(tài)“狀態(tài)1”的指示符。類似地,輸出0UT_D2、0UT_D3、...0UT_D6可以分別是狀態(tài)機是否處于狀態(tài)“狀態(tài)2”、“狀態(tài)3”...、“狀態(tài)6”的指示符。另外地,輸出TRANS_0UT可以根據(jù)狀態(tài)機轉(zhuǎn)換出給定狀態(tài),指示將被執(zhí)行的配置項目,以及輸入TRANS_IN可以根據(jù)狀態(tài)機轉(zhuǎn)換入給定狀態(tài),指示將被執(zhí)行的配置項目。在一些實施例中,SMFB200可包括多個TRANS_0UT輸出和多個TRANS_IN輸出。例如,SMFB200可以包括數(shù)目等于狀態(tài)的數(shù)目的數(shù)個TRANS_0UT輸出和數(shù)個TRANS_IN輸出(也即,每個狀態(tài)一個TRANS_0UT輸出和一個TRANS_IN輸出)。應(yīng)當理解的是,SMFB200可以包括任何數(shù)目的TRANS_0UT和TRANS_IN輸出。
[0048]SMFB200還可以包括除數(shù)據(jù)輸入外的其它輸入,諸如ENABLE輸入、TRK_VAL輸入和TRK_IN_D輸入。例如SMFB200可以包括來自另一個SMFB的輸入。進一步地,SMFB200還可包括除指示狀態(tài)或與其相關(guān)聯(lián)的配置項目的輸出外的其它輸出。將在下面更詳細地描述ENABLE、TRK_VAL和TRK_IN_D輸入。盡管圖4中示出SMFB200具有7個數(shù)據(jù)輸入和9個數(shù)據(jù)輸出,但其它實施例可以包括任何期望數(shù)目的數(shù)據(jù)輸入和數(shù)據(jù)輸出。SMFB200的數(shù)據(jù)輸入的數(shù)目和數(shù)據(jù)輸出的數(shù)目可以配置或不可以配置。在一個實施例中,輸出0UT_Dx的數(shù)目一般對應(yīng)于由SMFB200實現(xiàn)的狀態(tài)機的可能狀態(tài)的數(shù)目,并且可能的狀態(tài)數(shù)目可以是可配置的。然而,輸出0UT_D1、0UT_D2等的數(shù)目不需要對應(yīng)于狀態(tài)機的可能狀態(tài)的數(shù)目。例如,如果有少于輸出0UT_D1、0UT_D2等的數(shù)目的狀態(tài),則額外的輸出可以留置不用。
[0049]使用與配置程序相關(guān)聯(lián)的用戶接口,程序員可以配置一個或多個功能塊,諸如SMFB200。關(guān)于配置SMFB200,程序員可以指定數(shù)個可能的狀態(tài),輸入如何引起狀態(tài)機在狀態(tài)間進行轉(zhuǎn)換,以及狀態(tài)機在狀態(tài)之間轉(zhuǎn)換之前,期間或之后執(zhí)行的任何功能或動作。為允許程序員配置SMFB200,配置應(yīng)用可以在顯示設(shè)備120上顯示用戶接口機制,諸如與功能塊相關(guān)聯(lián)的配置窗口、屏幕等。
[0050]圖5是可以用于至少部分地配置諸如圖4的SMFB200的SMFB的用戶接口機制的一個示例。該用戶接口機制包括可以顯示為與SMFB相關(guān)聯(lián)的配置窗口、屏幕等的一部分的表格或矩陣300 (下文中稱為“矩陣300”)。矩陣300包括以行和列排列的多個單元(302,303,304)。如所示出的,列被設(shè)置為3個分組,其中每個分組能夠?qū)?yīng)于狀態(tài)機的多個可能狀態(tài)之一。特別地,每個分組中的中間列對應(yīng)于狀態(tài)機的特定狀態(tài),如包括在傳統(tǒng)狀態(tài)圖表中的。例如,如圖5中示出的,標記為“1”的狀態(tài)是“跳閘(TRIPPED)”狀態(tài),標記為“2”的狀態(tài)是“等待復(fù)位(WAIT FOR RESET)”,等等。根據(jù)實施例,每個分組中的左側(cè)列對應(yīng)于當轉(zhuǎn)換入下一狀態(tài)(“轉(zhuǎn)換入動作,transit1n-1n act1n”)時狀態(tài)機執(zhí)行的配置項目,每個分組中的右側(cè)列對應(yīng)于當轉(zhuǎn)換出當前狀態(tài)(“轉(zhuǎn)換出動作,transit1n-out act1n”)時狀態(tài)機執(zhí)行的配置項目。進一步地,每一行對應(yīng)于至狀態(tài)機的輸入(例如,“初始(INITIAL)”,“復(fù)位允許(RESET PERMIT)”等)。因此,單元302中的每一個(對于每一行以及列的分組重復(fù))指定轉(zhuǎn)換入動作,單元303的每一個(對于每一行以及列的分組重復(fù))指定輸入/狀態(tài)對,以及單元304的每一個(對于每一行以及列的分組重復(fù))指定轉(zhuǎn)換出動作。應(yīng)當理解的是,單元302,303,304的分組可以集合成單個單元。進一步地,應(yīng)當理解的是,單元302,303,304中的每一個可以是對應(yīng)于特定狀態(tài)的單元的子單元。盡管示例矩陣300包括對于7個輸入的行以及6個狀態(tài)的分組,具有不同數(shù)目的狀態(tài)和輸出的分組的類似矩陣可以用于具有不同數(shù)目的輸入和狀態(tài)的分組的SMFB。輸入和狀態(tài)的分組的數(shù)目可以是可配置的。在其他示例中,行可以對應(yīng)于狀態(tài)機的多個可能狀態(tài)之一(以及與其相關(guān)聯(lián)的轉(zhuǎn)換入和轉(zhuǎn)換出動作),以及每一列可以對應(yīng)于至狀態(tài)機的輸入。
[0051]在運行中,當狀態(tài)機處于當前狀態(tài)時,狀態(tài)機能夠基于在該狀態(tài)機上被置為有效(assert)的輸入而從當前狀態(tài)轉(zhuǎn)換至下一狀態(tài)。例如,矩陣300能夠指定如果狀態(tài)機處于“正常運作(NORMAL OPERAT1N) ”狀態(tài)(當前狀態(tài))并且“請求跳閘(TRIPPED REQUESTED)”輸入被置為有效,那么狀態(tài)機應(yīng)當轉(zhuǎn)換至“跳閘(TRIPPED) ”狀態(tài)(下一狀態(tài))。在一些情況下,某些狀態(tài)可以不指定對于某一輸入的下一狀態(tài)轉(zhuǎn)換。
[0052]根據(jù)實施例,由每一分組中的右邊列指定的轉(zhuǎn)換出動作可以是SMFB根據(jù)轉(zhuǎn)換出當前狀態(tài)而執(zhí)行的一個或多個配置項目,以及由每一分組中的左邊列指定的轉(zhuǎn)換入動作可以是SMFB根據(jù)轉(zhuǎn)換入下一狀態(tài)而執(zhí)行的一個或多個配置項目。在一些實施例中,一個或多個配置項目可以是邏輯的,以定義執(zhí)行的動作的結(jié)構(gòu)化文本或更高層計算機構(gòu)造(例如,C,C++,JAVA等)的形式。應(yīng)當理解的是,一個或多個配置項目可以是以任何類型的編碼或可執(zhí)行邏輯的形式。一個或多個配置項目可以是SMFB在當前狀態(tài)至下一狀態(tài)的轉(zhuǎn)換上執(zhí)行的單個一次性的項目,由此,在一些情形下,一旦到達下一狀態(tài),一個或多個配置項目不再繼續(xù)運行。SMFB首先可以執(zhí)行轉(zhuǎn)換出動作(也即,離開當前狀態(tài)使得SMFB執(zhí)行轉(zhuǎn)換出動作),而不管SMFB正在向哪一狀態(tài)轉(zhuǎn)換,以及SMFB可以在穩(wěn)定于下一狀態(tài)之前執(zhí)行轉(zhuǎn)換入動作(也即,輸入下一狀態(tài)使得SMFB執(zhí)行轉(zhuǎn)換入動作),而不管SMFB正從哪一狀態(tài)轉(zhuǎn)換來。在一些情形下,配置項目(也即,轉(zhuǎn)換入和轉(zhuǎn)換出動作)可以作用于SMFB之外的其他元件或?qū)嶓w(例如,另一功能塊)。應(yīng)當理解的是,可以構(gòu)想出與轉(zhuǎn)換入動作,轉(zhuǎn)換出動作和狀態(tài)改變相關(guān)聯(lián)的其他時間上的元件。
[0053]參考圖4,矩陣300的輸入“ 1 ”至“7”分別對應(yīng)于SMFB200的輸入IN_D1至IN_D7。相似地,矩陣300的狀態(tài)“ 1”至“6”分別對應(yīng)于SMFB200的輸出0UT_D1至0UT_D6。另外,在該示例中程序員可以標記每個可能狀態(tài)和/或每個輸入。例如,在圖5中,“狀態(tài)1”被標記為“跳閘(TRIPPED) ”,輸入1被標記為“初始(INITIAL) ”。標記輸入和/或狀態(tài)可以幫助理解狀態(tài)機的操作。
[0054]程序員可以通過將配置信息輸入到單元302,303,304中來配置SMFB200。特別地,對于對應(yīng)于輸入/狀態(tài)對的一個特定單元,程序員可以將指示SMFB200應(yīng)該向其轉(zhuǎn)換的狀態(tài)的配置數(shù)據(jù)輸入到特定單元中。進一步地,對于對應(yīng)于轉(zhuǎn)換入動作的特定單元,程序員可以將指示當轉(zhuǎn)換入下一狀態(tài)時SMFB200執(zhí)行的動作的配置數(shù)據(jù)輸入到特定單元中。仍進一步地,對于對應(yīng)于轉(zhuǎn)換出動作的特定單元,程序員可以將指示當從當前狀態(tài)轉(zhuǎn)換時SMFB200執(zhí)行的動作的配置數(shù)據(jù)輸入到特定單元。
[0055]SMFB200可以在狀態(tài)機轉(zhuǎn)換出當前狀態(tài)之后,基于相應(yīng)的轉(zhuǎn)換出配置數(shù)據(jù)將TRANS_0UT輸出置為有效,以執(zhí)行功能。在一些實施例中,SMFB200可以在狀態(tài)機轉(zhuǎn)換出當前狀態(tài)之前,將TRANS_0UT輸出置為有效。SMFB200可以在狀態(tài)機轉(zhuǎn)換出當前狀態(tài)之后(或者否則在轉(zhuǎn)換出當前狀態(tài)之前)以及在狀態(tài)機適應(yīng)于下一狀態(tài)之前,基于相應(yīng)的轉(zhuǎn)換入配置數(shù)據(jù)將TRANS_IN輸出置為有效。在一些實施例中,SMFB200可以在狀態(tài)機適應(yīng)于下一狀態(tài)之后,將TRANS_IN輸出置為有效。在一些情形下,SMFB200可以將對應(yīng)于轉(zhuǎn)換出動作或轉(zhuǎn)換入動作的配置項目作為輸入提供給額外的SMFB或過程控制設(shè)備以使得額外的SMFB或過程控制設(shè)備執(zhí)行功能,而與此同時SMFB200要么轉(zhuǎn)換出當前狀態(tài)要么轉(zhuǎn)換入下一狀態(tài)。因此,第一 SMFB的TRANS_0UT輸出的激活可以引起第二 SMFB轉(zhuǎn)換至下一狀態(tài)。例如,在第一SMFB控制蒸汽鍋爐的過程工廠中,指示第一 SMFB從關(guān)閉狀態(tài)轉(zhuǎn)換至點燃狀態(tài)的第一 SMFB的TRANS_0UT輸出可以在第一 SMFB點燃鍋爐之前,使得控制鍋爐排氣風(fēng)扇的第二 SMFB從風(fēng)扇關(guān)閉狀態(tài)轉(zhuǎn)換至風(fēng)扇運行狀態(tài)一段時間。因此,在鍋爐被點燃之前,鍋爐內(nèi)建立的任何爆炸氣體都被排放掉了。
[0056]圖6是具有輸入到單元的一些中的配置數(shù)據(jù)的矩陣300的一個示例。例如,單元303A包括指示當狀態(tài)機處于“跳閘”狀態(tài)并且將“復(fù)位允許(RESET PERMIT) ”輸入置為有效時狀態(tài)機應(yīng)該轉(zhuǎn)換至的下一狀態(tài)的配置數(shù)據(jù)。特別地,單元303A的配置數(shù)據(jù)指示狀態(tài)機應(yīng)該轉(zhuǎn)換到“準備好復(fù)位(READY FOR RESET)”狀態(tài)。進一步地,單元302A包括對應(yīng)于當轉(zhuǎn)換入“準備好復(fù)位”狀態(tài)時SMFB應(yīng)當執(zhí)行的“動作A (ACT1N A) ”的配置數(shù)據(jù),以及單元304A包括對應(yīng)于當從“跳閘”狀態(tài)轉(zhuǎn)換時SMFB應(yīng)當執(zhí)行的“動作B (ACT1N B) ”的配置數(shù)據(jù)。類似地,單元303B包括指示當“復(fù)位(RESET)”輸入被置為有效時狀態(tài)機應(yīng)當(從“準備好復(fù)位”)轉(zhuǎn)換至“等待開始(WAITING FOR START) ”狀態(tài)的配置數(shù)據(jù),單元302B包括對應(yīng)于當轉(zhuǎn)換入“等待開始”狀態(tài)時狀態(tài)機應(yīng)當執(zhí)行的“動作C(ACT10N C) ”的配置數(shù)據(jù),以及單元304B包括對應(yīng)于當從“準備好復(fù)位”狀態(tài)轉(zhuǎn)換時狀態(tài)機應(yīng)當執(zhí)行的“動作D(ACT1ND) ”的配置數(shù)據(jù)。應(yīng)當理解的是,動作A,動作B,動作C,動作D等可以對應(yīng)于在此描述的可由SMFB或其他元件執(zhí)行的任何功能或動作。
[0057]此外,特定單元或單元組可以包括轉(zhuǎn)換入動作而不包括轉(zhuǎn)換出動作,反之亦然。例如,單元303C包括指示當在“請求跳閘”輸入被置為有效時狀態(tài)機應(yīng)當(從“等待開始”狀態(tài))轉(zhuǎn)換至“跳閘”狀態(tài)的配置數(shù)據(jù),以及單元302C包括對應(yīng)于當轉(zhuǎn)換入“跳閘”狀態(tài)時狀態(tài)機應(yīng)當執(zhí)行的“動作E (ACT1N E) ”的配置數(shù)據(jù)。然而,單元303C不具有相應(yīng)的TRANS_OUT配置項目。因此,如果狀態(tài)機處于“等待開始”狀態(tài)并且“請求跳閘”輸入被置為有效,那么SMFB可以根據(jù)從“等待開始”轉(zhuǎn)換至“跳閘”來執(zhí)行動作E (ACT1N E) ”。類似地,輸入/狀態(tài)對(例如在單元303D中的輸入/狀態(tài)對)可以不具有相應(yīng)的TRANS_IN或TRANS_OUT配置項目的任一個。因此,狀態(tài)機可以從當前狀態(tài)轉(zhuǎn)換至下一狀態(tài),而無需執(zhí)行相應(yīng)的TRANS_IN或TRANS_0UT配置項目的任一個。
[0058]在一些實施例中,如果程序員沒有輸入配置數(shù)據(jù)到單元中,則可以假定對于那個特定狀態(tài)和輸入,不應(yīng)發(fā)生狀態(tài)轉(zhuǎn)換。例如,單元302E,303E和304E不包括配置數(shù)據(jù),指示當狀態(tài)機處于“跳閘(TRIPPED)”狀態(tài)并且將“開始恢復(fù)(START RECOVER) ”輸入置為有效時,狀態(tài)機應(yīng)保留在“跳閘(TRIPPED)”狀態(tài)并且不應(yīng)當執(zhí)行任何動作。在另一個實施例中,程序員可以輸入指示對于那個特定狀態(tài)/輸入組合,狀態(tài)機不應(yīng)改變狀態(tài)的配置數(shù)據(jù)。
[0059]程序員可以使用包括本領(lǐng)域的普通技術(shù)人員所熟知的技術(shù)的任何類型的技術(shù),將配置數(shù)據(jù)輸入到矩陣300中。例如,為了將配置數(shù)據(jù)輸入到單元中,程序員可以使用鼠標、跟蹤球、觸摸屏等來選擇單元。然后,用戶可以通過,例如鍵盤或其他輸入設(shè)備直接將配置數(shù)據(jù)輸入到單元中。替代地,程序員可以選擇單元,然后從下拉菜單選擇“編輯”、“修改”等選項,或選擇“編輯”按鈕、“修改”按鈕等。然后,用戶接口可以通過下拉菜單、窗口、顯示屏等向程序員顯示狀態(tài)列表??蛇x地,該狀態(tài)列表可以包括單元對應(yīng)的狀態(tài)或“不轉(zhuǎn)換(N0TRANSIT1N) ”選項。然后,程序員可以使用,例如鍵盤、鼠標、跟蹤球、觸摸屏等選擇狀態(tài)之一。如果程序員選擇單元對應(yīng)的狀態(tài)或“不轉(zhuǎn)換(NO TRANSIT1N)”選項,則配置數(shù)據(jù)將指示對于該狀態(tài)和輸入組合,不應(yīng)發(fā)生轉(zhuǎn)換。
[0060]與使用例如順序功能圖表或諸如C++的編程語言相比,使用包括諸如矩陣300的矩陣的用戶接口來配置SMFB可以使實現(xiàn)狀態(tài)機更容易。例如,使用C++程序等實現(xiàn)狀態(tài)機將涉及首先創(chuàng)建具有相關(guān)聯(lián)的轉(zhuǎn)換動作的狀態(tài)轉(zhuǎn)換圖表,然后編寫實現(xiàn)該圖表的程序。然后,在一些情形下,在過程控制系統(tǒng)中實現(xiàn)之前,必須對程序進行測試和調(diào)試。然而,使用諸如矩陣300的矩陣來配置SMFB,不需要編寫程序。并且,“編程”僅僅涉及以與其相關(guān)聯(lián)的狀態(tài)和轉(zhuǎn)換動作來填寫矩陣。另外,由于不需要編寫軟件代碼,因此也不需要調(diào)試和測試代碼。并且,測試僅僅涉及測試狀態(tài)、轉(zhuǎn)換入動作、轉(zhuǎn)換出動作和輸入的各種組合以驗證SMFB進入到正確的下一狀態(tài)且執(zhí)行期望的轉(zhuǎn)換動作。在一些情形下,僅通過檢查矩陣300就可容易地理解SMFB的功能。因此,配置后的SMFB的功能可以例如通過打印出矩陣的表示來容易地進行文檔記錄。
[0061]例如,根據(jù)諸如矩陣300的矩陣來配置的SMFB可以用在安全系統(tǒng)或過程控制系統(tǒng)中。僅僅作為一個示例,根據(jù)諸如矩陣300的矩陣來配置的SMFB可以用作安全系統(tǒng)的一部分,用于管理過程工廠中的燃燒爐。例如,SMFB可以包括諸如“點火(IGNITE) ”、“關(guān)氣(SHUTOFF GAS)”和“排出(VENT)”的狀態(tài)。當啟動燃燒爐時,SMFB可以首先進入到排出狀態(tài)以使燃燒爐中的任何氣體排放。然后,SMFB可以進入到點火狀態(tài)以點燃燃燒爐。并且,如果燃燒爐的火焰出來的話,SMFB可以進入到關(guān)氣狀態(tài)以關(guān)閉至燃燒爐的氣體。然后,SMFB可以進入到排出狀態(tài)。另外,SMFB可以包括轉(zhuǎn)換入和轉(zhuǎn)換出動作以有助于安全系統(tǒng)。例如,SMFB200B可以包括與轉(zhuǎn)換入排出狀態(tài)相關(guān)聯(lián)的轉(zhuǎn)換入動作,由此該轉(zhuǎn)換入動作激活操作員指示符以通知操作員該燃燒爐正在排氣。此外,SMFB可以包括與轉(zhuǎn)換出排出狀態(tài)相關(guān)聯(lián)的轉(zhuǎn)換出動作,由此,該轉(zhuǎn)換出動作通知操作員燃燒爐被完全排氣。替換地,第一 SMFB(例如,燃燒爐控制SMFB)的TRANS_0UT或TRANS_IN輸出可以作為輸入提供給另一 SMFB(例如,燃燒爐通風(fēng)系統(tǒng)控制SMFB)或其他過程控制設(shè)備以引起其他SMFB或過程控制設(shè)備執(zhí)行功能,而與此同時第一 SMFB正轉(zhuǎn)換出當前狀態(tài)和/或轉(zhuǎn)換入下一狀態(tài)。
[0062]根據(jù)諸如矩陣300的矩陣來配置的SMFB可以由一個或多個控制器12a、16a、1/0設(shè)備24、邏輯求解器50和設(shè)備22、23、60、62來實現(xiàn)。在一些實施例中,可以由根據(jù)軟件由可編程邏輯設(shè)備配置的處理器來實現(xiàn)SMFB,該可編程邏輯設(shè)備可以是例如包括門陣列、標準單元、現(xiàn)場可編程門陣列(FPGA)、PR0M、EPR0M、EEPR0M、可編程陣列邏輯(PAL)、可編程邏輯陣列(PLA)等中的一個或多個的設(shè)備。
[0063]與SMFB相關(guān)聯(lián)的配置數(shù)據(jù)(例如,輸入到諸如矩陣300的矩陣的數(shù)據(jù)和可選地其它配置數(shù)據(jù))可以存儲在諸如硬盤、RAM、ROM、CD-ROM、EPROM、EEPROM、DVD、閃存等的計算機可讀介質(zhì)上,和/或與處理器相關(guān)聯(lián)的存儲器上。
[0064]圖7是配置的SMFB的操作的示例方法350的流程圖??梢灾芷诘睾?或響應(yīng)于例如觸發(fā)事件來實現(xiàn)方法350。在塊354中,SMFB接收其數(shù)據(jù)輸入。例如參考圖4A,SMFB接收輸入IN_D1至IN_D7。在塊356,SMFB基于當前狀態(tài)和/或數(shù)據(jù)輸入,執(zhí)行適當?shù)霓D(zhuǎn)換出動作。特別地,SMFB能夠使用存儲在配置數(shù)據(jù)庫中的相關(guān)聯(lián)的轉(zhuǎn)換出配置數(shù)據(jù)執(zhí)行轉(zhuǎn)換出動作。在塊357中,SMFB基于下一狀態(tài)(由當前狀態(tài)和數(shù)據(jù)輸入所指示的)執(zhí)行適當?shù)霓D(zhuǎn)換入動作。特別地,SMFB能夠使用存儲在配置數(shù)據(jù)庫中的相關(guān)聯(lián)的轉(zhuǎn)換入配置數(shù)據(jù)執(zhí)行轉(zhuǎn)換入動作。
[0065]在塊358,如果需要,SMFB基于數(shù)據(jù)輸入、SMFB的當前狀態(tài)和存儲在配置數(shù)據(jù)庫中的配置數(shù)據(jù)來改變其狀態(tài)機的狀態(tài)。例如,SMFB將當前狀態(tài)設(shè)置為確定的下一狀體。配置數(shù)據(jù)庫的數(shù)據(jù)可以包括通過諸如矩陣300的矩陣輸入的數(shù)據(jù)。狀態(tài)也可以基于其它因素而被改變。例如,如將在下面詳述的那樣,SMFB可以被配置為忽略一個或多個數(shù)據(jù)輸入。因此,如果有的話,改變狀態(tài)也可以基于指示哪些數(shù)據(jù)輸入將要被忽略的配置數(shù)據(jù)。作為另一個示例,兩個或多個數(shù)據(jù)輸入可以指示應(yīng)該從當前狀態(tài)到兩個或多個下一狀態(tài)發(fā)生狀態(tài)改變。因此,SMFB可以選擇數(shù)據(jù)輸入之一,以基于對數(shù)據(jù)輸入授予優(yōu)先級的優(yōu)先級數(shù)據(jù),確定SMFB應(yīng)當轉(zhuǎn)換到可能的下一狀態(tài)中的哪一個。作為另一個示例,在一些實施例中,到SMFB的數(shù)據(jù)輸入可以包括狀態(tài)(例如,好(GOOD)狀態(tài)或壞(BAD)狀態(tài))。因此,改變狀態(tài)也可以基于,例如指示應(yīng)如何處理具有壞狀態(tài)的輸入的配置數(shù)據(jù)。
[0066]然后,在塊366中,SMFB可以基于狀態(tài)機的當前狀態(tài)設(shè)置其數(shù)據(jù)輸出。例如,SMFB可以將STATE輸出(以及適當?shù)?UT_Dx)設(shè)置為狀態(tài)機的當前狀態(tài)。進一步地,SMFB可以設(shè)置TRANS_0UT輸出,用于指示根據(jù)狀態(tài)機轉(zhuǎn)換出當前狀態(tài)將要執(zhí)行的轉(zhuǎn)換出動作,以及可以設(shè)置TRANS_IN輸出,用于指示根據(jù)狀態(tài)機轉(zhuǎn)換入下一狀態(tài)將要執(zhí)行的轉(zhuǎn)換入動作。
[0067]再次參考圖4,SMFB可以可選地包括“使能(ENABLE) ”輸入。在一個實施例中,如果將ENABLE輸入置為無效(deassert),則SMFB被強制進入禁用狀態(tài)(例如,狀態(tài)0)并應(yīng)保留在該狀態(tài)直到將ENABLE輸入置為有效。當隨后將ENABLE輸入置為有效時,SMFB可以被強制進入初始狀態(tài)(例如,狀態(tài)1),其后SMFB可以根據(jù)輸入到諸如圖5的矩陣300的配置矩陣中的配置數(shù)據(jù)而轉(zhuǎn)換到其它狀態(tài)。
[0068]SMFB可以另外地包括強制狀態(tài)機進入期望狀態(tài)的一個輸入或多個輸入。例如,SMFB200包括TRK_IN_D輸入和TRK_VAL輸入。當將TRK_IN_D輸入置為有效時,可以強制SMFB進入由TRK_VAL輸入指定的狀態(tài)。例如,如果TRK_VAL輸入為“6”并且將TRK_IN_D輸入置為有效,則可以強制SMFB進入狀態(tài)“6”。
[0069]SMFB可以可選地以另外的方式來配置。例如,SMFB可以包括指示如果有的話,是否應(yīng)該忽略輸入IN_D1,IN_D2等中的一個或多個的輸入(或轉(zhuǎn)換)屏蔽。而且,SMFB可以被配置為對可以具有多種狀態(tài)的輸入作出響應(yīng)。例如,到SMFB的一個或所有輸入可以具有“好”狀態(tài)或“壞”狀態(tài),SMFB可以被配置為根據(jù)輸入的狀態(tài)作出不同響應(yīng)。在一個特定示例中,SMFB可以被配置為忽略是“壞”的輸入、即使是“壞”也使用該輸入、或使用該輸入的最后一個“好”值。進一步地,SMFB可以包括復(fù)位(RESET)參數(shù),當該參數(shù)為真時,強制SMFB進入“1”狀態(tài)。
[0070]上述各種配置數(shù)據(jù)和下一狀態(tài)配置數(shù)據(jù)可以存儲在同一計算機可讀介質(zhì)上或不同的計算機可讀介質(zhì)上。
[0071]圖8是SMFB400的一個示例的方框圖。SMFB400包括邏輯404,其至少部分地基于輸入IN_D1,IN_D2等和SMFB400的當前狀態(tài)來確定下一狀態(tài)。特別地,邏輯404訪問存儲在下一狀態(tài)配置數(shù)據(jù)庫406中的下一狀態(tài)配置數(shù)據(jù)。邏輯404還確定將由SMFB400執(zhí)行的轉(zhuǎn)換入和轉(zhuǎn)換出動作功能。轉(zhuǎn)換入動作可以至少部分地基于來自轉(zhuǎn)換出配置數(shù)據(jù)庫405的轉(zhuǎn)換入配置數(shù)據(jù)。轉(zhuǎn)換出動作可以至少部分地基于來自轉(zhuǎn)換出配置數(shù)據(jù)庫407的轉(zhuǎn)換出配置數(shù)據(jù)。根據(jù)在此描述的實施例,轉(zhuǎn)換入配置數(shù)據(jù)可以定義在SMFB適應(yīng)于下一狀態(tài)之前SMFB執(zhí)行的功能,以及轉(zhuǎn)換出配置數(shù)據(jù)可以定義在轉(zhuǎn)換出當前狀態(tài)之前(或者否則在轉(zhuǎn)換入下一狀態(tài)之前)SMFB執(zhí)行的功能。數(shù)據(jù)庫405,406,407可以存儲在諸如在此描述的計算機可讀介質(zhì)上。下一狀態(tài),轉(zhuǎn)換入和轉(zhuǎn)換出配置數(shù)據(jù)可以包括輸入到諸如圖5的矩陣300的矩陣中的配置數(shù)據(jù)。應(yīng)當理解的是,各種元件,邏輯或模塊可以執(zhí)行轉(zhuǎn)換入和/或轉(zhuǎn)換出配置數(shù)據(jù)。例如,SMFB400可以執(zhí)行轉(zhuǎn)換入和/或轉(zhuǎn)換出配置數(shù)據(jù)。又例如,SMFB400可以發(fā)送命令至單獨的元件或模塊以執(zhí)行轉(zhuǎn)換入和/或轉(zhuǎn)換出配置數(shù)據(jù)。
[0072]根據(jù)一些實施例,邏輯404的輸出被提供到切換邏輯408。切換邏輯408基于TRK_IN_D輸入在邏輯404的輸出和TRK_VAL輸入之間進行選擇。例如,如果將TRK_IN_D輸入置為有效,則切換邏輯408可以選擇TRK_VAL輸入。否則,切換邏輯408可以選擇邏輯404的輸出。
[0073]切換邏輯408的輸出被提供到切換邏輯412,該切換邏輯412基于使能和復(fù)位邏輯416的輸出在切換邏輯408的輸出、值0和值1之間進行選擇。使能和復(fù)位邏輯416的輸出指示是否應(yīng)強制狀態(tài)進入禁用狀態(tài)(狀態(tài)0)或初始狀態(tài)(狀態(tài)1)。使能和復(fù)位邏輯416基于ENABLE輸入產(chǎn)生該輸出。例如,如果將ENABLE輸入置為無效,則使能和復(fù)位邏輯416的輸出可以指示狀態(tài)應(yīng)被強制為0。如果將ENABLE輸入從無效改變到有效,則使能和復(fù)位邏輯416的輸出可以指示狀態(tài)應(yīng)被強制為1。如果將ENABLE置為有效并且是在先前有效的,使能和復(fù)位邏輯416的輸出可以指示狀態(tài)不應(yīng)被強制為0或1。
[0074]切換邏輯412的輸出是SMFB400的當前狀態(tài),并可被提供為SMFB400的輸出。切換邏輯412的輸出還可以被提供到設(shè)置對應(yīng)于SMFB的當前狀態(tài)的適當輸出0UT_D1,0UT_D2,TRANS_IN,TRANS_0UT等的邏輯420。如圖8中描繪的,邏輯420可選地可以訪問存儲在可選的輸出配置數(shù)據(jù)庫458中的狀態(tài)/輸出配置數(shù)據(jù)。數(shù)據(jù)庫458和數(shù)據(jù)庫460可以存儲在相同的計算機可讀介質(zhì)或不同的計算機可讀介質(zhì)上。數(shù)據(jù)配置數(shù)據(jù)可以包括被輸入至諸如圖13的矩陣700的矩陣中的配置數(shù)據(jù),如在此描述的。
[0075]塊404、408、412、416和420中的每個都可以由一個或多個硬件、軟件和固件來實現(xiàn)。另外,一些塊可以被組合、重新排序、修改或省略,并且可以添加額外的塊。僅僅作為一個示例,塊408和412可以組合到單個塊中。
[0076]圖9是示例SMFB400的操作的方法450的流程圖??梢岳缰芷诘睾?或基于觸發(fā)事件來實現(xiàn)圖9的方法450。在塊454,處理SMFB400的數(shù)據(jù)輸入。例如,可以確定是否已將任何數(shù)據(jù)輸入IN_D1,IN_D2等置為有效。作為另一個示例,如果一個或多個數(shù)據(jù)輸入具有“BAD(壞)”狀態(tài),可以確定如何處理“BAD”輸入。在塊458,處理SMFB400的ENABLE輸入。例如,可以確定是否將ENABLE輸入置為有效和/或自其先前被處理起它是否已改變。
[0077]在塊459,SMFB例如通過訪問存儲在配置數(shù)據(jù)庫中的相關(guān)聯(lián)的轉(zhuǎn)換出配置數(shù)據(jù)來基于當前狀態(tài)和/或數(shù)據(jù)輸入執(zhí)行適當?shù)霓D(zhuǎn)換出動作。在塊460,SMFB例如通過訪問存儲在配置數(shù)據(jù)庫中的相關(guān)聯(lián)的轉(zhuǎn)換入配置數(shù)據(jù)來基于下一狀態(tài)和/或數(shù)據(jù)輸入執(zhí)行適當?shù)霓D(zhuǎn)換入動作。例如,SMFB可以被配置為控制過程工廠中的一件設(shè)備。當該件設(shè)備處于關(guān)閉狀態(tài)(也即,當前狀態(tài))時,可以在設(shè)備啟動輸入被激活且該件設(shè)備將轉(zhuǎn)換至運行狀態(tài)(也即,下一狀態(tài))時,執(zhí)行下一狀態(tài)配置數(shù)據(jù)。在真正地轉(zhuǎn)換出關(guān)閉狀態(tài)之前,SMFB可以執(zhí)行轉(zhuǎn)換出配置數(shù)據(jù)以激活指示該件設(shè)備將啟動的警報。此外,在適應(yīng)于運行狀態(tài)之前,SMFB可以執(zhí)行轉(zhuǎn)換入配置數(shù)據(jù)以使警報安靜下來。
[0078]又例如,SMFB可以被配置為控制倉庫中的多件加熱設(shè)備。當過程工廠處于加熱狀態(tài)(也即,當前狀態(tài)),可以將輸入置為有效以啟動對應(yīng)于轉(zhuǎn)換至通風(fēng)狀態(tài)的通風(fēng)設(shè)備。在從加熱狀態(tài)轉(zhuǎn)換期間,SMFB可以自動地鎖住熔爐或者其他加熱源以阻止加熱源產(chǎn)生更多的熱量。因此,在轉(zhuǎn)換至通風(fēng)狀態(tài)后,可以阻止熔爐運作。進一步地,在轉(zhuǎn)換入通風(fēng)狀態(tài)之前,SMFB可以自動地激活與通風(fēng)設(shè)備相關(guān)聯(lián)的一系列排氣口,用于幫助相應(yīng)的機器的排氣。
[0079]在塊462,如果需要,可以改變SMFB400的狀態(tài)。另外,如果需要,可以改變或設(shè)置SMFB400的一個或多個數(shù)據(jù)輸出。例如,可以確定數(shù)據(jù)輸入中的變化指示應(yīng)該改變SMFB400的狀態(tài)。另外,如果狀態(tài)改變,可以是應(yīng)該改變SMFB400的一個或多個數(shù)據(jù)輸出,例如TRANS_IN 和 TRANS_0UT 輸出。
[0080]現(xiàn)在將描述至少部分地可用于實現(xiàn)方法450的幾個示例例程。例如,圖10是可用于處理至SMFB的數(shù)據(jù)輸入IN_D1,IN_D2等的示例例程500的流程圖。在塊504,將變量z設(shè)置為I。在塊508,確定數(shù)據(jù)輸入IN_Dz的狀態(tài)是否為“BAD (壞)”。如果該狀態(tài)不是壞的,則將變量TRANSIT1NS的比特號z設(shè)置為數(shù)據(jù)輸入IN_Dz的值。如果該狀態(tài)是壞的,則可以確定將要如何處理該數(shù)據(jù)輸入。在一個示例中,SMFB可以以三種方式之一處理“BAD”輸入:可以任意使用BAD輸入(ALWAYS_USE),可以忽略它(IGN0RE_IF_BAD),或可使用最后一個“GOOD”輸入(USE_LAST_G00D)。因此,在塊516,可以確定SMFB是否要使用最后一個“GOOD”數(shù)據(jù)輸入。如果SMFB要使用最后一個“GOOD”值,則可以跳過塊512。否則,其后可以在塊520確定是否SMFB要忽略BAD輸入值。如果SMFB不忽略BAD值,則例程會進行到塊512。如果SMFB要忽略BAD值,則例程會進行到塊524。在塊524,將變量TRANSIT1NS的比特號“z”設(shè)置為O。
[0081 ] 在塊528,遞增變量z,并且在塊532,可以確定變量z是否大于至SMFB的數(shù)據(jù)輸入的數(shù)目。如果z不大于至SMFB的數(shù)據(jù)輸入的數(shù)目,則例程可以回到塊508以處理下一數(shù)據(jù)輸入。否則,例程結(jié)束。
[0082]圖11是可用于處理到SMFB的ENABLE輸入的示例例程545的流程圖。在塊550,可以確定變量LASTENABLE的值是否與ENABLE輸入的值相同。LASTENABLE變量一般指示在前一時間的ENABLE的值(例如,在例程545的前一運行期間ENABLE變量的值)。如果LASTENABLE和ENABLE的值相同,則例程545結(jié)束。否則,例程進行到塊554,在該塊554可以確定是否將ENABLE輸入置為有效。如果將ENABLE輸入置為有效,則在塊558可將變量RESET 設(shè)置為 TRUE。
[0083]如果在塊554確定沒有將ENABLE輸入置為有效,則在塊562,將對應(yīng)于STATE變量的當前值的榆出0UT_D1,0UT_D2等置為無效。然后,在塊566,將STATE變量設(shè)置為O。在塊558和566之后,例程進行到塊570,在塊570將變量LASTENABLE設(shè)置為ENABLE輸入的值。在塊570之后,例程結(jié)束。
[0084]圖12是可用于確定SMFB的下一狀態(tài)和如果需要可用于設(shè)置適當?shù)?UT_D1,0UT_D2,TRANS_IN, TRANS_0UT等的示例例程600的流程圖。在塊604,可以確定是否將ENABLE輸入置為有效。如果沒有,則例程結(jié)束。如果將ENABLE輸入置為有效,則例程進行到塊608,在塊608將變量NEWSTATE設(shè)置為O。然后,在塊612,可以確定是否將輸入TRK_IN_D置為有效。如果將輸入TRK_IN_D置為有效,則例程進行到塊616,在塊616將NEWSTATE變量設(shè)置為輸入TRK_VAL的值。
[0085]如果在塊612確定沒有將TRK_IN_D輸入置為有效,則例程可以進行到塊620。在塊620,可以確定變量RESET是否為TRUE。如果是TRUE,則例程進行到塊624,在塊624可將NEWSTATE變量設(shè)置為I。然后,在塊626,將RESET變量設(shè)置為FALSE。
[0086]如果在塊620確定變量RESET不是TRUE,則例程進行到塊632。在塊632,可以通過按比特對TRANSIT1N_MASK變量、TRANSIT1NS變量和由變量STATE指向的陣列STATECHANGEMASK的元素進行“邏輯與(ANDing) ”運算來確定變量TEMP。TRANSIT1N_MASK變量可以是能夠用于防止某輸入IN_Dx引起狀態(tài)變化發(fā)生的可配置變量。例如,如果程序員希望防止輸入IN_D3引起狀態(tài)機改變狀態(tài),則該程序員可將變量TRANSIT1N_MASK的第三比特設(shè)置為O。如果該程序員希望輸入D3引起狀態(tài)機改變狀態(tài),則該程序員可將變量TRANSIT1N_MASK的第三比特設(shè)置為I。
[0087]STATECHANGEMASK陣列的每個元素可以是指示對于一個相應(yīng)的狀態(tài)哪個輸入IN_Dl, IN_D2等將引起狀態(tài)改變的變量。特別地,陣列的每個元素對應(yīng)于狀態(tài)機的一種狀態(tài)。例如,STATECHANGEMASK [I]可對應(yīng)于狀態(tài)1,STATECHANGEMASK [2]可對應(yīng)于狀態(tài)2等。另夕卜,每個元素的每比特可對應(yīng)于輸入IN_D1,IN_D2等中的一個。例如,比特I可對應(yīng)于IN_Dll,比特2可對應(yīng)于IN_D2等。例如參考圖6,對于矩陣300,STATECHANGEMASK陣列具有6個元素,并且元素STATECHANGEMASK[3]將為0X44。
[0088]在塊628之后,例程進行到塊632,在塊632可確定變量TEMP是否為O。如果不是0,則例程進行到塊636,在塊636可將變量z設(shè)置為變量TEMP中不是O的第一個比特(即,從最低有效比特開始)的編號。實際上,這根據(jù)它們的次序設(shè)置了輸入的優(yōu)先級,從而IN_Dl具有最高優(yōu)先級,IN_D2具有次高優(yōu)先級,IN_D3具有再次高優(yōu)先級等。在其它實施例中,可以使用其它優(yōu)先級方案。例如,可允許程序員對輸入指定優(yōu)先級,或可使用不同的優(yōu)先級次序(例如,IN_D1具有最低優(yōu)先級,IN_D2具有次低優(yōu)先級等)。這些優(yōu)先級可以作為整體為SMFB設(shè)置或?qū)τ诿糠N狀態(tài)設(shè)置。然后,在塊640,可以將變量NEWSTATE設(shè)置為處于行z和列STATE的狀態(tài)轉(zhuǎn)換矩陣的值。
[0089]在塊616、626和640后,例程可進行到塊644。如果在塊632,確定變量TEMP為0,則例程進行到塊644。在塊644,可確定變量NEWSTATE是否為O。如果為0,則例程結(jié)束。如果不為0,則例程進行到塊645,在塊645可以執(zhí)行轉(zhuǎn)換出動作。然后,在塊646,可以執(zhí)行轉(zhuǎn)換入動作。在塊648,將對應(yīng)于STATE變量的輸出0UT_D1,0UT_D2, TRANS_IN, TRANS_0UT等置為無效。應(yīng)當理解的是,被置為無效的輸出不必對應(yīng)于STATE變量。在塊652,將變量STATE設(shè)置為變量NEWSTATE的值。在塊656,將對應(yīng)于STATE變量的輸出0UT_D1,0UT_D2,TRANS_IN, TRANS_OUT等置為有效,并且例程結(jié)束。應(yīng)當理解的是,被置為有效的輸出不必對應(yīng)于STATE變量。
[0090]應(yīng)當理解圖9的方法450和圖10-12的例程僅僅是示例,在其它示例中,可以修改塊、添加新塊、重新排序塊、省略塊、和/或組合塊。參考圖10,僅作為一個示例,如果不需要或不希望對具有“BAD”狀態(tài)的輸入的特別處理,則可省略塊508、516、520和524。
[0091]作為另一個不例,可以修改塊636,以便將變量z設(shè)置為TEMP中不為O的最后一個比特的編號。作為另一個示例,可以修改塊636以基于一些優(yōu)先級數(shù)據(jù)將z設(shè)置為對應(yīng)于TEMP中不為O的一個比特的編號。
[0092]再次參考圖4,所有數(shù)據(jù)輸出不必是對應(yīng)于SMFB200的狀態(tài)機的狀態(tài)的指示符。例如,在一個實施例中,對應(yīng)于狀態(tài)機的各種狀態(tài)的輸出0UT_D1,0UT_D2等的值可以是可配置的。因此,例如對于特定狀態(tài),可以將多個輸出0UT_D1,0UT_D2等置為有效。為允許程序員配置SMFB,配置應(yīng)用可以在顯示設(shè)備120上顯示用戶接口機制,諸如與功能塊相關(guān)聯(lián)的配置窗口,屏幕等。
[0093]圖13是可用于至少部分地配置諸如圖4的SMFB200的SMFB的用戶接口機制的一個示例。該用戶接口機制包括可以顯示為與SMFB相關(guān)聯(lián)的配置窗口、屏幕等的一部分的表格或矩陣700 (下文中稱為“矩陣700”)。矩陣700包括以行和列排列的多個單元704。每列對應(yīng)于狀態(tài)機功能塊的多個輸出0UT_D1,0UT_D2, TRANS_IN, TRANS_0UT等中的一個,每行對應(yīng)于狀態(tài)機的可能狀態(tài)中的一個。因此,每個單元704對應(yīng)于一種狀態(tài)和一個輸出。在其它示例中,每行可對應(yīng)于多個輸出之一,每列可對應(yīng)于狀態(tài)機的可能狀態(tài)之一。
[0094]矩陣700的輸出“ I”至“4”可分別對應(yīng)于SMFB的輸出0UT_D1至0UT_D4,且輸出“5”和“6”可分別對應(yīng)于輸出TRANS_IN和TRANS_0UT。相似地,矩陣700的狀態(tài)“I”至“6”可對應(yīng)于狀態(tài)機的可能狀態(tài)。另外,在該示例中用戶可以標記每個輸出。例如,在圖13中,將“輸出I”標記為“打開閥門VLV-101 (OPEN VALVE VLV-101) 標記輸出可以幫助理解狀態(tài)機的操作和/或?qū)顟B(tài)機與過程工廠接口。
[0095]程序員可以通過將配置信息輸入到單元704中來配置SMEB。特別地,對于對應(yīng)于一種狀態(tài)和一個輸出的一個特定單元704,程序員可以將指示當狀態(tài)機處于那種狀態(tài)時應(yīng)該將輸出置為有效的配置數(shù)據(jù)輸入到單元中。在示例矩陣700中,配置數(shù)據(jù)已被輸入到一些單元704中。例如,單元704A包括指示當狀態(tài)機處于“跳閘”狀態(tài)時應(yīng)該將輸出0UT_D3置為有效的配置數(shù)據(jù),單元704B包括指示當狀態(tài)機處于“跳閘”狀態(tài)時應(yīng)該將輸出TRANS_IN置為有效的配置數(shù)據(jù),以及單元704C包括指示當狀態(tài)機處于“恢復(fù)(RECOVERED) ”狀態(tài)時應(yīng)該將輸出TRANS_0UT置為有效的配置數(shù)據(jù)。
[0096]在該特定示例中,如果程序員不將配置數(shù)據(jù)榆入到單元704中,則可以假定對于該特定狀態(tài)不應(yīng)將相應(yīng)輸出置為有效。例如,單元704D和704E不包括X,指示當狀態(tài)機處于“跳閘”狀態(tài)時,不應(yīng)將輸出0UT_D1和0UT_D2置為有效。在其它實施例中,程序員可以輸入指示如果處于特定狀態(tài),狀態(tài)機不應(yīng)將特定輸出置為有效的配置數(shù)據(jù)。相似地,也可以指示對于特定狀態(tài)和輸出,將輸出置為有效還是將輸出置為無效無關(guān)緊要。
[0097]程序員可以使用包括本領(lǐng)域的普通技術(shù)人員所熟知的技術(shù)的任何類型的技術(shù)將配置數(shù)據(jù)輸入到矩陣700中。例如,為了將配置數(shù)據(jù)輸入到單元704中,程序員可以使用鼠標、跟蹤球、觸摸屏等來選擇單元704。然后,用戶可以通過,例如鍵盤直接將配置數(shù)據(jù)輸入到單元704中。替代地,程序員可以選擇單元704,然后從下拉菜單選擇“編輯”、“修改”等選項、或選擇“編輯”按鈕、“修改”按鈕等。然后,用戶接口可以通過下拉菜單、窗口、顯示屏等向程序員顯示選項列表。例如,該選項列表包括“將輸出置為有效”選項、“將輸出置為無效”選項,和可選地“不理會”選項。然后,程序員可以使用,例如鍵盤、鼠標、跟蹤球、觸摸屏等來選擇選項之一。如果程序員選擇“將輸出置為有效”選項,則配置數(shù)據(jù)指示對于相應(yīng)狀態(tài)應(yīng)該將相應(yīng)輸出置為有效。例如,“X”可以被顯示在單元中?!癐”可以被顯示在單元中,字“TRUE”可以被顯示在單元中,字“ASSERT”可以被顯示在單元中等。如果程序員選擇“將輸出置為無效”選項,則配置數(shù)據(jù)指示對于相應(yīng)狀態(tài)不應(yīng)將相應(yīng)輸出置為有效。例如,單元可以被留置為空,“O”可以被顯示在單元中,字“FALSE”可以被顯示在單元中,字“DEASSERT”可以被顯示在單元中等。
[0098]盡管示例矩陣700包括用于6種狀態(tài)的行和6個輸出,可以使用具有不同狀態(tài)和輸出數(shù)目的相似矩陣用于具有不同狀態(tài)和輸出數(shù)目的SMFB。狀態(tài)和輸出的數(shù)目可以是可配置的。
[0099]再一次參考圖7,如前所述,在已確定當前狀態(tài)后,可以基于當前狀態(tài)來設(shè)置SMFB的數(shù)據(jù)輸出(塊366)。例如,可以根據(jù)輸入到諸如圖13的矩陣700的矩陣的配置數(shù)據(jù)來設(shè)置數(shù)據(jù)輸出。
[0100]圖14是可用于將適當?shù)妮敵?UT_D1,0UT_D2等置為有效的示例例程850的流程圖。在塊854,將變量z設(shè)置為I。在塊858,將輸出0UT_Dz設(shè)置為由變量STATE指向的陣列變量OUTPUT的元素的比特號的值z。OUTPUT陣列的每個元素可以是指示對于相應(yīng)一種狀態(tài)的輸出0UT_D1,0UT_D2等的值的變量。例如,OUTPUT [I]可對應(yīng)于狀態(tài)1,OUTPUT [2]可對應(yīng)于狀態(tài)2等。另外,每個元素的每個比特對應(yīng)于輸出0UT_D1,0UT_D2等中的一個。例如,比特I可對應(yīng)于0UT_D1、比特2可對應(yīng)于0UT_D2等。例如參考圖13,對于矩陣700,OUTPUT陣列具有6個元素,并且元素OUTPUT [I]可以是0X06。
[0101]在塊862,遞增變量Z,在塊866,可確定Z的值是否大于輸出0UT_D1,0UT_D2等的數(shù)目。如果z不大于輸出0UT_D1,0UT_D2等的數(shù)目,則例程回到塊858。否則,例程結(jié)束。
[0102]除了上面所述的那些外,可通過其它類型的圖形用戶接口來輸入用于SMFB的配置數(shù)據(jù)。例如,可以通過與狀態(tài)轉(zhuǎn)換圖相似的圖形用戶接口來輸入配置數(shù)據(jù)。圖15是可用于配置諸如參照圖4描述的SMFB200的SMFB的一個示例狀態(tài)轉(zhuǎn)換圖900。圖900包括多個圖形元素904、908、912、916、920、924、928和932。元素904,908和912分別表示狀態(tài)機的狀態(tài)1、2和3。元素916指示當狀態(tài)機處于狀態(tài)I時,如果將INPUT2置為有效,則它應(yīng)轉(zhuǎn)換到狀態(tài)2。元素920指示當狀態(tài)機處于狀態(tài)I時,如果將INPUT3置為有效,則它應(yīng)轉(zhuǎn)換到狀態(tài)3。元素924指示當狀態(tài)機處于狀態(tài)2時,如果將INPUTl置為有效,則它應(yīng)轉(zhuǎn)換到狀態(tài)1,以及元素928指示當狀態(tài)機處于狀態(tài)3時,如果將INPUTl置為有效,它應(yīng)轉(zhuǎn)換到狀態(tài)I。相似地,元素932指示當狀態(tài)機處于狀態(tài)3時,如果將INPUT4置為有效,則它應(yīng)轉(zhuǎn)換到狀態(tài)2。
[0103]該狀態(tài)轉(zhuǎn)換表900還包括與狀態(tài)I相關(guān)聯(lián)的轉(zhuǎn)換入元素902,903和轉(zhuǎn)換出元素905,與狀態(tài)2相關(guān)聯(lián)的轉(zhuǎn)換入元素906,907和轉(zhuǎn)換出元素909,以及與狀態(tài)3相關(guān)聯(lián)的轉(zhuǎn)換入元素911和轉(zhuǎn)換出元素913,914。特別地,如果狀態(tài)機處于狀態(tài)I且INPUT3被置為有效,狀態(tài)機應(yīng)當執(zhí)行轉(zhuǎn)換出元素905,轉(zhuǎn)換至狀態(tài)3,并且執(zhí)行狀態(tài)3的轉(zhuǎn)換入元素911。進一步地,如果狀態(tài)機處于狀態(tài)2且INPUTl被置為有效,狀態(tài)機應(yīng)當執(zhí)行轉(zhuǎn)換出元素909,轉(zhuǎn)換至狀態(tài)1,并且執(zhí)行轉(zhuǎn)換入元素902。應(yīng)當理解的是,在任一狀態(tài)之間或任一狀態(tài)中,轉(zhuǎn)換入元素和/或轉(zhuǎn)換出元素可以是共同的。例如,轉(zhuǎn)換入元素902,903可以是相同的,由此狀態(tài)機響應(yīng)于狀態(tài)機從狀態(tài)2或狀態(tài)3之一轉(zhuǎn)換至狀態(tài)I而執(zhí)行相關(guān)聯(lián)的轉(zhuǎn)換入動作。又例如,轉(zhuǎn)換出元素913,914可以是相同的,由此狀態(tài)機響應(yīng)于狀態(tài)機轉(zhuǎn)換至狀態(tài)I (響應(yīng)于INPUTl被置為有效)或狀態(tài)2(響應(yīng)于INPUT4被置為有效)之一而執(zhí)行相關(guān)聯(lián)的轉(zhuǎn)換出動作。
[0104]一般地,可以由軟件、固件或硬件或者軟件,固件和/或硬件的一些組合來實現(xiàn)SMFB。例如,可以由控制器12a、16a,I/O設(shè)備24,邏輯求解器50和設(shè)備22、23、60、62中的一個或多個來實現(xiàn)SMFB。作為另一個示例,可以由一個或多個工作站18a和20a來實現(xiàn)SMFB。例如,可以由工作站18a和/或工作站20a來實現(xiàn)SMFB,作為測試過程工廠的操作或提供操作員訓(xùn)練的仿真的一部分。在一些實施例中,SMFB可以由根據(jù)軟件由可編程邏輯設(shè)備配置的處理器來實現(xiàn),該可編程邏輯設(shè)備可以是例如包括一個或多個門陣列、標準單元、現(xiàn)場可編程門陣列(FPGA)、PROM、EPROM、EEPROM、可編程陣列邏輯(PAL)、可編程邏輯陣列(PLA)等的設(shè)備。
[0105]圖8的塊404、408,412,416,420和458中的每一個可以由軟件、固件、或硬件或者軟件、固件和/或硬件的一些組合來實現(xiàn)。另外,盡管將圖10-12和圖14的流程圖描述為例程,但這些流程圖也可以由軟件、固件、或硬件或者軟件、固件和/或硬件的一些組合來實現(xiàn)。
[0106]諸如上述用戶接口的用戶接口的實施例可以整個地或部分地由例如根據(jù)軟件程序配置的處理器來實現(xiàn)。例如,工作站18a或20a、或一些其它計算機可以整個地或部分地實現(xiàn)上述用戶接口。用于實現(xiàn)用戶接口的實施例的軟件程序可以體現(xiàn)為存儲在諸如硬盤、RAM、電池備份RAM、ROM、CD-ROM、PROM、EPROM、EEPROM、DVD、閃存等的有形介質(zhì)上、或存儲在諸如與處理器相關(guān)聯(lián)的RAM的存儲器上,但是本領(lǐng)域的普通技術(shù)人員將很容易地理解其整個程序或部分程序可替代地可以由除處理器之外的設(shè)備來執(zhí)行,和/或以熟知的方式體現(xiàn)在固件和/或?qū)S糜布稀?br> [0107]盡管本發(fā)明可進行各種修改和替換構(gòu)造,在此已在附圖中示出并詳細描述了本發(fā)明的特定說明性實施例。但是,應(yīng)該理解并非企圖限制本公開于所公開的特定形式,而是相反,本發(fā)明覆蓋落入由所附權(quán)利要求書定義的本公開的精神和范圍內(nèi)的所有修改、替換構(gòu)造和等同物。
【權(quán)利要求】
1.一種用于經(jīng)由具有顯示設(shè)備和輸入設(shè)備的計算設(shè)備來配置與過程工廠相關(guān)聯(lián)的功能塊的方法,所述功能塊用于實現(xiàn)狀態(tài)機,所述方法包括: 提供由所述顯示設(shè)備顯示的圖形用戶接口,所述圖形用戶接口指示與所述功能塊相關(guān)聯(lián)的且被設(shè)置在具有第一維度和第二維度的矩陣中的第一多個單元,其中沿著所述第一維度的位置指示狀態(tài)機狀態(tài)和與其相關(guān)聯(lián)的轉(zhuǎn)換動作標識符,以及沿著所述第二維度的位置對應(yīng)于狀態(tài)機輸入,以使得所述第一多個單元基于所述第一多個單元相對于所述第一和第二維度的所述位置,定義輸入/狀態(tài)對及其轉(zhuǎn)換動作; 經(jīng)由所述輸入設(shè)備接收與所述第一多個單元的一個單元相關(guān)聯(lián)的狀態(tài)轉(zhuǎn)換數(shù)據(jù),所述狀態(tài)轉(zhuǎn)換數(shù)據(jù)依循所述過程工廠中的對應(yīng)于由所述單元定義的所述輸入/狀態(tài)對的狀況,識別所述狀態(tài)機轉(zhuǎn)換至的下一狀態(tài); 經(jīng)由所述輸入設(shè)備接收轉(zhuǎn)換動作數(shù)據(jù),所述轉(zhuǎn)換動作數(shù)據(jù)根據(jù)所述狀態(tài)轉(zhuǎn)換數(shù)據(jù),識別將要執(zhí)行的至少一個轉(zhuǎn)換動作;以及 將所述狀態(tài)轉(zhuǎn)換數(shù)據(jù)和所述轉(zhuǎn)換動作數(shù)據(jù)存儲在與所述功能塊相關(guān)聯(lián)的計算機可讀介質(zhì)上。
2.根據(jù)權(quán)利要求1所述的方法,其中所述轉(zhuǎn)換動作數(shù)據(jù)識別I)當從對應(yīng)于所述單元的所述狀態(tài)機狀態(tài)轉(zhuǎn)換時將要執(zhí)行的轉(zhuǎn)換出動作和2)當轉(zhuǎn)換入所述下一狀態(tài)時將要執(zhí)行的轉(zhuǎn)換入動作中的至少一個。
3.根據(jù)權(quán)利要求2所述的方法,還包括: 在所述顯示設(shè)備上顯示所述第一多個單元;以及 在所述單元中顯示所述下一狀態(tài)的指示,所述轉(zhuǎn)換出動作的指示和所述轉(zhuǎn)換入動作的指示。
4.根據(jù)權(quán)利要求3所述的方法,其中在所述單元中顯示所述下一狀態(tài)的所述指示,所述轉(zhuǎn)換出動作的所述指示和所述轉(zhuǎn)換入動作的所述指示包括: 在所述單元的第一子單元中顯示所述下一狀態(tài)的所述指示; 在所述單元的第二子單元中顯示所述轉(zhuǎn)換出動作的所述指示;以及 在所述單元的第三子單元中顯示所述轉(zhuǎn)換入動作的所述指示。
5.根據(jù)權(quán)利要求3所述的方法,其中在所述顯示設(shè)備上顯示所述第一多個單元包括:顯示所述矩陣,其中所述第一維度對齊至少一行單元以及所述第二維度對齊多列單元,以使得所述至少一行單元中的每一行與所述狀態(tài)機輸入中的一個相關(guān)聯(lián),并且所述多列單元中的每一列與所述狀態(tài)機狀態(tài)中的一個以及所述轉(zhuǎn)換動作標識符中的一個相關(guān)聯(lián)。
6.根據(jù)權(quán)利要求3所述的方法,其中在所述顯示設(shè)備上顯示所述第一多個單元包括:顯示所述矩陣,其中所述第一維度對齊至少一列單元以及所述第二維度對齊多行單元,以使得所述多行單元中的每一行與所述狀態(tài)機狀態(tài)中的一個以及所述轉(zhuǎn)換動作標識符中的一個相關(guān)聯(lián),并且所述至少一列單兀中的每一列與所述狀態(tài)機輸入中的一個相關(guān)聯(lián)。
7.根據(jù)權(quán)利要求1所述的方法,其中所述狀態(tài)機輸入中的每一個的特定值是邏輯1,邏輯O,邏輯TRUE或邏輯FALSE中的一個。
8.根據(jù)權(quán)利要求1所述的方法,其中所述圖形用戶接口還包括與所述功能塊相關(guān)聯(lián)的第二多個單元,其中所述第二多個單元中的每一個對應(yīng)于所述功能塊的多個輸出中的各自的一個和所述狀態(tài)機狀態(tài)中的各自的一個,以及其中所述方法還包括: 經(jīng)由所述輸入設(shè)備接收與所述第二多個單元中的額外單元相關(guān)聯(lián)的輸出配置數(shù)據(jù),其中所述輸出配置數(shù)據(jù)指示當所述狀態(tài)機處于對應(yīng)于所述額外單元的所述狀態(tài)機狀態(tài)時對應(yīng)于所述額外單元的輸出值,以及與所述額外單元相關(guān)聯(lián)的至少一個輸出轉(zhuǎn)換動作。
9.根據(jù)權(quán)利要求1所述的方法,其中所述至少一個轉(zhuǎn)換動作將由所述功能塊來執(zhí)行。
10.根據(jù)權(quán)利要求1所述的方法,還包括: 接收與所述狀態(tài)機輸入相關(guān)聯(lián)的優(yōu)先級數(shù)據(jù); 存儲與所述狀態(tài)機輸入相關(guān)聯(lián)的所述優(yōu)先級數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的方法,還包括: 接收指示所述狀態(tài)機輸入中的一個或多個,如果有的話,是否應(yīng)當被所述狀態(tài)機忽略的數(shù)據(jù); 存儲指示所述狀態(tài)機輸入中的一個或多個,如果有的話,是否應(yīng)當被所述狀態(tài)機忽略的所述數(shù)據(jù)。
12.根據(jù)權(quán)利要求1所述的方法,其中所述狀態(tài)機輸入與過程控制系統(tǒng),過程控制系統(tǒng)的模擬,安全系統(tǒng)和安全系統(tǒng)的模擬中的至少一個相關(guān)聯(lián)。
13.根據(jù)權(quán)利要求1所述的方法,還包括從與所述過程工廠相關(guān)聯(lián)的額外功能塊或操作員接口中的一個接收所述狀態(tài)機輸入。
14.存儲機器可讀指令的有形介質(zhì),包括: 第一代碼,用于經(jīng)由顯示設(shè)備提供圖形用戶接口,以用于配置狀態(tài)機在狀態(tài)機狀態(tài)中的轉(zhuǎn)換,所述圖形用戶接口指示設(shè)置在具有第一維度和第二維度的矩陣中的第一多個單元,其中沿著所述第一維度的位置指示所述狀態(tài)機狀態(tài)和與其相關(guān)聯(lián)的轉(zhuǎn)換動作標識符,以及沿著所述第二維度的位置對應(yīng)于狀態(tài)機輸入,以使得所述第一多個單元基于所述第一多個單元相對于所述第一和第二維度的所述位置,定義輸入/狀態(tài)對及其轉(zhuǎn)換動作; 第二代碼,用于經(jīng)由所述圖形用戶接口接收與所述第一多個單元的一個單元相關(guān)聯(lián)的狀態(tài)轉(zhuǎn)換數(shù)據(jù),所述狀態(tài)轉(zhuǎn)換數(shù)據(jù)根據(jù)由所述單元定義的所述輸入/狀態(tài)對,識別所述狀態(tài)機轉(zhuǎn)換至的下一狀態(tài); 第三代碼,用于經(jīng)由所述圖形用戶接口接收轉(zhuǎn)換動作數(shù)據(jù),所述轉(zhuǎn)換動作數(shù)據(jù)根據(jù)所述狀態(tài)轉(zhuǎn)換數(shù)據(jù),識別將要執(zhí)行的至少一個轉(zhuǎn)換動作;以及 第四代碼,用于將所述狀態(tài)轉(zhuǎn)換數(shù)據(jù)和所述轉(zhuǎn)換動作數(shù)據(jù)存儲在與實現(xiàn)過程工廠中的所述狀態(tài)機的所述功能塊相關(guān)聯(lián)的計算機可讀介質(zhì)上,以使得當所述過程工廠中的狀況對應(yīng)于與所述單元相關(guān)聯(lián)的所述輸入/狀態(tài)對時,所述狀態(tài)機轉(zhuǎn)換至所述下一狀態(tài)。
15.根據(jù)權(quán)利要求14所述的有形介質(zhì),其中所述轉(zhuǎn)換動作數(shù)據(jù)識別I)當從對應(yīng)于所述單元的所述狀態(tài)機狀態(tài)轉(zhuǎn)換時將要執(zhí)行的轉(zhuǎn)換出動作和2)當轉(zhuǎn)換入所述下一狀態(tài)時將要執(zhí)行的轉(zhuǎn)換入動作中的至少一個。
16.根據(jù)權(quán)利要求15所述的有形介質(zhì),還包括: 第五代碼,用于在所述顯示設(shè)備上顯示所述第一多個單元;以及 第六代碼,用于在所述單元中顯示所述下一狀態(tài)的指示,所述轉(zhuǎn)換出動作的指示和所述轉(zhuǎn)換入動作的指示。
17.根據(jù)權(quán)利要求16所述的有形介質(zhì),其中所述第六代碼通過以下方式在所述單元中顯示所述下一狀態(tài)的所述指示,所述轉(zhuǎn)換出動作的所述指示和所述轉(zhuǎn)換入動作的所述指示: 在所述單元的第一子單元中顯示所述下一狀態(tài)的所述指示; 在所述單元的第二子單元中顯示所述轉(zhuǎn)換出動作的所述指示;以及 在所述單元的第三子單元中顯示所述轉(zhuǎn)換入動作的所述指示。
18.根據(jù)權(quán)利要求16所述的有形介質(zhì),其中所述第五代碼通過以下方式在所述顯示設(shè)備上顯示所述第一多個單元:顯示所述矩陣,其中所述第一維度對齊至少一行單元以及所述第二維度對齊多列單元,以使得所述至少一行單元中的每一行與所述狀態(tài)機輸入中的一個相關(guān)聯(lián),并且所述多列單元中的每一列與所述狀態(tài)機狀態(tài)中的一個以及所述轉(zhuǎn)換動作標識符中的一個相關(guān)聯(lián)。
19.根據(jù)權(quán)利要求16所述的有形介質(zhì),其中所述第五代碼通過以下方式在所述顯示設(shè)備上顯示所述第一多個單元:顯示所述矩陣,其中所述第一維度對齊至少一列單元以及所述第二維度對齊多行單元,以使得所述多行單元中的每一行與所述狀態(tài)機狀態(tài)中的一個以及所述轉(zhuǎn)換動作標識符中的一個相關(guān)聯(lián),并且所述至少一列單元中的每一列與所述狀態(tài)機輸入中的一個相關(guān)聯(lián)。
20.根據(jù)權(quán)利要求14所述的有形介質(zhì),其中所述狀態(tài)機輸入中的每一個的特定值是邏輯I,邏輯0,邏輯TRUE或邏輯FALSE中的一個。
21.根據(jù)權(quán)利要求14所述的有形介質(zhì),其中所述圖形用戶接口還包括與所述功能塊相關(guān)聯(lián)的第二多個單元,其中所述第二多個單元中的每一個對應(yīng)于所述功能塊的多個輸出中的各自的一個和所述狀態(tài)機狀態(tài)中的各自的一個,以及其中所述有形介質(zhì)還包括: 第五代碼,用于經(jīng)由所述輸入設(shè)備接收與所述第二多個單元中的額外單元相關(guān)聯(lián)的輸出配置數(shù)據(jù),其中所述輸出配置數(shù)據(jù)指示當所述狀態(tài)機處于對應(yīng)于所述額外單元的所述狀態(tài)機狀態(tài)時對應(yīng)于所述額外單元的輸出值,以及與所述額外單元相關(guān)聯(lián)的至少一個輸出轉(zhuǎn)換動作。
22.根據(jù)權(quán)利要求14所述的有形介質(zhì),其中所述狀態(tài)機輸入與過程控制系統(tǒng),過程控制系統(tǒng)的模擬,安全系統(tǒng)和安全系統(tǒng)的模擬中的至少一個相關(guān)聯(lián)。
23.根據(jù)權(quán)利要求14所述的有形介質(zhì),還包括第五代碼,用于從與所述過程工廠相關(guān)聯(lián)的額外功能塊或操作員接口中的一個接收所述狀態(tài)機輸入。
24.一種用于運行與過程工廠相關(guān)聯(lián)的第一功能塊的方法,所述第一功能塊實現(xiàn)具有轉(zhuǎn)換表格和當前狀態(tài)的狀態(tài)機,所述方法包括: 接收用于所述狀態(tài)機的輸入,所述輸入指示所述過程工廠中的狀況; 檢查所述轉(zhuǎn)換表格,以基于所述當前狀態(tài)和所述輸入識別下一狀態(tài)和至少一個轉(zhuǎn)換動作; 由所述第一功能塊啟動所述至少一個轉(zhuǎn)換動作; 將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài);以及 將功能塊輸出提供給第二功能塊以用于控制現(xiàn)場設(shè)備,其中所述功能塊輸出基于所述狀態(tài)機的所述當前狀態(tài)。
25.根據(jù)權(quán)利要求24所述的方法,其中所述至少一個轉(zhuǎn)換動作指定轉(zhuǎn)換出動作和轉(zhuǎn)換入動作,并且其中啟動所述至少一個轉(zhuǎn)換動作包括: 由所述第一功能塊啟動所述轉(zhuǎn)換出動作;以及 由所述第一功能塊啟動所述轉(zhuǎn)換入動作。
26.根據(jù)權(quán)利要求25所述的方法,其中所述第一功能塊在啟動所述轉(zhuǎn)換入動作之前啟動所述轉(zhuǎn)換出動作。
27.根據(jù)權(quán)利要求25所述的方法,其中所述第一功能塊在將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài)之前啟動所述轉(zhuǎn)換入動作。
28.根據(jù)權(quán)利要求25所述的方法,其中所述第一功能塊在將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài)之前啟動所述轉(zhuǎn)換出動作。
29.根據(jù)權(quán)利要求24所述的方法,其中啟動所述至少一個轉(zhuǎn)換動作包括:將額外功能塊輸出提供給第三功能塊,所述額外功能塊輸出指示所述至少一個轉(zhuǎn)換動作。
30.根據(jù)權(quán)利要求24所述的方法,其中啟動所述至少一個轉(zhuǎn)換動作包括: 從數(shù)據(jù)庫獲取與所述至少一個轉(zhuǎn)換動作相關(guān)聯(lián)的至少一個轉(zhuǎn)換配置項目;以及 執(zhí)行所述至少一個轉(zhuǎn)換配置項目。
31.根據(jù)權(quán)利要求24所述的方法,還包括: 響應(yīng)于將所述當前狀態(tài)設(shè)置為所述下一狀態(tài),設(shè)置與所述當前狀態(tài)相關(guān)聯(lián)的至少一個輸出。
32.根據(jù)權(quán)利要求31所述的方法,其中設(shè)置所述至少一個輸出包括:設(shè)置狀態(tài)指示輸出和轉(zhuǎn)換輸出中的至少一個。
33.用于過程系統(tǒng)的狀態(tài)機控制器單元,所述狀態(tài)機控制器單元可通信地耦接至現(xiàn)場設(shè)備并實現(xiàn)具有轉(zhuǎn)換表格和當前狀態(tài)的狀態(tài)機,所述狀態(tài)機控制器單元包括: 輸入模塊,用于接收指示所述過程系統(tǒng)中的狀況的輸入; 執(zhí)行模塊,其被配置為: 檢查所述轉(zhuǎn)換表格,以基于所述當前狀態(tài)和所述輸入識別下一狀態(tài)和至少一個轉(zhuǎn)換動作; 啟動所述至少一個轉(zhuǎn)換動作; 將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài);以及 提供輸出以用于控制所述現(xiàn)場設(shè)備,其中所述輸出基于所述狀態(tài)機的所述當前狀態(tài)。
34.根據(jù)權(quán)利要求33所述的狀態(tài)機控制器單元,其中所述至少一個轉(zhuǎn)換動作指定轉(zhuǎn)換出動作和轉(zhuǎn)換入動作,其中所述執(zhí)行模塊通過啟動所述轉(zhuǎn)換出動作和啟動所述轉(zhuǎn)換入動作來啟動所述至少一個轉(zhuǎn)換動作。
35.根據(jù)權(quán)利要求34所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊在啟動所述轉(zhuǎn)換入動作之前啟動所述轉(zhuǎn)換出動作。
36.根據(jù)權(quán)利要求34所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊在將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài)之前啟動所述轉(zhuǎn)換入動作。
37.根據(jù)權(quán)利要求34所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊在將所述狀態(tài)機的所述當前狀態(tài)設(shè)置為所述下一狀態(tài)之前啟動所述轉(zhuǎn)換出動作。
38.根據(jù)權(quán)利要求33所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊通過將額外輸出提供給額外模塊來啟動所述至少一個轉(zhuǎn)換動作,所述額外輸出指示所述至少一個轉(zhuǎn)換動作。
39.根據(jù)權(quán)利要求33所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊通過以下方式來啟動所述至少一個轉(zhuǎn)換動作: 從數(shù)據(jù)庫獲取與所述至少一個轉(zhuǎn)換動作相關(guān)聯(lián)的至少一個轉(zhuǎn)換配置項目;以及 執(zhí)行所述至少一個轉(zhuǎn)換配置項目。
40.根據(jù)權(quán)利要求33所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊進一步地被配置為響應(yīng)于將所述當前狀態(tài)設(shè)置為所述下一狀態(tài),設(shè)置與所述當前狀態(tài)相關(guān)聯(lián)的至少一個輸出。
41.根據(jù)權(quán)利要求40所述的狀態(tài)機控制器單元,其中所述執(zhí)行模塊通過設(shè)置狀態(tài)指示輸出和轉(zhuǎn)換輸出中的至少一個來設(shè)置所述至少一個輸出。
【文檔編號】G08C17/02GK104298189SQ201410332331
【公開日】2015年1月21日 申請日期:2014年7月8日 優(yōu)先權(quán)日:2013年7月9日
【發(fā)明者】G·K·勞, G·R·謝里夫 申請人:費希爾-羅斯蒙特系統(tǒng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1