專利名稱:控制數(shù)據(jù)交換的方法
技術領域:
本發(fā)明涉及一種用于在通信單元和數(shù)據(jù)源之間交換數(shù)據(jù)的方法,其中由硬件和軟件組件構成的運行時系統(tǒng)在該數(shù)據(jù)源和通信單元之間傳輸數(shù)據(jù),以及一處理鏈控制和/或監(jiān)測數(shù)據(jù)的交換。
背景技術:
一種這樣的方法由眾所周知的現(xiàn)有技術公開。從而例如通常將控制設備用于監(jiān)測和控制大容量的網(wǎng)絡,如供電網(wǎng)、供水線和匯流排系統(tǒng)。對于更大的用于控制空調(diào)、電梯、光系統(tǒng)等等的固定設備,也配備了控制設備。因此,控制這種分支上的設備所需的組件通常也同樣分散地或換句話說大面積分布式地設置,并通過運行時系統(tǒng)相互連接,該運行時系統(tǒng)包括至少一個合適的通信網(wǎng)絡和若干可存儲編程的計算機單元,在這些計算機單元中適當?shù)倪\行時程序?qū)崿F(xiàn)信息的交換。通常,硬件接口用于在例如提供過程值的組件和運行時系統(tǒng)的分散安裝的軟件之間交換數(shù)據(jù)。為了調(diào)用這些過程值而設置了通信單元,如通過通信網(wǎng)絡與該硬件接口連接的輸入計算機。處理鏈用于控制這些組件和通信單元之間的數(shù)據(jù)交換。
這樣,處理鏈例如檢查為了登錄而輸入運行時系統(tǒng)中的用戶名以及涉及該用戶名的關鍵字,看其是否有權從選擇的組件接收過程值。通過這種方式可以使敏感的過程值免招特定用戶的注意。此外對于配備有所謂故障分析的處理鏈,公知處理鏈利用該故障分析顯示所采用的組件或軟件模塊是否存在不相容,并在必要時顯示消除該缺陷的解決方案。
該已知方法存在的缺點是,處理鏈單塊地嵌入到控制設備正常工作時運行的運行時程序的源代碼中。通過這種方式,只能通過更改該軟件模塊源代碼來更改控制數(shù)據(jù)交換的處理步驟。因此在更改之后必須重新編譯整個運行時程序并安裝到硬件上。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種本文開始所述類型的方法,可以容易且無需打斷運行時系統(tǒng)地進行更改或擴展。
本發(fā)明的技術問題這樣解決,處理鏈由處理例程組成,這些處理例程分別包括一個標準化的輸入接口,這些處理例程被先后調(diào)用,并且一個被調(diào)用的處理例程的數(shù)據(jù)被輸入緊跟在其后的處理例程的輸入接口中,運行時系統(tǒng)管理一個動態(tài)存儲區(qū)域,并訪問該存儲區(qū)域以確定調(diào)用處理例程的順序。
根據(jù)本發(fā)明,數(shù)據(jù)交換的控制和監(jiān)測能靈活地展開,并且還可以在啟動運行時系統(tǒng)之后任意更改。為此傳送這樣的數(shù)據(jù),如由用戶輸入的對該組件的過程值的查詢,對處理例程順序的查詢。處理例程例如通過訪問文件中存儲的數(shù)據(jù)來監(jiān)測這些查詢,或者通過添加其它數(shù)據(jù)來控制這些查詢。在此,每個處理例程都包括一個以軟件形式設置的輸入接口,該輸入接口對所有處理例程都是相同的。為了進行交換,接著將通過相應處理例程處理的數(shù)據(jù)輸入緊跟在其后的處理例程的輸入接口中。換句話說,每個處理例程由于其標準化的輸入接口而可以與其它處理例程兼容或交換。因此可以按照任意順序來調(diào)用處理例程,而處理例程之間的數(shù)據(jù)交換不會引起錯誤報告或很糟的損壞。
根據(jù)本發(fā)明,運行時系統(tǒng)包括運行時程序和硬件組件,這些硬件組件計算機、物理控制網(wǎng)絡、接口等等組成。物理的控制網(wǎng)絡還包括無電纜的網(wǎng)絡連接。運行時程序可以分布在硬件組件。
為了在運行時系統(tǒng)的軟件組件運行期間也能根據(jù)相應的需求更改處理例程的順序,運行時系統(tǒng)的軟件管理一個動態(tài)存儲區(qū)域,由此該存儲區(qū)域的存儲量在運行系統(tǒng)運行期間也能更改。為了確定調(diào)用處理例程的順序,運行時系統(tǒng)訪問存儲在該存儲區(qū)域中的處理數(shù)據(jù)。處理數(shù)據(jù)例如可以是配置文件,在該配置文件中以行的方式列出期望的處理例程的地址,其中運行時系統(tǒng)先后處理這些行,并在此過程中通過其地址調(diào)用每一行中列出的處理例程。該運行時系統(tǒng)一直順序地處理配置文件的行,直到向運行時系統(tǒng)顯示出該配置文件的結尾為止。
通過動態(tài)地管理該存儲區(qū)域,可以設置任意多個行,并由此調(diào)用任意多個處理例程。這可以通過將故障診斷或換句話說故障分析例程綁定在處理鏈中而有利地在開發(fā)運行時系統(tǒng)的軟件組件時就已經(jīng)使用。在運行時程序最大程度上無錯地運行之后,可以極大削減故障診斷例程的個數(shù),從而通過這種方式提高數(shù)據(jù)交換的速度,或換句話說改善運行時系統(tǒng)的所謂性能。為此根本不需要更改運行時系統(tǒng)的軟件組件。在本發(fā)明的范圍中,例如只進行參數(shù)轉換。這也適用于在實現(xiàn)運行時系統(tǒng)之后對故障的查找,這些故障例如可以通過事后將故障分析例程補充到處理鏈中來加以限制。
作為數(shù)據(jù)源,硬件組件和軟件組件都合適。這樣,數(shù)據(jù)源例如可以是控制設備的一個組件,其中運行時系統(tǒng)通過合適的接口與該組件連接。但如果不采用該方案,數(shù)據(jù)源還可以是一個諸如軟件驅(qū)動程序的軟件模塊,或者是具有信息數(shù)據(jù)的數(shù)據(jù)庫,其中該信息數(shù)據(jù)對應于一個設備的特定狀態(tài)或版本。
根據(jù)本發(fā)明,動態(tài)管理的存儲區(qū)域是計算機的所謂RAM存儲器的存儲區(qū)域。
優(yōu)選地,數(shù)據(jù)具有用戶標識,其中至少一個授權例程檢查該用戶標識是否與預定用戶列表中的項一致,在確定該用戶標識與用戶列表不一致時中斷數(shù)據(jù)的傳遞。通過這種方式向用戶只顯示那些該用戶有權接收的過程值,由此針對用戶顯示敏感數(shù)據(jù)。在本發(fā)明的范圍中,用戶標識不必非得包括個性化的字符。這樣用戶標識可以包括完全針對角色的字符,使得像這樣的用戶對應于一個特定的組或角色。這樣,用戶就可以例如通過用戶標識被參數(shù)化地標識為開發(fā)者。
此外合適的是,數(shù)據(jù)具有特定于數(shù)據(jù)源的源數(shù)據(jù)標識,其中一個或多個處理例程根據(jù)該源數(shù)據(jù)標識來控制數(shù)據(jù)交換。源數(shù)據(jù)標識同用戶標識一樣都通過對被交換的數(shù)據(jù)附加所謂的元數(shù)據(jù)來實現(xiàn)。
根據(jù)涉及于此的一個優(yōu)選擴展,至少一個處理例程是臨時存儲例程,其中臨時存儲分別具有一個臨時存儲數(shù)據(jù)標識的臨時存儲數(shù)據(jù),其中該臨時存儲例程在源數(shù)據(jù)標識與其中一個臨時存儲數(shù)據(jù)標識一致時顯示對應于該臨時存儲標識的臨時存儲數(shù)據(jù),并中斷數(shù)據(jù)交換。如果源數(shù)據(jù)標識例如是組件標識,則例如可以在控制設備查詢特定的過程值時,則允許處理例程臨時存儲特定的過程值。臨時存儲的過程值例如是與查詢頻率相比非常緩慢地變化或根本不變化的過程值,或者是由授權訪問的第三方輸入的參數(shù)。在重新查詢時,例如也稱為臨時存儲例程或緩存例程的處理例程提供所要求的過程值,而不必由運行時系統(tǒng)訪問對應的組件。因此由運行時系統(tǒng)對該組件的訪問就變?yōu)槎嘤?,由此加速了該方法?br>
在本發(fā)明中,可以設置任意的顯示形式,在此對其不一一例舉。這樣,例如所謂的濃縮例程將運行時系統(tǒng)的編碼數(shù)據(jù)轉換為用戶可理解的數(shù)據(jù)。為了控制數(shù)據(jù)顯示或數(shù)據(jù)流,濃縮例程向通信單元和數(shù)據(jù)源之間交換的數(shù)據(jù)添加額外的控制數(shù)據(jù)或者說元數(shù)據(jù)。
優(yōu)選地,其中一個處理例程是檢查數(shù)據(jù)是否存在錯誤的故障分析例程。該故障分析例程可以是任意的故障分析工具。這樣就可以例如檢查數(shù)據(jù)是否不是輸入的自然數(shù)或整數(shù)而是輸入的字母等等。故障分析例程還可以監(jiān)測運行時系統(tǒng)的協(xié)議或硬件組件之間的兼容性。
優(yōu)選地,至少一個處理例程是監(jiān)測例程,其將數(shù)據(jù)和/或由該數(shù)據(jù)導出的監(jiān)測數(shù)據(jù)存儲在監(jiān)測文件中。在該監(jiān)測文件中例如存儲了在一個月中對該運行時系統(tǒng)的所有訪問,從而通過這種方式可以對誰何時訪問了哪個數(shù)據(jù)源(如控制設備的一個組件)進行存檔。
根據(jù)本發(fā)明的優(yōu)選實施例,所述運行時系統(tǒng)包括具有服務器程序的網(wǎng)絡服務器和至少一個具有瀏覽器程序的客戶機,其中每個瀏覽器程序都通過因特網(wǎng)訪問服務器程序。在本發(fā)明的該實施例中,數(shù)據(jù)交換例如不僅通過對外封閉的主控通信網(wǎng)絡進行,還可以通過已經(jīng)物理存在的因特網(wǎng)的連接進行。當然在本發(fā)明的范圍中,還可以將控制設備的通信網(wǎng)絡添加到處于上級的、本身可以與因特網(wǎng)連接的所謂企業(yè)內(nèi)部網(wǎng)中。
根據(jù)涉及于此的一個擴展,至少一個處理例程是跟蹤例程,其檢查運行時系統(tǒng)中的數(shù)據(jù)路徑,并根據(jù)該檢查產(chǎn)生安全參數(shù)。基于這些安全參數(shù)可以例如控制數(shù)據(jù)的顯示或傳遞。如果該方法的用戶例如通過所謂的企業(yè)內(nèi)部互聯(lián)網(wǎng)與運行時系統(tǒng)連接,則一般很少需要考慮數(shù)據(jù)敏感性或數(shù)據(jù)安全性,因為一般通過不授權來造成進入該企業(yè)內(nèi)部互聯(lián)網(wǎng)的難度。對于本地應用來說可以幾乎完全消除安全上的顧慮,而在通過因特網(wǎng)訪問時只顯示非敏感數(shù)據(jù)或過程值。
合適地,將配置文件加載到動態(tài)存儲區(qū)域中,其中該配置文件確定處理例程的結構和順序。該配置文件例如在初始化運行時系統(tǒng)時被調(diào)用。此外還可以由用戶通過運行時系統(tǒng)觸發(fā)對該配置文件的調(diào)用。該配置文件還可以在實施運行時系統(tǒng)之后無需用戶地例如在特定時刻被調(diào)用。
下面參照附圖描述本發(fā)明的其它實施方式和優(yōu)點,其中圖1示出示意性表示本發(fā)明方法的流程圖。
具體實施例方式
圖1示出表示本發(fā)明方法的流程圖。示意性地示出了控制設備1,其包括本地保護設備2和3以及用于控制和監(jiān)測該保護設備2、3的中央控制臺4。保護設備2、3與圖中未示出的變壓器連接,該變壓器的初級與同樣未示出的能量分配網(wǎng)絡的配電線耦合。與配電線的電流成正比的次級變壓器電流由保護設備2的測量值采集單元掃描以獲得掃描值,接著該掃描值被數(shù)字化為數(shù)字電流值。保護設備2或3可以觸發(fā)合適的開關或電流斷路器,后者當該數(shù)字電流值例如在短路的情況下超過閾值時就中斷配電線中的電流。在此,保護設備2或3與配電線、即初級導線直接相鄰。
控制臺4用于監(jiān)測和控制保護設備2或3。為此調(diào)度臺通過合適的圖中未示出的通信網(wǎng)絡與該保護設備2、3連接。為了保證在保護設備2或3與控制臺4之間進行可靠地交換數(shù)據(jù)而設置持續(xù)運行的運行時程序5,該運行時程序5分布在運行時系統(tǒng)的硬件組件中。在此,運行時程序5通過硬件驅(qū)動器6訪問控制設備1的組建2、3、4的硬件接口。這樣,例如保護設備2的數(shù)字電流值存儲在保護設備2的寄存器中,并且可以通過未示出的通信網(wǎng)絡輸入控制度臺4,其中硬件驅(qū)動器6和運行時程序5一起對數(shù)據(jù)流進行尋址和控制。
為了能從外部、也就是從未連接到控制設備1的通信網(wǎng)絡中的地點監(jiān)測控制設備1的組件2、3或4的狀態(tài),設置了通信單元,如位置固定的單獨的座席計算機7、膝上型電腦8或所謂的PDA,它們通過調(diào)制解調(diào)器終端、ISDN、DSL或無線局域網(wǎng)絡連接而連接到所謂的因特網(wǎng)。運行時系統(tǒng)包括因特網(wǎng)計算機,在該計算機中運行著運行時程序5的服務器程序。這些通信單元利用其瀏覽器程序14通過因特網(wǎng)的引導訪問服務器程序。因此用戶可以通過因特網(wǎng)查詢控制設備1的過程值和/或控制該過程值。
為了控制控制設備1的組件2、3、4與通信單元7、8、9之間的數(shù)據(jù)交換,設置了由先后運行的處理例程11組成的處理鏈10。為了實現(xiàn)處理例程11之間在任意順序時的暢通無阻的數(shù)據(jù)交換,這些處理例程在軟件方面分別具有一個標準的輸出接口以及一個標準的輸入接口,其中待控制和監(jiān)測的數(shù)據(jù)從其中一個處理例程的輸出接口傳遞到后面接著調(diào)用的處理例程的輸入接口。
為了查詢由保護設備2數(shù)字化的電流值,用戶例如用PDA 9通過無線的所謂藍牙連接將其PDA的物理端口連接到因特網(wǎng)。接著,用戶通過其PDA 9在輸入其用戶名及其密碼的情況下登錄到運行時程序5。然后他例如從顯示給他的保護設備樹中選擇保護設備2和保護設備2所需的過程值。運行時程序5根據(jù)在PDA9上的選擇產(chǎn)生組件標識作為源數(shù)據(jù)標識,該標識對于保護設備2來說是獨特的。換句話說組件地址是根據(jù)用戶的選擇來產(chǎn)生的。此外,產(chǎn)生用于選擇期望的電流值的寄存器地址。運行時程序5還產(chǎn)生控制數(shù)據(jù),在這種情況下是所謂的“讀取信號”,利用該信號通知被尋址的硬件接口應當讀取被尋址的寄存器。在處理鏈10運行完之前還向該數(shù)據(jù)添加取決于用戶名的用戶標識。
在查詢對保護設備2的數(shù)字電流值的顯示時,查詢數(shù)據(jù)在查詢方向12上運行通過處理鏈10。在示出的實施例中,第一處理例程是安全例程11a,其在輸入接口上從運行時程序5接收數(shù)據(jù)。安全例程11a確定用戶是否有權查詢數(shù)據(jù)。為此安全例程11a將查詢數(shù)據(jù)的用戶標識與該安全例程中嵌入的列表進行比較,并只在用戶標識與該列表中的一個項一致時才向授權例程11a的輸出接口傳遞數(shù)據(jù)。
數(shù)據(jù)從該輸出接口傳遞到臨時存儲例程11b的輸入接口。該臨時存儲例程11b檢查所要求的過程值是否是軟件在產(chǎn)生該臨時存儲例程時確定的特定過程參數(shù)。這種過程值例如是與兩個相互連續(xù)的查詢之間的時間間隔相比非常緩慢變化或根本不變化的過程值。如果臨時存儲例程11b確定查詢的是這種由以前的查詢存儲在該臨時存儲例程中的特定過程參數(shù),則該臨時存儲例程11b提供該以前已經(jīng)被查詢過的過程參數(shù),并中斷其它查詢。否則,該臨時存儲例程11b直接將數(shù)據(jù)通過其輸出接口傳遞到用戶例程11c。用戶例程11c將查詢方向12上的數(shù)據(jù)不經(jīng)處理就傳遞到所謂的跟蹤例程11d,運行時程序5從該跟蹤例程再次接管被處理的數(shù)據(jù)。在查詢方向12上也不通過跟蹤例程11d處理該數(shù)據(jù)。
接著,運行時程序5通過對應的硬件接口6訪問所選擇的組件2的過程值,并向該數(shù)據(jù)添加電流值作為過程值。然后運行時程序5將該數(shù)據(jù)連同電流值一起傳遞到跟蹤例程11d的輸入接口?,F(xiàn)在數(shù)據(jù)在方向13上通過處理鏈10。跟蹤例程11d利用查詢數(shù)據(jù)檢查從使用者的哪個位置訪問運行時程序5。如果用戶例如通過本地的、從外部很難進入的網(wǎng)絡來登錄運行時程序5,則運行時程序的顯示可能性不會被跟蹤例程11d限制。但在本實施例中,PAD9的用戶可以通過因特網(wǎng)登錄運行時程序5,從而出于安全原因只能顯示有限的信息。為此跟蹤例程11d向被查詢的電流值和其余的查詢數(shù)據(jù)添加其它安全數(shù)據(jù),利用這些安全數(shù)據(jù)產(chǎn)生運行時程序5的特定顯示格式。
然后,數(shù)據(jù)到達用戶例程11c,該用戶例程根據(jù)用戶的角色向數(shù)據(jù)添加顯示參數(shù)。在示出的實施例中用戶是程序員,對該用戶來說高度具體化的顯示數(shù)據(jù)、例如用于確定錯誤的顯示數(shù)據(jù)是非常有幫助的,相反這些顯示數(shù)據(jù)對普通用戶來說會引起混亂。因此用戶例程11c向查詢數(shù)據(jù)添加那些使得運行時程序5可以顯示所有數(shù)據(jù)的顯示參數(shù)。
然后數(shù)據(jù)從用戶例程11c到達臨時存儲例程11b。在示出的箭頭方向13上,臨時存儲例程11b處理數(shù)據(jù),而安全例程11a不處理數(shù)據(jù)。安全例程11a最后將該數(shù)據(jù)傳遞給運行時程序5,該程序根據(jù)處理參數(shù)將數(shù)據(jù)顯示在PDA9上。
權利要求
1.一種用于在通信單元(7,8,9)和數(shù)據(jù)源(2,3,4)之間交換數(shù)據(jù)的方法,其中由硬件組件(2,3,4)和軟件組件(5,6)構成的運行時系統(tǒng)在該組件(6,7,8)和通信單元(7,8,9)之間傳輸數(shù)據(jù),并且存在一處理鏈(10)用于控制和/或監(jiān)測數(shù)據(jù)的交換,其特征在于,所述處理鏈(10)由處理例程(11)組成,這些處理例程分別包括一個標準化的輸入接口,其中這些處理例程(11)被先后調(diào)用,并且一個被調(diào)用的處理例程(11)的數(shù)據(jù)被輸入到緊跟在其后的處理例程(11)的輸入接口中,所述運行時系統(tǒng)管理一個動態(tài)存儲區(qū)域,并訪問該存儲區(qū)域以確定調(diào)用所述處理例程(11)的順序。
2.根據(jù)權利要求1所述的方法,其特征在于,所述數(shù)據(jù)具有用戶標識,其中至少一個授權例程(11a)檢查該用戶標識是否與預定用戶列表中的項一致,并在確定該用戶標識與用戶列表不一致時中斷數(shù)據(jù)的傳遞。
3.根據(jù)權利要求1或2所述的方法,其特征在于,所述數(shù)據(jù)具有特定于數(shù)據(jù)源的源數(shù)據(jù)標識,其中一個或多個處理例程(11d)根據(jù)該源數(shù)據(jù)標識來控制通過該處理例程(11d)對數(shù)據(jù)的處理。
4.根據(jù)權利要求3所述的方法,其特征在于,至少一個所述處理例程(11)是臨時存儲例程(11b),其中臨時存儲了分別具有一個臨時存儲數(shù)據(jù)標識的臨時存儲數(shù)據(jù),其中該臨時存儲例程(11b)在源數(shù)據(jù)標識與其中一個臨時存儲數(shù)據(jù)標識一致時顯示對應于該臨時存儲標識的臨時存儲數(shù)據(jù),并中斷數(shù)據(jù)交換。
5.根據(jù)上述權利要求中任一項所述的方法,其特征在于,至少一個所述處理例程(11)是檢查數(shù)據(jù)是否存在預定的錯誤的故障分析例程。
6.根據(jù)上述權利要求中任一項所述的方法,其特征在于,至少一個所述處理例程(11)是監(jiān)測例程,其將數(shù)據(jù)和/或由該數(shù)據(jù)導出的監(jiān)測數(shù)據(jù)存儲在監(jiān)測文件中。
7.根據(jù)上述權利要求中任一項所述的方法,其特征在于,所述運行時系統(tǒng)包括具有服務器程序的網(wǎng)絡服務器和至少一個具有瀏覽器程序(14)的客戶機,其中每個瀏覽器程序(14)都通過因特網(wǎng)訪問服務器程序。
8.根據(jù)上述權利要求中任一項所述的方法,其特征在于,至少一個所述處理例程(11)是跟蹤例程(11d),其檢查運行時系統(tǒng)中的數(shù)據(jù)路徑,并根據(jù)該檢查產(chǎn)生安全參數(shù)。
9.根據(jù)上述權利要求中任一項所述的方法,其特征在于,將配置文件加載到所述動態(tài)存儲區(qū)域中,其中該配置文件確定所述處理例程的結構和順序。
全文摘要
本發(fā)明涉及一種用于在通信單元(7,8,9)和控制設備(1)的數(shù)據(jù)源(2,3,4)之間交換數(shù)據(jù)的方法,其中由硬件(2,3,4)和軟件(5,6)組成的運行時系統(tǒng)在該數(shù)據(jù)源(6,7,8)和通信單元(7,8,9)之間傳輸數(shù)據(jù),處理鏈(10)監(jiān)測對數(shù)據(jù)交換進行控制和/或監(jiān)測。該方法可以容易且不中斷運行時系統(tǒng)地進行更改。處理鏈(10)由處理例程(11)組成,這些處理例程各包括一個標準化的輸入接口,處理例程(11)被先后調(diào)用,并且一個被調(diào)用的處理例程(11)的數(shù)據(jù)輸入到緊跟在其后的處理例程(11)的輸入接口中,運行時系統(tǒng)管理一個動態(tài)存儲區(qū)域,并訪問該存儲區(qū)域以確定調(diào)用處理例程(11)的順序。
文檔編號G06F9/46GK1826587SQ200480021140
公開日2006年8月30日 申請日期2004年6月23日 優(yōu)先權日2003年7月22日
發(fā)明者托馬斯·杰克曼, 尤維·魯克爾 申請人:西門子公司