WO2012022378A1 - Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung - Google Patents

Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung Download PDF

Info

Publication number
WO2012022378A1
WO2012022378A1 PCT/EP2010/062038 EP2010062038W WO2012022378A1 WO 2012022378 A1 WO2012022378 A1 WO 2012022378A1 EP 2010062038 W EP2010062038 W EP 2010062038W WO 2012022378 A1 WO2012022378 A1 WO 2012022378A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
workstation
data structure
assigned
dht
Prior art date
Application number
PCT/EP2010/062038
Other languages
English (en)
French (fr)
Inventor
Edgar Frank
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to CN2010800686251A priority Critical patent/CN103069348A/zh
Priority to US13/817,734 priority patent/US20130159961A1/en
Priority to EP10743153.8A priority patent/EP2606403A1/de
Priority to PCT/EP2010/062038 priority patent/WO2012022378A1/de
Publication of WO2012022378A1 publication Critical patent/WO2012022378A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Definitions

  • the invention relates to a method for projecting and / or programming a project of an industrial automation system by a plurality of users according to the preamble of patent claim 1, and an arrangement for carrying out the method according to the preamble of the patent ⁇ claim 11.
  • engineering systems For projecting and programming of arrangements and Systems in industrial automation technology are used so-called engineering systems. As a rule, these engineering systems comprise a large number of applications which cover the various aspects in the planning and programming of industrial automation arrangements.
  • “software Suite” which means that these applications are part of a pro ⁇ gram packet, which is often has a common, higher-level interface and is installed on a so-called engineering work for larger plants and projects the development, planning and programming is often labor performed by several ⁇ ren users who use multiple engineering jobs;.. it is also called a Mul ti User system.
  • the programming or the configuration is often based on functions such as hardware configuration, PLC programming, HMI programming, as well as within the respective functions, for example for different functions of components or for different blocks in PLC programs etc. , distributed to different developers and users.
  • Each of the applications works with data, which is generally called engineering data.
  • This data can describe, for example, the configuration of the hardware components, represent relationships between individual devices and components, or be the programs that are created and edited when programming controllers, HMI devices, etc.
  • the applications also save changed data back to the server after the changes have been completed and the changed data is to be accessible to other applications. After that, all other applications and jobs need to have the appropriate data for a read
  • a method for projecting and / or programming a project of an industrial automation ⁇ arrangement by a plurality of users, each of the users is assigned a workstation with at least one application for the configuration and / or programming, the project consists of a plurality Objects exists, and wherein at least one of the objects is accessed by a plurality of jobs.
  • at least a number of the objects are grouped into object groups, wherein each of the object groups is assigned to a workstation, wherein the objects of an object group are respectively stored in a physical memory of the workstation assigned to this object group, wherein the Object groups are each assigned a key and stored in a data structure, the data structure for each of the
  • the object is further solved by an arrangement for Gie ⁇ tion and / or programming a project of an industrial automation system by a plurality of users, each of the users is assigned a workstation with at least one application for the configuration and / or programming, the project consists of a plurality of objects, and wherein at least one of the objects can be accessed by a plurality of the workstations.
  • the objects are piert to object groups group-, wherein the object groups are distributed with the objects on the physical storage of multiple workstations, each object group associated with a key in a data structural ⁇ structure, wherein the key in the data structure each one of the jobs is assigned, in whose physical memory the objects of the object group concerned are stored.
  • the number of table entries in the data structure or the number of required keys and thus also the number of storage locations to be distinguished can be optimized in particular by the possibility of referring to entire object groups instead of individual objects, which are preferably thematically or functionally related become. It is an advantageous feature of the distributed hash tables that the keys can be optimally distributed to a so-called linear value range, so that it is possible, the so-called “memory load” evenly on the workstations with the physical storage, even “nodes "or” clients “called to distribute. Due to its special properties, such a data structure can be self-organizing and self-optimizing.
  • Advantageously (Uniform Resource Locator) or other information to locate the object can be used as a spoke ⁇ rort a URL.
  • This process of replication has to be repeated here only in cases where the individual jobs he ⁇ follows a re-organization of the distribution of objects or objects are changed when only changed (by deleting or recreating), but not an object content is, for example, as a result of editing.
  • a copy of the object is advantageously loaded into a physical memory of the workstation to be used, in the event of write access to the object Object this object at its original memory space for writing
  • copies of objects or object groups can be stored on further workstations, in particular on a workstation designed as a central server, the latter special workstation not necessarily having to have other applications for configuration and / or programming.
  • the locations of these "backup copies" of the objects, which are to be used when an object is not available from its assigned workstation also stored in the data structure or another data structure, so that fast access to the copies is ensured.
  • search functions but can be implemented, a first work to some or all of the other jobs a so-called.
  • Search message ver ⁇ sends the search message specifying the desired object or the desired object group.
  • Such search messages can also be used in case of an error or failure of the data structure for finding objects or for restoring the data structure.
  • the accesses to the data structure or to the objects or object groups and the accessing workstations managed therein are recorded statistically, so that it is possible at fixed times ("optimization run") or continuously (“dynamic") the storage locations of Objects and object groups to change and optimize it, so that the number and extent of the transmission of objects over a data network can be minimized and thoroughrichtli ⁇ nien, for example, for redundant storage of important objects, can be implemented.
  • the number of objects associated with an object group may vary over time. Is si ⁇ cherelles advantageous that such object groups that have sustained above ⁇ no more object, removed from the data structure or be combined with other object groups. On the other hand, it should also be ensured that each Whether ⁇ ject is assigned to an object group.
  • objects may be assigned to multiple object groups, particularly if it is such objects, is required to regularly read-only access.
  • an optimization algorithm is also provided which optimizes the group structure such that the number of groups on the one hand does not become too large to one to ensure fast access to the data structure, but on the other hand to such a fine-granular structuring that optimizes the distribution of object groups on the workstations in terms of storage volume and access times.
  • the objects are advantageously associated with attributes in the form of keywords or so-called "tags" that relate to a statement about functionality, type of access (read or read and write), etc.
  • Figure 2 shows an inventive arrangement with a data structure and a distributed storage of objects on different workplaces
  • Figure 3 shows the arrangement according to the figure 2, wherein one of
  • FIG. 1 shows an arrangement for projecting and / or programming a project of an industrial automation arrangement according to the prior art.
  • Three jobs CL1, CL2, CL3 ( “clients") are seen ⁇ include for configuring or programming of various aspects of the automation arrangement each applications (not shown).
  • the workstation comprises CL1 applications for a hardware configuration ("HW"), the workstation CL2 applications for the programming of controls (“PLC”), and the third workstation CL3 comprises applications and aids for the programming and configuring of monitoring and operating
  • a fourth workstation CS (“Central Server") does not include any applications for configuration and / or programming, but is a server with a database ED ("Engineering Data”), which stores the engineering data of a pro-
  • the workstations CL1, CL2, is CL3, respectively, a physical memory LC1, LC2, LC3 ( "local cache") associated with, say for example a hard disk space of the respectively used Workstation or personal computer used in each case.
  • LC1, LC2, LC3 "local cache"
  • the workstations CL1, CL2, CL3 are designed such that they can exchange data, in particular objects and object groups D1, D2, D3 or copies CD1, CD2, CD3, with one another directly; the necessary logical connections are indicated on the left edge of the screen by means of double arrows.
  • the workstations CL1, CL2, CL3 and the workstation CS with the central server now each have a copy of a distributed hash table DHT ("Distributed Hash Table") stored or have access to such a distributed hash table DHT, as a Data structure on the basis of keys, which are assigned to each object group Dl, D2, D3, information about the current location of the objects of the respective object group Dl, D2, D3 includes in the engineering database ED, ie in a working memory of the workstation CS, copies of all object groups CD1, CD2, CD3 are stored, these being available via the data connections FBI, FB2, FB3 ("case back") in the event that the workstations CL1, CL2, CL3 are not mutually exclusive required objects or object groups Dl, D2, D3 can provide.
  • DHT distributed Hash Table
  • FIG 2 shows a state in which the object groups Dl, are ge ⁇ stores in the physical memory LC3 the workplace CL3 D3, and the object group D2 in the memory area LC2 of the workplace CL2.
  • the assigned engineering data of the object group D1 are mainly used by the workstation CL3 (HMI programming).
  • HMI programming HMI programming
  • a monitoring instance based on an arbitrary If, for example, it has been found that the object group D 1 is or would be accessed predominantly by the workstation CL 3, storage of the object group D 1 in a main memory LC 3 of the workstation CL 3 was initiated and according to the associated key in the data structure, ie the distributed hash table DHT, the new location has been assigned.
  • FIG. 3 shows the state which results when, starting from the state of FIG. 2, the workstation CL2 can no longer be reached via a data network or is switched off or can no longer fulfill its function for another reason. It is assumed that the workstation CL3 now requires access to objects of the object group D2. However, access to the data structure of the distributed hash table DHT results is that a retrieval of the ent ⁇ speaking data from the workstation CL2 should be possible. However, since such a connection can not be established, access to the copy CD2 of the object group D2 is necessary.
  • the storage locations of the copies CD1, CD2, CD3 are also based on a Wanted data associated with the key available;
  • search messages to the workstations CL1, CS can also be sent by the workstation CL3, wherein at least in such a case the workstation CS, ie the central server with the copies CD1, CD2, CD3 in the Engineering database ED, answer this search message and make the copy CD2 available.
  • the present in the engineering database ED copy CD2 of the object group D2 at least for the duration of the non-accessibility of the working ⁇ square CL2 as an "original" treated, ie that the in the non-accessible component, ie

Abstract

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Projektierung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung durch eine Mehrzahl Anwender, wobei jedem der Anwender jeweils ein Arbeitsplatz (CL1, CL2, CL3) mit zumindest einer Anwendung für die Projektierung und/oder Programmierung zugeordnet ist, wobei das Projekt aus einer Mehrzahl Objekte besteht, und wobei auf zumindest eines der Objekte von einer Mehrzahl der Arbeitsplätze zugegriffen wird. Dabei wird zumindest eine Anzahl der Objekte zu Objekt-Gruppen (D1, D2, D3) gruppiert, wobei jede der Objekt-Gruppen (D1, D2, D3) einem Arbeitsplatz zugeordnet wird, wobei die Objekte einer Objekt-Gruppe (D1, D2, D3) jeweils in einem physikalischen Speicher des dieser Objekt-Gruppe (D1, D2, D3) zugeordneten Arbeitsplatzes gespeichert werden, wobei den Objekt-Gruppen (D1, D2, D3) jeweils ein Schlüssel zugeordnet und in einer Datenstruktur gespeichert wird, wobei die Datenstruktur (DHT) für jeden der Schlüssel eine Identifikation für denjenigen der Arbeitsplätze angibt, in dessen physikalischen Speicher die dem Schlüssel zugeordnete Objekt-Gruppe (D1, D2, D3) und deren Objekte gespeichert sind, und dass von einem Arbeitsplatz für den Zugriff auf ein Objekt auf die Datenstruktur (DHT) zugegriffen, anhand des Zugriffs die dem Schlüssel der zugehörigen Objekt-Gruppe (D1, D2, D3) zugeordnete Information über den Speicherort ermittelt, und anhand dessen auf das Objekt zugegriffen wird. Durch ein solches Verfahren bzw. eine solche Anordnung wird ein höherer Datendurchsatz gewährleistet und zudem sichergestellt, dass ein Zugriff auf benötigte Objekte jederzeit gewährleistet ist.

Description

Beschreibung
Verfahren und Anordnung zur Projektierung und/oder
Programmierung eines Projektes einer industriellen
Automatisierungsanordnung
Die Erfindung betrifft ein Verfahren zur Projektierung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung durch eine Mehrzahl Anwender gemäß dem Oberbegriff des Patentanspruchs 1, und eine Anordnung zur Durchführung des Verfahrens gemäß dem Oberbegriff des Patent¬ anspruchs 11. Zum Projektieren und Programmieren von Anordnungen und Anlagen in der industriellen Automatisierungstechnik werden sog. Engineering-Systeme verwendet. Diese Engineering-Systeme be¬ stehen in der Regel aus einer Vielzahl von Anwendungen, die die verschiedenen Aspekte bei der Projektierung und Program- mierung industrieller Automatisierungsanordnungen abdecken. Solche Anwendungen umfassen beispielsweise Hilfsmittel für die Projektierung (Anordnung und Verschaltung) der Komponenten (Hardware-Projektierung), Anwendung für die Programmierung von Steuerungen (PLC's = Programmable Logic Controller), Anwendungen für die Programmerstellung für Bedien- und Beobachtungsgeräte (HMI = Human Machine Interface) , Hilfsmittel für die Planung einer Vernetzung, Hilfsmittel für die Programmierung und Projektierung (Auslegung) von Antrieben etc. Oft sind diese Anwendungen Bestandteil einer sog. „Software- Suite", d.h., dass diese Anwendungen Bestandteil eines Pro¬ grammpaketes sind, welches oft eine gemeinsame, übergeordnete Benutzeroberfläche aufweist und auf einem sog. Engineering- Arbeitsplatz installiert ist. Bei größeren Anlagen und Projekten wird die Entwicklung, Projektierung und Programmierung häufig arbeitsteilig von mehre¬ ren Anwendern durchgeführt, die mehrere Projektierungs- Arbeitsplätze verwenden; man spricht auch von einem Multi- User-System. Die Programmierung bzw. die Projektierung wird dabei oft sowohl nach Funktionen, beispielsweise Hardware- Projektierung, PLC-Programmierung, HMI-Programmierung o.a., als auch innerhalb der jeweiligen Funktionen, beispielsweise für verschiedene Funktionen von Komponenten oder für verschiedene Bausteine in PLC-Programmen etc., auf verschiedene Entwickler und Anwender verteilt.
Jede der Anwendungen arbeitet dabei mit Daten, die allgemein auch Engineering-Daten genannt werden. Diese Daten können beispielsweise die Projektierung der Hardware-Komponenten beschreiben, Beziehungen zwischen einzelnen Geräten und Komponenten darstellen oder aber auch die Programme sein, die bei der Programmierung von Controllern, HMI-Geräten etc. erstellt und bearbeitet werden.
Die verschiedenen Bestandteile eines Engineering-Projekts sind in der Regel nicht vollständig voneinander unabhängig. So werden zwar beispielsweise in PLC-Programmen andere Unter- programme oder Funktionen aufgerufen, als beispielsweise bei den HMI-Programmen desselben Projekts. Dennoch bestehen auch Abhängigkeiten zwischen den einzelnen Teil-Projekten; so sind beispielsweise sowohl die PLC-Programme als auch die HMI- Proj ektierung bzw. die HMI-Programme in der Regel von der Hardware-Projektierung abhängig. In einem anderen Beispiel referenzieren die Programme, die die Bildschirme der Bedien- und Beobachtungsgeräte beschreiben (sog. HMI-Screens) , Vari¬ ablen (sog. Tags) der PLC-Programme, um diese anzuzeigen. Kurz gesagt benötigen Anwendungen zumindest lesenden, oft aber auch schreibenden Zugriff auf die Engineering-Daten anderer Anwendungen.
Um jede Anwendung und damit jedem für die Projektierung und Programmierung benutzten Arbeitsplatz einen Zugriff auf alle benötigten Engineering-Daten, die im Folgenden auch als Engineering-Objekte oder kurz Objekte bezeichnet werden sollen, zu ermöglichen, wurden bislang die Multi-User-Systeme für das Engineering der industriellen Automatisierungsanordnungen meist in einer sog. Client-Server-Architektur implementiert. Dabei ist ein zentraler Server vorgesehen, der den jeweils gültigen Datenbestand des Engineering-Projekts und somit alle von den Anwendungen verwendeten Objekte speichert. Die Ar- beitsplätze mit den Anwendungen, auch als Clients bezeichnet, fordern dabei die jeweils benötigten Daten, die entweder gerade bearbeitet werden sollen oder auf die zumindest ein le¬ sender Zugriff nötig ist, jeweils vom Server an. In der Regel werden diese Daten auf den Arbeitsplatzrechnern (Clients) zwischengespeichert (man spricht auch vom „Caching") , um eine akzeptable Reaktionszeit und Arbeitsgeschwindigkeit der je¬ weiligen Anwendung zu gewährleisten.
Die Anwendungen speichern geänderte Daten, nachdem die Ände- rungen abgeschlossen sind und die geänderten Daten für andere Anwendungen zugänglich sein sollen, ebenfalls wieder auf dem Server. Danach müssen alle anderen Anwendungen und Arbeitsplätze, die die entsprechenden Daten für einen lesenden
Zugriff zwischengespeichert („gecacht") haben, die bisher verwendeten Daten verwerfen und ggf. erneut von dem Server abrufen. Dabei ist es bekannt, durch sog. „Concurrent- Version-Systems" (Berechtigungsverwaltungen), sog. Ein- und Auscheck-Verfahren und andere Strategien die Konsistenz der Daten zu gewährleisten, d.h., dass beispielsweise eine Bear- beitung (schreibender Zugriff) auf ein bestimmtes Objekt immer nur durch eine einzige Anwendung gestattet ist, während das Lesen desselben Objektes allen Anwendungen zugleich gestattet ist, o.ä. Durch die Zentralisierung des Datenbestandes, also durch die zentrale Speicherung der Objekte eines Engineering-Projekts, ergibt sich jedoch eine Beschränkung des Datendurchsatzes, was vor allem bei großen Engineering-Projekten und bei einer Verteilung der Arbeitsplätze auf verschiedene Standorte oder gar Kontinente zu langen Antwortzeiten bei Datenanforderungen und zu anderen Performance-Problemen führt. Es ist also eine Aufgabe der vorliegenden Erfindung, den Zugriff auf Objekte von Engineering-Daten bei der Projektierung und/oder Programmierung einer industriellen Automatisierungsanordnung durch eine Mehrzahl an Anwendern oder Arbeits- platze zu verbessern.
Es ist dabei eine zentrale Idee der erfindungsgemäßen Lösung der Aufgabe, anstelle der klassischen Client-Server- Architektur für die Datenhaltung beim Engineering einer in- dustriellen Automatisierungsanordnung eine sog. Peer-to-Peer- Architektur einzusetzen, wobei eine Datenstruktur, welche vorzugsweise auf verteilten Hash-Tabellen basiert, Auskunft über den jeweiligen Speicherort der Objekte bzw. von Objekt- Gruppen bietet. Dabei soll vorzugsweise nicht zwischen Datei- en des Projekts unterschieden werden, sondern zwischen Objekten bzw. Objekt-Gruppen.
Die Aufgabe wird insbesondere mit einem Verfahren gemäß dem Patentanspruch 1 und mit einer Anordnung gemäß dem Patentan- spruch 11 gelöst.
Dabei wird ein Verfahren zur Projektierung und/oder Programmierung eines Projekts einer industriellen Automatisierungs¬ anordnung durch eine Mehrzahl Anwender vorgeschlagen, wobei jedem der Anwender jeweils ein Arbeitsplatz mit zumindest einer Anwendung für die Projektierung und/oder Programmierung zugeordnet ist, wobei das Projekt aus einer Mehrzahl Objekte besteht, und wobei auf zumindest eines der Objekte von einer Mehrzahl der Arbeitsplätze zugegriffen wird. Dabei wird zu- mindest eine Anzahl der Objekte zu Objekt-Gruppen gruppiert, wobei jede der Objekt-Gruppen einem Arbeitsplatz zugeordnet wird, wobei die Objekte einer Objekt-Gruppe jeweils in einem physikalischen Speicher des dieser Objekt-Gruppe zugeordneten Arbeitsplatzes gespeichert werden, wobei den Objekt-Gruppen jeweils ein Schlüssel zugeordnet und in einer Datenstruktur gespeichert wird, wobei die Datenstruktur für jeden der
Schlüssel eine Identifikation für denjenigen der Arbeitsplätze angibt, in dessen physikalischen Speicher die dem Schlüs- sei zugeordnete Objekt-Gruppe und deren Objekte gespeichert sind, und wobei von einem Arbeitsplatz für den Zugriff auf ein Objekt auf die Datenstruktur zugegriffen, anhand des Zugriffs die dem Schlüssel der zugehörigen Objekt-Gruppe zu- geordnete Information über den Speicherort ermittelt, und an¬ hand dessen auf das Objekt zugegriffen wird. Durch die Anwendung dieses Verfahrens wird eine Peer-to-Peer-Architektur für die Datenverwaltung bzw. Objekt-Verwaltung bei der Projektierung und/oder Programmierung eines Projektes durch eine Mehr- zahl Anwender- bzw. eine Mehrzahl Arbeitsplätze (Multi-User- Betrieb) erreicht, wodurch sich eine höherer Datendurchsatz erreichen lässt, weil nicht alle Arbeitsplätze (Clients) im¬ mer auf einen zentralen Server zugreifen müssen, um Daten bzw. Objekte zu lesen bzw. abzurufen.
Die Aufgabe wird weiter durch eine Anordnung zur Projektie¬ rung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung durch eine Mehrzahl Anwender gelöst, wobei jedem der Anwender jeweils ein Arbeitsplatz mit zumindest einer Anwendung für die Projektierung und/oder Programmierung zugeordnet ist, wobei das Projekt aus einer Mehrzahl an Objekten besteht, und wobei auf zumindest eines der Objekte von einer Mehrzahl der Arbeitsplätze zugegriffen werden kann. Dabei sind die Objekte zu Objekt-Gruppen grup- piert, wobei die Objekt-Gruppen mit den Objekten auf die physikalischen Speicher mehrerer Arbeitsplätze verteilt sind, wobei jeder Objekt-Gruppe ein Schlüssel in einer Datenstruk¬ tur zugeordnet ist, wobei dem Schlüssel in der Datenstruktur jeweils derjenige der Arbeitsplätze zugeordnet ist, in dessen physikalischem Speicher die Objekte der betreffenden Objekt- Gruppe gespeichert sind. Mit einer solchen erfindungsgemäßen Anordnung werden die Vorteile des erfindungsgemäßen Verfahrens realisiert. Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens sind durch die Abhängigen Patentansprüche 2 bis 10 angegeben; vorteilhafte Ausgestaltungen der erfindungsgemäßen Anordnung sind in den abhängigen Patentansprüchen 12 bis 14 angegeben. Dabei gelten die Merkmale und Vorteile der Ausgestaltungen des erfindungsgemäßen Verfahrens auch sinngemäß für die erfindungsgemäße Anordnung, und umgekehrt. Ein besonders effektiver Zugriff auf die Objekte der Enginee¬ ring-Daten ergibt sich, wenn als die Datenstruktur eine verteilte Hash-Tabelle verwendet wird. Dabei können als die Ob¬ jekte nicht nur einzelne Dateien referenziert werden, sondern auch einzelne Objekte innerhalb von Dateien mit mehreren Ob- jekten auf der einen Seite, und andererseits auch Gruppen von Dateien mit einer beliebigen Anzahl an Objekten. Insbesondere durch die Möglichkeit, statt einzelner Objekte ganze Objekt- Gruppen zu referenzieren, die vorzugsweise thematisch oder funktional in einem Zusammenhang zueinander stehen, kann die Anzahl der Tabelleneinträge in der Datenstruktur bzw. die Anzahl der erforderlichen Schlüssel und somit auch die Anzahl zu unterscheidender Speicherorte optimiert werden. Dabei ist es eine vorteilhafte Eigenschaft der verteilten Hash- Tabellen, dass die Schlüssel optimal auf einen sog. linearen Wertebereich verteilt werden können, so dass es möglich ist, die sog. „Speicherlast" gleichmäßig auf die Arbeitsplätze mit den physikalischen Speichern, auch „Knoten" oder "Clients" genannt, zu verteilen. Eine solche Datenstruktur kann durch ihre besonderen Eigenschaften selbstorganisierend und selbst- optimierend ausgeführt werden. Vorteilhaft kann als Speiche¬ rort auch eine URL (Uniform Ressource Locator) oder eine andere Information zum Auffinden des Objekts verwendet werden.
Wie bei anderen bekannten verteilten Speicherlösungen und insbesondere bei den bekannten Peer-to-Peer-Anordnungen kann es problematisch sein, wenn einzelne Arbeitsplätze oder Kno¬ ten temporär oder dauerhaft ausfallen bzw. nicht erreichbar sind, weil dann möglicherweise nicht mehr alle benötigten Da¬ ten bzw. Objekte für die verbleibenden Arbeitsplätze oder Knoten verfügbar sind. Vorteilhaft werden deswegen Kopien von Objekten oder Objekt-Gruppen in den physikalischen Speichern weiterer Arbeitsplätze gespeichert, wobei in einer besonderen Ausführungsform ein Arbeitsplatz nach Art eines zentralen Servers Kopien aller Objekte bzw. Objekt-Gruppen halten kann. Insbesondere kann dieser Arbeitsplatz auch eine vollständige Kopie der verteilten Hash-Tabelle umfassen, wobei diese vor¬ teilhafterweise auf die anderen Arbeitsplätze repliziert wird. Dieser Vorgang der Replikation muss dabei nur in den Fällen wiederholt werden, in denen eine Neu-Organisation der Verteilung der Objekte auf die einzelnen Arbeitsplätze er¬ folgt oder Objekte geändert werden (durch Löschen oder Neuanlegen), aber nicht, wenn lediglich ein Objekt inhaltlich geändert wird, beispielsweise in Folge einer Bearbeitung.
Für einen optimalen Zugriff auf ein in der Bearbeitung befindliches Objekt, was sowohl einen rein lesenden als auch einen schreibenden Zugriff umfasst, wird vorteilhafterweise eine Kopie des Objektes in einen physikalischen Speicher des bearbeitenden bzw. benutzenden Arbeitsplatzes geladen, wobei im Falle eines schreibenden Zugriffs auf das Objekt dieses Objekt an seinem Original-Speicherplatz für schreibende
Zugriffe durch andere Arbeitsplätze gesperrt wird. Nachdem das bearbeitete Objekt an seinem mittels eines Schlüssels der Datenstruktur definierten Speicherort verändert wird („Up¬ date") , werden vorteilhafterweise alle anderen Arbeitsplätze bzw. Anwendungen, die zu diesem Zeitpunkt einen lesenden Zugriff auf dieses Objekt bzw. einen lesenden Zugriff auf eigene Kopien dieses Objektes durchführen, dazu aufgefordert, durch einen erneuten Zugriff auf das geänderte Objekt die Da¬ ten-Konsistenz in der Anordnung wieder herzustellen. Dazu können die lesenden Zugriffe registriert werden, um gezielt Meldungen mit der Aufforderungen zum erneuten Laden ("Re- Load") der geänderten Objekte versenden zu können.
Wie bereits erwähnt, können Kopien von Objekten bzw. Objekt- Gruppen auf weiteren Arbeitsplätzen, insbesondere auf einem als zentraler Server ausgebildeten Arbeitsplatz ausgelagert sein, wobei letztgenannter besonderer Arbeitsplatz nicht notwendigerweise über andere Anwendungen zur Projektierung und/oder Programmierung verfügen muss. Vorteilhafterweise sind die Speicherorte dieser „Sicherungskopien" der Objekte, die dann benutzt werden sollen, wenn ein Objekt von seinem zugeordneten Arbeitsplatz nicht verfügbar ist, ebenfalls in der Datenstruktur oder einer weiteren Datenstruktur hinterlegt, so dass ein schneller Zugriff auf die Kopien gewähr- leistet ist. Alternativ können jedoch auch Suchfunktionen realisiert sein, wobei ein erster Arbeitsplatz an einige oder alle der anderen Arbeitsplätze eine sog. Suchmeldung ver¬ schickt, wobei die Suchmeldung das gewünschte Objekt bzw. die gewünschte Objekt-Gruppe spezifiziert. Solche Suchmeldungen können auch bei einem Fehler oder Ausfall der Datenstruktur zum Auffinden von Objekten oder zur Wiederherstellung der Datenstruktur eingesetzt werden.
Vorteilhaft werden die Zugriffe auf die Datenstruktur bzw. auf die darin verwalteten Objekte bzw. Objekt-Gruppen und die zugreifenden Arbeitsplätze statistisch erfasst, so dass es möglich ist, zu festgelegten Zeitpunkten („Optimierungslauf") oder fortwährend („dynamisch") die Speicherorte der Objekte und Objekt-Gruppen zu verändern und dabei zu optimieren, so dass Anzahl und Umfang der Übertragung von Objekten über ein Datennetzwerk minimiert werden können und Sicherheitsrichtli¬ nien, beispielsweise zur redundanten Speicherung wichtiger Objekte, umgesetzt werden können. Die Anzahl der Objekte, die einer Objekt-Gruppe zugeordnet ist, kann im Laufe der Zeit variieren. Vorteilhaft wird si¬ chergestellt, dass solche Objekt-Gruppen, die dauerhaft über¬ haupt kein Objekt mehr aufweisen, aus der Datenstruktur entfernt oder mit anderen Objekt-Gruppen zusammengefasst werden. Andererseits sollte auch sichergestellt sein, dass jedes Ob¬ jekt auch einer Objekt-Gruppe zugeordnet ist. In einer beson¬ deren Ausführungsform kann es vorteilhaft sein, wenn Objekte auch mehreren Objekt-Gruppen zugeordnet sein können, insbesondere dann, wenn es sich um solche Objekte handelt, auf die regelmäßig nur lesender Zugriff erforderlich ist. Vorteilhaft ist zudem auch ein Optimierungsalgorithmus vorgesehen, der die Gruppen-Struktur derart optimiert, dass die Anzahl der Gruppen auf der einen Seite nicht zu groß wird, um einen schnellen Zugriff auf die Datenstruktur zu gewährleisten, aber auf der anderen Seite zu einer derart fein-granularen Strukturierung führt, dass sich der Verteilung der Objekt- Gruppen auf die Arbeitsplätze hinsichtlich Speichervolumen und Zugriffszeiten optimieren lässt. Dazu sind den Objekten vorteilhaft Attribute in Form von Schlagworten oder sog. „Tags" zugeordnet, die einer Aussage über Funktionalität, Zugriffsart (lesen oder lesen und schreiben) etc. betreffen.
Ausführungsbeispiele des erfindungsgemäßen Verfahrens sind nachfolgend anhand der Zeichnungen beschrieben. Sie dienen gleichzeitig der Erläuterung eines Ausführungsbeispiels für eine erfindungsgemäße Anordnung. Dabei zeigen:
Figur 1 eine Anordnung zur Projektierung und/oder Programmierung eines Projektes gemäß dem Stand der Tech¬ nik,
Figur 2 eine erfindungsgemäße Anordnung mit einer Datenstruktur und einer verteilten Speicherung von Objekten auf verschiedene Arbeitsplätze, und
Figur 3 die Anordnung gemäß der Figur 2, wobei einer der
Arbeitsplätze ausgefallen bzw. nicht erreichbar ist .
In der Figur 1 ist eine Anordnung zur Projektierung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung gemäß dem Stand der Technik dargestellt. Dabei sind drei Arbeitsplätze CL1, CL2, CL3 („Clients") vor¬ gesehen, die jeweils Anwendungen (nicht dargestellt) für die Projektierung bzw. Programmierung verschiedener Aspekte der Automatisierungsanordnung umfassen. In diesem Beispiel umfasst der Arbeitsplatz CL1 Anwendungen für eine Hardware- Projektierung („HW"), der Arbeitsplatz CL2 Anwendungen für die Programmierung von Steuerungen („PLC"), und der dritte Arbeitsplatz CL3 umfasst Anwendungen und Hilfsmittel für die Programmierung und Projektierung von Beobachten- und Bedien- geraten („HMI"). Ein vierter Arbeitsplatz CS („Central Server") umfasst keine Anwendungen zur Projektierung und/oder Programmierung, sondern ist ein Server mit einer Datenbank ED („Engineering Data") , welche die Engineering-Daten eines Pro- jektes umfasst. Dabei soll im Folgenden zwischen drei Objekt- Gruppen Dl, D2, D3 mit jeweils einer Vielzahl von Objekten unterschieden werden; in diesem Beispiel beziehen sich die Objekte der Objekt-Gruppe Dl auf die Hardware-Projektierung, die Objekte der Objekt-Gruppe D2 auf die Programmierung der Steuerungen und die Objekte der Objekt-Gruppe D3 auf die
Hardware- und Software-Projektierung bzw. Programmierung von Bedien- und Beobachtungsgeräten. Den Arbeitsplätzen CL1, CL2, CL3 ist jeweils ein physikalischer Speicher LC1, LC2, LC3 („Local Cache") zugeordnet, also beispielsweise einen Fest- plattenspeicher der jeweils verwendeten Workstation oder des jeweils verwendeten Personal-Computers. In diesen Spei¬ chereinrichtungen LC1, LC2, LC3 können Kopien CD1, CD2 der Objekt-Gruppen Dl, D2, D3 geladen werden, wenn und so lange sie von der jeweiligen Anwendung des jeweiligen Arbeitsplat- zes CL1, CL2, CL3 verwendet werden. Diese Verwendung betrifft sowohl einen rein lesenden Zugriff, als auch einen lesenden und schreibenden Zugriff. Während einer Bearbeitung, die in der Regel mit einem schreibenden Zugriff abgeschlossen wird, einer Kopie CD1, CD2 einer Objekt-Gruppe Dl, D2, D3 bzw. der darin enthaltenen Objekte werden die Objekt-Gruppen Dl, D2, D3 bzw. die davon betroffenen Objekte in der Engineering- Datenbank ED gegen anderweitigen schreibenden Zugriff geschützt. Nach der Beendigung eines schreibenden Zugriffs, also nach einer Bearbeitung einer Kopie CD1, CD2, werden die geänderten Daten in die Engineering-Datenbank ED zurückgesichert, und andere Anwendungen, die derzeit Kopien CD1, CD2 für einen rein lesenden Zugriff verwenden, werden zu einem erneuten Lesen der entsprechenden Objekt-Gruppe Dl, D2, D3 bzw. der betroffenen Objekte aufgefordert. Über ein nicht dargestelltes Datennetzwerk sind für das Übertragen der Kopien CD1, CD2 logische Datenverbindungen RV1, RV2, RV3 vorgesehen . In der Figur 2 ist eine erfindungsgemäße Anordnung darge¬ stellt, die prinzipiell auf der Anordnung gemäß dem Stand der Technik, erläutert anhand der Figur 1, basiert, so dass alle Komponenten und Objekte mit Bezugszeichen, die bereits aus der Figur 1 bekannt sind, hier nicht neu eingeführt und be¬ schrieben werden. Selbiges gilt auch für die später diskutierte Figur 3.
In der Anordnung gemäß der Figur 2 sind die Arbeitsplätze CL1, CL2, CL3 derart ausgebildet, dass diese untereinander Daten, insbesondere Objekte und Objekt-Gruppen Dl, D2, D3 bzw. Kopien CD1, CD2, CD3, direkt miteinander austauschen können; die dazu notwendigen logischen Verbindungen sind am linken Bildrand anhand von Doppelpfeilen gekennzeichnet. Die Arbeitsplätze CL1, CL2, CL3 sowie der Arbeitsplatz CS mit dem zentralen Server haben nun jeweils eine Kopie einer verteilten Hash-Tabelle DHT („Distributed Hash Table") gespeichert bzw. haben Zugriff auf eine solcher verteilte Hash-Tabelle DHT, die als eine Datenstruktur anhand von Schlüsseln, die jeder Objekt-Gruppe Dl, D2, D3 zugeordnet sind, Angaben über den derzeitigen Speicherort der Objekte der jeweiligen Objekt-Gruppe Dl, D2, D3 umfasst. In der Engineering-Datenbank ED, also in einem Arbeitsspeicher des Arbeitsplatzes CS, sind Kopien aller Objekt-Gruppen CD1, CD2, CD3 gespeichert, wobei diese über die Datenverbindungen FBI, FB2, FB3 („Fall Back") für den Fall zur Verfügung stehen, in dem die Arbeitsplätze CL1, CL2, CL3 sich nicht gegenseitig benötigte Objekte bzw. Objekt-Gruppen Dl, D2, D3 zur Verfügung stellen können. Im beschriebenen Ausführungsbeispiel gemäß der Figur 2 ist ein Zustand dargestellt, bei dem die Objekt-Gruppen Dl, D3 in dem physikalischen Speicher LC3 des Arbeitsplatzes CL3 ge¬ speichert sind, und die Objekt-Gruppe D2 im Speicherbereich LC2 des Arbeitsplatzes CL2. Das kann sich beispielweise dar- aus erklären, dass nach Abschluss der Hardware-Projektierung die zugeordneten Engineering-Daten der Objekt-Gruppe Dl vorwiegend von dem Arbeitsplatz CL3 (HMI-Programmierung) verwendet werden. Eine Überwachungsinstanz, die auf einer beliebi- gen Hardware-Komponente der Anordnung angeordnet sein kann, hat dabei beispielsweise festgestellt, dass die Objekt-Gruppe Dl vorwiegend durch den Arbeitsplatz CL3 zugegriffen wird bzw. wurde, wonach eine Speicherung der Objekt-Gruppe Dl in einem Arbeitsspeicher LC3 des Arbeitsplatzes CL3 veranlasst wurde und dem entsprechend dem zugehörigen Schlüssel in der Datenstruktur, also der verteilten Hash-Tabelle DHT, der neue Speicherort zugeordnet wurde. Falls nun beispielsweise durch eine Anwendung des Arbeitsplatzes CL2 Zugriff auf die Objekte der Objekt-Gruppe Dl benötigt wird, gibt ein Zugriff auf die Datenstruktur der verteilten Hash-Tabelle DHT die Auskunft wieder, dass die entsprechende Objekt-Gruppe Dl in den physi¬ kalischen Speicher LC3 des Arbeitsplatzes CL3 abgelegt ist. Für einen Zugriff fordert dann die Anwendung des Arbeitsplat- zes CL2 eine Kopie der Objekt-Gruppe Dl von dem Arbeitsplatz CL3 an, wonach die Objekt-Gruppe Dl im Speicherbereich LC3 abgerufen und als Kopie zum Arbeitsplatz CL2 übertragen wird; dieser Vorgang ist in der Figur 2 nicht dargestellt. Neben den Kopien CD1, CD2, CD3 in der Engineering-Datenbank ED können weitere Kopien der Objekt-Gruppen Dl, D2, D3 auch in Speicherbereichen beliebiger anderer Arbeitsplätze zusätzlich gespeichert sein; auch dieser Zustand ist aus Gründen der Übersichtlichkeit nicht in der Figur 2 dargestellt.
In der Figur 3 ist der Zustand dargestellt, der sich ergibt, wenn, ausgehend von dem Zustand der Figur 2, der Arbeitsplatz CL2 nicht mehr über ein Datennetzwerk erreichbar ist bzw. ausgeschaltet ist oder aus einem anderen Grund seine Funktion nicht mehr erfüllen kann. Es sei angenommen, dass der Arbeitsplatz CL3 nunmehr Zugriff auf Objekte der Objektgruppe D2 benötigt. Ein Zugriff auf die Datenstruktur der verteilten Hash-Tabelle DHT ergibt jedoch dabei, dass ein Abruf der ent¬ sprechenden Daten von dem Arbeitsplatz CL2 möglich sein soll. Nachdem eine solche Verbindung jedoch nicht aufgebaut werden kann, ist ein Zugriff auf die Kopie CD2 der Objekt-Gruppe D2 notwendig. Im vorliegenden Ausführungsbeispiel sind auch die Speicherorte der Kopien CD1, CD2, CD3 anhand eines den ge- wünschten Daten zugeordneten Schlüssels abrufbar; in einem alternativen, nicht dargestellten Ausführungsbeispiel können jedoch auch durch den Arbeitsplatz CL3 Suchmeldungen an die Arbeitsplätze CL1, CS gesendet werden, wobei zumindest in ei- nem solchen Fall der Arbeitsplatz CS, also der zentrale Server mit den Kopien CD1, CD2, CD3 in der Engineering-Datenbank ED, diese Suchnachricht beantworten und die Kopie CD2 zur Verfügung stellen würde. Zugleich wird die in der Engineering-Datenbank ED vorliegende Kopie CD2 der Objekt-Gruppe D2 zumindest für die Dauer der Nicht-Erreichbarkeit des Arbeits¬ platzes CL2 als ein „Original" behandelt, d.h., dass die in der nicht-erreichbaren Komponente, also dem Arbeitsplatz CL2, vorliegende Version in der Datenstruktur als ungültig markiert wird. Dies gilt jedoch in dem vorliegenden Ausführungs- beispiel nur für den Fall, in dem der Arbeitsplatz CL3 bzw. eine dort ablaufende Anwendung schreibenden Zugriff auf die Objekte der Objekt-Gruppe D2 vornimmt; in Falle eines rein lesenden Zugriffs kann das „Original" der Objekt-Gruppe D2 in der Version, die in dem Speicherbereich LC2 des Arbeitsplat- zes CL2 vorliegt, weiterhin gültig bleiben.

Claims

Verfahren zur Projektierung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung durch eine Mehrzahl Anwender,
wobei jedem der Anwender jeweils ein Arbeitsplatz (CL1, CL2, CL3) mit zumindest einer Anwendung für die Projektierung und/oder Programmierung zugeordnet ist,
wobei das Projekt aus einer Mehrzahl Objekte besteht, und
wobei auf zumindest eines der Objekte von einer Mehr¬ zahl der Arbeitsplätze zugegriffen wird,
dadurch gekennzeichnet, dass
zumindest eine Anzahl der Objekte zu Objekt-Gruppen (Dl, D2, D3) gruppiert wird,
dass jede der Objekt-Gruppen (Dl, D2, D3) einem Arbeitsplatz zugeordnet wird,
dass die Objekte einer Objekt-Gruppe (Dl, D2, D3) je¬ weils in einem physikalischen Speicher des dieser Objekt-Gruppe (Dl, D2, D3) zugeordneten Arbeitsplatzes gespeichert werden,
dass den Objekt-Gruppen (Dl, D2, D3) jeweils ein
Schlüssel zugeordnet und in einer Datenstruktur (DHT) gespeichert wird,
wobei die Datenstruktur (DHT) für jeden der Schlüssel eine Identifikation für denjenigen der Arbeitsplätze angibt, in dessen physikalischen Speicher die dem
Schlüssel zugeordnete Objekt-Gruppe (Dl, D2, D3) und deren Objekte gespeichert sind, und
dass von einem Arbeitsplatz für den Zugriff auf ein Objekt auf die Datenstruktur (DHT) zugegriffen, anhand des Zugriffs die dem Schlüssel der zugehörigen Objekt- Gruppe (Dl, D2, D3) zugeordnete Information über den Speicherort ermittelt, und anhand dessen auf das Objekt zugegriffen wird.
2. Verfahren nach Patentanspruch 1,
dadurch gekennzeichnet,
dass als die Datenstruktur (DHT) eine verteilte Hash- Tabelle verwendet wird.
3. Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass für eine Bearbeitung des Objektes eine Kopie (CD1, CD2, CD3) des Objektes in einen physikalischen Speicher des bearbeitenden Arbeitsplatzes geladen und das Objekt für Schreibzugriffe durch andere Arbeitsplätze gesperrt wird .
4. Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass die Gruppierung anhand einer der den Objekten zugeordneten Anwendung oder anhand einer den Objekten zugeordneten Funktion oder Funktionsgruppe der industriellen Automatisierungsanordnung vorgenommen wird.
5. Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass Kopien (CD1, CD2, CD3) von Objekten oder Objekt- Gruppen (Dl, D2, D3) in den physikalischen Speichern weiterer Arbeitsplätze gespeichert werden.
Verfahren nach Patentanspruch 5,
dadurch gekennzeichnet,
dass in der Datenstruktur (DHT) Informationen über die Speicherorte der Kopien (CD1, CD, 2, CD3) der Objekte bzw. Objekt-Gruppen (Dl, D2, D3) gespeichert werden, wobei der Zugriff auf die Kopie (CD1, CD2, CD3) in den Fällen erfolgt, in denen der den Objekten bzw. Objekt- Gruppen (Dl, D2, D3) zugeordnete Arbeitsplatz nicht erreichbar ist.
Verfahren nach Patentanspruch 5 oder 6,
dadurch gekennzeichnet,
dass als Speicherort für die Kopien (CD1, CD2, CD3) als zentraler Server (CS) ausgebildeter Arbeitsplatz verwendet wird.
Verfahren nach Patentanspruch 7,
dadurch gekennzeichnet,
dass der zentrale Server Kopie (CD1, CD2, CD3) aller Objekte und/oder Objekt-Gruppen (Dl, D2, D3) des Projektes umfasst.
Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass die Zugriffe auf die Objekte bzw. Objekt-Gruppen (Dl, D2, D3) und die zugreifenden Arbeitsplätze statis¬ tisch erfasst werden, wobei anhand der daraus resultie¬ renden statistischen Daten die Zuordnung der Objekte zu den Arbeitsplätzen optimiert wird.
10. Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass jeder der Objekt-Gruppen (Dl, D2, D3) zumindest ein Objekt zugeordnet wird, und
dass jedes Objekt einer Objekt-Gruppe (Dl, D2, D3) zu¬ geordnet wird.
11. Anordnung zur Projektierung und/oder Programmierung eines Projektes einer industriellen Automatisierungsanordnung durch eine Mehrzahl Anwender, wobei jedem der Anwender jeweils ein Arbeitsplatz mit zumindest einer Anwendung für die Projektierung und/oder Programmierung zugeordnet ist,
wobei das Projekt aus einer Mehrzahl an Objekten besteht, und
wobei auf zumindest eines der Objekte von einer Mehr¬ zahl der Arbeitsplätze zugegriffen werden kann, dadurch gekennzeichnet,
dass die Objekte zu Objekt-Gruppen (Dl, D2, D3) grup¬ piert sind,
dass die Objekt-Gruppen (Dl, D2, D3) mit den Objekten auf die physikalischen Speicher mehrerer Arbeitsplätze verteilt sind,
dass jeder Objekt-Gruppe (Dl, D2, D3) ein Schlüssel in einer Datenstruktur (DHT) zugeordnet ist,
wobei dem Schlüssel in der Datenstruktur (DHT) jeweils derjenige der Arbeitsplätze zugeordnet ist, in dessen physikalischen Speicher die Objekte der betreffenden
Objekt-Gruppe (Dl, D2, D3) gespeichert sind.
12. Anordnung nach Patentanspruch 11,
dadurch gekennzeichnet,
dass die Datenstruktur (DHT) eine verteilte
Tabelle ist.
13. Anordnung nach Patentanspruch 11 oder 12, dadurch gekennzeichnet,
dass einige oder alle der Objekte als Kopie (CD1, CD2, CD3) in dem physikalischen Speicher eines anderen als dem zugeordneten Arbeitsplatz gespeichert sind, wobei der Speicherort der Kopie (CD1, CD2, CD3) jeweils aus der Datenstruktur (DHT) abrufbar ist.
14. Anordnung nach Patentanspruch 13,
dadurch gekennzeichnet,
dass einer der Arbeitsplätze als zentraler Server aus¬ gebildet ist, der Kopie (CD1, CD2, CD3) aller Objekte des Projektes umfasst.
PCT/EP2010/062038 2010-08-18 2010-08-18 Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung WO2012022378A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2010800686251A CN103069348A (zh) 2010-08-18 2010-08-18 用于对工业自动化装置的项目进行规划和/或编程的方法和装置
US13/817,734 US20130159961A1 (en) 2010-08-18 2010-08-18 Method and Arrangement for Planning and/or Programming a Project of an Industrial Automation Arrangement
EP10743153.8A EP2606403A1 (de) 2010-08-18 2010-08-18 Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung
PCT/EP2010/062038 WO2012022378A1 (de) 2010-08-18 2010-08-18 Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/062038 WO2012022378A1 (de) 2010-08-18 2010-08-18 Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung

Publications (1)

Publication Number Publication Date
WO2012022378A1 true WO2012022378A1 (de) 2012-02-23

Family

ID=44168192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/062038 WO2012022378A1 (de) 2010-08-18 2010-08-18 Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung

Country Status (4)

Country Link
US (1) US20130159961A1 (de)
EP (1) EP2606403A1 (de)
CN (1) CN103069348A (de)
WO (1) WO2012022378A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103592880B (zh) * 2013-11-27 2015-08-26 中国海洋大学 用于大型工程类设备的智能控制器系统
EP3232281A1 (de) * 2016-04-14 2017-10-18 Siemens Aktiengesellschaft Verfahren zum projektieren eines projektes sowie anordnung zur durchführung des verfahrens
US10713015B2 (en) * 2016-05-15 2020-07-14 Servicenow, Inc. Visual programming system
EP3534225B1 (de) * 2018-03-02 2022-02-09 Siemens Aktiengesellschaft Baugruppe für die industrielle prozessautomatisierung und verfahren zum betrieb und projektierung
US11574219B2 (en) * 2019-09-27 2023-02-07 Rockwell Automation Technologies, Inc. System and method for industrial automation rules engine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296232A2 (de) * 2001-09-24 2003-03-26 Siemens Energy & Automation, Inc. Vorrichtung und Verfahren zum Programmieren von programmierbaren Steuerungen und zum Generieren von Konfigurationsdaten aus einem zentralen Server
EP1653308A1 (de) * 2004-10-29 2006-05-03 Siemens Aktiengesellschaft System und Verfahren zur Speicherung und Bereitstellung von Informationen
WO2009104036A1 (en) * 2008-02-19 2009-08-27 Abb Research Limited A thin-client based architecture for engineering workplace in automation system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US7870218B2 (en) * 2003-04-09 2011-01-11 Nec Laboratories America, Inc. Peer-to-peer system and method with improved utilization
US20040267875A1 (en) * 2003-06-30 2004-12-30 Hennessey Wade L. Method and apparatus for establishing peering rules for distributed content delivery
US7363305B2 (en) * 2004-09-02 2008-04-22 Microsoft Corporation Centralized terminology and glossary management
US7617232B2 (en) * 2004-09-02 2009-11-10 Microsoft Corporation Centralized terminology and glossary development
WO2008023531A1 (fr) * 2006-08-21 2008-02-28 Brother Kogyo Kabushiki Kaisha système de sauvegarde à dispersion de contenus, procédé d'acquisition d'image de trame, dispositif de nœud, et support de mémoire comprenant un programme de traitement de nœud stocké dans celui-ci
US7752311B2 (en) * 2007-03-02 2010-07-06 Cisco Technology, Inc. Gracefully changing a node in a distributed computing network
US8238237B2 (en) * 2007-06-18 2012-08-07 Sony Computer Entertainment Inc. Load balancing distribution of data to multiple recipients on a peer-to-peer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296232A2 (de) * 2001-09-24 2003-03-26 Siemens Energy & Automation, Inc. Vorrichtung und Verfahren zum Programmieren von programmierbaren Steuerungen und zum Generieren von Konfigurationsdaten aus einem zentralen Server
EP1653308A1 (de) * 2004-10-29 2006-05-03 Siemens Aktiengesellschaft System und Verfahren zur Speicherung und Bereitstellung von Informationen
WO2009104036A1 (en) * 2008-02-19 2009-08-27 Abb Research Limited A thin-client based architecture for engineering workplace in automation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIN LIN ET AL: "A Scalable Version Control Layer in P2P File System", 1 January 2005, GRID AND COOPERATIVE COMPUTING - GCC 2005 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 996 - 1001, ISBN: 978-3-540-30510-1, XP019024879 *
YI JIANG ET AL: "Distributed Hash Table Based Peer-to-Peer Version Control System for Collaboration", 3 May 2006, COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN III; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 489 - 498, ISBN: 978-3-540-72862-7, XP019080417 *

Also Published As

Publication number Publication date
CN103069348A (zh) 2013-04-24
EP2606403A1 (de) 2013-06-26
US20130159961A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
DE10211606B4 (de) Datenverarbeitungseinrichtung mit einem Metadatensicherungsmanagement
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE202017007211U1 (de) Klonen von Katalogobjekten
DE60306663T2 (de) Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
EP0829046B1 (de) Setup-verfahren und setup-system für benutzerprogramme, sowie benutzerrechner in einem rechnernetz
DE202009019149U1 (de) Asynchron verteilte Speicherbereinigung für replizierte Speichercluster
DE202015009260U1 (de) Effiziente Datenlesungen von verteilten Speichersystemen
DE202014010953U1 (de) Gruppierung von Objekten in einem verteilten Datenspeichersystem basierend auf Protokollen und Platzierungsrichtlinien
DE202014010898U1 (de) Hierarchische Stückelung von Objekten in einem dezentralen Speichersystem
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE10236796A1 (de) Verfahren und Anordnung zur randomisierten Datenspeicherung in Speichernetzwerken und/oder einem Intranet und/oder dem Internet sowie ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium
WO2012022378A1 (de) Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE102013210719B4 (de) Verfahren und Systeme zum Verwalten von Cache-Speichern
DE19534819B4 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
EP2250588B1 (de) Verfahren und programm zum bereitstellen von datenkohärenz in netzwerken
DE19937423A1 (de) Verfahren und Vorrichtung zur schnellen Datensicherung und Datenübertragung
DE202015009295U1 (de) Effiziente Ressourcennutzung in Datenzentren
DE102008003500B4 (de) Verfahren zur Verwaltung von Rechenprozessen in einem dezentralen Datennetz
EP1428082B1 (de) Objektbearbeitungssystem mit einem objektmodell
WO2006074869A1 (de) Datenspeichersystem und verfahren zu dessen betrieb

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080068625.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10743153

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2010743153

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010743153

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13817734

Country of ref document: US