概括地說,本公開內(nèi)容涉及控制在過程控制系統(tǒng)中的自動化設(shè)備,更具體而言,涉及提供過程控制設(shè)備中的定制應(yīng)用環(huán)境。
背景技術(shù):
過程控制系統(tǒng)(如在化學(xué)、石油或其它過程中使用的那些過程控制系統(tǒng))通常包括一個或多個系統(tǒng)控制器,這些系統(tǒng)控制器經(jīng)由模擬、數(shù)字或組合的模擬/數(shù)字總線通信地耦合到至少一個主機或操作者工作站并通信地耦合到一個或多個自動化設(shè)備。自動化設(shè)備(其可以是例如閥、閥定位器、開關(guān)以及傳送器(例如,溫度傳感器、壓力傳感器和流速傳感器))在過程控制系統(tǒng)內(nèi)執(zhí)行諸如開啟或關(guān)閉閥以及測量過程參數(shù)之類的功能。過程控制器接收指示由自動化設(shè)備進行的過程測量的信號和/或與自動化設(shè)備有關(guān)的其它信息,使用該信息來實現(xiàn)控制例程,并且然后生成控制信號,該控制信號通過總線或其它通信線路發(fā)送給自動化設(shè)備以控制過程控制系統(tǒng)的操作。
技術(shù)實現(xiàn)要素:
鑒于對設(shè)備控制器進行更新的常規(guī)方法限制了設(shè)備控制器的靈活性,并會需要大量的時間和資源這種問題,提供了一種示例性公開的將要安裝在過程控制系統(tǒng)中的自動化設(shè)備,該自動化設(shè)備包括:設(shè)備控制器管理器,所述設(shè)備控制器管理器將設(shè)備控制器通信地耦合到主機。示例性主機用于提供過程控制系統(tǒng)內(nèi)的所述設(shè)備控制器和自動化設(shè)備。示例性公開的自動化設(shè)備還包括:安裝器(installer),所述安裝器將過程控制應(yīng)用安裝到所述設(shè)備控制器的固件中的應(yīng)用空間中。示例性過程控制應(yīng)用由所述主機提供權(quán)限數(shù)據(jù)。示例性公開的自動化設(shè)備還包括:應(yīng)用框架處理器(handler),所述應(yīng)用框架處理器被配置為:執(zhí)行所述應(yīng)用空間中的所述過程控制應(yīng)用,所述過程控制應(yīng)用擴展所述設(shè)備控制器的功能;以及緩和所述過程控制應(yīng)用對所述設(shè)備控制器的物理資源的訪問,所述權(quán)限數(shù)據(jù)限定所述過程控制應(yīng)用具有所述物理資源中的哪些物理資源的訪問。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器被配置為保持與所述設(shè)備控制器內(nèi)的固件存儲空間分離的應(yīng)用存儲空間,其中,所述過程控制應(yīng)用具有對所述應(yīng)用存儲空間的訪問,但不具有對所述固件存儲空間的訪問。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器被配置為向所述過程控制應(yīng)用提供對所述設(shè)備控制器的網(wǎng)絡(luò)通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述主機進行通信的頻率。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器被配置為向所述過程控制應(yīng)用提供對所述設(shè)備控制器的自動化設(shè)備通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述自動化設(shè)備進行通信的頻率。
在一個示例中,所述權(quán)限數(shù)據(jù)指定對所述過程控制應(yīng)用何時能夠與所述自動化設(shè)備進行通信進行調(diào)節(jié)的邏輯條件。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器被配置為:對數(shù)據(jù)空間進行保持,所述過程控制應(yīng)用將數(shù)據(jù)寫入到所述數(shù)據(jù)空間以與所述設(shè)備控制器的所述固件共享;以及基于所述權(quán)限數(shù)據(jù)來緩和所述過程控制應(yīng)用對所述數(shù)據(jù)空間的訪問。
在一個示例中,所述過程控制應(yīng)用是由以下情況下的至少一個來提供的:當(dāng)安裝所述過程控制應(yīng)用時由所述主機提供;或者當(dāng)制造所述設(shè)備控制器時由制造商提供。
提供了一種示例性公開的設(shè)備控制器,所述設(shè)備控制器與安裝在過程控制系統(tǒng)中的自動化設(shè)備相關(guān)聯(lián),所述設(shè)備控制器包括:設(shè)備控制器管理器,所述設(shè)備控制器管理器用于將所述設(shè)備控制器通信地耦合到主機。示例性主機提供所述過程控制系統(tǒng)內(nèi)的所述設(shè)備控制器和所述自動化設(shè)備。示例性設(shè)備控制器還包括安裝器,所述安裝器用于將過程控制應(yīng)用安裝到所述設(shè)備控制器的固件中的應(yīng)用空間中。示例性過程控制應(yīng)用由所述主機提供權(quán)限數(shù)據(jù)。示例性設(shè)備控制器還包括應(yīng)用框架處理器,所述應(yīng)用框架處理器用于執(zhí)行所述應(yīng)用空間中的所述過程控制應(yīng)用,所述過程控制應(yīng)用用于擴展所述設(shè)備控制器的功能,以及緩和所述過程控制應(yīng)用對所述設(shè)備控制器的物理資源的訪問,所述權(quán)限數(shù)據(jù)定義用于緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的所述訪問的規(guī)則。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器保持與所述設(shè)備控制器內(nèi)的固件存儲空間分離的應(yīng)用存儲空間,其中,所述過程控制應(yīng)用具有對所述應(yīng)用存儲空間的訪問,但不具有對所述固件存儲空間的訪問。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器向所述過程控制應(yīng)用提供對所述設(shè)備控制器的網(wǎng)絡(luò)通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述主機進行通信的頻率。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器向所述過程控制應(yīng)用提供對所述設(shè)備控制器的自動化設(shè)備通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述自動化設(shè)備進行通信的頻率。
在一個示例中,所述權(quán)限數(shù)據(jù)指定對所述過程控制應(yīng)用何時能夠與所述自動化設(shè)備進行通信進行調(diào)節(jié)的邏輯條件。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器保持?jǐn)?shù)據(jù)空間,所述過程控制應(yīng)用將數(shù)據(jù)寫入到所述數(shù)據(jù)空間以與所述設(shè)備控制器的所述固件共享。
在一個示例中,為了緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問,所述應(yīng)用框架處理器基于所述權(quán)限數(shù)據(jù)來緩和所述過程控制應(yīng)用對所述數(shù)據(jù)空間的訪問。
還提供了一種示例性自動化裝置,所述自動化裝置包括用于將所述設(shè)備控制器通信地耦合到主機的單元。示例性主機提供所述過程控制系統(tǒng)內(nèi)的所述設(shè)備控制器和所述自動化設(shè)備。示例性自動化裝置還包括用于將過程控制應(yīng)用安裝到所述設(shè)備控制器的固件中的應(yīng)用空間中的單元。示例性過程控制應(yīng)用由所述主機提供權(quán)限數(shù)據(jù)。示例性自動化裝置還包括用于執(zhí)行所述應(yīng)用空間中的所述過程控制應(yīng)用的單元。示例性過程控制應(yīng)用擴展示例性設(shè)備控制器的功能。示例性自動化裝置還包括用于緩和所述過程控制應(yīng)用對所述設(shè)備控制器的物理資源的訪問的單元。示例性權(quán)限數(shù)據(jù)定義用于緩和示例性過程控制應(yīng)用對示例性設(shè)備控制器的所述物理資源的所述訪問的規(guī)則。
在一個示例中,所述用于緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問的單元使得所述設(shè)備控制器保持與所述設(shè)備控制器內(nèi)的固件存儲空間分離的應(yīng)用存儲空間,其中,所述過程控制應(yīng)用具有對所述應(yīng)用存儲空間的訪問,但不具有對所述固件存儲空間的訪問。
在一個示例中,所述用于緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問的單元使得所述設(shè)備控制器向所述過程控制應(yīng)用提供對所述設(shè)備控制器的網(wǎng)絡(luò)通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述主機進行通信的頻率。
在一個示例中,所述用于緩和所述過程控制應(yīng)用對所述設(shè)備控制器的所述物理資源的訪問的單元使得所述設(shè)備控制器向所述過程控制應(yīng)用提供對所述設(shè)備控制器的自動化設(shè)備通信的訪問,所述權(quán)限數(shù)據(jù)指定所述過程控制應(yīng)用能夠與所述自動化設(shè)備進行通信的頻率。
在一個示例中,所述權(quán)限數(shù)據(jù)指定對所述過程控制應(yīng)用何時能夠與所述自動化設(shè)備進行通信進行調(diào)節(jié)的邏輯條件。
在一個示例中,所述設(shè)備控制器被配置為保持?jǐn)?shù)據(jù)空間,并且所述過程控制應(yīng)用被配置為將數(shù)據(jù)寫入到所述數(shù)據(jù)空間以與所述設(shè)備控制器的所述固件共享。
根據(jù)本實用新型,能夠?qū)^程控制系統(tǒng)中的設(shè)備控制器的功能進行擴展和/或更新而無需更新固件且無需中斷設(shè)備控制器的操作,并提供了安全性和穩(wěn)定性。
附圖說明
圖1示出了示例性過程控制系統(tǒng)。
圖2示出了具有用于自動化設(shè)備的定制應(yīng)用環(huán)境的示例性設(shè)備控制器。
圖3示出了圖2的示例性應(yīng)用管理器的實現(xiàn)方式。
圖4是表示可被執(zhí)行以實現(xiàn)圖2和圖3的應(yīng)用管理器的示例性方法的流程圖。
圖5是表示可被執(zhí)行以實現(xiàn)圖2和圖3的應(yīng)用管理器的另一個示例性方法的流程圖。
圖6是示例性處理器系統(tǒng)的框圖,其中示例性處理器系統(tǒng)被構(gòu)造為執(zhí)行機器可讀指令以執(zhí)行由圖4和/或圖5所表示的方法,從而實現(xiàn)圖2和圖3的示例性應(yīng)用管理器。
具體實施方式
概括地說,本公開內(nèi)容涉及過程控制系統(tǒng)中的自動化設(shè)備,更具體而言,涉及用于提供過程控制設(shè)備(例如,設(shè)備控制器)中的定制應(yīng)用環(huán)境的方法、設(shè)備和制品。過程控制系統(tǒng)包括工作站和/或服務(wù)器,這些工作站和/或服務(wù)器與位于過程控制系統(tǒng)中的系統(tǒng)控制器、設(shè)備控制器和/或自動化設(shè)備進行交互。在本文所公開的示例中,除了由設(shè)備控制器的固件所執(zhí)行的主要過程控制功能以外,設(shè)備控制器還執(zhí)行過程控制應(yīng)用。自動化設(shè)備可以是例如閥、閥定位器、開關(guān)和傳送器,并且可以執(zhí)行過程控制功能,例如開啟或關(guān)閉閥以及測量過程控制參數(shù)。除了管理自動化設(shè)備以外,設(shè)備控制器還可以基于從自動化設(shè)備接收的信息來生成過程數(shù)據(jù)(例如,過程控制信息)。過程數(shù)據(jù)可以包括過程統(tǒng)計、警報、監(jiān)視信息、過程趨勢信息、診斷信息、自動化設(shè)備狀態(tài)信息和/或來自自動化設(shè)備的消息。在一些示例中,設(shè)備控制器可以被集成到自動化設(shè)備中。替代地或另外,在一些示例中,設(shè)備控制器可以有線或無線地連接到自動化設(shè)備。
設(shè)備控制器執(zhí)行固件,以例如與主機(例如,工作站、服務(wù)器等)進行通信,與自動化設(shè)備進行通信和/或生成過程數(shù)據(jù)。通常,為了更新設(shè)備控制器的功能,使該設(shè)備控制器離線并對其固件進行更新。替代地,固件的鏡像版本在后臺進行更新并且切換到固件的活動版本。此外,為了提供定制功能,對固件或固件的模塊進行改變和重新編譯。這種方法限制了設(shè)備控制器的靈活性,并會需要大量的時間和資源。
在本文所公開的示例中,設(shè)備控制器的固件包括應(yīng)用空間。應(yīng)用空間允許對過程控制器的功能進行擴展和/或更新而無需更新固件且無需中斷過程控制器的操作。在下面所示的示例中,可以在應(yīng)用空間中下載和執(zhí)行過程控制應(yīng)用而不改變固件或重置自動化設(shè)備。為了提供安全性和穩(wěn)定性,應(yīng)用空間與固件的其余部分隔離。
應(yīng)用管理器通過隔離存儲器(例如,只讀存儲器(ROM)、隨機存取存儲器(RAM)、硬盤、固態(tài)存儲器等)的一部分來限定應(yīng)用空間,在存儲器的該部分中可以存儲應(yīng)用空間中執(zhí)行的過程控制應(yīng)用,并且可以從存儲器的該部分讀取過程控制應(yīng)用和/或可以向存儲器的該部分寫入過程控制應(yīng)用。此外,過程控制應(yīng)用不能夠讀取和/或?qū)懭氪鎯ζ髦械奈幢欢x用于應(yīng)用空間的其它區(qū)域。在本文所公開的示例中,應(yīng)用管理器緩和對設(shè)備控制器的物理資源(例如,網(wǎng)絡(luò)通信,自動化設(shè)備通信,傳感器,致動器等)的訪問。在一些示例中,應(yīng)用管理器通過控制對固件的功能的可訪問性(例如,只讀訪問、讀取-寫入訪問、向主機發(fā)送和/或接收的消息的能力等)來緩和過程控制應(yīng)用。例如,應(yīng)用管理器可以允許過程控制應(yīng)用讀取由自動化設(shè)備發(fā)送的消息和/或數(shù)據(jù),但會阻止過程控制應(yīng)用將消息(例如,命令信號)發(fā)送給自動化設(shè)備。應(yīng)用管理器還可以控制訪問物理資源的頻率。例如,應(yīng)用管理器可以限制過程控制應(yīng)用可以將消息發(fā)送給主機的頻率(例如,以阻止偶然的或惡意的拒絕服務(wù)式(denial-of-service)攻擊等)。
在本文所公開的示例中,過程控制應(yīng)用與權(quán)限數(shù)據(jù)相關(guān)聯(lián)。權(quán)限數(shù)據(jù)限定了過程控制應(yīng)用對設(shè)備控制器的物理資源的訪問。例如,權(quán)限數(shù)據(jù)可以指定過程控制應(yīng)用可將消息發(fā)送給主機,但不發(fā)送給自動化設(shè)備。在這些示例中,如果過程控制應(yīng)用包括用于將消息發(fā)送給自動化設(shè)備的指令,則應(yīng)用管理器不向過程控制應(yīng)用提供相對應(yīng)的功能。在一些示例中,制造商可以針對為不同的客戶制造的設(shè)備控制器(例如,在硬件中、在固件中等)設(shè)定不同的權(quán)限策略。例如,為了安全的目的,客戶可以決定在某些過程控制系統(tǒng)中的設(shè)備控制器上執(zhí)行的過程控制應(yīng)用不將消息發(fā)送給自動化設(shè)備。
利用過程控制應(yīng)用將示例性的權(quán)限數(shù)據(jù)傳送給設(shè)備控制器。在一些示例中,如果過程控制應(yīng)用已安裝但不與權(quán)限數(shù)據(jù)相關(guān)聯(lián),則應(yīng)用管理器不執(zhí)行過程控制應(yīng)用。在一些示例中,在創(chuàng)建過程控制應(yīng)用時創(chuàng)建權(quán)限數(shù)據(jù)。在這些示例中,當(dāng)經(jīng)由主機安裝過程控制應(yīng)用時,提示用戶確認(rèn)(例如,接受)權(quán)限數(shù)據(jù)。在一些示例中,與過程控制應(yīng)用分離地生成權(quán)限數(shù)據(jù)。例如,可以在應(yīng)用安裝到設(shè)備控制器上時生成權(quán)限數(shù)據(jù)。在一些此類示例中,在安裝過程控制應(yīng)用時,提示用戶為過程控制應(yīng)用選擇權(quán)限。
在一些示例中,為了阻止惡意應(yīng)用獲得對過程控制器固件的功能的訪問,權(quán)限數(shù)據(jù)可以存儲在與相對應(yīng)的過程控制應(yīng)用分離的權(quán)限數(shù)據(jù)儲存庫中并在安裝相對應(yīng)的過程控制應(yīng)用時取回。在一些此類示例中,基于過程控制應(yīng)用來預(yù)先計算認(rèn)證值。例如,可以使用過程控制應(yīng)用來計算散列值。在這些示例中,當(dāng)要經(jīng)由主機來安裝過程控制應(yīng)用時,基于過程控制應(yīng)用來計算新的認(rèn)證值。在這些示例中,如果新計算的認(rèn)證值和預(yù)先計算的認(rèn)證值匹配,則權(quán)限文件被取回并傳送給過程控制器。在這些示例中,該匹配表示,自創(chuàng)建權(quán)限數(shù)據(jù)以后過程控制應(yīng)用未被改變。替代地或另外地,在一些示例中,權(quán)限數(shù)據(jù)包含數(shù)字簽名。在這些示例中,除非驗證數(shù)字簽名(例如,經(jīng)由相對應(yīng)的公鑰),否則主機和/或設(shè)備控制器不安裝權(quán)限數(shù)據(jù)。
應(yīng)用管理器還包括應(yīng)用框架處理器,應(yīng)用框架處理器提供應(yīng)用空間與固件之間的接口。在一些示例中,過程控制應(yīng)用可以是經(jīng)編譯的指令集。在這些示例中,應(yīng)用框架處理器向應(yīng)用空間中的過程控制應(yīng)用提供了對包含在固件內(nèi)的函數(shù)庫(例如,網(wǎng)絡(luò)通信函數(shù),自動化設(shè)備通信函數(shù)等)的訪問。在一些示例中,過程控制應(yīng)用可以是腳本。在這些示例中,應(yīng)用框架解釋腳本并提供對包含在固件內(nèi)的函數(shù)(例如,腳本掛鉤)的訪問。在這些示例中,過程控制應(yīng)用向應(yīng)用管理器請求(例如,經(jīng)由庫函數(shù)調(diào)用、經(jīng)由掛鉤等)訪問過程控制器的物理資源,并且應(yīng)用管理器基于與過程控制應(yīng)用相關(guān)聯(lián)的權(quán)限數(shù)據(jù)來許可或拒絕該請求。如果應(yīng)用管理器許可該請求,則應(yīng)用管理器允許對固件的庫函數(shù)調(diào)用。例如,如果過程控制應(yīng)用請求讀取閥致動器上的位置傳感器的位置值,則應(yīng)用管理器將取回該值(例如,向固件請求該值),并將其傳遞給過程控制應(yīng)用。
圖1示出了示例性過程控制系統(tǒng)100,該示例性過程控制系統(tǒng)100可以結(jié)合本文所描述的設(shè)備控制器中的定制應(yīng)用環(huán)境來使用。示例性過程控制系統(tǒng)100采用集成了一個或多個智能工廠能力(包括現(xiàn)場總線102(如和/或FOUNDATIONTM現(xiàn)場總線)、高速離散總線、嵌入式高級控制、以及高級單元和批量管理)的工廠過程控制架構(gòu)。過程控制系統(tǒng)100內(nèi)的現(xiàn)場總線102網(wǎng)絡(luò)自動化設(shè)備104、106和/或設(shè)備控制器108提供用于各種應(yīng)用(包括裝置管理、配置、監(jiān)視和診斷等)的基礎(chǔ)設(shè)施。
在示出的示例中,過程控制系統(tǒng)100包括示例性自動化設(shè)備104、106、示例性設(shè)備控制器108a、108b、示例性系統(tǒng)控制器110、示例性I/O裝置112a、112b以及示例性主機114。示例性I/O設(shè)備112a、112b促進示例性系統(tǒng)控制器110與示例性自動化設(shè)備106和/或示例性設(shè)備控制器108a之間的通信。示例性I/O裝置112a、112b支持各個模塊,以便與各個自動化設(shè)備106和/或示例性設(shè)備控制器108a進行通信(例如,經(jīng)由數(shù)字和/或模擬通信)。例如,I/O設(shè)備112b可以具有模擬模塊,以便與自動化設(shè)備106(例如,三線式溫度探針等)對接,以及數(shù)字模塊,以便與設(shè)備控制器108a對接。示例性I/O裝置112a、112b從示例性自動化設(shè)備106和/或示例性設(shè)備控制器108a接收數(shù)據(jù),并將該數(shù)據(jù)轉(zhuǎn)換成能夠由示例性系統(tǒng)控制器110處理的通信。另外,示例性I/O裝置112a、112b將來自示例性系統(tǒng)控制器110的數(shù)據(jù)和/或通信轉(zhuǎn)換為能夠由示例性自動化設(shè)備106和/或示例性設(shè)備控制器108a處理的格式。在一些示例中,I/O裝置112a、112b和設(shè)備控制器108組合成一個單元。
示例性自動化設(shè)備104、106可以例如包括控制和監(jiān)視過程控制系統(tǒng)100中的流體(例如,流體、氣體、半流體等)的一個或多個儀表。自動化設(shè)備104、106可以例如包括閥、致動器、傳感器、探針、鄰近開關(guān)、電機起動器、驅(qū)動器等。示例性設(shè)備控制器108a、108b控制和/或監(jiān)視示例性自動化設(shè)備104、106。在示出的示例中,設(shè)備控制器108a、108b從示例性自動化設(shè)備104、106讀取(例如,來自傳感器的數(shù)據(jù)等)和/或產(chǎn)生至示例性自動化設(shè)備104、106的控制信號(例如,以控制閥的位置,以控制電機的速度等)。例如,設(shè)備控制器108a、108b可接收來自位置傳感器和/或其它傳感器的數(shù)據(jù),并且可以傳送控制信號以控制閥和/或其它裝置。
示例性自動化設(shè)備104通信地耦合到設(shè)備控制器108a。在一些此類示例中,設(shè)備控制器108a可集成到自動化設(shè)備104中。例如,用于控制閥上的致動器的硬件可以與設(shè)備控制器108a在相同的外殼中。替代地,設(shè)備控制器108a可與自動化設(shè)備104分離。在一些示例中,設(shè)備控制器108b可與I/O設(shè)備112b集成在一起。
在示出的示例中,設(shè)備控制器108a、108b執(zhí)行固件,以對從示例性自動化設(shè)備104、106和/或系統(tǒng)控制器110接收到的數(shù)據(jù)進行處理。示例性固件的范圍可從提供基本功能(例如,報告數(shù)據(jù),對自動化設(shè)備104、106的控制等)的固件到提供高級功能(例如,計算處理數(shù)據(jù),生成警告數(shù)據(jù)等)的固件。固件包括應(yīng)用空間,在該應(yīng)用空間中執(zhí)行例如從主機114下載的過程控制應(yīng)用。過程控制應(yīng)用通過例如執(zhí)行不包括在固件中的功能來擴展設(shè)備控制器108a、108b的固件的功能。例如,過程控制應(yīng)用可以計算過程數(shù)據(jù),控制自動化設(shè)備104、106,生成警告等。在一些示例中,固件可以執(zhí)行應(yīng)用空間中的多個過程控制應(yīng)用和/或提供多個應(yīng)用空間。在一些示例中,設(shè)備控制器108a、108b的固件可具有基本功能(例如,讀取/報告?zhèn)鞲衅鲾?shù)據(jù),生成控制信號等),并且應(yīng)用空間中的過程控制應(yīng)用可以用于定制設(shè)備控制器108a、108b的功能。以此方式,降低了對固件更新的需求并且增大了定制設(shè)備控制器108a、108b的功能的能力。
示例性系統(tǒng)控制器110經(jīng)由有線或無線網(wǎng)絡(luò)(例如,LAN、WAN、互聯(lián)網(wǎng)等等)耦合到示例性主機114。示例性系統(tǒng)控制器110控制例程,以便基于來自自動化設(shè)備104、106和/或設(shè)備控制器108a、108b的輸出來計算過程數(shù)據(jù)以用于過程控制應(yīng)用,包括例如監(jiān)視應(yīng)用、報警管理應(yīng)用、過程趨勢和/或歷史應(yīng)用、診斷應(yīng)用、批處理和/或廣告管理應(yīng)用、統(tǒng)計應(yīng)用、流式傳輸視頻應(yīng)用、高級控制應(yīng)用、安全儀表應(yīng)用、事件應(yīng)用等。系統(tǒng)控制器110以周期性間隔和/或在處理或生成過程數(shù)據(jù)時將過程數(shù)據(jù)轉(zhuǎn)發(fā)給主機114。由系統(tǒng)控制器110發(fā)送的過程數(shù)據(jù)可以包括過程控制值、數(shù)據(jù)值、報警信息、文本、塊模式元素狀態(tài)信息、診斷信息、誤差消息、參數(shù),事件和/或設(shè)備標(biāo)識符。
在圖1中所示的示例中,主機114可包括一個或多個工作站116和/或服務(wù)器118,以執(zhí)行系統(tǒng)控制應(yīng)用。系統(tǒng)控制應(yīng)用與示例性控制器110進行通信,以監(jiān)視、控制和/或診斷過程控制系統(tǒng)100中的示例性設(shè)備控制器108a、108b和/或示例性自動化設(shè)備104、106。例如,過程控制應(yīng)用可以包括控制自動化、過程控制系統(tǒng)100的圖形表示、變更管理、過程控制編輯、數(shù)據(jù)采集、數(shù)據(jù)分析等。在一些示例中,工作站116經(jīng)由用戶界面顯示系統(tǒng)控制應(yīng)用,以便以圖形格式呈現(xiàn)過程數(shù)據(jù),以使得工作站116的用戶能夠以圖形方式查看(經(jīng)由應(yīng)用)由示例性設(shè)備控制器108a、108b和/或示例性自動化設(shè)備104、106生成的過程數(shù)據(jù)。在一些示例中,當(dāng)過程控制應(yīng)用在服務(wù)器118上執(zhí)行時,操作者可以建立從工作站(例如,工作站116)到服務(wù)器118的遠(yuǎn)程連接,以訪問過程控制應(yīng)用。
示例性主機114包括示例性應(yīng)用數(shù)據(jù)庫120。示例性應(yīng)用數(shù)據(jù)庫120存儲可以安裝在過程控制系統(tǒng)100中的一個或多個設(shè)備控制器108a、108b的固件的應(yīng)用空間中的過程控制應(yīng)用。在一些示例中,工作站116可用于管理設(shè)備控制器108a、108b中的過程控制應(yīng)用的安裝和卸載。為了安裝過程控制應(yīng)用,工作站116經(jīng)由系統(tǒng)控制器110和I/O設(shè)備112a、112b將過程控制應(yīng)用從應(yīng)用數(shù)據(jù)庫120(例如,經(jīng)由塊傳輸)發(fā)送給設(shè)備控制器108a、108b。
在圖1的示出的示例中,示例性主機114包括示例性權(quán)限數(shù)據(jù)庫122。權(quán)限數(shù)據(jù)限定了過程控制應(yīng)用對設(shè)備控制器108a、108b的物理資源的訪問和/或?qū)^程控制應(yīng)用何時能夠訪問設(shè)備控制器108a、108b的物理資源進行調(diào)節(jié)的邏輯條件。例如,權(quán)限數(shù)據(jù)可以指定過程控制應(yīng)用可將消息發(fā)送給主機114,但不能將控制信號發(fā)送給自動化設(shè)備104、106。舉另一個例子,當(dāng)從主機114接收到許可該訪問的消息時,權(quán)限數(shù)據(jù)可以指定過程控制應(yīng)用可以與自動化設(shè)備104、106進行通信。當(dāng)過程控制應(yīng)用被發(fā)送給設(shè)備控制器108a、108b時,權(quán)限數(shù)據(jù)被發(fā)送給設(shè)備控制器108a,108b。在一些示例中,如果過程控制應(yīng)用安裝在設(shè)備控制器108a、108b上但不與權(quán)限數(shù)據(jù)相關(guān)聯(lián),則設(shè)備控制器108a、108b的固件將不執(zhí)行過程控制應(yīng)用。
在一些示例中,在創(chuàng)建過程控制應(yīng)用時創(chuàng)建權(quán)限數(shù)據(jù)。在一些示例中,在將過程控制應(yīng)用經(jīng)由主機114發(fā)送給設(shè)備控制器108a、108b之前,提示用戶接受權(quán)限數(shù)據(jù)。例如,工作站116可顯示與過程控制應(yīng)用相關(guān)聯(lián)的權(quán)限數(shù)據(jù),并且可以提供按鈕以供用戶按下以指示接受權(quán)限數(shù)據(jù)。在一些示例中,如果用戶不接受權(quán)限數(shù)據(jù),則主機114不會將過程控制應(yīng)用發(fā)送給設(shè)備控制器108a、108b。在一些示例中,經(jīng)由主機114與過程控制應(yīng)用分離地生成權(quán)限數(shù)據(jù)。例如,在將過程控制應(yīng)用發(fā)送給設(shè)備控制器108a、108b時,可以提示用戶選擇權(quán)限數(shù)據(jù)。例如,工作站116可顯示可以包括在權(quán)限數(shù)據(jù)中的可能權(quán)限(例如,從自動化設(shè)備104、106讀取,向自動化設(shè)備104、106寫入等等),并允許用戶選擇要在權(quán)限數(shù)據(jù)中包括哪些權(quán)限。
在一些示例中,當(dāng)制造設(shè)備控制器108a、108b時,設(shè)備控制器108a、108b的制造商使設(shè)備控制器108a、108b具有權(quán)限數(shù)據(jù)。在一些此類示例中,制造商所設(shè)定的權(quán)限數(shù)據(jù)由在設(shè)備控制器108a、108b上執(zhí)行的過程控制應(yīng)用所使用。例如,可以包括用于設(shè)備控制器108a、108b的權(quán)限數(shù)據(jù),其阻止安裝在設(shè)備控制器108a、108b上的過程控制應(yīng)用從相對應(yīng)的自動化設(shè)備104、106讀取和/或向相對應(yīng)的自動化設(shè)備104、106寫入。在這些示例中,過程控制應(yīng)用不能夠訪問相對應(yīng)的自動化設(shè)備104,而不管與特定的過程控制應(yīng)用相關(guān)聯(lián)的權(quán)限數(shù)據(jù)所設(shè)置的權(quán)限如何。
在一些示例中,為了阻止惡意的過程控制應(yīng)用獲得對固件的功能的訪問,當(dāng)將過程控制應(yīng)用發(fā)送給設(shè)備控制器108a、108b時,單獨地發(fā)送存儲在權(quán)限數(shù)據(jù)庫122中的權(quán)限數(shù)據(jù)。在一些示例中,預(yù)先計算預(yù)期的認(rèn)證值(例如,散列值等)并存儲在權(quán)限數(shù)據(jù)庫122中。例如,在寫入過程控制應(yīng)用之后,可以對過程控制應(yīng)用使用散列函數(shù),以產(chǎn)生預(yù)期的認(rèn)證值。在這些示例中,當(dāng)要經(jīng)由主機114安裝過程控制應(yīng)用時,基于過程控制應(yīng)用來計算新的認(rèn)證值。在這些示例中,如果新計算的認(rèn)證值和預(yù)期的認(rèn)證值匹配,則權(quán)限數(shù)據(jù)被取回并傳送給過程控制器108a、108b。替代地或另外地,在一些示例中,存儲在權(quán)限數(shù)據(jù)庫122中的權(quán)限數(shù)據(jù)包括根據(jù)數(shù)字簽名標(biāo)準(zhǔn)(DSS)使用私鑰生成的數(shù)字簽名。在這些示例中,當(dāng)從主機114接收到權(quán)限數(shù)據(jù)時,設(shè)備控制器108a、108b使用與私鑰相對應(yīng)的公鑰來驗證數(shù)字簽名。在這些示例中,如果數(shù)字簽名經(jīng)驗證,則設(shè)備控制器108a、108b安裝權(quán)限數(shù)據(jù)。否則,在這些示例中,如果數(shù)字簽名未經(jīng)驗證,則設(shè)備控制器108a、108b丟棄權(quán)限數(shù)據(jù)。
圖2示出了具有固件202的設(shè)備控制器108的示例性實現(xiàn)方式,其中固件202包括用于執(zhí)行過程控制應(yīng)用206的示例性定制應(yīng)用空間204。在示出的示例中,設(shè)備控制器108包括示例性固件202和示例性物理資源208。在示出的示例中,物理資源208包括示例性處理器210、示例性存儲器212、示例性非易失性儲存設(shè)備214(例如,閃存,硬盤等)、示例性傳感器216、示例性總線I/O 218、以及示例性自動化設(shè)備I/O 220。示例性固件202包括示例性應(yīng)用空間204、示例性應(yīng)用管理器222、以及示例性設(shè)備控制器管理器224。
示例性設(shè)備控制器管理器224包含使用物理資源208的功能。例如,設(shè)備控制器管理器224可以經(jīng)由總線102(圖1)發(fā)送和接收至主機114(圖1)的消息。在一些示例中,設(shè)備控制器管理器224還可以包含管理自動化設(shè)備104、106(圖1)的功能。例如,設(shè)備控制器管理器224可以從自動化設(shè)備104、106的傳感器(例如,壓力傳感器,位置傳感器等)讀取,計算誤差,并將控制信號發(fā)送給自動化設(shè)備104、106,以保持期望的設(shè)定點。在示出的示例中,設(shè)備控制器管理器224還管理示例性處理器210與應(yīng)用管理器222的共享,以允許設(shè)備控制器管理器224運行過程控制功能以及允許應(yīng)用管理器222執(zhí)行過程控制應(yīng)用206。
在圖2中所示的示例中,應(yīng)用管理器222管理在示例性應(yīng)用空間204中執(zhí)行的示例性過程控制應(yīng)用206。為了將應(yīng)用空間204與設(shè)備控制器管理器224隔離,示例性應(yīng)用管理器222在應(yīng)用空間204與設(shè)備控制器管理器224之間劃分示例性存儲器212和/或示例性儲存器214。保持該隔離,以阻止過程控制應(yīng)用206偶然地或惡意地覆寫設(shè)備控制器管理器224所使用的存儲器值。示例性過程控制應(yīng)用206存儲在示例性存儲器212和/或示例性儲存設(shè)備214中的被指定用于應(yīng)用空間204的部分中。另外,示例性過程控制應(yīng)用206僅可以從示例性存儲器212和/或示例性儲存器214中的被指定用于應(yīng)用空間204的部分讀取和向該部分寫入。當(dāng)過程控制應(yīng)用206請求向存儲器212和/或儲存設(shè)備214寫入時,示例應(yīng)用管理器222管理該請求,并向示例性存儲器212和/或示例性儲存設(shè)備214的所指定的部分寫入。當(dāng)過程控制應(yīng)用206請求從存儲器212和/或儲存設(shè)備214讀取時,示例性應(yīng)用管理器222管理該請求,并從示例性存儲器212和/或示例性儲存設(shè)備214的所指定的部分讀取。
在示出的示例中,應(yīng)用管理器222提供應(yīng)用框架處理器,以緩和過程控制應(yīng)用206對設(shè)備控制器108的物理資源208的訪問。過程控制應(yīng)用206可以是經(jīng)編譯的指令集或腳本。當(dāng)過程控制應(yīng)用206是編譯的指令集時,應(yīng)用管理器222向過程控制應(yīng)用206提供對函數(shù)庫的訪問,以訪問設(shè)備控制器108的物理資源208。當(dāng)過程控制應(yīng)用206是腳本時,應(yīng)用管理器222 解釋腳本,并提供對函數(shù)的訪問(訪問設(shè)備控制器108的物理資源208)。示例性過程控制應(yīng)用206向應(yīng)用管理器222請求(例如,經(jīng)由庫調(diào)用,經(jīng)由掛鉤等)訪問設(shè)備控制器108的物理資源208。
在一些示例中,應(yīng)用管理器222和設(shè)備控制器管理器224限定了存儲器212和/或儲存設(shè)備214中的數(shù)據(jù)空間225。在這些示例中,數(shù)據(jù)空間225是過程控制應(yīng)用206和過程控制器管理器224的過程可以讀取和寫入的空間。以此方式,示例性過程控制應(yīng)用206能夠計算可以由設(shè)備控制器管理器224的過程所使用的過程數(shù)據(jù)。例如,過程控制應(yīng)用206可以計算控制值,以用于對裝置控制管理器224將要使用的閥進行控制。在一些此類示例中,可以由應(yīng)用管理器222通過權(quán)限數(shù)據(jù)來緩和對數(shù)據(jù)空間225的訪問。在一些示例中,為了阻止讀取/寫入沖突,對數(shù)據(jù)空間225的訪問是由信號量(semaphore)來控制的。在一些此類示例中,信號量阻止過程控制應(yīng)用206在設(shè)備控制管理器224正在向數(shù)據(jù)空間225寫入時從數(shù)據(jù)空間225讀取和/或阻止設(shè)備控制管理器224在過程控制應(yīng)用206正在向數(shù)據(jù)空間225寫入時從數(shù)據(jù)空間225讀取。
示例性應(yīng)用管理器222基于與做出請求的過程控制應(yīng)用206相關(guān)聯(lián)的權(quán)限數(shù)據(jù)來許可或拒絕對訪問物理資源208的請求。在示出的示例中,為了阻止過程控制應(yīng)用206改變權(quán)限數(shù)據(jù),將權(quán)限數(shù)據(jù)存儲在存儲器212和/或儲存器214的中的與應(yīng)用空間204隔離的部分中。例如,如果過程控制應(yīng)用206將向主機114發(fā)送消息,則應(yīng)用管理器222檢查與過程控制應(yīng)用206相關(guān)聯(lián)的權(quán)限數(shù)據(jù),以確定過程控制應(yīng)用206是否具有訪問總線的I/O218的權(quán)限。如果應(yīng)用管理器222許可該請求,則應(yīng)用管理器222利用過程控制應(yīng)用206所指定的參數(shù)(例如,消息、控制信號的值等)來進行相對應(yīng)的函數(shù)調(diào)用。例如,如果過程控制應(yīng)用206確實有權(quán)限將消息發(fā)送給主機114,則應(yīng)用管理器222進行適當(dāng)?shù)暮瘮?shù)調(diào)用。舉另一個例子,如果過程控制應(yīng)用206請求讀取自動化設(shè)備104、106的閥上的位置傳感器的值,則應(yīng)用管理器222取回值(例如,向固件請求該值),并將該值傳遞給過程控制應(yīng)用206。
圖3示出了圖2中的用于對在應(yīng)用空間204(圖2)中執(zhí)行的過程控制應(yīng)用206(圖2)進行管理的示例性應(yīng)用管理器222的實現(xiàn)方式。示例性應(yīng)用管理器222包括示例性權(quán)限管理器300、示例性安裝器302、以及示例性應(yīng)用框架處理器304。在示出的示例中,當(dāng)過程控制應(yīng)用206請求訪問(例如,經(jīng)由庫函數(shù)調(diào)用、經(jīng)由掛鉤等)時,權(quán)限管理器300確定在應(yīng)用空間204中執(zhí)行的進程控制應(yīng)用206是否有權(quán)限訪問特定的物理資源208(圖2)。為了做出該確定,示例性權(quán)限管理器300從存儲器212(圖2)和/或儲存設(shè)備214(圖2)中取回權(quán)限數(shù)據(jù)。
當(dāng)過程控制應(yīng)用206請求訪問時,示例性權(quán)限管理器300將所請求的訪問與權(quán)限數(shù)據(jù)進行比較。例如,如果過程控制應(yīng)用206進行函數(shù)調(diào)用以經(jīng)由自動化設(shè)備I/O 220(圖2)將控制信號發(fā)送給自動化設(shè)備104、106,則權(quán)限管理器300確定相關(guān)聯(lián)的權(quán)限數(shù)據(jù)是否指示過程控制應(yīng)用206能夠訪問自動化設(shè)備I/O 220。如果權(quán)限數(shù)據(jù)指示過程控制應(yīng)用206具有權(quán)限訪問所請求的物理資源208,則示例性權(quán)限管理器300允許相對應(yīng)的函數(shù)調(diào)用繼續(xù)進行。
在一些示例中,權(quán)限管理器300控制過程控制應(yīng)用206能夠訪問特定的物理資源208的頻率。例如,權(quán)限管理器300可以允許過程控制應(yīng)用206僅每秒一次地將消息發(fā)送給主機114(圖1),以阻止過程控制應(yīng)用206偶然地或惡意地執(zhí)行對系統(tǒng)控制器110(圖1)和/或主機114的拒絕服務(wù)式攻擊。
示例性安裝器302管理過程控制應(yīng)用206的安裝和卸載。示例性安裝器302經(jīng)由總線I/O 218(圖2)從主機114接收示例性過程控制應(yīng)用206和相對應(yīng)的權(quán)限數(shù)據(jù)。示例性安裝器302將過程控制應(yīng)用206復(fù)制到存儲器212和/或儲存設(shè)備214中的被提供用于應(yīng)用空間204的部分。在一些示例中,安裝器302將權(quán)限數(shù)據(jù)復(fù)制到存儲器212和/或儲存器214中的被提供用于權(quán)限數(shù)據(jù)的部分。示例性安裝器302然后向應(yīng)用框架處理器304通知有關(guān)安裝的過程控制應(yīng)用206的開始位置,并向權(quán)限管理器300通知有關(guān)權(quán)限數(shù)據(jù)的位置。
在圖3的示出的示例中,應(yīng)用框架處理器304控制所安裝的過程控制應(yīng)用206的執(zhí)行。在一些示例中,應(yīng)用框架處理器304基本上連續(xù)地執(zhí)行所安裝的過程控制應(yīng)用206。另外地或替代地,在一些示例中,應(yīng)用框架處理器304響應(yīng)于事件和/或觸發(fā)而多次執(zhí)行過程控制應(yīng)用206。例如,當(dāng)閥關(guān)閉時或當(dāng)檢測到故障狀況時,應(yīng)用框架處理器304可以執(zhí)行過程控制應(yīng)用206。應(yīng)用框架處理器304為過程控制應(yīng)用206調(diào)度對處理器(例如,圖2的處理器210)的訪問。在一些示例中,應(yīng)用框架處理器304解釋過程控制應(yīng)用206(例如,當(dāng)過程控制應(yīng)用206是腳本時)。此外,應(yīng)用框架處理器304提供了允許過程控制應(yīng)用206訪問設(shè)備控制器108的物理資源208的庫和/或掛鉤。例如,如果過程控制應(yīng)用206要將控制信號發(fā)送給自動化設(shè)備104、106,則過程控制應(yīng)用206包括對包括在應(yīng)用框架處理器304中的自動化設(shè)備I/O函數(shù)的調(diào)用。應(yīng)用框架處理器304結(jié)合權(quán)限管理器300要么允許函數(shù)調(diào)用繼續(xù)進行(例如,過程控制應(yīng)用206與相對應(yīng)的權(quán)限相關(guān)聯(lián))要么忽略函數(shù)調(diào)用(例如,過程控制應(yīng)用206不與相對應(yīng)的權(quán)限相關(guān)聯(lián))。以此方式,應(yīng)用管理器222緩和對物理資源208的訪問。
盡管在圖3中示出了實現(xiàn)圖2的示例性應(yīng)用管理器222的示例性方式,但圖3中示出的元件、過程和/或設(shè)備中的一個或多個可以被組合、劃分、重新布置、省略、取消和/或以任何其它方式來實現(xiàn)。此外,示例性權(quán)限管理器300、示例性安裝器302、示例性應(yīng)用框架處理器304和/或更一般的圖2的示例性應(yīng)用管理器222可以由硬件、軟件、固件和/或硬件、軟件、固件的任何組合來實現(xiàn)。因此,例如示例性權(quán)限管理器300、示例性安裝器302、示例性應(yīng)用框架處理器304和/或更一般的示例性應(yīng)用管理器222中的任何一個可以由一個或多個模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場可編程邏輯器件(FPLD)來實現(xiàn)。當(dāng)閱讀本專利中的用以涵蓋純軟件和/或固件實現(xiàn)方式的裝置或系統(tǒng)權(quán)利要求中的任何一個時,示例性權(quán)限管理器300、示例性安裝器302和/或示例性應(yīng)用框架處理器304中的至少一個故此被明確地定義為包括存儲軟件和/或固件的有形計算機可讀儲存設(shè)備或儲存盤,例如存儲器、數(shù)字多功能盤(DVD)、壓縮盤(CD)、藍光盤等。此外,除了圖3中示出的那些元件、過程和/或設(shè)備之外或者作為其替代,圖2的示例性應(yīng)用管理器222可以包括一個或多個元件、過程和/或設(shè)備,和/或可以包括所示出的元件、過程和設(shè)備中的任意或全部元件、過程和設(shè)備中的一個以上。
在圖4和/或圖5中示出了表示用于實現(xiàn)圖2和圖3的示例性應(yīng)用管理器222的示例性方法的流程圖。在這些示例中,可以使用由處理器(例如,以下結(jié)合圖6所討論的示例性處理器平臺600中示出的處理器210)執(zhí)行的程序來實現(xiàn)所述方法。程序可以包含在存儲在有形計算機可讀儲存介質(zhì)(例如,CD-ROM、軟盤、硬盤驅(qū)動器、數(shù)字多功能盤(DVD)、藍光盤、或者與處理器210相關(guān)聯(lián)的存儲器)上的軟件中,但是整個程序和/或其部分可以替代地由除了處理器210之外的設(shè)備來執(zhí)行和/或包含在固件或?qū)S糜布?。此外,盡管參照在圖4和/或圖5中示出的流程圖描述了示例性程序,但可以替代地使用實現(xiàn)示例性應(yīng)用管理器222的許多其它方法。例如,可以改變框的執(zhí)行順序,和/或可以改變、取消或組合所描述的框中的一些框。
如上面所提到的,圖4和/或圖5的示例性方法可以使用存儲在有形計算機可讀儲存介質(zhì)(例如硬盤驅(qū)動器、閃存、只讀存儲器(ROM)、壓縮盤(CD)、數(shù)字多功能盤(DVD)、高速緩存、隨機存取存儲器(RAM)和/或信息在其中存儲任何持續(xù)時間(例如,擴展的時間段、永久地、短暫地、臨時緩沖、和/或?qū)π畔⒌母咚倬彺?的任何其它儲存設(shè)備或儲存盤)上的經(jīng)編碼的指令(例如,計算機和/或機器可讀指令)來實現(xiàn)。如本文所使用的,術(shù)語有形計算機可讀儲存介質(zhì)被明確地定義為包括任何類型的計算機可讀儲存設(shè)備和/或儲存盤,并且不包括傳播信號以及不包括傳輸介質(zhì)。如本文所使用的,“有形計算機可讀儲存介質(zhì)”和“有形機器可讀儲存介質(zhì)”可互換使用。另外地或替代地,圖4和/或圖5的示例性方法可以使用存儲在非暫時性計算機和/或機器可讀介質(zhì)(例如,硬盤驅(qū)動器、閃存、只讀存儲器、壓縮盤、數(shù)字多功能盤、高速緩存、隨機存取存儲器和/或信息在其中存儲任何持續(xù)時間(例如,擴展的時間段、永久地、短暫地、臨時緩沖、和/或?qū)π畔⒌母咚倬彺?的任何其它儲存設(shè)備或儲存盤)上的經(jīng)編碼的指令(例如,計算機和/或機器可讀指令)來實現(xiàn)。如本文所使用的,術(shù)語非暫時性計算機可讀儲存介質(zhì)被明確地定義為包括任何類型的計算機可讀儲存設(shè)備和/或儲存盤,并且不包括傳播信號以及不包括傳輸介質(zhì)。如本文所使用的,當(dāng)短語“至少”用作權(quán)利要求的前序中的過渡術(shù)語時,其是開放式的,與術(shù)語“包括”是開放式的方式相同。
圖4是表示可以被執(zhí)行以實現(xiàn)圖2和圖3的應(yīng)用管理器222以執(zhí)行設(shè)備控制器108(圖1和圖2)上的示例性過程控制應(yīng)用206(圖2)的示例性方法400的流程圖。設(shè)備控制器管理器224與系統(tǒng)控制器110(圖1)和/或主機114(圖1)進行通信,以在過程控制系統(tǒng)100(圖1)中提供設(shè)備控制器108(框402)。在一些示例中,為了提供設(shè)備控制器108,設(shè)備控制器管理器224提供設(shè)備控制器108和/或相對應(yīng)的自動化設(shè)備104、106(圖1)的配置信息(例如,設(shè)備描述文件、設(shè)備控制器標(biāo)識符、自動化設(shè)備標(biāo)識符、通用設(shè)備信息、范圍設(shè)置信息、傳感器/致動器參數(shù)和/或容差等)。
應(yīng)用管理器222將從主機114接收到的過程控制應(yīng)用206安裝到設(shè)備控制器108的應(yīng)用空間204中(框404)。例如,應(yīng)用管理器222可以將過程控制應(yīng)用206置于存儲器202和/或儲存設(shè)備214中的被指定用于應(yīng)用空間204的部分中。權(quán)限管理器300將從主機114接收到的與過程控制應(yīng)用206相關(guān)聯(lián)的權(quán)限數(shù)據(jù)安裝到存儲器212和/或儲存設(shè)備214中的被指定用于權(quán)限數(shù)據(jù)的部分(例如,權(quán)限存儲器)中(框406)。應(yīng)用管理器222然后管理過程控制應(yīng)用206的執(zhí)行(框408)。在一些示例中,應(yīng)用管理器222解釋過程控制應(yīng)用206。
應(yīng)用管理器222還緩和過程控制應(yīng)用206對設(shè)備控制器108的物理資源208的訪問(框410)。例如,如果過程控制應(yīng)用206請求訪問(例如,經(jīng)由庫函數(shù)調(diào)用、經(jīng)由腳本掛鉤等),則應(yīng)用管理器222使用與過程控制應(yīng)用206相關(guān)聯(lián)的權(quán)限數(shù)據(jù)來確定過程控制應(yīng)用206是否可以訪問特定的物理資源208。另外,為了緩和訪問,應(yīng)用管理器222阻止過程控制應(yīng)用206向未被定義用于應(yīng)用空間204的存儲器212和/或儲存設(shè)備214進行讀取或?qū)懭搿?/p>
圖5是表示可以被執(zhí)行以實現(xiàn)圖2和圖3的應(yīng)用管理器222以緩和示例性過程控制應(yīng)用206(圖2)對設(shè)備控制器108(圖1和圖2)的物理資源208(圖2)的訪問的示例性方法500的流程圖。應(yīng)用框架處理器304(圖3)管理過程控制應(yīng)用206的執(zhí)行(框502)。例如,應(yīng)用框架處理器304解釋過程控制應(yīng)用206和/或?qū)⒋鎯ζ?12(圖2)中的開始位置加載到處理器210(圖2)的程序計數(shù)器中。應(yīng)用框架處理器304確定過程控制應(yīng)用206是否請求對物理資源208的訪問(例如,經(jīng)由庫函數(shù)調(diào)用、經(jīng)由腳本掛鉤等)(框504)。
如果過程控制應(yīng)用206請求對物理資源208的訪問,則權(quán)限管理器300(圖3)確定過程控制應(yīng)用206是否具有權(quán)限訪問特定的物理資源208(框506)。為了做出該確定,權(quán)限管理器300檢查與特定的過程控制應(yīng)用206相關(guān)聯(lián)的權(quán)限數(shù)據(jù)。如果過程控制應(yīng)用206的確具有權(quán)限訪問特定的物理資源208,則應(yīng)用框架處理器304將該請求(例如,經(jīng)由庫函數(shù)等)傳遞至特定的物理資源208(框508)。如果過程控制應(yīng)用206不具有權(quán)限訪問特定的物理資源208,則應(yīng)用框架處理器304忽略該請求(框510)。在一些示例中,應(yīng)用框架處理器304設(shè)定標(biāo)志和/或向主機114發(fā)送消息以指示過程控制應(yīng)用206嘗試訪問其沒有權(quán)限訪問的物理資源208。
應(yīng)用框架處理器304確定是否繼續(xù)執(zhí)行過程控制應(yīng)用206(框512)。如果應(yīng)用框架處理器304要繼續(xù)執(zhí)行過程控制應(yīng)用206,則過程500返回至框502。否則,過程500結(jié)束。
圖6是被構(gòu)造為執(zhí)行圖4和圖5的方法以實現(xiàn)圖1和圖2的示例性設(shè)備控制器108和/或圖2和圖3的示例性應(yīng)用管理器222的示例性處理器平臺600的框圖。處理器平臺600包括設(shè)備控制器108的在圖2中的物理資源208。
所示出的示例中的處理器平臺600包括處理器210。所示出的示例中的處理器210是硬件。例如,處理器210可以由來自任何期望的家族或制造商的一個或多個集成電路、邏輯電路、微處理器或控制器來實現(xiàn)。
所示出的示例中的處理器210包括本地存儲器602(例如,高速緩存)。所示出的示例中的處理器210經(jīng)由總線604與包括易失性存儲器212a和非易失性存儲器212b的主存儲器進行通信。易失性存儲器212a可以由同步動態(tài)隨機存取存儲器(SDRAM)、動態(tài)隨機存取存儲器(DRAM)、RAMBUS動態(tài)隨機存取存儲器(RDRAM)和/或任何其它類型的隨機存取存儲器設(shè)備來實現(xiàn)。非易失性存儲器212b可以由閃存和/或任何其它期望類型的存儲器設(shè)備來實現(xiàn)。對主存儲器212a、212b的訪問由存儲器控制器來控制??梢詾橐资源鎯ζ?12a和/或大容量儲存設(shè)備214的區(qū)段限定應(yīng)用空間204。
所示出的示例的處理器平臺600還包括總線I/O 218和自動化設(shè)備220??偩€I/O 218和自動化設(shè)備I/O 220可以由任何類型的接口標(biāo)準(zhǔn)(例如,F(xiàn)oundation Fieldbus、Profibus、Hart總線、以太網(wǎng)接口、通用串行總線(USB)、和/或PCI高速接口)來實現(xiàn)。
在一些示例中,處理器平臺600包括接口電路606,接口電路606可以包括通信設(shè)備,例如發(fā)射機、接收機、收發(fā)機、調(diào)制解調(diào)器和/或網(wǎng)絡(luò)接口卡,以促進經(jīng)由網(wǎng)絡(luò)608(例如,以太網(wǎng)連接、數(shù)字用戶線(DSL)、電話線、同軸電纜、蜂窩電話系統(tǒng)等)與外部機器(例如,任何類型的計算設(shè)備)的數(shù)據(jù)交換。
所示出的示例中的處理器平臺600還包括用于存儲軟件和/或數(shù)據(jù)的一個或多個大容量儲存設(shè)備214。這種大容量儲存設(shè)備214的示例包括軟盤驅(qū)動器、硬盤驅(qū)動器、或者任何其它適合的儲存介質(zhì)。
用于實現(xiàn)圖4和圖5的方法的經(jīng)編碼的指令610可以存儲在儲存設(shè)備214中、易失性存儲器212a中、非易失性存儲器212b中、和/或諸如CD或DVD之類的可移動有形計算機可讀儲存介質(zhì)上。
在一些示例中,處理器平臺600包括可以與自動化設(shè)備104、106的傳感器分離的傳感器216(例如,溫度傳感器、濕度傳感器、加速計等)。在一些此類示例中,傳感器216可以用于監(jiān)視設(shè)備控制器108周圍的狀況和/或檢測異常行為(例如,故障檢測、盜竊檢測等)。
盡管本文已經(jīng)公開了某些示例性方法、裝置和制品,但是本專利的涵蓋范圍不限于此。相反,本專利涵蓋完全落入本專利的權(quán)利要求的范圍內(nèi)的所有方法、裝置和制品。