本申請為分案申請,其原申請的申請日是2011年3月24日,申請?zhí)枮?01110078339.x,發(fā)明名稱為“用于訪問存儲于服務器的過程數據的方法和裝置”。
本發(fā)明大體上涉及過程控制系統,更具體地,涉及用于訪問存儲于服務器的過程數據的方法和裝置。
背景技術:
諸如控制系統、制造自動化系統、和例如在化工、石油或其他過程中使用的其他工業(yè)系統,可以將數據存儲于服務器以便允許授權用戶從任何位置來訪問數據。通常,可以將數據存儲于符合opc的服務器。opc是為用于提供對工業(yè)過程控制數據、自動化數據、制造數據、和/或批處理數據的訪問的服務器定義基于協議的接口的一組標準。opc還為在與工業(yè)過程相關聯的服務器內的數據封裝的互操作性定義格式化標準。
目前,通過創(chuàng)建專用于opc服務器或存儲于opc服務器的數據類型的應用,客戶端可以連接至opc服務器。例如,可以用過程性編程語言將應用寫為可執(zhí)行程序。過程性編程語言符合相應的opc服務器的特定的操作平臺和通信協議??梢杂蓪iT為特定的opc服務器配置應用的服務器供應商或客戶端供應商創(chuàng)建應用。在客戶端可能需要訪問存儲于多個opc服務器的數據的例子中,可能需要為每個opc服務器創(chuàng)建分離的應用以符合opc服務器的特定的接口要求。此外,如果存儲于相應的opc服務器的數據遷移到另一服務器,或如果opc服務器的接口要求變化了,則可能需要更改該些應用中的每個。
技術實現要素:
描述了用于訪問存儲于服務器中的過程數據的示例性方法和裝置。在一個例子中,方法包括接收經由網絡瀏覽器訪問過程數據的請求;識別存儲所述過程數據的至少一部分的服務器,其中所述服務器與互操作性數據封裝格式相關聯;以及訪問所述服務器來接收所述過程數據。示例性方法還包括將所述過程數據從與所述互操作性數據封裝格式相關聯的格式轉換為網絡瀏覽格式;以及將所述所轉換的過程數據的至少第一部分嵌入至至少一個數據字段,用于經由所述網絡瀏覽器的顯示。
示例性裝置包括適配器,其用于識別存儲與經由網絡瀏覽器訪問過程數據的請求相關聯的過程數據的至少一部分的服務器,其中所述服務器與互操作性數據封裝格式相關聯;并且適配器還用于訪問所述服務器來接收所述過程數據。示例性裝置還包括轉換器,其用于將所述過程數據從與所述互操作性數據封裝格式相關聯的格式轉換為網絡瀏覽格式;以及基于網絡的接口,其用于將所述所轉換的過程數據的至少一部分嵌入至至少一個數據字段,用于經由所述網絡瀏覽器的顯示。
附圖說明
圖1示出了控制環(huán)境的框圖,其中示例性的控制系統通信地耦合到opc服務器,該opc服務器可由客戶端通過包括包裝器(wrapper)的網頁服務器訪問。
圖2是圖1的示例性包裝器的功能圖。
圖3示出顯示在網絡瀏覽器中的服務器標識過程數據的示例性界面。
圖4示出顯示在網絡瀏覽器中的服務器分級目錄的示例性界面。
圖5示出顯示在網絡瀏覽器中的過程數據的示例性界面。
圖6示出與圖1和/或2的示例性包裝器通信以在網絡瀏覽器中顯示過程數據的示例性界面。
圖7a和7b示出顯示與圖1和/或2的示例性包裝器通信以在客戶端應用中顯示過程數據的無線設備上的示例性界面。
圖8示出在網絡瀏覽器中顯示過程數據的示例性界面。
圖9a-9c和10是可以用于實現圖1和/或圖2的示例性網頁服務器、示例性opc服務器、示例性包裝器、基于網絡的界面、opc轉換器、和/或適配器的示例性方法的流程圖。
圖11是可以用于實現在此處描述的示例性方法和裝置的示例性處理器系統的方框圖。
具體實施方式
雖然下文描述了包括在硬件上執(zhí)行的軟件和/或固件連同其他部件的示例性方法和裝置,應注意,這些例子僅僅是示例性的,而不應被認為是限制性的。例如,設想硬件、軟件和固件部件的任何一個或全部能夠唯一地以硬件、唯一地以軟件或以硬件和軟件的任何組合實施。因此,雖然下文描述示例性方法和裝置,但是本領域普通技術人員將容易認識到,所提供的例子并不是實現這樣的方法和裝置的唯一方式。例如,雖然結合和/或符合opc描述了示例性方法和裝置,但是可以通過任何其他可以用于工業(yè)應用、制造應用、過程控制應用、自動化應用等的互操作性數據封裝格式來移植示例性方法和裝置。
目前,opc基金會公布了一組opc規(guī)范,其定義了程序性的接口,可以被網絡瀏覽器和/或客戶端程序性的應用用于訪問存儲過程數據的服務器。這些接口根據可以在服務器內啟動的方法和/或實例來限定。此外,opc規(guī)范規(guī)定可以從與opc相關的服務器傳遞至請求的客戶端應用的參數。opc規(guī)范限定了可以使用以諸如,例如c++、visualbasic和/或c#的程序性編程語言而寫的不同的協議的接口。
為了訪問該些服務器,目前客戶端創(chuàng)建是以程序性編程語言而寫的可執(zhí)行程序的應用,以符合該些服務器的opc接口的協議。創(chuàng)建該些應用來為一個或多個用戶提供訪問,而不管用戶的位置,以讀取、寫入、和/或訂閱過程數據和/或可以存儲在opc服務器內的任何其他類型的數據。可以在任何計算設備(例如,個人計算機、筆記本、智能手機等)上操作該些應用,以使得用戶可以在任何位置訪問過程數據(例如,對象)。在其他例子中,應用可以作為定制的網頁被存儲在相關聯的opc服務器內,該定制的網頁訪問在opc服務器內的運行時框架、數據庫、和/或其他數據源。授權用戶可以經由任何能夠連接至因特網的設備訪問該應用。
應用可以具有預定義的數據字段,其交叉引用至在opc服務器內的目錄位置。該應用可以基于過程數據的類型(例如,對象類型)為特定的顯示(例如,文本字段、圖、圖表、電子數據表等)預先格式化數據字段。此外,可以為opc服務器特定的平臺和/或通信協議創(chuàng)建客戶端應用。例如,通常使用相應于所期望的opc服務器的地址對客戶端應用進行編碼。由于該些所編碼的特征和對在opc服務器內目錄位置的引用,客戶端應用通常是靜態(tài)的并且僅可以與一個特定的opc服務器通信。
由于具有專用于每個opc服務器的應用和/或用于來自opc服務器的數據的每一部分的應用,客戶端(例如,過程工廠操作員或工程師)可能需要研發(fā)大量的應用來訪問一個或多個opc服務器上的數據。附加地,如果至opc服務器的接口被更改、opc服務器上的數據目錄被更改,和/或如果過程數據被遷移至不同的opc服務器,則相應的應用必須被更改來反映或適應該變化。必須周期地更新應用來訪問opc服務器上的過程數據,這能夠導致一些客戶端可能不能夠訪問過程數據的情況。附加地,過程數據位置的變化能夠導致在應用與存儲于opc服務器上的過程數據之間斷開鏈接。
在此處描述的示例性方法和裝置使得在客戶端位置的客戶端應用能夠經由包裝器來訪問任何opc服務器。通過基于由客戶端請求的過程數據創(chuàng)建數據字段和/或數據顯示,示例性包裝器作為在客戶端與opc服務器之間的接口而運作。在一些例子中,包裝器可以被包括在opc服務器內,并且能夠被客戶端經由網絡服務器應用和/或客戶端顯示應用來訪問。在另一些例子中,包裝器可以被安裝在客戶端處(例如,與客戶端和/或用戶相關聯的計算設備)。在又一些例子中,包裝器可以被包括在通信地耦合在客戶端與opc服務器之間的計算設備(例如,服務器)內。
示例性包裝器可以被實現為網絡服務器應用和/或客戶端顯示應用。網絡服務器應用是框架(例如,asp.net框架應用),其創(chuàng)建具有嵌入至客戶端可以使用網絡瀏覽器訪問的數據字段、圖、圖表、電子數據表等的過程數據的網頁。在網絡服務器應用的例子中,包裝器管理網頁內的過程數據(例如,對象)。相反地,客戶端顯示應用(例如,activex控件和/或silverlighttm應用)是能夠在網絡瀏覽器內被顯示為運行時應用(例如,插件應用)的框架。在該些例子中,客戶端顯示應用可以被安裝在客戶端位置的計算設備上。當網絡瀏覽器訪問位于opc服務器的包裝器和/或與位于opc服務器的包裝器通信時,可以在網絡瀏覽器內啟動客戶端顯示應用。附加地,客戶端顯示應用可以配置所接收的來自包裝器的數據和/或數據字段信息,以便數據被顯示在網絡瀏覽器內的數據字段、圖、圖表、電子數據表等內。
示例性包裝器可以包括用于與一個或多個opc服務器通信的適配器。適配器可以使用傳輸控制協議(tcp)、超文本傳輸協議(http)、和/或可擴展標記語言(xml)用以與opc服務器通信來訪問由客戶端請求的過程數據。示例性包裝器還包括opc轉換器,以用于將接收的來自opc服務器的opc格式化的過程數據轉換至網頁格式。網頁格式可以包括超文本標記語言(html)和/或任何其他用于在客戶端顯示應用內顯示的格式和/或用于在網頁內顯示的格式。此外,包裝器包括基于網絡的接口,其經由網頁和/或客戶端顯示應用來將過程數據傳遞至客戶端可查看的網絡瀏覽器。
示例性包裝器可以通過確定所請求的過程數據的一種或多種類型來為所請求的過程數據(例如,對象)自動地創(chuàng)建、配置、和/或格式化數據字段。過程數據的類型可以包括服務器標識信息、文件目錄組織信息、數值數據、字符串數據、控制設備的狀態(tài)數據、警報數據、和/或與過程控制系統、制造系統等相關聯的任何其他數據。在一些例子中,包裝器可以通過嵌入過程數據的元數據和/或與過程數據相關聯的元數據來確定數據類型。在其他一些例子中,包裝器可以基于過程數據的內容確定數據類型。通過確定數據類型,示例性包裝器能夠創(chuàng)建具有相應的過程數據的適合的數據字段用于在網絡瀏覽器內的顯示。用于顯示數據的數據字段可以包括電子數據表、文本字段、數值字段、圖、圖表、動畫等。在一個例子中,包裝器可以基于過程數據的類型和/或過程控制信息的顯示類型(例如,智能手機網絡瀏覽器或工作站瀏覽器)選擇基于可擴展樣式表語言轉換(xslt)的模板。
通過自動地創(chuàng)建數據字段和用所請求的過程數據填充(例如,嵌入)該些數據字段,示例性包裝器消除了客戶端創(chuàng)建請求-特定的應用來訪問opc服務器上的數據的需要。因為示例性包裝器基于數據類型動態(tài)地格式化數據字段,opc服務器的任何變化和/或opc服務器內的過程數據的位置的任何變化不影響客戶端訪問過程數據的能力。換句話說,客戶端無需必須知道opc服務器是如何被管理的、過程數據在opc服務器內是如何被分配的、過程數據是如何被遷移的、和/或過程數據的類型,就能夠訪問過程數據。此外,因為網絡瀏覽器經由包裝器可以訪問過程數據,客戶端不需要創(chuàng)建明確地綁定至通信協議、接口協議、和/或操作協議或特定的opc服務器的應用。附加地,可以為任何opc服務器實現示例性包裝器而不管與opc服務器相關聯的協議。此外,因為示例性包裝器未與特定的opc服務器協議綁定,所以較之opc服務器特定的應用,包裝器可以被更有效率地安裝和/或維修。
圖1是示出控制環(huán)境100的方框圖,其中,示例性控制系統102通信地耦合至能夠被客戶端106經由包括包裝器110的網頁服務器108訪問的開放打包協議(openpackagingconvention)服務器104。雖然網頁服務器108和/或包裝器110被示出通信地耦合至接收來自控制系統102的過程數據的opc服務器104,但是網頁服務器108和/或包裝器110可以耦合至接收來自其它系統、制造設施、自動化設施、工業(yè)系統等的過程數據的其他opc服務器。附加地,雖然示例性opc服務器104被示出通信地耦合至控制系統102,但是opc服務器104可以通信地耦合至其他控制系統。此外,示例性控制環(huán)境100可以包括附加的客戶端(未示出),其可以經由網頁服務器108和/或其他網頁服務器(未示出)通信地耦合至opc服務器104。
示例性控制系統102可以包括任何類型的制造設施、過程設施、自動化設施的任何類型、和/或任何其他類型的過程控制結構或系統。在一些例子中,控制系統102可以包括位于不同位置的多個設施。附加的,雖然示例性控制系統102示出過程控制系統112,但是控制系統102可以包括附加的過程控制系統。
示例性過程控制系統112經由數據總線116通信地耦合至控制器114。過程控制系統112可以包括任何數量的現場設備(例如,輸入和/或輸出設備)?,F場設備可以包括能夠接收輸入、產生輸出、和/或控制過程的任何類型的過程控制組件。例如,現場設備可以包括輸入設備諸如,例如用于控制過程的閥、泵、風扇、加熱器、冷卻器和/或混合器。附加地,現場設備可以包括輸出設備諸如,例如用于測量過程的部分的溫度傳感器、壓力計、濃度計、液位計、流量計、和/或蒸汽傳感器。輸入設備可以接收來自控制器114的指令,用以執(zhí)行特定的命令,并且引起過程的變化。此外,輸出設備可以測量過程數據、環(huán)境數據、和/或輸入設備數據,并且將所測量的數據發(fā)送至控制器114作為過程控制信息(例如,過程數據)。該過程數據可以包括相應于所測量的出自每個現場設備的輸出的變量的值(例如,所測量的過程變量和/或所測量的質量變量)。
在圖1的所示例子中,示例性控制器114可以經由數據總線116與過程控制系統106內的現場設備通信。該數據總線116可以被耦合至過程控制系統112內的通信組件。通信組件可以包括i/o卡,用以接收來自現場設備的數據,并且將數據轉換至能夠被示例性控制器114接收的通信介質。附加地,該些i/o卡可以將來自控制器114的數據轉換至能夠被相應的現場設備處理的數據格式。在一個例子中,可以使用現場總線協議或其他類型的有線的和/或無線的通信協議(例如,profibus協議、hart協議等)實現數據總線116。
控制器114經由任何有線的和/或無線的連接通信地耦合至opc服務器104。在一些例子中,連接可以包括防火墻和/或其他安全機制,以用于限制對控制器114的訪問。一旦控制器114接收來自過程控制系統112的過程數據,控制器114就可以將過程數據發(fā)送至opc服務器104。在其他例子中,控制器114可以以周期性的時間間隔(例如,每分鐘、每小時、每天等)將過程數據發(fā)送至opc服務器104。替代地,opc服務器104可以從控制器114請求過程數據。
一旦接收過程數據,圖1的示例性opc服務器104將過程數據存儲在文件系統內。可以基于過程控制系統112內的設備和/或基于控制器114內運行來管理過程控制系統112的例程(例如,應用和/或算法)以具有目錄和/或子目錄的分級的方式安排該文件系統。在其他例子中,文件系統可以由控制系統102的操作員安排。過程數據可以被存儲至相關聯的目錄和/或子目錄內的參數。在一些例子中,參數可以是與運行在控制器114上的例程相關聯的變量,或是與過程控制系統112內的現場設備輸出相關聯的變量。參數可以包括描述與該參數相關聯的過程數據的類型的元數據。
目錄、子目錄、文件和/或參數中的每個可以被分配一個端點。opc服務器104也可以被分配一個端點??梢园凑瞻踩L問、讀取訪問、訂閱訪問和/或寫入訪問將該些端點分組。端點可以包括可以被包裝器110用來訪問存儲于opc服務器104的過程數據的地址、綁定元件、和/或約定元件(contractelement)。包裝器110可以使用端點來訪問過程數據,如美國專利申請?zhí)?2/637,439的專利申請中所述的,并在此通過引用包含其全部內容。
圖1的示例性包裝器110被包括在網頁服務器108內。網頁服務器108是作為在opc服務器104與客戶端106之間的接口而運作的設備和/或應用。在一些例子中,網頁服務器108可以作為接口被包括opc服務器104內。在另一些例子中,網頁服務器108可以被安裝在客戶端106處的計算設備內。在其他一些例子中,網頁服務器108可以在將客戶端106通信地耦合至opc服務器104的服務器或其他計算設備上實現。網頁服務器108內的示例性包裝器110接收來自客戶端106的訪問過程數據(例如,對象)的請求、從opc服務器104請求過程數據、將過程數據轉換至客戶端可查看的格式,以及創(chuàng)建和/或格式化數據字段來嵌入過程數據,用于在網絡瀏覽器內顯示。示例性包裝器110可以還包括安全特征,諸如,例如,用戶認證和/或加密來確保只有授權用戶可以查看和/或訪問過程數據。
為了訪問opc服務器104,示例性包裝器110包括適配器118。示例性適配器118可以使用tcp、http、和/或基于xml的通信,以用于經由任何有線的和/或無線的連接來與opc服務器104通信。包裝器110還包括opc轉換器120,以用于將由適配器120接收的過程數據轉換至經由網絡瀏覽器可查看的格式(例如,基于xslt的模板)。示例性包裝器110還包括基于網絡的接口122,以用于向客戶端106提供用于格式化、呈現、嵌入和/或顯示過程數據的接口。
示例性客戶端106可以與可以被授權讀取、寫入、和/或訂閱存儲于opc服務器104的過程數據的個體相關聯。客戶端106還可以與與可以從遠程位置訪問opc服務器104的控制系統102相關聯的人員相關聯??蛻舳?06可以使用任何有線的和/或無線的通信介質(例如,因特網)經由網頁服務器108來訪問opc服務器104。
在客戶端106產生訪問過程數據(例如,對象)的請求的例子中,包裝器110接收來自客戶端106的請求消息。特別地,基于網絡的接口122可以接收該請求。一旦接收請求,基于網絡的接口122將請求轉發(fā)至適配器118。適配器118使用請求內的信息(例如,統一資源定位器(url)目的地址)來識別存儲所請求的過程數據的opc服務器(例如,opc服務器104)。隨后,適配器118訪問opc服務器104來取回過程數據。根據相應于opc的互操作性數據封裝格式,過程數據可以被存儲在opc服務器104內。適配器118可以使用與過程數據相關聯的端點來訪問和/或讀取過程數據。隨后,適配器118將接收的來自opc服務器104的過程數據轉發(fā)至opc轉換器120,其將過程數據從與互操作性數據封裝格式相關聯的格式轉換為網絡瀏覽格式。隨后,opc轉換器120將所轉換的過程數據轉發(fā)至基于網絡的接口122。隨后,基于網絡的接口122將所轉換的過程數據的至少一部分嵌入和/或放置至一個或多個相應的數據字段(或模板),用于經由網絡瀏覽器在由客戶端106可查看的網頁中顯示。
通過以下步驟,基于網絡的接口122可以將過程數據嵌入一個或多個數據字段:通過與過程數據相關聯的數據類型來劃分所轉換的過程數據;確定哪種數據類型與數據字段相關聯;為每種數據類型創(chuàng)建數據字段;并將與每種數據類型相關聯的數據放置至相關聯的數據字段中。通過確定與過程數據的每個部分相關聯的元數據,并將元數據交叉引用至相關聯的數據字段,基于網絡的接口122可以根據過程數據確定數據類型。
示例性基于網絡的接口122能夠格式化過程數據,以便客戶端106使用客戶端應用124可以查看過程數據。圖1的例子示出在可涉及網絡瀏覽器的界面126中顯示過程數據的客戶端應用124??蛻舳藨?24可以包括網絡服務器應用和/或客戶端顯示應用。通過創(chuàng)建網頁和/或訪問模板網頁和將數據字段放置或嵌入至網頁內,包裝器110可以為網絡服務器應用格式化過程數據。通過使用html請求和響應訪問存儲于包裝器110和/或網頁服務器108的網頁,界面126,經由網絡瀏覽器,可以隨后顯示過程數據。替代地,通過在在網絡瀏覽器(例如,界面126)內可執(zhí)行的客戶端應用124處啟動網絡應用(例如,activex、adobeflashtm、和/或silverlighttm),包裝器110可以為客戶端顯示應用格式化過程數據。在一些例子中,客戶端106在查看過程數據之前可以下載和/或安裝客戶端顯示應用。包裝器110將過程數據和/或數據字段發(fā)送至客戶端顯示應用。在一些例子中,包裝器110在將過程數據發(fā)送至客戶端顯示應用之前將過程數據與相應的數據字段相關聯。一旦接收過程數據,客戶端顯示應用在網絡瀏覽器內創(chuàng)建(例如,呈現)顯示(例如,界面126)來查看相應的數據字段內的過程數據。
此外,通過在網絡瀏覽器內更改數據字段和/或顯示過程數據,客戶端106可以定制客戶端應用124。例如,客戶端106可以指定在網絡瀏覽器內顯示數據字段的位置。此外,客戶端106可以更改數據字段內的過程數據的顏色、文本尺寸、數值表示和/或任何其他的圖形表示。
客戶端106可以訪問opc服務器104來讀取、寫入、和/或訂閱過程數據。訂閱過程數據可以包括接收來自示例性包裝器110和/或opc服務器104的授權,以在控制器114發(fā)送過程數據時,接收所請求的過程數據的周期的和/或連續(xù)的更新。讀取過程數據可以包括讀取存儲于opc服務器104的過程數據的當前值。寫入過程數據可以包括接收來自客戶端106的值,以用于更改或變化作為過程數據存儲在opc服務器104內的參數。寫入數據還包括更改與過程數據相關聯的狀態(tài)、警報和/或標記。一旦接收寫入值,示例性opc服務器104可以將寫入值發(fā)送至控制器114,來變化和/或更改過程控制系統112的操作。為了使得客戶端106能夠訪問過程數據,示例性包裝器110可以實現包括加密、認證、完整性檢測碼、和/或用戶特定的訪問控制表的安全特征。在用戶和/或客戶端106未被授權訪問過程數據的情況下,示例性包裝器110可以僅提供對過程數據的讀取訪問或,替代地,可以不提供任何對過程數據的訪問。
圖2是圖1的示例性包裝器110的功能框圖。包裝器110包括圖1的適配器118、opc轉換器120、以及基于網絡的接口122。圖2的包裝器110內的功能塊中的每個可以便利多個客戶端和/或opc服務器或,替代地,包裝器110可以包括用于每個通信地耦合的opc服務器的功能塊和/或用于每個客戶端(例如,客戶端106)的功能塊。
為了向與客戶端106和/或客戶端應用124的通信提供諸如加密和/或端點訪問控制的安全措施,圖2的示例性包裝器110包括安全處理器202。示例性安全處理器202可以包括,例如,加密處理器和/或數字簽名生成器,以用于防止向外的通信遭受未授權的第三方。加密處理器可以使用任何類型的加密編碼器,來將目的地為客戶端應用124的通信格式化為未授權用戶不可讀取的格式。數字簽名生成器使得客戶端應用124的通信免于被未授權的第三方竄改。數字簽名生成器可以使用任何類型的加密的安全簽名生成器(例如,散列碼),其使得能夠檢測由在客戶端應用124與包裝器110之間的未授權的第三方更改的值。附加地,安全處理器202可以包括其他形式的、包括認證機制和/或訪問控制的通信安全。示例性安全處理器202可以解碼加密的、和/或簽名的、源于客戶端應用124和/或客戶端106的通信。一旦解碼通信,安全處理器202將通信發(fā)送至包裝器110內的預定目的地。
在圖2的例子中,安全處理器202通信地耦合至包括客戶端106的一個或多個客戶端。通過標識信息,安全處理器202可以過濾源于客戶端和/或其他個體的請求消息,以便只有授權客戶端可以訪問所期望的opc服務器內的過程數據。此外,安全處理器202可以將過程數據和/或數據字段轉發(fā)至在客戶端應用124內實現的客戶端顯示應用。在其他例子中,安全處理器202使得在客戶端106和可以存儲顯示過程數據的網頁的基于網絡的接口122之間能夠安全通信。
為了管理在一個或多個客戶端與示例性基于網絡的接口122之間的數據通信,圖2的示例性包裝器110包括會話控制器204。示例性會話控制器204為與包裝器110通信的客戶端(例如,圖1的客戶端106)管理訪問會話。訪問會話表示在基于網絡的接口122與客戶端之間的開放通信路徑。可以為每個訪問基于網絡的接口122的客戶端創(chuàng)建訪問會話,因為每個客戶端可以請求訪問來自不同的opc服務器的不同的數據源和/或數據類型。因此,示例性會話控制器204確?;诰W絡的接口122向客戶端提供僅其所請求的過程數據。
會話控制器204在接收來自客戶端的訪問過程數據的請求消息之后啟動會話。請求可以是以經由網絡瀏覽器和/或經由客戶端應用124的請求的形式。直至會話由會話控制器204開放,會話控制器204可以拒絕來自客戶端的任何其他的請求。當會話開放時,會話控制器204將每個來自客戶端的請求消息路由至基于網絡的接口122。附加地,會話控制器204可以存儲對所選擇的過程數據和其相關聯的讀取或寫入端點的引用,該讀取或寫入端點可以與在網頁中可查看的數據字段和/或過程數據相關聯。
包括在圖2的包裝器110內的示例性的基于網絡的接口122通過管理、格式化、和/或配置過程數據來向客戶端提供接口?;诰W絡的接口122接收來自opc轉換器120的、以在網絡瀏覽器中能夠被查看的格式的過程數據(例如,對象)。示例性的基于網絡的接口122還處理來自客戶端的訪問過程數據的請求。一旦接收來自客戶端的請求,基于網絡的接口122通過將指令發(fā)送至會話控制器204并且將請求轉發(fā)至適配器118來啟動訪問會話。在一些例子中,在安全處理器202確定請求與認證的客戶端相關聯之后,基于網絡的接口122接收請求。附加地,當客戶端關閉和/或終止網絡瀏覽器時和/或當客戶端應用發(fā)送指令來終止會話時,基于網絡的接口122可以關閉訪問會話。
當基于網絡的接口122接收與請求相關聯的過程數據時,基于網絡的接口122通過將過程數據轉發(fā)至數據處理器206,來確定與過程數據相關聯的一種或多種數據類型。示例性數據處理器206識別可以被包括在過程數據的部分內的元數據。替代地,數據處理器206訪問數據類型數據庫208用以基于可與過程數據相關聯的值類型、性質、變量類型、和/或任何其他的標識符來將過程數據交叉引用至相應的數據字段。示例性數據類型數據庫208可以由電可擦可編程序只讀存儲器(eeprom)、隨機存取存儲器(ram)、只讀存儲器(rom)、和/或任何其他類型的存儲器實現。
通過一旦確定與過程數據相關聯的數據類型,將過程數據分配至一個或多個可以被交叉引用至數據類型的數據字段的數據顯示變量,圖2的示例性數據處理器206將過程數據與數據字段相關聯和/或用數據字段配置過程數據。數據處理器206和/或基于網絡的接口還可以將過程數據的數字、字母數字、和/或標記值存儲至合適的數據字段。
此外,數據處理器206可以訪問數據類型數據庫208來以獲取用于顯示過程數據的模板。模板可以包括將xml信息(例如,過程數據)轉換至html用于在網絡瀏覽器中顯示的xslt模板。數據處理器206可以基于過程數據的類型、過程數據的值、過程數據的性質、和/或目標顯示信息選擇模板。目標顯示信息可以標識網絡瀏覽器的類型和/或用于顯示過程數據的設備的類型。例如,目標顯示信息可以指示過程數據將要顯示在智能手機的網絡瀏覽器上還是將要顯示在工作站的網絡瀏覽器上。用于智能手機的模板可以被配制成在與用于工作站的網絡瀏覽器的模板相比相對小的顯示屏上顯示過程數據。
基于網絡的接口122接收來自數據處理器206的過程數據的數據類型并且以過程數據編譯數據字段。隨后,基于網絡的接口122可以將過程數據(例如,與各自的數據字段相關聯的過程數據的所編譯的部分)嵌入和/或放置至模板的合適的數據字段中。通過根據數據類型來劃分過程數據,使用來自數據處理器206的信息和/或模板來確定哪種數據類型與數據字段相關聯,為每種數據類型創(chuàng)建數據字段,以及將與每種數據類型相關聯的過程數據放置至相關聯的數據字段,基于網絡的接口122將過程數據的部分嵌入至數據字段。在一些例子中,數據字段可以與多于一種的數據類型相關聯。隨后,基于網絡的接口122可以將過程數據嵌入至包括數據字段的網頁中。
在客戶端可以使用客戶端應用(例如,客戶端應用124)來請求過程數據的例子中,示例性基于網絡的接口122確定應用的類型。通過識別與請求消息相關聯的協議和/或應用語言和/或與請求消息內的客戶端應用相關聯的任何元數據,基于網絡的接口122可以確定客戶端應用的類型。例如,使用網絡服務器應用的客戶端可以包括與asp.net應用相關聯的協議,而使用客戶端顯示應用的客戶端可以包括與silverlighttm或activextm應用相關聯的協議和/或消息?;诳蛻舳藨玫念愋?,示例性基于網絡的接口122創(chuàng)建和/或配置適合的網絡瀏覽器和/或程序性的界面來在數據字段內顯示過程數據。
一旦確定客戶端應用類型,基于網絡的接口122和/或數據處理器206為顯示格式化過程數據、和/或數據字段。在客戶端應用124與網絡服務器應用相關聯的例子中,基于網絡的接口122經由網絡瀏覽器從客戶端106接收請求,將請求轉發(fā)至適配器118來訪問過程數據,并且接收來自opc轉換器120的過程數據。經由網絡瀏覽器的來自客戶端106的請求可以是以html文檔的形式。此外,基于網絡的接口122可以將指令發(fā)送至會話控制器204,來將客戶端106的網絡瀏覽器與新創(chuàng)建的訪問會話相關聯。隨后,基于網絡的接口122創(chuàng)建具有包括過程數據的數據字段的網頁。數據字段可以包括,例如,列表、電子數據表、圖、圖表、圖形表示、動畫等。此外,可以通過模板來指定數據字段的位置。隨后,基于網絡的接口122將網頁的內容發(fā)送至客戶端106的網絡瀏覽器,來在客戶端位置處顯示網頁。網絡瀏覽器將網頁內的過程數據以格式化的內容經由任何http、xml、xslt、和/或任何其他的因特網網頁傳輸格式發(fā)送至客戶端106。
在網絡瀏覽器包括客戶端顯示應用的例子中,示例性基于網絡的接口122經由網絡瀏覽器接收來自客戶端106的請求,將該請求轉發(fā)至適配器118來訪問過程數據,接收來自opc轉換器120的過程數據,并且啟動網絡瀏覽器內的客戶端顯示應用。經由網絡瀏覽器的來自客戶端106的請求可以是以方法調用(methodcall)的形式。一旦格式化和/或配置過程數據,基于網絡的接口122將過程數據以與客戶端顯示應用的協議相關聯的格式發(fā)送至客戶端。隨后,客戶端顯示應用在客戶端位置處的網絡瀏覽器中創(chuàng)建顯示,來示出在相關聯的數據字段內的過程數據。
客戶端顯示應用可以包括任何程序性的客戶端,在一些例子中,其可以無需網絡瀏覽器就可以訪問基于網絡的接口122。在該些例子中,基于網絡的接口122將程序性的客戶端與新創(chuàng)建的訪問會話相關聯,并且將所請求的過程數據和/或數據字段經由與程序性的客戶端相關聯的任何協議轉發(fā)至客戶端。隨后,程序性的客戶端創(chuàng)建在相關聯的數據字段內示出過程數據的顯示。
示例性基于網絡的接口122向客戶端提供讀取訪問、寫入訪問、和/或訂閱訪問。對于請求讀取訪問的客戶端,基于網絡的接口122為當前過程數據將單一的請求轉發(fā)至適配器118。一旦接收和格式化過程數據,基于網絡的接口122向客戶端應用提供所請求的過程數據。
替代地,當客戶端請求訂閱訪問時,基于網絡的接口122可以將周期的消息發(fā)送至適配器118,以便以時間間隔接收過程數據。在一些例子中,客戶端可以指定用于接收過程數據的時間間隔。此外,在基于網絡的接口122為程序性的應用創(chuàng)建網頁和/或顯示配置之后,基于網絡的接口122為對數據字段周期的和/或連續(xù)的更新提供較新的過程數據?;诰W絡的接口122經由維持與請求的客戶端通信的、已經激活的訪問會話來提供更新。對數據字段的更新可以包括以存儲于相應的opc服務器的最新的過程數據的更新趨勢圖、過程狀態(tài)警報、和/或標記。因此,基于網絡的接口122使得客戶端無需刷新網絡瀏覽器和/或周期地請求過程數據,就能夠訪問最新的過程數據。
在客戶端可以請求寫入訪問的另一些例子中,示例性的基于網絡的接口122通過html文檔或方法請求接收來自網頁和/或程序性的應用的寫入過程數據值。隨后,基于網絡的接口122識別與寫入數據值相關聯的變量。在其他一些例子中,基于網絡的接口122可以訪問數據處理器206,來將數據值交叉引用至數據類型數據庫208內所指定的數據類型。隨后,基于網絡的接口122將指令發(fā)送至opc轉換器120和/或適配器118,來將數據值轉發(fā)至opc服務器的適合的變量和/或部分。隨后,opc服務器可以存儲寫入數據值和/或將寫入數據值轉發(fā)至控制器內的適合的位置。
示例性的基于網絡的接口122可以將客戶端定制信息存儲至數據庫(未示出),以便當下次相同的客戶端請求相同類型的過程數據時,基于網絡的接口122可以部分地基于客戶端先前的定制來格式化數據字段內的過程數據?;诰W絡的接口122可以根據任何更改識別客戶端定制,這些更改由客戶端通過網絡瀏覽器和/或程序性的應用施行,來改變數據字段內的過程數據的外觀和/或數據顯示。客戶端可以更改過程數據的顏色、文本尺寸、數值表示和/或任何其他的圖形表示。
為了訪問opc服務器(例如,opc服務器104),圖2的示例性包裝器包括適配器118。示例性適配器118可以使用tcp、http、xml、和/或任何其他的傳輸協議,通過任何有線的和/或無線的連接與opc服務器通信。適配器118接收來自基于網絡的接口122的訪問opc服務器的請求。一旦接收請求,適配器118通過訪問opc服務器引用數據庫210來識別存儲過程數據的opc服務器,用以將客戶端請求交叉引用至特定的opc服務器。示例性opc服務器引用數據庫210可以由eeprom、ram、rom、和/或任何其他類型的存儲器實現。
在一些例子中,客戶端請求可以包括opc服務器的網絡地址和/或標識符。適配器118可以參考opc服務器引用數據庫210來定位所請求的opc服務器。在一些例子中,適配器118可以訪問兩個或多個opc服務器,來訪問所請求的過程數據。一旦定位opc服務器,適配器118將請求發(fā)送至opc服務器以請求過程數據。通過確定存儲于服務器的opc數據的目錄和/或文件結構,適配器118可以訪問opc服務器上的過程數據。適配器118可以將該目錄和/或文件結構中繼至基于網絡的接口122,來使得客戶端能夠經由網絡瀏覽器和/或程序性的應用選擇一個或多個目錄和/或子目錄。通過選擇目錄和/或子目錄,客戶端指定期望被查看和/或被訪問的過程數據。在其他一些例子中,客戶端可以包括所期望的過程數據的目錄和/或子目錄的位置。在另一些例子中,客戶端可以指定變量名稱、過程數據標識符、和/或任何其他的數據標識信息,適配器118可以使用該些數據標識信息來瀏覽opc服務器,以訪問所請求的過程數據。
使用所分配的端點,示例性適配器118可以瀏覽opc服務器的目錄、子目錄、和/或文件。例如,適配器118可以訪問opc服務器引用數據庫210,來識別相應于opc服務器的端點。隨后,opc服務器可以基于分級、讀取訪問、寫入訪問、和/或訂閱訪問將端點返回至與過程數據相關聯的適配器118。隨后,適配器118可以確定哪些端點與所請求的過程數據相關聯,并且使用該些端點來瀏覽和/或定位opc服務器內存儲過程數據的位置。
在適配器118接收來自基于網絡的接口122的讀取和/或訂閱指令的例子中,適配器118可以訪問與所請求的過程數據相關聯的相應的讀取和/或訂閱端點。此外,在客戶端可以指定用于接收過程數據(例如,訂閱過程數據)的周期的間隔的例子中,適配器118可以在周期的間隔上向opc服務器輪詢所期望的過程數據。
在客戶端可以將過程數據值寫入至數據字段的另一些例子中,適配器118接收來自基于網絡的接口122的值和/或相關聯的值標識符。隨后,適配器118瀏覽opc服務器(例如,使用寫入端點),來定位與寫入的數據值相關聯的文件和/或目錄位置。隨后,適配器118將寫入值存儲至opc服務器內的適合的位置。在客戶端可以寫入值的一些例子中,適配器118可以在opc轉換器120將值從網頁和/或程序性的應用的格式轉換至opc格式之后接收值。
圖2的示例性適配器118包括使得適配器118能夠與可以以不同的協議、接口、操作系統、和/或文件系統運行的不同的opc服務器連接和/或通信的功能。opc服務器引用數據庫210可以包括對與每個opc服務器相關聯的協議、接口、操作系統、和/或文件系統的引用。隨后,當適配器118識別待訪問的opc服務器時,適配器118可以使用與opc服務器相關聯的協議、接口、操作系統、和/或文件系統,來適合地與opc服務器通信和/或連接。
一旦從opc服務器接收和/或訪問所請求的過程數據,示例性適配器118將過程數據轉發(fā)至opc轉換器120。圖2的示例性opc轉換器120將過程數據從任何opc和/或有關打包的格式轉換至可以在網絡瀏覽器和/或任何其他的程序性的應用內查看的形式。一旦將過程數據轉換至網絡瀏覽格式和/或任何其他類型的程序性的應用格式,opc轉換器120將所轉換的過程數據轉發(fā)至基于網絡的接口122。此外,opc轉換器120可以接收來自基于網絡的接口122的寫入值和/或過程數據。在該些例子中,opc轉換器120將寫入數據的網絡瀏覽格式和/或程序性的應用格式轉換至適配器118可以使用用以將寫入數據存儲至opc服務器的opc格式。opc轉換器120可以使用可以由opc和/或任何其他的打包協議指定的任何應用、框架、數據變換算法等。
雖然在圖2中示出了實現包裝器110的示例性方式,但是圖2所示的接口、數據結構、元件、過程和/或設備中的一個或多個可以被組合、分開、重新排列、省略、去除和/或以任何其他方式實現。例如,圖2所示的示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、和/或示例性opc服務器引用數據庫210可以使用例如由一個或多個計算設備和/或計算平臺(例如,圖11的示例性處理平臺p10)執(zhí)行的機器可訪問或可讀指令來分離地和/或以任何組合實現。
此外,示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、示例性opc服務器引用數據庫210和/或更一般地,包裝器110可以通過硬件、軟件、固件和/或硬件、軟件和/或固件的任何組合實現。因此,例如,示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、示例性opc服務器引用數據庫210中的任何一個和/或更一般地,包裝器110能夠由一個或多個電路、可編程處理器、專用集成電路(asic)、可編程邏輯設備(pld)和/或現場可編程邏輯設備(fpld)等來實現。此外,除了圖2所示的之外或替代圖2所示的,圖2的示例性包裝器110可以包括一個或多個元件、過程和/或設備,和/或可以包括多于一個的所示的元件、過程和設備中的任何一個或全部。
圖3示出顯示在網絡瀏覽器中的服務器標識過程數據的示例性界面300。界面300可以被稱為樣式單和/或模板。界面300被作為應用窗口示出。然而,在其他例子中,界面300可以包括與網絡瀏覽器和/或任何其他的程序性的客戶端相關聯的導航功能。此外,雖然示例性界面300被作為在數據字段中顯示過程數據的一種方式示出,但是可以創(chuàng)建其他的示例性界面來顯示過程數據。
圖3的例子示出顯示與服務器性質選項卡302相關聯的服務器標識信息的界面300。界面300包括導航板304和數據板306。板304和306可以被預先配置為用于顯示過程數據的通用模板。隨后,圖1和/或2的示例性包裝器110可以使用模板或樣式單來安排和/或嵌入數據字段和相關聯的過程數據。例如,數據板306可以被預先配置為顯示與過程數據相關聯的變量和/或參數名稱(例如,屬性)以及數據值(例如,值)。隨后,包裝器110可以將與服務標識相關聯的數據字段嵌入和/或放置至屬性欄和/或值欄。例如,描述opc服務器名稱的過程數據可以被標識為具有值“opcda服務器”的“服務器名稱”屬性。
客戶端可以通過將網絡地址和/或互聯網協議(ip)地址輸入至網絡瀏覽器來訪問在界面300中示出的過程數據。隨后,網絡瀏覽器可以導航至圖1的包裝器110和/或網頁服務器108。包裝器110將網絡地址和/或ip地址解析到在界面300中示出的opc服務器。隨后,包裝器110可以獲取與opc服務器相關聯的過程數據,將過程數據轉換至網絡瀏覽格式,識別過程數據的數據類型,選擇與界面300相關聯的模板,將過程數據嵌入至界面300以及經由網絡瀏覽器將界面300顯示給客戶端。在該例子中,包裝器110通過識別與數據值相關聯的屬性元數據,來確定過程數據的類型。隨后,包裝器110可以創(chuàng)建相應于屬性名稱的數據值的列表。
示例性導航板304示出與opc服務器相關聯的opc服務器標識信息的目錄和/或文件結構??蛻舳丝梢詾g覽在導航板304中的目錄結構,來選擇與顯示在數據板306內的opc服務器信息相關聯的過程數據??蛻舳丝梢酝ㄟ^選擇導航板304內的其他的目錄來選擇地查看其他的opc服務器數據。示例性包裝器110可以從opc服務器獲取該目錄結構(例如,過程數據)并且使用導航板304的模板來在數據字段內配置目錄結構。
圖4示出顯示在網絡瀏覽器中的服務器分級目錄的示例性界面400(例如,樣式單)。通過選擇對象樹選項卡402示出分級目錄并且分級目錄可以表示存儲于opc服務器的過程數據的數據結構。圖1和/或2的示例性包裝器110獲取存儲于opc服務器的分級目錄結構,將數據轉換至網絡瀏覽格式,以及確定與數據結構相關聯的數據類型。隨后,包裝器110配置、組織、以及放置分級目錄至導航板404內的數據字段中??蛻舳丝梢詾g覽導航板404內的目錄來選擇包括所期望的過程數據的目錄和/或子目錄??梢越M織分級目錄來反映控制系統內的設備的結構和/或由控制器操作的控制例程的結構。示例性包裝器110可以使用端點地址來瀏覽目錄結構,并且在網絡瀏覽器中向客戶端提供分級目錄。
示例性界面400還包括過濾板406,以用于基于由客戶端提供的輸入過濾任何目錄。界面400還包括數據板408,其為所選擇的目錄顯示包括變量和/或參數名稱(例如,屬性)和相應的過程數據值(例如,值)的數據字段。在圖4的例子中,客戶端選擇pid1目錄。因此,包裝器110獲取與pid1目錄相關聯的過程數據并且為了通過網絡瀏覽器在數據板408中的顯示嵌入過程數據。
圖5示出顯示在網絡瀏覽器中的過程數據的示例性界面500。通過選擇數據列表選項卡502在網絡瀏覽器中示出過程數據。一旦客戶端選擇數據列表選項卡502,圖1和/或2的示例性包裝器110獲取過程數據。界面500包括訂閱板504和數據板506。基于可以在數據列表選項卡502內被獲取的過程數據的類型,可以預先配置板504和/或506的布局。
訂閱板504使得客戶端能夠指定顯示在數據板506中的過程數據的刷新率。在該例子中,客戶端指定5000毫秒(msec)的更新率。訂閱板504還包括客戶端標識符(例如,客戶端id),opc服務器標識符(服務器id),以及所選擇的刷新率(例如,更新率)。
示例性數據板506示出所選擇的過程數據,其包括opc服務器內的過程數據的目錄位置(例如,實例id)、數據值(例如,數據值)、過程數據的狀態(tài)(例如,狀態(tài)代碼)、以及過程數據被創(chuàng)建的時間(例如,時間戳)。數據板506包括按鈕,以用于從顯示中添加過程數據或將過程數據移除。數據板506還包括按鈕,以用于讀取或寫入過程數據。
在圖5的例子中,包裝器110確定,待顯示的過程數據與可以在電子數據表中被顯示為值的數據類型相關聯。在其他例子中,過程數據可以被顯示在圖、圖表、動畫、圖形指示符等內。例如,可以預先配置界面500內數據板506,以便如果一些過程數據與圖形顯示相關聯,則包裝器110可以調用預先配置的圖形顯示來在適合的數據字段內示出過程數據。
圖6示出與示例性包裝器110通信以在網絡瀏覽器中顯示過程數據的示例性界面600。示例性界面600包括導航條602,操作員可以使用其來輸入現場設備名稱以用于查看與該現場設備相關聯的過程數據。在另一例子中,用戶可以使用類似于結合圖4所描述的目錄的分級目錄來定位現場設備。界面600還包括菜單條604,其包括用于與tt101現場設備接口的選項。在該例子中,選擇了手動配置選項。
圖6的示例性界面600可以提供包裝器110目標顯示信息,其指示與tt101現場設備相關聯的過程數據將被顯示在工作站或筆記本電腦上的瀏覽器內。附加地,一旦選擇或輸入現場設備(例如,對象),示例性包裝器110接收現場設備名稱(例如,tt101)。包裝器110使用現場設備標識符來識別現場設備的類型(例如,對象類型)、與現場設備相關聯的性質、和/或與現場設備相關聯的過程數據(例如,值)。包裝器110使用帶有目標顯示信息的這一信息來選擇模板,以用于在數據字段內顯示過程數據。包裝器110還使用該信息來從opc服務器訪問過程數據。通過訪問數據類型數據庫208和定位用于運行在工作站上的網絡瀏覽器的模板,包裝器110可以選擇模板。隨后,包裝器110可以基于tt101現場設備的設備類型縮小模板選擇范圍。隨后,包裝器110可以選擇在相應于過程數據的模板內的數據字段。
在圖6的示例中,包裝器110可以向界面600提供模板606和模板608。模板606和608包括具有與tt101現場設備相關聯的過程數據(例如,模擬輸入(ai)、%范圍、單位、下限、上限、標簽、日期、以及描述符)的數據字段。通過基于過程數據內的元數據來將過程數據匹配并插入至適合的數據字段,示例性包裝器110可以呈現在模板606和608中示出的過程數據。在其他例子中,模板可以包括圖、圖表、圖形、和/或任何其他數據表示。
圖7a和7b示出顯示在與圖1和/或2的示例性包裝器110通信以在客戶端應用中顯示過程數據的無線設備702上的示例性界面700。無線設備702可以包括任何便攜的計算設備,包括,例如,智能手機、個人數字助理(pda)、網絡電話等。圖7a和7b的例子示出用于在為無線設備702配置的模板中呈現過程數據的示例性包裝器110。
在圖7a中,用戶界面700包括對象搜索字段704和鍵盤706。對象搜索704使得用戶能夠經由鍵盤706輸入現場設備識別符(例如,opcda/設備/tt101)。對象搜索字段704向包裝器110提供所輸入的tt101現場設備。附加地,無線設備702可以將目標顯示信息發(fā)送至包裝器100。包裝器110使用tt101現場設備標識符來定位與tt101現場設備相關聯的過程數據和/或性質。示例性包裝器110還使用目標顯示信息來選擇為顯示在無線設備702的相對較小的顯示屏上而格式化的模板708。
如圖7b所示,包裝器110可以在模板708的相應的數據字段中匹配、插入、和呈現過程數據。附加地,包裝器110可以顯示用于導航至不同的模板的菜單條710。菜單條710可以被包括在模板708內和/或可以由與opcda/設備/tt101目錄位置相關聯的導航的過程數據指定。替代地,可以由客戶端應用管理菜單條710的顯示。圖7b的例子示出,包裝器110選擇為無線設備702而格式化的模板708,而在圖6中包裝器110選擇為工作站上的網絡瀏覽器而格式化的模板606和608。
圖8示出在網絡瀏覽器中顯示過程數據的示例性界面800。界面800包括導航條802,用戶可以使用導航條802來輸入文件位置或過程數據的路徑。模板804示出顯示在數據字段內的過程數據的表。模板804包括制造商、設備類型、以及版本的數據字段。用戶可以提供http://opcdaserver/device/devicecollection路徑來訪問或跟蹤與被組織在組內的設備相關聯的過程數據。可以從opc服務器訪問作為xml文件的模板804內的過程數據:
如上所示的示例性xml文件在<catalog>行下列出了三個設備的制造商、設備類型、以及版本。為了在界面800中顯示該信息,示例性包裝器110可以將xml文件轉換為xslt文件,其指定用于顯示過程數據的模板804。所轉換的xslt文件可以包括:
行<xsl:stylesheetversion=″1.0″xmlns:xsl=″http://www.w3.org/1999/xsl/transform″>指定待顯示在界面800中的模板804。示例性包裝器110可以基于所接收的來自界面800的信息(例如,目標顯示信息、對象類型等)確定該模板。xslt文件還為模板804指定列標題(例如,制造商、設備類型、以及版本)并且指定用于將過程數據格式化至數據字段中的指令(例如,<xsl:value-ofselect="manufacturer"/、<xsl:value-ofselect="type"/>、以及<xsl:value-ofselect="version"/>)。
圖9a、9b、9c和10是可以被執(zhí)行以實現圖1和/或圖2的示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、示例性opc服務器引用數據庫210和/或更一般地,包裝器110的示例性方法的流程圖。圖9a、9b、9c和/或10的示例性方法可以由處理器、控制器和/或任何其他適當的處理設備執(zhí)行。例如,圖9a、9b、9c和/或10的示例性方法可體現在編碼指令中,該編碼指令存儲在任何有形的計算機可讀介質例如閃存、cd、dvd、軟盤、rom、ram、可編程rom(prom)、電可編程rom(eprom)、電可擦prom(eeprom)、光學存儲盤、光學存儲設備、磁性存儲盤、磁性存儲設備和/或能夠被用于以方法或數據結構的形式承載或存儲程序代碼和/或指令、并能被處理器、通用或專用計算機或具有處理器的其它機器(例如,下文結合圖11討論的示例性處理器平臺p10)訪問的任何其他介質上。上面各項的組合也包括在計算機可讀介質的范圍內。
方法例如包括使處理器、通用計算機、專用計算機或專用處理機器實現一個或多個特定方法的指令和/或數據。替代地,圖9a、9b、9c和/或10的示例性方法的一些或全部可以使用asic、pld、fpld、分立邏輯、硬件、固件等的任何組合實現。
此外,圖9a、9b、9c和/或10的示例性方法的一些或全部可以替代地使用手動操作或作為任何前述技術的任何組合,例如固件、軟件、分立邏輯和/或硬件的任何組合來實現。此外,可以使用實現圖9a、9b、9c和/或10的示例性操作的很多其他方法。例如,塊的執(zhí)行順序可改變,和/或一個或多個所述塊可被改變、去除、細分或組合。附加地,圖9a、9b、9c和/或10的示例性方法中的任何一個或全部可以順序執(zhí)行和/或通過例如單獨的處理線程、處理器、設備、分立邏輯、電路等并行執(zhí)行。
圖9a、9b和9c的示例性方法900使得客戶端能夠訪問存儲于opc服務器的過程數據。多個示例性方法900可以被并行或串行執(zhí)行,來為多個客戶端的訪問過程數據。附加地,在所請求的過程數據可以被存儲于兩個或多個opc服務器的例子中,可以為每個opc服務器實現示例性方法900,或替代地,可以為多個opc服務器實現單個示例性方法900。
圖9a的示例性方法900以接收訪問過程數據的請求而開始(塊902)??梢杂蓤D2的示例性安全處理器202和/或基于網絡的接口122接收請求。隨后,示例性方法900請求安全憑證(例如,安全處理器)來訪問過程數據(塊904)。安全憑證可以包括用戶名和密碼、訪問代碼、唯一的標識符等。在一些例子中,安全憑證可以被包括在請求內。接著,示例性方法900確定所接收的安全憑證是否通過認證(塊906)。如果安全憑證是正確的并且通過認證,則示例性方法900根據來自客戶端的請求創(chuàng)建具有讀取、寫入和/或訂閱訪問的訪問會話(塊908)。隨后,示例性方法900識別與請求相關聯的opc服務器(例如,訪問圖2的opc服務器引用數據庫210的適配器118)(塊910)。
然而,如果示例性方法900不能驗證安全憑證(塊906),則示例性方法900可以創(chuàng)建僅具有讀取訪問的訪問會話(塊912)。隨后,示例性方法900識別與請求相關聯的opc服務器(塊910)。替代地,如果示例性方法900不能驗證安全憑證(塊906),則示例性方法900可以拒絕客戶端訪問請求的過程數據。
圖9a的示例性方法900通過訪問(例如,經由適配器118)所識別的opc服務器(塊914)和訪問與請求相關聯的一個或多個目錄(塊916)來繼續(xù)。附加地,在所請求的opc數據位于多于一個的opc服務器的例子中,示例性方法900可以定位位于一個或多個opc服務器內的目錄和/或文件(塊916)。示例性方法900可以使用端點,經由手動客戶端導航、和/或通過被提供在來自客戶端的請求內的信息,來定位所請求的過程數據。在訪問所請求的過程數據的位置之后,隨后,示例性方法900接收讀取、寫入、和/或訂閱所請求的過程數據的請求。在一些例子中,訪問過程數據的請求可以包括讀取、寫入、和/或訂閱過程數據的請求。在其他例子中,客戶端可以發(fā)送另一請求來經由讀取、寫入、和/或訂閱功能訪問過程數據。
圖9b的示例性方法900確定請求是否與讀取、寫入、和/或訂閱功能相關聯(塊918)。如果請求是要讀取過程數據(塊918),則示例性方法900通過從相關聯的opc服務器獲取所請求的過程數據(例如,經由適配器118)來繼續(xù)(塊920)。隨后,示例性方法900將過程數據從opc格式轉換至網絡瀏覽和/或程序性的應用的格式(例如,經由opc轉換器120)(塊922)。
然而,如果請求是要訂閱過程數據(塊918),則示例性方法900通過訂閱opc服務器中的、所請求的過程數據來繼續(xù)(塊924)。通過設置將請求消息發(fā)送至opc服務器來請求最新的過程數據的時間間隔,示例性方法900可以訂閱過程數據。一旦訂閱過程數據,示例性方法900從opc服務器獲取所請求的過程數據(塊920)。此外,示例性方法900可以繼續(xù)以所指定的間隔從opc服務器獲取所請求的過程數據。隨后對于過程數據的每次獲取,示例性方法900將過程數據從opc格式轉換至網絡瀏覽和/或程序性的應用的格式(例如,經由opc轉換器120)(塊922)。
然而,如果請求是要寫入過程數據(塊918),則示例性方法900通過接收由客戶端提供的寫入數據值并將數據值轉換至opc格式化的值(例如,經由opc轉換器120)來繼續(xù)(塊926)。隨后,示例性方法900將過程數據值寫入opc服務器內的適合的數據位置(例如,經由適配器118)(塊928)。隨后,示例性方法900可以讀取opc服務器中的寫入的過程數據并且將過程數據轉換至網絡瀏覽格式(塊922)。示例性方法900可以讀回寫入值,來向客戶端提供寫入值被適合地寫入opc服務器的證據。
一旦將過程數據轉換至opc格式,示例性方法900通過確定與過程數據相關聯的數據類型(例如,經由數據處理器206)來繼續(xù)(塊930)。隨后,圖9c的示例性方法900確定來自客戶端的請求是否與網絡服務器應用或客戶端顯示應用(例如,程序化的應用)相關聯(塊932)。如果客戶端請求與網絡服務器應用相關聯,則示例性方法900為每種數據類型創(chuàng)建和/或配置數據字段(例如,經由基于網絡的接口122)(塊934)。隨后,示例性方法900將過程數據嵌入和/或放置至相應的數據字段內,并且編譯數據字段內的過程數據(塊936)。接著,示例性方法900實現在由客戶端操作的網絡瀏覽器所訪問的網頁中包括了過程數據的數據字段的顯示(塊938)。
然而,如果來自客戶端的請求與客戶端顯示應用相關聯(塊932),則圖9c的示例性方法調用客戶端處的客戶端顯示應用(塊944)。調用客戶端顯示應用可以包括打開由客戶端用來訪問過程數據的網絡瀏覽器內的應用(例如,activex或silverlighttm或應用)。調用客戶端顯示應用還可以包括初始化程序化的應用來接收格式化的過程數據和/或數據字段。隨后,示例性方法900接收來自客戶端顯示應用的請求,該請求指示該應用被調用并且準備好接收過程數據(塊946)。隨后,示例性方法900嵌入和/或放置和/或關聯過程數據至數據字段(塊948),并且將過程數據和/或數據字段發(fā)送至客戶端顯示應用(塊950)。示例性方法900還可以基于過程數據的類型和/或過程數據的顯示類型為數據字段選擇模板。一旦接收過程數據,隨后示例性方法900確保客戶端顯示應用配置數據字段,來在客戶端顯示應用的界面和/或顯示內示出相應的過程數據(塊952)。
圖9c的示例性方法900通過確定客戶端是否定制過程數據和/或數據字段的任何部分來繼續(xù)(塊940)。如果示例性方法900確定客戶端沒有定制過程數據和/或數據字段,則示例性方法900回到從相同和/或不同的客戶端接收訪問過程數據的請求(塊902)。然而,如果示例性方法900確定客戶端定制過程數據和/或數據字段,則示例性方法900存儲定制數據(塊942)。示例性方法900存儲定制信息,以便當相同的客戶端在不同時間訪問相同的過程數據時,能夠以定制的格式顯示過程數據。隨后,示例性方法900返回到從相同和/或不同的客戶端接收訪問過程數據的請求(塊902)。
圖10的示例性方法1000確定用于顯示接收的來自opc服務器的過程數據的模板和/或數據字段。多個示例性方法1000可以被并行或串行執(zhí)行來呈現多個客戶端的模板。附加地,在所請求的過程數據可以被存儲于兩個或多個opc服務器的例子中,可以為每個opc服務器實現示例性方法1000,或替代地,可以為多個opc服務器實現單個示例性方法1000。
圖10的示例性方法1000以在包裝器110中接收查看對象(例如,過程數據)的請求而開始(塊1002)。對象可以包括現場設備和/或與現場設備相關聯的過程數據。示例性方法1000(例如,經由基于網絡的接口122)可以識別與請求相關聯的目標顯示信息(塊1004)。目標顯示信息可以被包括在請求內和/或可以通過網絡瀏覽器或客戶端應用被分離地發(fā)送。接著,示例性方法1000(例如,經由基于網絡的接口122、適配器118、和/或數據處理器206)確定所請求的對象的類型(塊1006)、確定與對象相關聯的性質(塊1008)、和/或訪問過程數據(例如,與對象相關聯的值)(塊1010)。結合圖9a-9c所述,訪問過程數據包括訪問opc服務器。
示例性方法1000通過基于對象類型、性質、過程數據、和/或目標顯示信息確定(例如,經由數據處理器206)用于顯示對象的模板來繼續(xù)(塊1012)。示例性方法1000(例如,經由基于網絡的接口122)可以將對象(例如,過程數據)鏈接和/或插入至模板內的相應的數據字段中。接著,示例性方法1000(例如,經由基于網絡的接口122)在所選擇的模板中呈現對象和/或與對象相關聯的過程數據(塊1014)。示例性方法1000(例如,經由基于網絡的接口122)在顯示在界面內的模板內顯示對象和/或與對象相關聯的過程數據(塊1016)。示例性方法1000(例如,經由基于網絡的接口122)可以確定是否存在附加的待顯示的對象(塊1018)。如果示例性方法1000確定存在附加的對象,則示例性方法1000接收附加的對象(塊1002)。如果示例性方法1000確定不存在附加的對象,則示例性方法1000結束。
圖11是可以用于實現此處所述的示例性方法和裝置的示例性處理器系統p10的框圖。例如,類似于或相同于示例性處理器系統p10的處理器系統可用于實現圖1和/或2的示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、和/或示例性opc服務器引用數據庫210和/或更一般地,包裝器110。雖然示例性處理器系統p10在下文被描述為包括多個外圍設備、接口、芯片、存儲器等,那些元件中的一個或多個可以從其他示例性處理器系統中省略,其他示例性處理器系統用于實現示例性安全處理器202、示例性會話控制器204、示例性基于網絡的接口122、示例性數據處理器206、示例性數據類型數據庫208、示例性opc轉換器120、示例性適配器118、和/或示例性opc服務器引用數據庫210中一個或多個和/或更一般地,包裝器110。
如圖11所示,處理器系統p10包括耦合到互連總線p14的處理器p12。處理器p12包括寄存器組或寄存器空間p16,其在圖11中被描述為完全片上的,但可以替代地完全或部分地位于芯片外并通過專用電連接和/或通過互連總線p14直接耦合到處理器p12。處理器p12可以為任何適當的處理器、處理單元或微處理器。雖然未在圖11中示出,系統p10可以為多處理器系統,且因此可以包括相同或類似于處理器p12并通信地耦合到互連總線p14的一個或多個額外的處理器。
圖11的處理器p12耦合到芯片組p18,其包括存儲器控制器p20和外圍輸入/輸出(i/o)控制器p22。如所公知的,芯片組通常提供i/o和存儲器管理功能以及多個通用和/或專用寄存器、計時器等,其能夠由耦合到芯片組p18的一個或多個處理器訪問或使用。存儲器控制器p20執(zhí)行使處理器p12(或多個處理器,如果有多個處理器的話)能夠訪問系統存儲器p24和大容量存儲器p25的功能。
系統存儲器p24可以包括任何期望類型的易失性和/或非易失性存儲器,例如,靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、閃存、只讀存儲器(rom)等。大容量存儲器p25可以包括任何期望類型的大容量存儲器。例如,如果示例性處理器系統p10用于實現包裝器110(圖2),則大容量存儲器p25可以包括硬盤驅動器、光學驅動器、磁帶存儲設備等。替代地,如果示例性處理器系統p10用于實現示例性數據類型數據庫208和/或示例性opc服務器引用數據庫210,則大容量存儲器p25可以包括固態(tài)存儲器(例如,閃存、ram存儲器等)、磁存儲器(例如,硬盤)、或適合于示例性數據類型數據庫208和/或示例性opc服務器引用數據庫210中的大容量存儲的任何其它存儲器。
外圍i/o控制器p22執(zhí)行使處理器p12能夠通過外圍i/o總線p32與外圍輸入/輸出(i/o)設備p26和p28以及網絡接口p30通信的功能。i/o設備p26和p28可以是任何期望類型的i/o設備,例如鍵盤、顯示器(例如,液晶顯示器(lcd)、陰極射線管(crt)顯示器等)、導航設備(例如,鼠標、跟蹤球、電容式觸摸板、操縱桿等)等。網絡接口p30可以為例如使處理器系統p10能夠與另一處理器系統通信的以太網設備、異步傳輸模式(atm)設備、802.11設備、dsl調制解調器、電纜調制解調器、蜂窩調制解調器等。
雖然存儲器控制器p20和i/o控制器p22在圖11中被示為在芯片組p18內的單獨的功能塊,這些塊所執(zhí)行的功能可以集成在單個半導體電路內,或可以使用兩個或多個單獨的集成電路來實現。
上述示例性方法和/或裝置的至少一些由在計算機處理器上運行的一個或多個軟件和/或固件程序實現。然而,包括但不限于專用集成電路、可編程邏輯陣列和其它硬件設備的專用硬件實現能夠同樣被構造為整體地或部分地實現這里所述的示例性方法和/或裝置的一些或全部。此外,包括但不限于分布式處理或部件/對象分布式處理、并行處理或虛擬機處理的替代的軟件實現也能夠被構造為實現這里所述的示例性方法和/或系統。
還應注意,這里所述的示例性軟件和/或固件實現被存儲在有形存儲介質上,例如:磁性介質(例如,磁盤或磁帶);磁光或光學介質例如光盤;或固態(tài)介質,例如存儲卡或容納一個或多個只讀(非易失性)存儲器、隨機存取存儲器或其它可重寫的(易失性)存儲器的其它封裝。因此,這里所述的示例性軟件和/或固件能夠存儲在有形存儲介質例如上面或后繼描述的介質的存儲介質上。在上面的說明書引用特定的標準和協議來描述示例性部件和功能的程度上,應理解,本專利的范圍不限于這樣的標準和協議。例如,用于互聯網和其它分組交換網絡傳輸(例如,傳輸控制協議(tcp)/互聯網協議(ip)、用戶數據報協議(udp)/ip、超文本標記語言(html)、超文本傳輸協議(http))的每個標準代表本領域當前狀態(tài)的例子。這樣的標準周期性地由具有相同的一般功能的、更快和更有效的等效形式取代。因此,具有相同功能的替換標準和協議是被本專利設想到的并且旨在包括在所附權利要求的范圍內的等同物。
此外,雖然本專利公開了包括在硬件上執(zhí)行的軟件或固件的示例性方法和裝置,應注意,這樣的系統僅僅是示例性的,且不應被認為是限制性的。例如,可以理解,這些硬件和軟件部件中的任何一個或全部可以唯一地以硬件、唯一地以軟件、唯一地以固件或以硬件、固件和/或軟件的某種組合體現。因此,雖然上面的說明書描述了示例性方法、系統和機器可訪問介質,這些例子不是實現這樣的系統、方法和機器可訪問介質的唯一方式。因此,雖然在這里描述了某些示例性方法、系統和機器可訪問介質,本專利的覆蓋范圍不限于此。相反,本專利涵蓋在字面上或在等同原則下實質上落在所附權利要求的范圍內的所有方法、系統和機器可訪問介質。