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