專利名稱:用于對工業自動化裝置的項目進行規劃和/或編程的方法和裝置的制作方法
技術領域:
本發明涉及一種根據權利要求1的前序部分所述的、用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的方法,和一種根據權利要求11的前序部分所述的用于實施上述方法的裝置。
背景技術:
為了對在工業自動化技術中的設備和裝置進行規劃和編程而應用所謂的工程系統。所述工程系統通常由涵蓋在對工業自動化裝置進行規劃和編程時的不同方面的多個應用組成。這樣的應用例如包含用于對所述組件(硬件規劃)進行規劃(布置和布線)的輔助工具、用于控制器(PLC=可編程邏輯控制器)的編程的應用、用于生成用于操作和觀察儀器的程序(HMI=人機界面)的應用、用于計劃聯網的輔助工具、用于對驅動器進行編程和規劃(設計)的輔助工具等等。通常,所述應用是所謂的“軟件套件”的組成部分,也就是說,所述應用是通常具有共同的、上級用戶界面并且安裝在所謂的工程工作站上的程序包的組成部分。在更大的設備和項目中,開發、規劃和編程通常由使用多個規劃工作站的多個用戶分工進行;這也被稱為多用戶系統。在此,編程或規劃通常分布在不同的開發者和用戶處,既根據例如是硬件規劃、PLC編程、HMI編程等等的功能,也在相應的功能內,例如為組件的不同功能或為在PLC程序中的不同的模塊等等。在此,應用中的每個借助通常也稱為工程數據的數據工作。所述數據例如能夠說明硬件組件的規劃,示出各個儀器和組件之間的關系,或者也可以是在對控制器、HMI儀器等等進行編程時所生成和進行處理的程序。工程項目的不同的組成部分通常是彼此間不完全獨立的。因此,雖然例如在PLC程序中調用與例如在同一項目的HMI程序中不同的子程序或功能。然而,在各個子項目之間仍存在相關性;因此例如PLC程序和HMI規劃或HMI程序通常都相關于硬件規劃。在另一示例中,說明操作和觀察儀器的屏幕(所謂的HMI屏幕)的程序與PLC程序的變量(所謂的標簽)相關聯,以便將其示出。簡而言之,應用需要至少對其他應用的工程數據進行讀訪問、但是也經常需要寫訪問。為了能夠使每個應用,進而使每個用于規劃和編程的工作站能夠訪問下面也稱為工程對象或簡稱為對象的所有需要的工程數據,至今為止用于工業自動化裝置的工程的多用戶系統大多數時候實現為所謂的客戶端-服務器架構。在此設有中央服務器,所述中央服務器存儲工程項目的分別有效的數據庫存,進而存儲所有由應用所使用的對象。在此,也稱為客戶端的、具有應用的工作站分別從服務器請求正要處理的或需要至少一次讀訪問的分別需要的數據。通常,所述數據緩存在工作站計算機(客戶端)上(也稱為“高速緩存(Caching)”),以便確保相應的應用的可接受的響應時間和工作速度。在改變結束且已改變的數據可供其他應用訪問之后,所述應用將已改變的數據同樣再次存儲在服務器上。然后,緩存(高速緩存)有用于讀訪問的相應的數據的應用和工作站必須丟棄至今為止使用的數據并且必要時重新從服務器調用數據。在此已知的是,通過所謂的“并發版本系統”(權限管理系統)、所謂的登入和登出方法以及其他策略來確保數據的一致性,也就是說,例如對特定的對象的處理(寫訪問)總是僅通過唯一的應用授權,而同一對象的讀取同時授權于所有應用,等等。然而,通過數據庫存的集中,意即通過工程項目的對象的集中存儲,得到數據流量的限制,這特別是在大的工程項目的情況下以及在工作站分布在不同的地點或者甚至于不同的大陸時導致在數據請求時長的響應時間和其他性能問題。
發明內容
因此,本發明的目的是,改進在通過多個用戶或工作站對工業自動化裝置進行規劃和/或編程時對工程數據的對象的訪問。在此,所述目的的根據本發明的解決方案的中心思想是,使用所謂的點對點架構代替用于在工業自動化裝置的工程中的數據保持的傳統的客戶端-服務器架構,其中優選基于分布式哈希表的數據結構提供關于對象或對象組的相應的存儲位置的信息。在此,應優選不在項目的數據之間進行區分,而是在對象或對象組之間進行區分。所述目的尤其借助一種根據權利要求1所述的方法以及借助一種根據權利要求11所述的裝置得以實現。在此,提出一種用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的方法,其中用戶中的每個分別與具有用于規劃和/或編程的至少一個應用的工作站相關聯,其中,所述項目由多個對象組成,并且其中,對象中的至少一個被多個工作站訪問。在此,將至少一定數量的對象分組成對象組,其中,對象組中的每個與工作站相關聯,其中對象組的對象分別存儲在與所述對象組相關聯的工作站的物理存儲器中,其中,對象組分別與鍵相關聯,并且所述鍵存儲在數據結構中,其中,數據結構為鍵中的每個指定用于工作站中的物理存儲器中存儲有與鍵相關聯的對象組和所述對象組的對象的工作站的識別碼,并且其中,為了訪問對象,由工作站訪問數據結構,借助于所述訪問確定與相關的對象組的鍵相關聯的、關于存儲位置的信息,并且根據所述存儲位置訪問對象。通過應用所述方法實現了在通過多個用戶或多個工作站對項目進行規劃和/或編程(多用戶操作)時的用于數據管理或對象管理的點對點架構,由此能夠實現更高的數據流量,因為不是所有的工作站(客戶端)必須總是對中央服務器進行訪問以讀取或調用數據或對象。所述目的進一步通過用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的裝置得以實現,其中,用戶中的每個分別與具有用于規劃和/或編程的至少一個應用的工作站相關聯,其中,項目由多個對象組成,并且其中,對象中的至少一個能夠被多個工作站訪問。在此,將對象分組為對象組,其中,具有對象的對象組分布在多個工作站的物理存儲器上,其中,每個對象組與數據結構中的鍵相關聯,其中數據結構中的鍵分別與工作站中的物理存儲器中存儲有相關的對象組的對象的工作站相關聯。借助于這樣的根據本發明的裝置實現了根據本發明的方法的優點。根據本發明的方法的有利的設計方案通過從屬權利要求2至10說明;根據本發明的裝置的有利的設計方案在從屬權利要求12至14中說明。在此,根據本發明的方法的設計方案的特征和優點也類似地適用于根據本發明的裝置,并且反之亦然。當使用分布式哈希表作為數據結構時,得到對工程數據的對象的特別有效的訪問。在此,作為對象不僅能夠引用各個文件,而且還一方面引用具有多個對象的文件內的各個對象,并且另一方面也引用具有任意數量的對象的文件組。尤其是由于代替各個對象也能夠引用優選在主題上或功能上互相關聯的整個對象組的可能性,在數據結構中的表格條目的數量或所需要的鍵的數量以及從而還有不同的存儲位置的數量得以優化。在此,分布式哈希表的有利的特性是,鍵能夠最優地分布在所謂線性取值范圍上,以至于所謂的“內存負載”能夠均勻地分布到具有也稱為“節點”或“客戶端”的物理存儲器的工作站上。這樣的數據結構能夠通過其特殊的特性實現為自組織的和自優化的。有利地,作為存儲位置也能夠使用用于查找對象的URL (統一資源定位符(Uniform Ressource Locator))或其他信肩、O如在其他已知的分布式存儲器解決方案中以及尤其在已知的點對點布置中,當各個工作站或節點暫時或持續地失效或不能達到時,能夠是成問題的,因為那么可能不再能夠為剩余的工作站或節點提供所有需要的數據或對象。因此有利的是,將對象或對象組的副本存儲在其他工作站的物理存儲器中,其中,在一個特殊的實施形式中,中央服務器類型的工作站能夠保存所有對象或對象組的副本。所述工作站尤其也能夠包含分布式哈希表的完整的副本,其中所述完整的副本有利地被復制到其他工作站上。在此,這個復制過程必須僅在下述情況下重復,在所述情況下重組對象到各個工作站上的分布,或者(通過刪除或重新添加)改變對象,但是當僅一個對象的內容被改變時,例如作為處理結果,所述復制過程不重復。為了最優地訪問在處理中的對象,這既包括只讀訪問也包括寫訪問,將對象的副本有利地加載到進行處理的或使用的工作站中的物理存儲器中,其中,在對對象進行寫訪問的情況下,禁止通過其他工作站在所述對象的原始存儲位置上來對所述對象進行寫訪問。在處理的對象在其借助于數據結構的鍵而限定的存儲位置上被改變(“更新”)之后,有利地,在這個時間點對所述對象進行讀訪問或對所述對象的自身的副本進行讀訪問的所有其他工作站或應用請求通過重新訪問已改變的對象再次建立在所述裝置中的數據一致性。為此,讀訪問能夠被記錄,以便能夠目標明確地發送具有重新加載(“reload”)已改變的對象的請求的消息。如已經提及的,對象的或對象組的副本能夠被轉移到其他工作站上、尤其是轉移到構成為中央服務器的工作站上,其中,最后提及的、特殊的工作站不一定必須具有用于規劃和/或編程的其他應用。有利的是,對象的這個當對象不能由與其相關聯的工作站使用時才要使用的“備份副本”的存儲位置同樣存儲在所述數據結構中或另一數據結構中,以至于確保對副本的快速訪問。然而替選地,也能夠實現搜索功能,其中,第一工作站給其他工作站中的一些或全部發送所謂的搜索消息,其中,搜索消息指定所期望的對象或所期望的對象組。這樣的搜索消息也能夠在數據結構出錯或失效時用于找出對象或用于恢復數據結構。有利地,能夠以統計的方式檢測對數據結構或其中管理的對象或對象組的訪問以及進行訪問的工作站,以至于可能的是,在確定的時間點(“優化運行”)或持續地(“動態地”)改變并且在此優化對象和對象組的存儲位置,以至于能夠使對象通過數據網絡傳輸的數量和范圍最小化,并且能夠實施例如用于冗余地存儲重要對象的安全準則。與對象組相關聯的對象的數量能夠隨著時間推移而改變。這有利地確保,將這樣的持續地完全不再具有對象的對象組從數據結構中刪除,或者與其他對象組結合。另一方面還應確保,每個對象也與一個對象組相關聯。在一個特殊的實施形式中,當對象也能夠與多個對象組相關聯時,尤其是當涉及僅需要進行周期性地讀訪問的對象時,能夠是有利的。此外有利的是,還提出一種優化算法,所述優化算法將組的結構優化為,使得一方面組的數量不會過大,以便確保對數據結構的快速訪問;但是另一方面導致這種類型的細粒狀結構化,即,對象組到工作站上的分布能夠在存儲量以及訪問時間進行優化。為此,對象有利地與具有關鍵詞的或所謂的“標記(Tags)”的形式的屬性相關聯,所述屬性涉及關于功能性、訪問類型(讀或者讀和寫)等等的聲明。
下面,借助于
根據本發明的方法的實施例。所述附圖同時用于闡述用于根據本發明的裝置的一個實施例。在此示出圖1示出根據現有技術的用于對項目進行規劃和/或編程的裝置,圖2示出根據本發明的具有數據結構和對象在不同的工作站上的分布式存儲的裝置,以及圖3示出根據圖2的裝置,其中工作站中的一個失效或不能達到。
具體實施例方式在圖1中示出一種根據現有技術的用于對工業自動化裝置的項目進行規劃和/或編程的裝置。在此設有三個工作站CL1、CL2、CL3 (“客戶端(Clients)”),所述工作站分別包含用于對自動化裝置的不同方面進行規劃或編程的應用(未示出)。在這個示例中,工作站CLl包含用于硬件規劃(“HW”)的應用,工作站CL2包含用于對控制器(“PLC”)進行編程的應用,以及第三工作站CL3包含用于對觀察和操作儀器(“HMI”)進行編程和規劃的應用和輔助工具。第四工作站CS (“中央服務器(Central Server)”)不包含用于規劃和/或編程的應用,而是具有數據庫ED (“工程數據(Engineering Data)”)的服務器,所述數據庫包含項目的工程數據。在此,接下來要在分別具有多個對象的三個對象組D1、D2、D3之間進行區分;在所述示例中,對象組Dl的對象涉及硬件規劃,對象組D2的對象涉及控制器的編程,對象組D3的對象涉及操作和觀察儀器的硬件規劃和軟件規劃或編程。工作站CL1、CL2、CL3分別與物理存儲器LC1、LC2、LC3 (“本地緩存(Local Cache)”)相關聯,意即與例如相應地使用的工作站的或相應地使用的個人計算機的硬盤存儲器相關聯。當且只要副本被相應的工作站CL1、CL2、CL3的相應的應用使用時,對象組Dl、D2、D3的所述副本⑶1、⑶2能夠被加載到所述存儲設備LC1、LC2、LC3中。所述使用既涉及只讀訪問,也涉及讀和寫訪問。在對象組D1、D2、D3的或包含在所述對象組中的對象的副本⑶1、⑶2的通常以讀訪問結束的處理期間,對在工程數據庫ED中的對象組Dl、D2、D3或與所述對象組相關的對象相對其他的寫訪問進行保護。在結束寫訪問后,意即在處理副本CD1、CD2后,在工程數據庫ED中的已改變的數據被恢復,并且當前使用用于只讀訪問的副本CD1、CD2的其他應用被要求重新讀取相應的對象組D1、D2、D3或相關的對象。經由未示出的數據網絡,為了傳輸副本⑶1、CD2而設有邏輯數據連接RV1、RV2、RV3。在圖2中示出根據本發明的裝置,所述裝置原則上基于借助于圖1闡述的、根據現有技術的裝置,以至于具有已經在圖1中已知的附圖標記的所有組件和對象在此不再重新介紹和說明。同樣地,也適用于之后討論的圖3。在根據圖2的裝置中,工作站CL1、CL2、CL3構造為,使得所述工作站彼此間能夠直接互相交換數據,尤其是交換對象和對象組Dl、D2、D3或副本⑶1、⑶2、⑶3 ;為此需要的邏輯連接在圖左邊借助于雙箭頭表示。現在,工作站CL1、CL2、CL3以及具有中央服務器的工作站CS分別存儲有分布式哈希表DHT(“Distributed Hash Table”)的副本,或者訪問這樣的分布式哈希表DHT,作為根據與每個對象組Dl、D2、D3相關聯的鍵的數據結構,所述分布式哈希表包含關于相應的對象組D1、D2、D3的對象的當前的存儲位置的說明。在工程數據庫ED中,意即在工作站CS的工作存儲器中存儲有所有對象組⑶1、⑶2、⑶3的副本,其中,所述副本經由數據連接FB1、FB2、FB3 (“回退(Fall Back)”)提供用于下述情況,在所述情況下工作站CL1、CL2、CL3不能提供相互需要的對象或對象組Dl、D2、D3。在所說明的根據圖2的實施例中示出下述狀態,在所述狀態下,對象組Dl、D3存儲在工作站CL3的物理存儲器LC3中,并且對象組D2存儲在工作站CL2的存儲區域LC2中。這例如能夠由此解釋,即,在結束硬件規劃后,對象組Dl的相關的工程數據主要被工作站CL3 (HMI編程)使用。在此,能夠設置在裝置的任意硬件組件上的監控實體例如確定,對象組Dl主要通過工作站CL3被訪問或已經被訪問,由此,對象組Dl能夠存儲在工作站CL3的工作存儲器LC3中,并且新的存儲位置與數據結構中的相應地相關的鍵相關聯,意即與在分布式哈希表DHT中的相應地相關的鍵相關聯。現在,如果例如需要通過工作站CL2的應用來訪問對象組Dl的對象,那么對分布式哈希表DHT的數據結構的訪問給出相應的對象組Dl存儲在工作站CL3的物理存儲器LC3中的信息。然后,為了訪問,工作站CL2的應用請求工作站CL3的對象組Dl的副本,此后,調用在存儲區域LC3中的對象組D1,并且將其作為副本傳輸到工作站CL2 ;這個過程在圖2中未示出。除了在工程數據庫ED中的副本⑶1、⑶2、⑶3以外,對象組D1、D2、D3的其他副本也能夠附加地存儲在任意其他工作站的存儲區域中;由于清晰性的原因,所述狀態未在圖2中示出。在圖3中示出如下狀態,當基于圖2的狀態,工作站CL2不再能夠經由數據網絡達到或者關機時或者由于另一原因不再能夠執行其功能時,得到所述狀態。假定的是,工作站CL3從現在起需要訪問對象組D2的對象。然而在此,對分布式哈希表DHT的數據結構的訪問得出,從工作站CL2調用相應的數據應是可能的。然而,由于不能建立這樣的連接,因此需要訪問對象組D2的副本CD2。在本實施例中,也能夠借助于與所期望的數據相關聯的鍵調用副本⑶1、⑶2、⑶3的存儲位置;然而,在一個替選的、未示出的實施例中也能夠通過工作站CL3將搜索消息發送給工作站CL1、CS,其中,至少在這樣的情況下,工作站CS,即具有在工程數據庫ED中的副本CD1、CD2、CD3的中央服務器,響應所述搜索消息,并且提供副本⑶2。同時,至少在工作站CL2的不可達到的持續時間內,對象組D2的位于工程數據庫ED中的副本⑶2被處理為“原始版本”,也就是說,在不可達到的組件中,意即在工作站CL2中,在數據結構中的現有版本被標記為無效的。然而,在本實施例中,這僅適用于下述情況,在所述情況下,工作站CL3或在那里運行的應用對對象組D2的對象進行寫訪問;在只讀訪問的情況下,對象組D2的“原始版本”能夠在位于工作站CL2的存儲區域LC2中的版本中繼
續保持有效。
權利要求
1.用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的方法, 其中,所述用戶中的每個分別與具有用于規劃和/或編程的至少一個應用的工作站(CU, CL2, CL3)相關聯,其中,所述項目由多個對象組成, 并且 其中,所述對象中的至少一個被多個所述工作站訪問, 其特征在于, 至少一定數量的所述對象分組為對象組(Dl,D2,D3), 所述對象組(Dl,D2,D3)中的每個與工作站相關聯, 一個對象組(Dl,D2,D3)的所述對象分別存儲在與這個對象組(Dl,D2,D3)相關聯的工作站的物理存儲器中, 所述對象組(Dl,D2,D3)分別與鍵相關聯,并且所述鍵存儲在數據結構(DHT)中,其中,所述數據結構(DHT)為所述鍵中的每個指定用于所述工作站中的物理存儲器中存儲有與所述鍵相關聯的對象組(D1,D2,D3)和所述對象組的對象的工作站的識別碼,以及為了訪問對象,由工作站訪問所述數據結構(DHT),借助于所述訪問確定與相關的所述對象組(Dl,D2,D3)的所述鍵相關聯的、關于存儲位置的信息,并且根據所述存儲位置訪問所述對象。
2.根據權利要求1所述的方法, 其特征在于, 使用分布式哈希表作為所述數據結構(DHT )。
3.根據前述權利要求之一所述的方法, 其特征在于, 為了處理所述對象,將所述對象的副本(⑶1,⑶2,⑶3)加載到進行處理的工作站的物理存儲器中,并且禁止通過其他工作站來對所述對象進行寫訪問。
4.根據前述權利要求之一所述的方法, 其特征在于, 借助于與所述對象相關聯的應用中的一個或借助于所述工業自動化裝置的與所述對象相關聯的功能或功能組進行分組。
5.根據前述權利要求之一所述的方法, 其特征在于, 對象或對象組(Dl,D2,D3)的副本(⑶I,⑶2,⑶3)存儲在其他工作站的物理存儲器中。
6.根據權利要求5所述的方法, 其特征在于, 在所述數據結構(DHT)中存儲有關于所述對象或對象組(01,02,03)的所述副本(⑶I,⑶2,⑶3)的所述存儲位置的信息,其中,在不能達到與所述對象或對象組(D1,D2,D3)相關聯的工作站的情況下進行對所述副本(⑶1,⑶2,⑶3)的訪問。
7.根據權利要求5或6所述的方法, 其特征在于, 使用構造為中央服務器(CS)的工作站作為用于所述副本(⑶1,⑶2,⑶3)的存儲位置。
8.根據權利要求7所述的方法,其特征在于, 所述中央服務器包含所述項目的所有對象和/或對象組(D1,D2,D3)的副本(⑶1,⑶2,CD3)。
9.根據前述權利要求之一所述的方法, 其特征在于, 以統計的方式檢測對所述對象或對象組(Dl,D2,D3)的訪問以及進行訪問的工作站,其中,借助于由此得出的統計數據來優化所述對象與所述工作站的關聯性。
10.根據前述權利要求之一所述的方法, 其特征在于, 所述對象組(D1,D2,D3)中的每個與至少一個對象相關聯,并且 每個對象與一個對象組(Dl,D2, D3)相關聯。
11.用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的裝置,其中,所述用戶中的每個分別與具有用于規劃和/或編程的至少一個應用的工作站相關聯, 其中,所述項目由多個對象組成,并且 其中,所述對象中的至少一個能夠被多個所述工作站訪問, 其特征在于, 所述對象被分組為對象組(Dl,D2,D3), 具有所述對象的所述對象組(Dl,D2,D3)分布在多個工作站的所述物理存儲器上, 每個對象組(Dl,D2,D3)與數據結構(DHT)中的鍵相關聯, 其中,在所述數據結構(DHT)中的所述鍵分別與所述工作站中的物理存儲器中存儲有相關的所述對象組(Dl,D2,D3)的所述對象的工作站相關聯。
12.根據權利要求11所述的裝置, 其特征在于, 所述數據結構(DHT)是分布式哈希表。
13.根據權利要求11或12所述的裝置, 其特征在于, 所述對象中的一些或全部作為副本(CD1,CD2,CD3)存儲在與相關的所述工作站不同的工作站的物理存儲器中,其中,能夠分別從所述數據結構(DHT)中調用所述副本(CD1,CD2,⑶3)的存儲位置。
14.根據權利要求13所述的裝置, 其特征在于, 所述工作站中的一個構造為中央服務器,所述中央服務器包括所述項目的所有對象的所述副本(CDl,CD2, CD3)。
全文摘要
本發明涉及一種用于通過多個用戶對工業自動化裝置的項目進行規劃和/或編程的方法和裝置,其中,用戶中的每個分別與具有用于規劃和/或編程的至少一個應用的工作站(CL1,CL2,CL3)相關聯,其中,項目由多個對象組成,并且其中,對象中的至少一個被多個工作站訪問。在此,至少一定數量的對象分組為對象組(D1,D2,D3),其中對象組(D1,D2,D3)中的每個與工作站相關聯,其中對象組(D1,D2,D3)的對象分別存儲在與所述對象組(D1,D2,D3)相關聯的工作站的物理存儲器中,其中對象組(D1,D2,D3)分別與鍵相關聯,并且所述鍵存儲在數據結構(DHT)中,其中所述數據結構(DHT)為所述鍵中的每個指定用于所述工作站中的物理存儲器中存儲有與鍵相關聯的對象組(D1,D2,D3)和所述對象組的對象的工作站的識別碼,以及為了訪問對象,由工作站訪問所述數據結構(DHT),借助于所述訪問確定與相關的所述對象組(D1,D2,D3)的所述鍵相關聯的、關于存儲位置的信息,并且根據所述存儲位置訪問所述對象。通過這樣的方法或這樣的裝置確保了更高的數據流量,并且此外保證了對需要的對象的隨時的訪問。
文檔編號G05B19/042GK103069348SQ201080068625
公開日2013年4月24日 申請日期2010年8月18日 優先權日2010年8月18日
發明者埃德加·弗蘭克 申請人:西門子公司