用於與過程控制系統中的設備通信的面向服務的框架的製作方法
2023-09-11 19:32:05 4
專利名稱:用於與過程控制系統中的設備通信的面向服務的框架的製作方法
技術領域:
本發明通常涉及過程控制系統,更具體地說,涉及一種用於與過程控制系統中的設備通信的面向服務的框架。
背景技術:
比如化學、石油或其它工藝中所使用的過程控制系統典型地包括一個或多個過程控制器,其經由模擬、數字或組合模擬/數字總線通信地耦接到至少一個客戶端或操作者工作站以及耦接到一個或多個現場設備。可以是例如閥、閥定位器、開關和發射機(例如溫度、壓力和流速率傳感器)的現場設備在例如打開或關閉閥以及測量過程控制參數的過程內執行過程控制功能。控制器接收指示由現場設備所進行的過程測量的信號,處理該信息以實現控制例程,並且生成通過總線或其它通信線路發送到現場設備以控制過程的操作的控制信號。以此方式,控制器經由通信地耦接現場設備的總線和/或其它通信鏈路來使用現場設備執行並且協調控制策略或例程。可以使得來自現場設備和控制器的信息作為客戶端/操作者工作站(例如基於處理器的系統)執行的運行時間數據對於一個或多個應用可用,以使得操作者能夠關於過程執行期望的功能。這些功能中的一些可以包括(例如,經由圖形用戶接口)瀏覽過程的當前狀態,估計過程,(例如經由可視對象圖)修改過程的操作等。很多過程控制系統還包括一個或多個其它客戶端工作站,也稱為應用站。典型地,使用經由區域網(LAN)通信地耦接到過程控制系統內的控制器、操作者工作站以及其它系統的個人計算機、工作站等實現應用站。每一應用站可以在過程控制系統內執行運行活動管理功能、維護管理功能、虛擬控制功能、診斷功能、實時監控功能、與安全有關的功能、配置功能等的一個或多個策略、例程或應用。
發明內容
在此描述的示例性方法、裝置和產品物通常涉及過程控制系統,更具體地說,涉及一種用於與過程控制系統中的設備通信的面向服務的框架。在此公開的示例中,用於與過程控制系統中的設備通信的方法包括調用用於與所述過程控制系統中的設備通信的服務,所述服務提供獨立於用於實現所述過程控制系統的過程控制網絡協議的通用接口。所述示例性方法還包括將所述服務變換為用於實現所述服務的一個或多個網絡操作,所述網絡操作對於用於實現所述過程控制系統的過程控制網絡協議是特定的。此外,所述示例性方法包括根據所述一個或多個網絡操作使用對於用於實現用於所述設備通信的過程控制系統的所述過程控制網絡協議特定的網絡接口。在此公開的另一示例中,產品的有形物存儲機器可讀指令,其當執行時使得機器至少調用用於與過程控制系統中的設備通信的服務,所述服務提供獨立於用於實現所述過程控制系統的過程控制網絡協議的通用接口。所述機器可讀指令當執行時還使得所述機器至少將所述服務變換為用於實現所述服務的一個或多個網絡操作,所述網絡操作對於用於實現所述過程控制系統的所述過程控制網絡協議是特定的。所述機器可讀指令當執行時還使得機器至少根據所述一個或多個網絡操作使用對於用於實現所述過程控制系統的所述過程控制網絡協議特定的網絡接口以與所述設備通信。在此公開的又一示例中,一種用於與過程控制系統中的現場設備通信的裝置包括處理器,用於實現用於與使用多個不同過程控制網絡協議實現的多個過程控制系統中的多個現場設備通信的面向服務的框架。在一些示例中,所述面向服務的框架包括服務層,實現用於與所述多個現場設備通信的多個服務,每一服務提供獨立於用於實現所述多個過程控制系統的任何所述多個過程控制網絡協議的各個通用接口。在一些示例中,所述面向服務的框架還包括多個變換層,每一各個變換層用於將所述多個服務中的每一服務變換為用於實現所述各個服務的網絡操作的各個序列,所述網絡操作的各個序列對於與所述各個變換層關聯的特別的過程控制網絡協議是特定的。在一些示例中,所述面向服務的框架還包括多個網絡層,分別與所述多個變換層關聯,用於提供對於用於實現所述多個過程控制系統的所述多個過程控制網絡協議中的每一個特定的多個網絡接口。所述示例性裝置還包括用於通信地耦接客戶端設備所實現的應用與所述處理器所實現的所述服務層的接口。
圖1是示出包括用於實現用於與過程控制系統中的設備通信的面向服務的框架的現場設備集成伺服器的示例性過程控制環境的框圖。圖2是可由圖1的現場設備集成伺服器實現的示例性面向服務的框架的框圖。圖3示出可由圖2的面向服務的框架提供的示例性服務。圖4是可以用於實現圖1的過程控制環境的示例性現場設備集成伺服器的框圖。圖5是可以用於實現圖1的過程控制環境的示例性客戶端設備的框圖。圖6是表示用於實現圖1的過程控制環境中的示例性面向服務的框架的示例性過程的流程圖。圖7是表示用於實現圖6的面向服務的框架過程中的服務層處理的示例性過程的流程圖。圖8是表示用於實現圖6的面向服務的框架過程中的變換層處理的示例性過程的流程圖。圖9是表示用於實現圖6的面向服務的框架過程中的網絡層處理的示例性過程的流程圖。圖10是表示圖2的面向服務的框架的示例性操作的流程圖。圖11是可以執行用於實現圖6-圖10的過程中的一些或所有以在圖1的過程控制環境中實現圖2的面向服務的框架的示例性機器可讀指令的示例性處理系統的框圖。
具體實施例方式雖然以下描述示例性方法、裝置和在其它組件當中包括硬體上執行的軟體和/或固件的產品物,但應注意,這些示例僅僅是說明性的,不應看做限制。例如,預期在硬體中獨佔地、在軟體中獨佔地、或在硬體和軟體的任何組合中可以實施任何或所有硬體、軟體和固件組件。因此,雖然以下描述示例性方法、裝置和產品物,但本領域技術人員應容易理解,提供的示例不僅僅是用於實現這些方法、裝置和產品物的方式。例如,雖然結合實現用於與過程控制系統中的設備通信的面向服務的框架描述示例性方法、裝置和產品物,但示例性方法、裝置和產品物更普通地可應用,並且可以被實現以用於任何自動化系統、批處理系統、 製造系統、工業控制系統、安全儀表系統等。很多不同類型的過程控制網絡協議可以用於實現過程控制系統。這些過程控制網絡協議的示例包括,但不限於,Foundation Fieldbus協議、Prof ibus協議、HART協議等。如上所述,過程控制系統可以採用在一個或多個客戶端工作站上執行的一個或多個客戶端應用,以處理信息並且與過程控制系統中的現場設備交互。然而,在先前的過程控制系統中, 這些客戶端應用典型地針對用於實現特定過程控制系統的特定過程控制網絡協議。因此, 當在過程控制系統中採用不同(例如新的)過程控制網絡協議時,可能需要修改並且甚至重寫先前過程控制系統中所使用的客戶端應用,並且這些現有客戶端應用可能不能移植到採用不同過程控制網絡協議的不同過程控制系統上。反之,在此描述的示例性方法、裝置和產品物實現用於與過程控制系統中的設備通信的面向服務的框架,其使得客戶端應用(例如過程控制應用)能夠獨立於用於實現其中採用客戶端應用的一個或多個過程控制系統的任何特定的一個或多個過程控制網絡協議。在一些示例中,在現場設備集成(field device integration,FDI)標準的情況下實現面向服務的框架。在此描述的示例性面向服務的框架包括與服務層、一個或多個變換層、 以及分別與所述一個或多個變換層關聯的一個或多個網絡層。在該示例中,服務層實現用於與一個或多個過程控制系統中的一個或多個現場設備通信的一個或多個過程控制服務。每一服務提供獨立於用於實現一個或多個現場設備可駐留在其中的任何過程控制系統的任何過程控制網絡協議。換句話說,服務層實現的服務是網絡協議不可知論(network protocol agnostic)的。面向服務的框架實現的過程控制服務的示例包括,但不限於(1) 用於將消息發送到現場設備並且從所述設備接收對應的響應的服務;(2)用於訂購現場設備所返回的公開的數據的服務;(3)用於接收現場設備所返回的事件的服務;(4)用於獲得描述過程控制系統和實現所述過程控制系統的現場設備組的信息的服務;(5)用於將控制參數值寫入現場設備的服務,等。示例性面向服務的框架中包括的一個或多個變換層均針對各個過程控制網絡協議。因此,特定的變換層將服務層提供的每一服務變換為用於實現所述各個服務的網絡操作的各個序列,其中,網絡操作的各個序列對於與所述特定變換層關聯的特定過程控制網絡協議是特定的。在一些示例中,變換層讀取用於實現與其通信以準備用於實現服務的網絡操作的特定序列的現場設備的設備描述。在一些示例中,變換層附加地或替代地保持用於實現特定服務的網絡操作的特定序列,以隨著它們被執行而實現用於跟蹤網絡操作的序列。示例性面向服務的框架中包括的一個或多個網絡層也均針對各個過程控制網絡協議。例如,特定的網絡層提供用於對於變換層支持的特定的過程控制網絡協議特定的關聯的變換層的網絡接口。網絡接口使得能夠根據(例如,執行,實現,等)用於實現特定設備的變換層所確定的網絡操作的特定序列與支持特定過程控制網絡協議的一個或多個現場設備交換通信交易(例如命令、響應等)。
參照附圖,圖1是示出包括用於實現用於與示例性過程控制系統102中的現場設備通信的面向服務的框架的FDI伺服器106的示例性過程控制環境100的框圖。示例性控制環境100可以包括可以通信地耦接到過程控制系統102和/或其它控制系統(未示出) 的附加的客戶端(未示出)。客戶端104(例如終端、工作站、個人計算機等)、示例性控制系統102和/或現場設備集成(FDI)伺服器106使用FDI標準進行通信。FDI伺服器106在使用包括HART、 Foundation Fieldbus和/或ftx)fibus的不同標準來操作的不同網絡上與設備交互。通常,無論設備初始地期望和/或構建的標準如何,FDI提供用於允許設備製造商和/或供應商構建能夠由消費者用於統一地管理設備的工具集。FDI包括允許通過標準電子設備描述語言(Electronic Device DescriptionLanguage,EDDL)中的基於文本的文件(例如XML文件)來描述設備、設備提供的方法、設備支持的測量和設備參數、用於設備的配置信息、和/ 或用戶能夠具有的與設備的交互的文本設備描述方法。如以下更詳細描述的那樣,FDI伺服器106基於消息總線架構和面向服務的架構實現面向服務的框架。消息總線架構提供用於與面向服務的框架通信的應用(例如以下更詳細描述的客戶端104上執行的應用120)的標準方法。消息總線架構類似經由通信信道發送和接收消息的消息總線。消息總線架構允許應用與過程控制控制器、伺服器、設備和/ 或其它應用通信,而不必知道關於控制器、伺服器、設備和/或應用的內部操作的所有具體細節。除了消息總線架構之外,面向服務的架構還提供過程控制功能作為服務的集合。 在這種面向服務的架構下,在與設備關聯的設備描述中概述了特定設備所支持的網絡服務。通過由被定義為FDI標準的部分的基於消息的交互所實現的接口來調用服務。因為通過基於消息的交互來調用服務,所以服務請求者和服務提供者的位置能夠分離,並且因此分布在過程控制環境100內。在至少一些情況下,將消息總線架構和面向服務的架構組合為面向服務的框架能夠提供若干優點。例如,能夠在不同環境下運行應用(例如,在Microsoft Windows 主機上執行的應用可以使用若干過程控制網絡協議中的一個與過程控制嵌入式設備進行交互)。 作為另一可能的優點,並非所有設備需要支持所有服務。又一可能的優點,服務允許獨立於實際過程控制網絡(例如總線)協議實現的較高級別的應用。示例性客戶端104和示例性FDI伺服器106經由第一通信總線108通信。FDI伺服器106將通信總線108連接到其它通信總線110、112,其可以是與通信總線108相同類型或不同類型。FDI伺服器106還經由通信總線112與控制系統102通信。因此,客戶端 104可以經由FDI伺服器106和適當的通信總線108和112與控制系統102中的任何設備
ififn。在一些示例中,可以使用區域網(local area network, LAN)協議(例如乙太網)、(例如,基於電氣電子工程師協會institute ofElectrical and Electronics Engineers, IEEE)802. 11 標準族的)無線保真(wireless fidelity, Wi-Fi)協議、 蜂窩通信網絡、網際網路等實現通信總線108-110,並且通信總線112可以實現為符合 FoundationFieldbus協議、Prof ibus協議和/或HART協議。附加地或者替代地,通信總線 108-110中的一個或多個可以實現為符合RnmdationFieldbus協議、Prof ibus協議和/或HART協議。附加地或替代地,通信總線112可以實現為符合LAN協議(例如乙太網)、(例如基於IEEE 802. 11標準族的)Wi_Fi協議、蜂窩通信網絡、網際網路等。示例性控制系統102可以包括任何類型的製造設施、處理設施、自動化設施、和/ 或任何另外類型的過程控制結構或系統。在一些示例中,控制系統102可以包括位於不同位置的多個設施。此外,雖然示例性控制系統102與過程控制子系統114關聯,但控制系統 102可以包括附加的過程控制子系統。示例性過程控制子系統114經由數據總線118通信地耦接到控制器116。過程控制子系統114可以包括所示的任何數量的現場設備119 (例如輸入和/或輸出設備)。現場設備119可以包括能夠接收輸入、生成輸出和/或控制過程的任何類型的過程控制組件。 例如,現場設備119可以包括輸入設備,例如,比如用於控制過程的閥、泵浦、風扇、加熱器、 冷卻器、和/或混合器。此外,現場設備119可以包括輸出設備,例如,比如用於測量過程的部分的溫度計、壓力計、濃度計、流體級別計、流體表、和/或蒸汽傳感器。輸入設備可以從控制器116接收指令,以執行制定的命令並且對過程產生改變。此外,輸出設備可以測量過程數據、環境數據、和/或輸入設備數據,並且將測量的數據發送到控制器116作為過程控制信息(例如過程數據)。該過程數據可以包括與來自每一現場設備119的測量的輸出對應的變量(例如,測量的過程變量和/或測量的質量變量)的值。在圖1的所示示例中,示例性控制器116可以經由數據總線118與過程控制子系統114內的現場設備119通信。數據總線118可以耦接到過程控制子系統114內的通信組件。通信組件可以包括I/O卡,用於從現場設備119接收數據並且將數據轉換為示例性控制器116能夠接收的通信介質。此外,這些I/O卡可以將來自控制器116的數據轉換為對應現場設備119能夠處理的數據格式。在示例中,使用Fieldbus協議或其它類型的有線和 /或無線通信協議(例如ftOfibus協議、HART協議等)可以實現數據總線118。控制器116經由有線和/或無線連接通信地耦接到FDI伺服器106。在一些示例中,連接可以包括防火牆和/或用於限制對控制器116的訪問的其它安全機制。在控制器 116從過程控制子系統114接收過程數據時,控制器116可以將過程數據發送到FDI伺服器 106。在其它示例中,控制器116可以按周期時間間隔(例如每分鐘、小時、天等)將過程數據發送到FDI伺服器106。替代地,FDI伺服器106可以從控制器116請求過程數據。一旦接收到過程數據,圖1的示例性FDI伺服器106便將該過程數據存儲在文件系統(未示出)內。文件系統可以通過分級的方式基於過程控制子系統114內的設備119 和/或基於在管理過程控制子系統114的控制器116內操作的例程(例如應用和/或算法) 被安排有目錄和/或子目錄。在其它示例中,可以由控制系統102的操作者來安排文件系統。過程數據可以存儲至關聯目錄和/或子目錄內的參數。在一些示例中,參數可以是與在控制器116上操作的例程關聯或與過程控制環境100內的現場設備輸出關聯的變量。參數可以包括描述與該參數關聯的過程數據的類型的元數據。示例性客戶端104可以與可以被授權讀取、寫入和/或訂購與過程控制環境100 關聯的過程數據的個體關聯。客戶端104也可以與和可以從遠程位置訪問過程控制環境 100的控制系統102關聯的人員關聯。客戶端104可以使用任何有線和/或無線通信介質 (例如網際網路)經由FDI伺服器106訪問過程控制環境100。示例性FDI伺服器106能夠格式化過程數據,從而在客戶端104上操作的客戶端應用120的用戶可瀏覽過程數據。圖1的示例示出在接口 122中顯示過程數據的客戶端應用120。例如,客戶端應用120可以包括web客戶端顯示應用。FDI伺服器106可以通過創建網頁和/或訪問模板網頁並且在網頁內放置或嵌入數據欄位來格式化用於web伺服器應用的過程數據。接口 122經由web瀏覽器然後可以通過使用超文本標記語言(HTML)請求和響應而訪問FDI伺服器106中掌管的網頁來顯示過程數據。替代地,FDI伺服器106可以通過初始化客戶端應用120處的、在web瀏覽器(例如接口 12 內可以是可執行的或可以是對於客戶端104而言原有的(例如Windows 作業系統應用、應用插件)web應用(例如ActiveX、Adobe Flash 和/或Silverlight )來格式化用於客戶端顯示應用的過程數據。在一些示例中,在將過程數據發送到客戶端應用120之前,FDI伺服器106關聯過程數據與對應的數據欄位。一旦接收到過程數據,客戶端應用120便創建(例如呈現)web瀏覽器(例如接口 12 內的顯示,以查看對應數據欄位內的過程數據。圖2是可以由圖1的示例性FDI伺服器106至少部分地實現的示例性面向服務的框架200的框圖。如圖2所示,面向服務的框架200與客戶端應用202、設備描述208以及一個或多個設備網絡210通信。面向服務的框架200包括服務層212、變換層214、網絡層 216以及安全層218。圖2的示例性客戶端應用202是用於配置設備的應用、用於執行設備校準和診斷的應用、和/或用於從位於一個或多個設備網絡中的設備讀取測量值和事件的應用。客戶端應用202能夠包括根據富客戶端模型或富網際網路模型實現的用戶接口(user interface, UI)。例如,在富客戶端模型中,UI採用Microsoft Windows 或相似的應用風格。在富網際網路模型中,UI採用web風格客戶端,例如web瀏覽器接口或web瀏覽器插件接口。如圖2所示,客戶端應用202包括服務消費者206,其可以從服務層212請求並且消費服務。例如,使用圖1的示例性客戶端104和/或圖11的示例性處理系統1100上執行的計算機可讀指令可以實現可以與圖1的應用120對應的客戶端應用202。客戶端應用202 經由面向服務的框架200與可以與過程控制子系統114對應的設備網絡210通信。雖然面向服務的框架200被描述為通過FDI伺服器106實現,但示例性面向服務的框架200和/ 或框架200的選擇的部分可以替代地實現在客戶端104、伺服器106、控制器116和/或網絡108、110和112上的設備128-136中的一個或多個或任何組合上。服務層212包括服務接口 220、服務消息類型222、服務數據類型224、適配器2 以及服務228。服務層212提供的示例性服務2 支持對設備描述208和一個或多個設備網絡210的訪問。服務2 被暴露為服務訂約,其允許應用和/或設備請求為執行期望的能力或功能所需的特定服務228。在一些示例中,用於包括服務所實現的新功能和/或包括新消息和數據類型的對服務訂約的改變可能與現有服務訂約不後向兼容。在所示示例中,通過將基於消息的接口提供給服務2 的服務接口 220訪問服務層212。服務層212管理來自應用和/或設備的服務請求,並且變換客戶端應用202所使用的服務訂約。當在服務與服務消費者之間傳送消息時,一個或多個適配器2 可以用於將消息轉換為各個服務消費者能夠理解的格式。策略定義對服務層212的訪問。策略提供用於服務消費者確定用於訪問服務的任何連接和/或安全需求和/或與請求服務有關的任何其它細節的方式。示例性變換層214變換服務層所提供的網絡獨立服務以支持用於實現包含期望與其通信的設備的設備網絡210(或,更一般地,過程控制系統)的特定過程控制網絡協議 (例如HART、Fieldbus、Profibus,其在此也稱為設備網絡協議)。變換層214包括應用前端(facade )229,用於將服務層212提供的網絡獨立服務2 變換為用於實現各個服務的網絡操作230的各個序列。應用前端2 為特定服務2 確定的網絡操作230的序列對於與變換層214關聯的特定過程控制網絡協議236以及還對於服務2 與其通信的特定網絡組件231(例如現場設備)是特定的。變換層214還保持用於實現特定服務以隨著它們被執行以實現服務2 跟蹤網絡操作230的序列的網絡操作230的序列的執行的狀態(例如順序、時間等)。變換層214從例如在開始時讀取的設備描述文件208接收關於設備(例如網絡組件231)的信息。設備描述文件208包括以電子設備描述語言(EDDL) 232和/或普通文件格式234的關於設備的信息。例如,EDDL文件232表示由圖1的過程控制系統102中包含的現場設備的各個製造商所生成的、定義設備行為的文本描述和邏輯。EDDL文件232能夠類似圖1的過程控制系統102上包含的設備的數字數據表單。與傳統程式語言相比,EDDL 元件的靈活性有限,並且對於設備描述是特定的。然而,EDD語言的簡單性允許EDD設備描述的容易和高效的開發,提供對於硬體和作業系統平臺的獨立性,產生用於設備操作的統一哲學,並且通過解釋產生高強健性。通常,EDDL技術用於具有低至平均複雜性的設備。普通文件格式234存儲關於設備和/或應用的信息,並且文件可以在系統、工具集、應用和/或其他設備之間交換。在一些示例中,普通文件格式234使用包括靈活並且允許使用標籤的虛擬不受限的描述的可擴展標記語言(extensible markup language, XML) 的圖式。網絡層216包括用於與用於實現圖1的過程控制系統102的設備網絡中的一個或多個交互的數據訪問功能。在所示示例中,網絡層216包括網絡應用編程接口 (application programming interface,API) M0,其支持各種網絡消息類型M2、網絡數據類型244以及可能地,對於特定過程控制網絡協議236特定的一個或多個對象字典M6。示例性框架200可以包括多個網絡層216和關聯的變換層214,其中,每一變換層214和關聯的網絡層216對於實現特定設備網絡210(或,更一般地,特定過程控制系統)的特定設備網絡協議236 (也稱為過程控制系統協議,例如HART、Fieldbus和Profibus)是特定的。因此,示例性框架200和網絡應用層216不需要對這些協議的任何改變。設備網絡210根據各個網絡協議236和網絡服務238與實現過程控制系統(例如圖2的過程控制系統10 的現場設備進行交互,以向示例性框架200提供用於配置過程控制現場設備、訪問設備診斷、傳送測量值、傳送告警和事件的能力和/或其它通信和控制能力。面向服務的框架200支持的一些示例性能力包括請求和/或響應,公開和/或訂購、發送事件、維護應用和/或設備的目錄,和/或將命令寫入設備。面向服務的框架200經由服務層212向客戶端應用202提供對這些能力的訪問。例如,面向服務的框架200可以具有對於請求/響應、公開/訂購、事件、目錄和寫入能力的服務。在某個示例中,面向服務的框架200採用用於調用服務的異步呼叫模型。使用異步呼叫避免阻塞客戶端過程。在一些示例中,用於執行背景操作的一個或多個分離的處理線程也用於對於來自現場設備的數據輪詢。因此,通過背景線程和異步執行可以處理較長運行操作(例如從現場設備讀取數據),以防止實現UI應用的處理線程被阻塞(例如,如可能與先前應用一起發生的)。在一些示例中,服務呼叫使用包括用於使得能夠認證客戶端-伺服器連接的安全信息的綁定。為了保護敏感信息和通信信道,網際網路協議安全性 (InternetProtocol Security,IPkc)和安全套接層(Secure Sockets Layer,SSL)可以用於保障通信信道(例如客戶端設備104與FDI伺服器106之間的信道)。也可以採用用於保護數據的加密和用於檢測數據篡改的數字籤名,連同用於打開和關閉這些能力的選項。在示例性操作中,客戶端應用202使用FDI標準並且調用具有通用(例如,網絡獨立)接口 220的服務228,以請求從設備(例如壓力發射機)讀取壓力。在接收請求時,服務層212將請求傳送到變換層214。變換層214生成對於壓力發射機連接到的設備網絡特定的命令,並且經由網絡應用層216發送命令。例如,如果設備網絡是HART網絡,則客戶端應用202將命令發送到壓力發射機。反之,如果設備網絡是Fieldbus網絡,則客戶端應用 202讀取或請求對象字典項。設備網絡將請求傳送到壓力發射機,並且經由網絡應用層216 將響應從設備返回到變換層214。變換層214然後將響應轉換為客戶端應用202可理解的通用響應格式。在一些其它示例中,客戶端應用202需要用於響應的特定格式。在這些情況下,當響應返回到客戶端應用202時,客戶端應用202可以請求調用特定適配器226。在一些情況下,可能需要限制對設備網絡的訪問。為了支持這種需求,面向服務的框架200包括安全層218,用於提供一個或多個認證模塊248和/或認證模塊250。用於通過框架200認證應用202的認證模塊248的實現可以依賴於正使用的服務主機的類型。因此,面向服務的框架200允許一個或多個安全層218合併到框架200。例如,如果在網際網路信息服務(Internet Information Services, IIS)中掌控(host)面向服務的框架200,則可以使用IIS提供的認證支持。如果Windows Service掌控服務,則可以使用基於消息或基於傳送的認證。在一些示例中,面向服務的框架200為用戶訪問提供認證。在這些情況下,認證模塊250可以用於提供關於用於用戶、組和角色的資源的訪問許可。在一些示例中,變換層214的實現分離到FDI伺服器106和客戶端設備104,以例如改進過程控制應用202的性能。在這些示例中,客戶端設備104可以實現不包含敏感信息的交易層214的部分,而FDI伺服器106可以實現確實包含敏感信息的交易層214的部分。在一些示例中,FDI伺服器106和/或客戶端設備104採用緩存,以例如改進過程控制應用202的性能。例如,客戶端設備104可以緩存從FDI伺服器106獲得的面向服務的框架200(例如,比如服務228)的組件。附加地或者替代地,例如,FDI伺服器106可以在設備描述208從外部存儲器、現場設備自身等被讀取之後緩存它們。附加地或者替代地, 適當地,FDI伺服器106可以緩存從現場設備返回的數據和/或待寫入現場設備的數據,直到該數據將要被返回到應用202或寫入現場設備。在一些示例中,在面向服務的框架200中採用程序編制(composition),以允許更容易地擴展應用,而無需整個應用的重新實現或重新部署。這可以通過從多個模塊實現應用並且設計待鬆散地耦接的組件來實現。在一些示例中,面向服務的框架200支持意外管理和日誌記錄。例如,例如驗證消息的錯誤可以被日誌記錄在FDI伺服器106上,以供操作員工和監控系統使用。意外管理也可以覆蓋異步意外以及客戶端和伺服器代碼之間的意外協調。關於日誌記錄,對客戶端文件系統的訪問在Silverlight應用中不可用,並且客戶端和伺服器的執行一般異步進行。因此,從客戶端側傳送到伺服器側的日誌文件中包括一些或所有以下信息(1)與每一日誌記錄的項關聯的用戶;(2)與日誌項關聯的機器;(3)用於組合有關客戶端和伺服器日誌文件的機制;(4)關鍵錯誤和意外等。在一些示例中,實現過程控制應用202以利用例如客戶端設備104的平臺的內建媒體能力。例如,可以服從以下指南⑴因為用於面向服務的框架200的接口獨立於任何特定過程控制網絡協議,所以過程控制應用202被設計為利用客戶端設備104已經提供的圖形能力。以及⑵利用本地圖形和/或矢量圖形,以例如改進應用性能。在一些示例中,提供在客戶端設備104上執行的應用202與在FDI伺服器106上執行的面向服務的框架200之間的接口的服務接口 220支持固定或移動的客戶端設備104, 例如富桌面、智慧型手機、欠能力手機等。因此,可以實現服務接口 220以例如支持用於用作與富UI相似的移動接口的部分的啟用導航的富和移動接口的UI描述。在一些示例中,面向服務的框架200支持採用web風格接口的應用202。在這些示例中,數據綁定用於在例如列表和多行數據顯現中顯示數據。這可以減少實現設備日期的顯現所需的代碼,這樣可以簡化開發並且減少編碼錯誤。數據綁定也啟用不同視圖或形式的自動同步。雙向綁定的使用允許用戶更新顯現數據。此外,可以陷阱(trap)導航按鈕事件,以避免遠離應用或網頁的不期望的導航。如上所述,變換層214存儲為實現客戶端應用202所調用的特定服務2 而確定的網絡操作230的序列的狀態。因為一個或多個應用202可以同時調用多個服務228,因此變換層214被配置為將用於同時執行的不同服務228的網絡操作230的不同序列的狀態信息存儲在隔離的存儲(未示出)中,從而另一序列不能破壞一個序列的狀態。如上所述,面向服務的框架200包括安全層218,用於提供一個或多個認證模塊 248和/或認證模塊250。在一些示例中,認證模塊248支持應用202、面向服務的框架200、 設備描述文件208等的驗證,以確保正確地協同操作這些組件。例如,應用202的客戶端側驗證可以用於確保正確的UI被呈現給用戶。伺服器側驗證可以用於驗證來自數據源的輸入,例如應用202和/或現場設備提供的數據。例如,伺服器側驗證機制可以用於約束、拒絕和/或清理數據,其中,關於長度、範圍、格式等檢查輸入數據。在一些示例中,隔離存儲 (未示出)用於存儲對於特定應用202和/或客戶端設備104特定的驗證規則。圖3是示出圖2的示例面向服務的框架200可以提供的示例服務2 的框圖。圖 3的示例性服務228包括示例性請求-響應服務304,用於將消息發送到現場設備以及從設備接收對應響應的應用(例如客戶端應用20 。圖3的示例性服務2 還包括示例性公開訂購服務308,用於訂購現場設備返回的公開的數據的應用(例如客戶端應用202)。圖 3的示例性服務2 還包括示例性事件服務312,用於接收現場設備返回的事件的應用(例如客戶端應用20 。此外,圖3的示例性服務2 包括目錄服務316,用於獲得描述一個或多個設備網絡210 (例如,或,更一般地,一個或多個關聯的過程控制系統10 和一個或多個設備網絡210互連的(例如,並且,因此,實現一個或多個關聯的過程控制系統102)的現場設備的組的信息的應用(例如客戶端應用20 。圖3的示例性服務2 還包括示例性寫入服務320,用於將控制參數值寫入現場設備的應用(例如客戶端應用20 。在一些示例中,寫入服務320可以支持各種訪問限制(例如,比如限制寫入僅授權用戶)。
圖4是圖1的FDI伺服器106的示例性實現的框圖。所示示例的FDI伺服器106 包括示例性應用接口 404,用於與應用(例如圖2的客戶端應用202和/或圖1的客戶端應用120)進行交互。例如,應用接口 404可以實現獨立於任何過程控制網絡協議的服務消息類型222和服務數據類型2M定義的基於消息的服務接口 220。此外,應用接口 404可以實現為與在FDI伺服器106自身上和/或在其它客戶端設備(例如,比如圖1的客戶端104) 上執行的應用通信地耦接。圖4的FDI伺服器106還包括示例性處理器408,用於執行用於實現一些或所有圖 2的面向服務的框架200的機器可讀指令。使用任何類型的一個或多個處理器(例如以下更詳細描述的圖11的處理系統1100中包括的處理器1102中的一個或多個)可以實現處理器408。圖4的FDI伺服器106還包括示例性網絡接口 412,用於與實現一個或多個過程控制系統的一個或多個設備網絡進行交互。因此,網絡接口 412可以支持上述過程控制網絡協議236中的一個或多個。圖5是圖1的客戶端設備104的示例實現的框圖。所示示例的客戶端設備104包括示例性客戶端接口 504,用於與執行其它過程控制應用(例如,比如圖2的其它客戶端應用202和/或圖1的其它客戶端應用120)的其它客戶端進行交互。例如,客戶端接口 404 可以用於在相同或不同設備上執行的應用之間的通信的任何類型的通信協議和/或交互過程傳信。圖5的客戶端設備104還包括示例性處理器508,用於執行用於實現待與圖2的面向服務的框架200交互的一個或多個應用202。使用任何類型的一個或多個處理器(例如以下更詳細描述的圖11的處理系統1100中包括的處理器1102中的一個或多個)可以實現處理器508。圖5的客戶端設備104還包括示例性服務接口 512,用於與正實現面向服務的框架 200的圖1和/或圖4的FDI伺服器106交互。因此,服務接口 512是圖4的應用接口 404 的對等物,並且可以實現獨立於過程控制網絡協議的面向服務的框架200的服務消息類型 222和服務數據類型2M定義的基於消息的服務接口 220。雖然圖4-圖5中已經分別示出實現圖1的FDI伺服器106和客戶端設備104的示例性方式,但以任何另外方式可以組合、劃分、重排、省略、消除和/或實現圖4-圖5所示的元件、過程和/或設備中的一個或多個。此外,通過硬體、軟體、固件和/或硬體、軟體和/ 或固件的任何組合可以實現示例性應用接口 404、示例性處理器408、示例性網絡接口 412、 示例性客戶端接口 504、示例性處理器508、示例性服務接口 512和/或,更一般地,圖4的示例性FDI伺服器106和/或圖5的示例性客戶端設備。因此,例如一個或多個電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現場可編程邏輯器件(FPLD) 等可以實現任何示例性應用接口 404、示例性處理器408、示例性網絡接口 412、示例性客戶端接口 504、示例性處理器508、示例性服務接口 512和/或,更一般地,示例性FDI伺服器 106和/或示例性客戶端設備104。當閱讀任何所附裝置權利要求以僅覆蓋軟體和/或固件實現時,示例性FDI伺服器106、示例性客戶端設備104、示例性應用接口 404、示例性處理器408、示例性網絡接口 412、示例性客戶端接口 504、示例性處理器508和/或示例性服務接口 512中的至少一個由此明確地定義為包括存儲這些軟體和/或固件的有形計算機可
14讀介質(例如存儲器、數字多功能盤(DVD)、壓縮盤(⑶)等)。此外,圖4的示例性FDI伺服器106和/或圖5的示例性客戶端設備104可以包括除了圖4-圖5所示的之外或並非圖4-圖5所示的一個或多個元件、過程和/或設備,和/或可以包括多於一個的任何或所有所示元件、處理和設備。圖6-圖10示出可以執行以實現示例性過程控制環境100、示例性FDI伺服器106、 示例性客戶端設備104、示例性應用接口 404、示例性處理器408、示例性網絡接口 412、示例性客戶端接口 504、示例性處理器508、示例性服務接口 512和/或,更一般地,面向服務的框架200的示例性過程的流程圖。在這些示例中,通過包括用於處理器(例如以下結合圖 11討論的示例處理系統1100所示的處理器110 執行的機器可讀指令的一個或多個程序可以實現每一流程圖表示的過程。替代地,除了處理器1102 (例如,比如控制器和/或任何其它合適的設備)之外的和/或(例如ASIC、PLD、FPLD、離散邏輯等實現的)固件或專用硬體中嵌入的設備可以執行實現圖6-圖10的流程圖表示的過程中的一個或多個的整個一個或多個程序和/或其部分。此外,可以手動地實現圖6-圖10的流程圖表示的過程中的一個或多個、或其一個或多個部分。此外,雖然參照圖6-圖10所示的流程圖描述示例性過程,但可以替換地使用用於實現在此描述的示例性方法和裝置的很多其它技術。例如,參照圖6-圖10所示的流程圖,塊的執行的順序可以改變,和/或描述的塊中的一些可以改變、 消除、組合和/或再分為多個塊。如上所述,使用有形計算機可讀介質(例如硬碟驅動器、快閃記憶體儲器、只讀存儲器 (R0M)、CD、DVD、緩存、隨機存取存儲器(RAM))和/或其中存儲信息達到任何持續時間(例如達到延伸的時間周期、永久地、簡短時刻,用於臨時緩衝、和/或用於信息的緩存)的任何其它存儲介質上存儲的編碼的指令(例如計算機可讀指令)可以實現圖6-圖10的示例性過程。如在此描述的那樣,有形計算機可讀介質明確地定義為包括任何類型的計算機可讀存儲,並且排除傳輸信號。附加地或者替代地,使用非瞬時計算機可讀介質(例如快閃記憶體儲器、R0M、CD、DVD、緩存、隨機存取存儲器(RAM))和/或其中存儲信息達到任何持續時間(例如,達到延伸的時間周期、永久地、簡短時刻,用於臨時緩衝、和/或用於信息的緩存)的任何其它存儲介質可以實現圖6-圖10的示例性過程。如在此描述的那樣,術語非瞬時計算機可讀介質明確地定義為包括任何類型的計算機可讀介質,並且排除傳輸信號。此外,如在此使用的那樣,術語「計算機可讀」和「機器可讀」被認為是等同的,除非另外指示。圖6示出可以被執行以實現圖2的示例性面向服務的框架200的示例性過程600。 基於預定事件的產生等、或其任何組合,以預定間隔可以執行示例性過程600。從用於支持圖1和/或圖5的客戶端設備104執行的過程控制應用202的圖1和/或圖4的FDI伺服器106執行的角度描述圖6的過程600。因此,參照前面的圖,圖6的過程600在塊605 開始執行,在塊605,客戶端設備104執行待使用面向服務的框架200提供的一個或多個網絡獨立服務228(也稱為網絡不可知論服務、設備獨立服務、設備不可知論服務等)與一個或多個過程控制系統中的一個或多個現場設備通信的過程控制應用202。例如,在塊605, 過程控制應用可以使用圖3的所有的請求-響應服務304、公開-訂購服務308、事件服務 312、目錄服務316和/或寫入服務320與一個或多個現場設備通信。在塊610,在FDI伺服器106上執行的面向服務的框架200確定是否採用訪問策略。如果採用訪問策略(塊610),則在塊615,面向服務的框架200的認證模塊248認證用於面向服務的框架200的過程控制應用202。此外,在塊620,面向服務的框架200的認證模塊250認證過程控制應用202的用戶,以將用戶特定訪問級別(例如,只讀、讀寫、不訪問、 管理訪問等)提供給面向服務的框架200提供的服務228。在塊625,過程控制應用202與面向服務的框架200的網絡獨立服務層212交互。 服務層212被稱為網絡獨立的,因為其提供用於與過程控制系統中的現場設備通信的服務 228,其中,服務不依賴於任何特定過程控制網絡協議。以下更詳細描述的圖7示出可以用於在塊625實現處理的示例性過程。在塊630,面向服務的框架200的網絡獨立服務層212與面向服務的框架200的網絡依賴變換層214進行交互。變換層214被稱為網絡依賴的,因為面向服務的框架200 中包括的每一變換層214將服務層212提供的網絡獨立服務2 變換為特定於(例如依賴於)網絡操作的各個序列。以下更詳細描述的圖8示出可以用於實現決630的處理的示例性過程。在塊635,面向服務的框架200的網絡依賴變換層214與面向服務的框架200的對應網絡依賴網絡層216進行交互。網絡層216被稱為網絡依賴的,因為面向服務的框架200 中包括的網絡層216向其各個變換層214確定的網絡操作的序列提供針對變換層214支持的特定過程控制網絡協議的網絡接口。以下更詳細描述的圖9示出可以用於實現塊635處的處理的的示例性過程。在塊640,面向服務的框架200的一個或多個網絡層216用於與實現包含過程控制應用202將要與其通信的一個或多個現場設備的一個或多個過程控制系統的一個或多個特定設備網絡210進行交互。示例性過程600的執行然後結束。圖7示出可以被執行為實現圖6的塊625的示例性服務層處理的示例性過程625。 參照前面的圖,圖7的過程625在塊705開始執行,在塊705,面向服務的框架200的服務層212暴露過程控制應用202可訪問的服務訂約形式的可用網絡獨立服務228。在塊710, 過程控制應用202使用服務接口 220中的一個或多個調用服務228中的一個或多個,每一服務接口 220與各個服務2 關聯。例如,每一服務接口 220是採用使用面向服務的框架 200指定的服務消息類型222和服務數據類型2M定義的網絡獨立消息的基於消息的服務接口。在塊715,服務層212確定響應於在塊710調用特定服務2 的過程控制應用202 通過現場設備返回到過程控制應用202的響應(例如設備數據、事件等)是否需要適配於應用特定格式。如果需要應用特定響應適配(塊715),則服務層212調用選擇的適配器2 將響應數據適配於對於過程控制應用202特定的格式。示例性過程625的執行然後結束。圖8示出可以被執行為實現在圖6的塊630的示例性變換層處理的示例性過程 630。參照前面的圖,圖8的過程630在塊805開始執行,在塊805,面向服務的框架200的服務層212調用支持用於與特定現場設備通信的過程控制網絡協議的面向服務的框架200 的特定變換層214。此外,在塊805,特定變換層214中包括的應用前端2 用於將實現服務層212提供的特定服務228的服務操作變換為用於實現服務228的一個或多個網絡操作 230的各個序列。如上所述,實現特定服務228的服務操作獨立於任何過程控制網絡協議, 而網絡操作230的序列對於用於實現包含服務2 將要與其通信的特定現場設備的設備網絡210(例如,並且,更一般地,過程控制系統)的特定過程控制網絡協議是特定的。
在塊810,變換層214使用設備描述文件208 (例如,以EDDL格式232和/或普通文件格式234)準備用於與服務2 將要與其通信的一個或多個特定現場設備接口的網絡操作230的序列。在塊815,變換層214(例如通過調用對應網絡層216)執行網絡操作230的序列, 並且隨著執行網絡操作230的序列保持它們的狀態。在塊810變換層214保持的狀態可以用於跟蹤已經執行了網絡操作230的序列中的哪個以及在給定時間仍然將要執行哪個以實現服務228。在已經執行網絡操作230的序列之後,示例性過程630的執行然後結束。圖9示出可以被執行為實現圖6的塊635的示例性網絡層處理的示例性過程635。 參照前面的圖,圖9的過程635在塊905開始執行,在塊905,調用特定網絡層216以使得對應變換層214確定的網絡操作的序列能夠與對於包含通過其將要執行網絡操作230的序列的現場設備的設備網絡210定義的適當網絡API 240進行交互。例如,在塊905使用的網絡API 240支持各個網絡消息類型對2、網絡數據類型244以及對於包含通過其將要執行網絡操作230的序列的現場設備的設備網絡210採用的特定過程控制網絡協議236特定的可能地一個或多個對象字典對6。在過程在塊905完成之後,執行示例性過程635然後結束。圖10示出說明圖2的服務框架200的示例性操作的示例性過程1000以使得客戶端應用202能夠與過程控制系統102中的現場設備通信。參照前面的圖,在塊1005,客戶端應用調用服務層212暴露的並且具有通用(例如網絡獨立)接口 220的網絡獨立服務228, 以從現場設備(例如壓力發射機)請求讀取數據(例如監控的壓力)。在塊1010,變換層 214將網絡獨立服務2 變換為網絡操作230的網絡依賴序列,以實現包含現場設備的特定設備網絡210中的服務228。例如,在塊1010,變換層214的應用前端2 使用從設備描述文件208獲得的網絡組件信息準備網絡操作230的序列。(例如,設備描述文件208可以是 EDDL描述232或壓力發射機的普通文件格式描述234)。在塊1015,變換層214調用與變換層214關聯的網絡層216提供的網絡API 240, 以根據在塊1010確定的網絡操作230的順序將網絡依賴交易(例如,根據網絡消息類型 242,網絡數據類型244和/或對象字典246格式化的命令)發送到現場設備(例如壓力發射機)。一段時間過後,在塊1020,網絡API 240從現場設備(例如壓力發射機)接收(例如包含測量的壓力數據的)響應。在塊1025,變換層214將在塊1015接收的響應的網絡依賴格式變換為網絡獨立響應格式,其被提供給服務層212。在塊1030,服務層212根據需要調用適配器226,以將在塊1025準備的響應的通用網絡獨立格式變換為仍然網絡獨立但對於應用202特定的格式。在塊1035,服務層(例如使用在塊1005調用的服務220的服務接口 220)將響應返回到應用202。示例性過程1000的執行然後結束。圖11是能夠實現圖2的FDI伺服器106和面向服務的框架200的示例性處理系統1100的框圖。示例性處理系統1100可以附加地或替換地用於實現用於執行客戶端應用 120、202等的客戶端104。例如,計算機1100可以是伺服器、個人計算機、行動電話(例如蜂窩電話)、個人數字助理(PDA)、網際網路設備、或任何另外類型的計算設備。示例性處理器系統1100包括處理器1102,具有關聯的存儲器(例如隨機存取存儲器(RAM) 1104、只讀存儲器(ROM) 1106和快閃記憶體儲器1108)。其中,處理器1102可以執行用於實現圖6-圖10中表示的過程的機器可讀指令。處理器1102可以任何類型的處理單元,例如來自Pentium 族、Itanium 族和/或XScale 族的一個或多個Intel 微處理器、來自ARM 和/或PIC 族微控制器的一個或多個微控制器等。當然,來自其它族的其它處理器也是適當的。RAM 1104,ROM 1106和/或快閃記憶體儲器1108可以存儲實現圖9的過程900的機器可讀指令。同步動態隨機存取存儲器(SDRAM)、動態隨機存取存儲器(DRAM)、RAMBUS動態隨機存取存儲器(RDRAM)和/或任何另外類型的隨機存取存儲器設備可以實現RAM1104。所示示例性的快閃記憶體儲器1108包括引導塊1110。存儲器控制器(未示出)典型地控制對RAM 1104、ROM 1106和快閃記憶體儲器1108的訪問。處理器1102耦接到接口(例如其它組件可以接口到的總線1112)。在所示示例中,對總線1112接口的組件包括輸入設備1114、顯示設備1116、大型存儲設備1118和可拆卸存儲設備驅動器1120。可拆卸存儲設備驅動器1120可以包括關聯的可拆卸存儲介質 1122(例如磁或光介質)。輸入設備1114允許用戶將數據和命令輸入到處理器1102。使用鍵盤、滑鼠、觸控螢幕、軌跡板、條碼掃描儀或使得用戶能夠將信息提供給處理器1102的任何另外設備可實現輸入設備1114。例如,顯示設備1116可以是液晶顯示器(IXD)監視器、陰極射線管(CRT)監視器或充當處理器1102與用戶之間的接口的任何另外合適的設備。圖11刻畫的顯示設備1116 包括將顯示屏幕接口到處理器1102所需的任何附加硬體。例如,大型存儲設備1118可以是傳統硬碟或處理器1102可讀取的任何另外磁或光介質。例如,可拆卸存儲設備驅動器1120可以是光碟機,例如壓縮盤-可記錄(⑶-R)驅動器、壓縮盤-可重寫(CD-RW)驅動器、數字多功能盤(DVD)驅動器)或任何另外光碟機。例如, 其可以替換地是磁介質驅動器。可拆卸存儲介質1122是對於可拆卸存儲設備驅動器1120 的補充,因此介質1122被選擇為通過驅動器1120操作。例如,如果可拆卸存儲設備驅動器 1120是光碟機,則可拆卸存儲介質1122可以是⑶-R盤、⑶-RW盤、DVD盤或任何另外合適的光碟。另一方面,例如,如果可拆卸存儲設備驅動器1120是磁介質設備,則可拆卸存儲介質 1122可以是磁碟或任何另外合適的磁存儲介質。在RAM 1104、ROM 1106、快閃記憶體儲器1108、大型存儲設備1118中和/或在可拆卸存儲介質1122(例如⑶或DVD)上可以存儲用於實現圖6-圖10的過程中的一個或多個的編碼的指令。作為對於實現系統(例如圖11的處理系統)中在此描述的方法和/或裝置的替換,在例如處理器和/或ASIC (專用集成電路)的結構中可以嵌入在此描述的方法和/或
直ο從前面的公開,應理解,在此描述的示例性方法、裝置和產品物可以用於實現用於與過程控制網絡中的設備通信的面向服務的框架。至少在一些情況下,在此公開的示例性面向服務的框架可以提供超過先前過程控制解決方案的優點。例如,在此公開的面向服務的框架中,賣家可以能夠將功能、特徵和靈活性添加到系統,而不具有對現有應用的影響。 作為另一示例,因為每一過程控制應用僅需要獲知如何通過服務通信,所以在此公開的面向服務的框架可以減少整個系統複雜度,而在框架中以較低級別提供用於與設備通信的特定過程控制網絡/設備協議。作為又一示例,因為在此公開的面向服務的框架暴露用於與設備網絡通信的通用網絡獨立接口,所以過程控制應用可以獨立於潛在設備網絡改變,允許應用改變、更新和替換僅基於該相同網絡獨立接口。作為再一示例,在此公開的面向服務的框架允許當過程控制應用僅支持到框架的單個連接,而不是用於支持每一網絡類型的多個連接。作為另一示例,在此公開的面向服務的框架允許添加服務以支持過程控制設備網絡提供的能力,並且EDDL描述可以定義特定設備提供哪些服務。作為還一示例,在此公開的面向服務的框架包括可以用作用於驗證過程控制系統實現的一致性測試點的層之間的良好定義的接口。作為又一示例,在此公開的面向服務的框架的網絡獨立服務接口可以允許消費者從供應商購買設備並且將它們插入具有期望將繼續與不同設備通信的過程控制應用的架構。 最後,雖然在此已經描述了特定示例性方法、裝置以及產品物,但本發明的覆蓋的範圍不限於此。反之,本發明良好地覆蓋字面上或在等同原則的教導下落入所附權利要求的範圍內的所有方法、裝置和產品物。
權利要求
1.一種用於與過程控制系統中的設備通信的方法,所述方法包括調用用於與所述過程控制系統中的所述設備通信的服務,所述服務具有獨立於用於實現所述過程控制系統的過程控制網絡協議的通用接口;將所述服務變換為用於實現所述服務的一個或多個網絡操作,所述網絡操作對於用於實現所述過程控制系統的所述過程控制網絡協議是特定的;以及根據所述一個或多個網絡操作,使用對於用於實現所述過程控制系統的所述過程控制網絡協議特定的網絡接口以與所述設備通信。
2.如權利要求1所述的方法,其特徵在於,所述服務由提供多個服務的服務層暴露為服務訂約,所述多個服務中的每一個獨立於用於實現所述過程控制系統的所述過程控制網絡協議,並且所述多個服務中的每一個支持與使用多個不同過程控制網絡協議實現的多個不同過程控制系統中的設備的通信。
3.如權利要求1所述的方法,其特徵在於,調用所述服務包括使用定義基於消息的服務接口的多個消息中的一個或多個來調用所述服務,所述多個消息包括多個服務消息類型和多個服務數據類型,所述多個服務消息類型和所述多個服務數據類型獨立於任何過程控制網絡協議。
4.如權利要求1所述的方法,其特徵在於,將所述服務變換為用於實現所述設備的一個或多個網絡操作包括將所述服務變換為對於所述過程控制網絡協議特定的網絡操作的序列;以及保持所述網絡操作的序列的狀態,以跟蹤已經執行了所述網絡操作的序列中的哪個以實現所述服務。
5.如權利要求1所述的方法,其特徵在於,將所述服務變換為用於實現所述服務的一個或多個網絡操作包括讀取所述設備的設備描述以準備所述一個或多個網絡操作。
6.如權利要求5所述的方法,其特徵在於,以電子設備描述語言或普通文件格式中的至少一個來存儲所述設備描述。
7.如權利要求1所述的方法,其特徵在於,所述網絡特定接口包括網絡應用編程接口, 其包括多個網絡消息類型、多個網絡數據類型或對於用於實現所述過程控制系統的所述過程控制網絡協議特定的對象字典中的至少一個。
8.如權利要求1所述的方法,其特徵在於,還包括從所述設備接收響應,所述響應具有對於用於實現所述過程控制系統的所述過程控制網絡協議特定的第一格式,將所述響應從所述第一格式變換為獨立於用於實現所述過程控制系統的所述過程控制網絡協議的第二格式;以及調用適配器以將所述響應從所述第二格式變換為對於將要接收所述響應的應用特定的第三格式。
9.如權利要求1所述的方法,其特徵在於,還包括在調用所述服務之前認證應用。
10.如權利要求1所述的方法,其特徵在於,還包括基於當調用所述服務時執行的用戶認證來限制與所述設備的通信。
11.如權利要求1所述的方法,其特徵在於,所述服務與以下中的至少一個對應第一服務,用於將消息發送到設備並且從所述設備接收對應的響應;第二服務,用於訂購由所述設備所返回的公開的數據; 第三服務,用於接收由所述設備所返回的事件;第四服務,用於獲得描述所述過程控制系統和包括所述設備的、實現所述過程控制系統的多個設備的信息;以及第五服務,用於將控制參數值寫入所述設備。
12.如權利要求1所述的方法,其特徵在於,使用異步發送的一個或多個消息來調用所述服務,並且所述網絡接口實現同步輪詢以從所述設備獲得數據。
13.一種存儲機器可讀指令的產品的有形物,所述機器可讀指令當執行時使得機器至少調用用於與過程控制系統中的設備通信的服務,所述服務具有獨立於用於實現所述過程控制系統的過程控制網絡協議的通用接口;將所述服務變換為用於實現所述服務的一個或多個網絡操作,所述網絡操作對於用於實現所述過程控制系統的所述過程控制網絡協議是特定的;以及根據所述一個或多個網絡操作,使用對於用於實現所述過程控制系統的所述過程控制網絡協議特定的網絡接口以與所述設備通信。
14.如權利要求13所述的產品的有形物,其特徵在於,所述服務由提供多個服務的服務層暴露為服務訂約,所述多個服務中的每一個獨立於用於實現所述過程控制系統的所述過程控制網絡協議,所述多個服務中的每一個支持與使用多個不同過程控制網絡協議實現的多個不同過程控制系統中的設備的通信,並且其中,所述機器可讀指令當執行時還使得所述機器使用定義用於調用所述設備的基於消息的服務接口的多個消息中的一個或多個來調用所述服務,所述多個消息包括多個服務消息類型和多個服務數據類型,所述多個服務消息類型和所述多個服務數據類型獨立於任何過程控制網絡協議。
15.如權利要求13所述的產品的有形物,其特徵在於,所述機器可讀指令當執行時還使得所述機器通過以下步驟將所述服務變換為用於實現所述服務的一個或多個網絡操作將所述服務變換為對於所述過程控制網絡協議特定的網絡操作的序列; 讀取所述設備的設備描述以準備所述網絡操作的序列;以及保持所述網絡操作的序列的狀態,以跟蹤已經執行了所述網絡操作的序列中的哪個以實現所述服務。
16.如權利要求13所述的產品的有形物品,其特徵在於,所述網絡特定接口包括網絡應用編程接口,其包括多個網絡消息類型、多個網絡數據類型或對於用於實現所述過程控制系統的所述過程控制網絡協議特定的對象字典中的至少一個。
17.一種用於與過程控制系統中的現場設備通信的裝置,所述裝置包括處理器,用於實現用於與使用多個不同過程控制網絡協議實現的多個過程控制系統中的多個現場設備通信的面向服務的框架,所述面向服務的框架包括服務層,實現用於與所述多個現場設備通信的多個服務,每一服務具有獨立於用於實現所述多個過程控制系統的任何所述多個過程控制網絡協議的各個通用接口;多個變換層,每一各個變換層用於將所述多個服務中的每一服務變換為用於實現所述各個服務的網絡操作的各個序列,所述網絡操作的各個序列對於與所述各個變換層關聯的特別的過程控制網絡協議是特定的;以及多個網絡層,分別與所述多個變換層關聯,用於提供對於用於實現所述多個過程控制系統的所述多個過程控制網絡協議中的每一個特定的多個網絡接口 ;以及用於通信地耦接由客戶端設備所實現的應用與由所述處理器所實現的所述服務層的接口。
18.如權利要求16所述的裝置,其特徵在於,每一服務由所述服務層暴露為各個服務訂約,每一服務支持與使用所述多個不同過程控制網絡協議實現的所述多個不同過程控制系統中的所述多個現場設備的通信,並且使用定義用於調用所述多個服務中的每一個的基於消息的服務接口的多個消息中的一個或多個來調用每一服務,所述多個消息包括多個服務消息類型和多個服務數據類型,所述多個服務消息類型和所述多個服務數據類型獨立於任何過程控制網絡協議。
19.如權利要求16所述的裝置,其特徵在於,第一變換層通過以下步驟將第一服務變換為網絡操作的第一序列讀取所述第一服務將要與其通信以準備所述網絡操作的第一序列的第一現場設備的設備描述;以及保持所述網絡操作的第一序列的狀態,以跟蹤已經執行所述網絡操作的第一序列中的哪個以實現所述第一服務。
20.如權利要求16所述的裝置,其特徵在於,由第一網絡層所提供的第一網絡特定接口包括網絡應用編程接口,其包括多個網絡消息類型、多個網絡數據類型或對於用於實現第一過程控制系統的第一過程控制網絡協議特定的對象字典中的至少一個。
全文摘要
公開了一種用於與過程控制系統中的設備通信的面向服務的框架。公開的用於與過程控制系統中的設備通信的示例性方法包括調用用於與所述過程控制系統中的設備通信的服務,所述服務具有獨立於用於實現所述過程控制系統的過程控制網絡協議的通用接口;將所述服務變換為用於實現所述服務的一個或多個網絡操作,所述網絡操作對於用於實現所述過程控制系統的所述過程控制網絡協議是特定的;以及根據所述一個或多個網絡操作,使用對於用於實現所述過程控制系統的所述過程控制網絡協議特定的網絡接口以與所述設備通信。
文檔編號H04L29/06GK102413121SQ20111029054
公開日2012年4月11日 申請日期2011年9月22日 優先權日2010年9月23日
發明者M·尼克森 申請人:費希爾-羅斯蒙特系統公司