WO2009083133A1 - Verfahren und einrichtung zur client-server-kommunikation gemäss dem standardprotokoll opc ua - Google Patents

Verfahren und einrichtung zur client-server-kommunikation gemäss dem standardprotokoll opc ua Download PDF

Info

Publication number
WO2009083133A1
WO2009083133A1 PCT/EP2008/010683 EP2008010683W WO2009083133A1 WO 2009083133 A1 WO2009083133 A1 WO 2009083133A1 EP 2008010683 W EP2008010683 W EP 2008010683W WO 2009083133 A1 WO2009083133 A1 WO 2009083133A1
Authority
WO
WIPO (PCT)
Prior art keywords
opc
client
server
transaction
transactions
Prior art date
Application number
PCT/EP2008/010683
Other languages
English (en)
French (fr)
Inventor
Wolfgang Mahnke
Original Assignee
Abb Research Ltd.
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 Abb Research Ltd. filed Critical Abb Research Ltd.
Priority to CN200880123126.0A priority Critical patent/CN101903837B/zh
Publication of WO2009083133A1 publication Critical patent/WO2009083133A1/de
Priority to US12/819,601 priority patent/US8549065B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Definitions

  • the invention relates to a method and a device for communication between clients and servers according to the standard protocol OPC UA.
  • the method and the device are suitable for different applications, in particular for communication in systems of automation technology.
  • OPC UA is a new standard protocol for vendor-independent communication, especially in process automation, specified by the OPC Foundation. Although the original name for OPC was OLE for Process Control, OPC is now used without an acronym. UA stands for Uni- fied Architecture. In the following, English terms are often used because they rewrite certain functions or specifications defined in the standard.
  • FIGS. 1 and 2 show known arrangements for interaction in accordance with the OPC-UA specification.
  • 1 shows an OPC UA client 1, which, using the OPC UA protocol and a communication system 2, performs an interaction with an OPC UA server 3 by means of OPC UA service calls.
  • an OPC UA server can also act as a client to other servers and collect their data and make clients available in its address space.
  • FIG. 2 shows such an arrangement, wherein an OPC UA client 1 interacts with a server designated as aggregating OPC UA server 4. leads, in turn, communicates via the communication system 2 with two OPC UA server 3.
  • OPC UA Client-server operation in accordance with the OPC-UA standard is used in many fields, such as in production management systems or in production planning, and in general in control technology, whereby client and server functions can be used, for example.
  • OPC UA allows in such arrangements not only to read and write data, but also to change organizational structures for data. This enables OPC UA clients to handle complex configuration tasks as well as engineering tasks or other tasks that require data writing and / or structural changes. It depends on such tasks whether an OPC UA client has to perform all or no changes to several OPC UA service calls. This is particularly important if several OPC UA clients make changes to an OPC UA server at the same time.
  • One long-known solution to such problems for database systems is the use of transactions.
  • OPC UA For OPC UA, however, no transaction context has yet been specified.
  • the granularity of data manipulation actions requires multiple OPC UA service calls, with no transaction context specified even for a single OPC UA service call. It can even with a single OPC UA service call, the z. For example, writing to multiple values may involve the case that individual writes are successful and others are not.
  • the invention therefore has the object of specifying a method and a device with which a possibility for carrying out transactions in the context of OPC UA service calls is achieved.
  • FIG. 2 shows an OPC UA client / server arrangement with inserted Aggregating OPC UA server according to the prior art
  • OPC UA client configured for carrying out transactions aggregating OPC UA server, as well as also set up for transactions OPC UA servers,
  • Fig. 5 shows an OPC UA server according to the invention
  • 6 is a flowchart for an exemplary transaction.
  • the arrangement according to FIG. 3 contains an OPC UA server 5, which is upgraded by means of a transaction management component 6 for carrying out transactions.
  • each generic OPC UA client 1 can communicate with the OPC UA server 5 via the communication system 2.
  • the execution of transactions is only possible with an OPC UA client 7 set up for transactions. Details are explained below.
  • FIG. 4 shows an arrangement with an aggregating OPC UA server, wherein in FIG. 4, however, an aggregating OPC UA server 8 is used which contains a transaction management component 6.
  • transactions are supported in the case of communication with an OPC UA client 7 set up for transactions, and so even if OPC UA servers 5 are each enabled by means of a transaction management component 6 to perform transactions and support a two-phase commit protocol with which Aggregating OPC UA Server 8 communicate.
  • FIG. 5 shows by way of example how a transaction management component 6 can be implemented in an OPC UA server 5.
  • the OPC UA server 5 obtains its data using the structured query language SQL from a configuration database 9 and also real-time data from controllers 10 and attached devices 11.
  • the configuration database 9 is adapted to support transactions so that the OPC UA server 5 transactions the configuration database 9 can forward.
  • the controllers 10 and devices 11 typically do not support transactions, therefore the transaction management component 6 takes this into account by means of a real-time data transaction 12. Based on internal knowledge, it can check whether certain requested changes are permitted and delay the execution of the changes until the respective OPC UA Client 7 confirms the transaction.
  • the OPC UA server 5 stores potentially changed data to give the OPC UA client 7 a correct representation of the data in the transaction context. If it is necessary for the OPC UA server 5 to instantaneously change data in a device 11, it may use compensation mechanisms to change the data outside a transaction when an OPC UA client 7 aborts a transaction.
  • the OPC UA server 5 bypasses the transaction administration component 6 and accesses the configuration database 9 or data from controllers 10 or devices 11 directly to.
  • FIG. 6 shows four components involved in a transaction, namely an OPC UA client 7, an OPC UA server 5, a transaction management component 6 and a supplier of real-time data, e.g. As a controller 10.
  • OPC UA client 7 an OPC UA client 7
  • OPC UA server 5 an OPC UA server 5
  • transaction management component 6 a supplier of real-time data
  • a controller 10 e.g. As a controller 10.
  • the address space of an OPC UA server 5 set up to carry out transactions contains additional OPC UA methods which are called for the start, completion or termination of a transaction.
  • the method parameters differ depending on the selected transaction type.
  • B. different isolation levels or nested transactions are supported.
  • the OPC UA client 7 may be notified of special status codes for OPC UA service requests when actions fail due to locking restrictions or timeouts. Even OPC UA clients that do not use transactions can receive such status codes because certain values may be blocked.
  • An OPC UA client 7 can also receive status codes that identify those parts of an OPC UA service request that led to the error message. For example, if five values should be written, it may be reported that the writing of the second and fourth values failed.
  • an OPC UA client 7 If an OPC UA client 7 wishes to abort a transaction, it calls a method for aborting the transaction. In this case, all changes already made to the system are canceled, for example, the OPC UA Server 5 is reset to the status before the changes. However, depending on the lock mechanism selected, OPC UA clients might be affected if they accessed data during the change. If necessary, to confirm a transaction, an OPC UA client 7 can call a method for confirming a transaction. In this case, the OPC UA Server 5 tries to make all changes persistent. If the changes can not be permanently applied, the OPC UA Server 5 aborts the transaction and returns the acknowledgment method along with a corresponding status code. If all required changes can become persistent, the OPC UA Server 5 returns a corresponding result.
  • an OPC UA client 7 wants to invoke some OPC UA service requests without transaction context and others with transaction context, it must set up multiple OPC UA sessions.
  • the OPC UA server 5 can support nested transactions.
  • the OPC UA client 7 can call a method for starting a transaction multiple times, and with an operation cancel a nested transaction altogether. Without such support for nested transactions, an OPC UA client 7 would receive an error message if it requested a method for starting a transaction a second time before aborting or confirming the first transaction.
  • the OPC UA server 5 may contain information about supported isolation levels in its address space, and methods for performing transactions could use the selected permission level as the input parameter. However, if the OPC UA Server 5 supports only one authorization level, this embodiment is not required.
  • the flowchart shown in FIG. 6 relates to interactions, as already described above in general, between an OPC UA client 7 and an OPC UA server 5 for carrying out data manipulation measures in a transaction context. Feedback from the server to the client is not shown for ease of illustration.
  • a first step 20 an OPC UA session is set up.
  • the OPC UA client 7 calls a method for starting a transaction.
  • the transaction management component 6 receives required information, such as about the start of the transaction and the calling client.
  • the OPC UA client 7 requests a manipulation of first data.
  • This request is forwarded in a fifth step 24 from the OPC UA client 7 to the transaction management component 6, in which the admissibility of the requested change is checked in a sixth step 25.
  • the OPC UA client 7 requests a manipulation of second data within the existing transaction, which is forwarded to the transaction management component 6 in an eighth step 27 and checked there in a ninth step.
  • the OPC UA client 7, in a tenth step 29, invokes a method to confirm the transaction.
  • the confirmation job is forwarded to the transaction management component 6, which finally, in a twelfth step 31, causes the desired manipulation of the first and second data in the controller 10.
  • additional services could be defined that are used in the context of OPC UA sessions to establish, terminate or terminate transactions.
  • additional OPC UA Service Framework services would have to be added to this and both functions needed to be implemented in both clients and servers.
  • Such a method would contain as input an array of values to write, as well as arrays of nodes, e.g. B. as part of the address space structure in OPC UA or z. For deletion.

Abstract

Die Erfindung bezieht sich auf ein Verfahren und eine entsprechende Einrichtung zur Kommunikation zwischen Clients und Servern eines Client/Server-Systems unter Verwendung des Standardprotokolls OPC UA, und wobei zur Interaktion eines OPC UA Clients (1, 7) mit einem OPC-UA-Server (5, 8) OPC UA Serviceaufrufe verwendet werden. Zur Integration eines Transaktions-Kontexts in OPC-UA-Serviceaufrufen werden alle OPC UA Server (5, 8) des Systems mittels einer Transaktionsverwaltungskomponente (6) ergänzt, und für eine Durchführung von Transaktionen ertüchtigte OPC UA Clients (7) kommunizieren jeweils mit einem OPC UA Server (5) unter Verwendung von Transaktionen.

Description

ABB Patent GmbH
Ladenburg 21. Dezember 2007
Mp.-Nr. 07/696 P1- /MÜ
Verfahren und Einrichtung zur Client-Server-Kommunikation gemäß dem Standardprotokoll OPC UA
Beschreibung
Die Erfindung bezieht sich auf ein Verfahren und eine Einrichtung zur Kommunikation zwischen Clients und Servern gemäß dem Standard Protokoll OPC UA. Das Verfahren und die Einrichtung sind für unterschiedliche Anwendungen geeignet, insbesondere zur Kommunikation in Systemen der Automatisierungstechnik.
OPC UA ist ein neues Standardprotokoll zur Hersteller-unabhängigen Kommunikation, insbesondere in der Prozessautomatisierung, spezifiziert durch die OPC Foundation. Der ursprüngliche Name für OPC war zwar OLE for Process Control, OPC wird aber inzwischen ohne einen Hinweis auf eine Abkürzung benutzt. UA steht für Uni- fied Architecture. Nachstehend werden häufig englischsprachige Begriffe benutzt, da sie bestimmte im Standard definierte Funktionen oder Spezifikationen umschreiben.
In Fig. 1 und Fig. 2 sind bekannte Anordnungen zur Interaktion gemäß OPC-UA- Spezifikation dargestellt. Dabei zeigt Fig. 1 einen OPC-UA-Client 1 , der unter Verwendung des OPC-UA-Protokolls und eines Kommunikationssystems 2 eine Interaktion mit einem OPC UA Server 3 mittels OPC-UA-Serviceaufrufen durchführt. Ein OPC UA Server kann aber gegenüber weiteren Servern auch als Client wirken und deren Daten zusammentragen und in seinem Adressraum Clients zur Verfügung stellen. In Fig. 2 ist eine solche Anordnung dargestellt, wobei ein OPC-UA-Client 1 eine Interaktion mit einem als Aggregating OPC UA Server 4 bezeichneten Server durch- führt, der wiederum über das Kommunikationssystem 2 mit zwei OPC UA Server 3 kommuniziert.
Client-Server-Betrieb gemäß OPC-UA-Standard findet in vielen Gebieten, wie beispielsweise in Fertigungsmanagementsystemen oder in der Produktionsplanung Anwendung, und allgemein in der Leittechnik, wobei Client- und Serverfunktionen z. B. in Geräten und Controllern implementiert sind. OPC UA ermöglicht in solchen Anordnungen nicht nur das Lesen und Schreiben von Daten, sondern auch Organisationsstrukturen für Daten zu ändern. Dadurch sind OPC UA Clients in der Lage, sowohl komplexe Konfigurationsaufgaben, als auch Engineering-Aufgaben oder andere Aufgaben zu lösen, die Daten schreiben und/oder Strukturänderungen erfordern. Es hängt von solchen Tasks ab, ob ein OPC UA Client entweder alle oder keine Änderungen an mehreren OPC UA Serviceaufrufen durchzuführen hat. Dies ist besonders von Bedeutung, wenn mehrere OPC UA Clients zugleich Änderungen an einem OPC UA Server vornehmen. Eine lange von Datenbanksystemen bekannte Lösung für solche Probleme ist die Nutzung von Transaktionen. Für OPC UA ist aber bisher kein Transaktions-Kontext spezifiziert. Die Granularität von Datenmanipulationsaktionen erfordert mehrere OPC UA Serviceaufrufe, wobei selbst für ein einzelner OPC UA Serviceaufruf kein Transaktions-Kontext spezifiziert ist. Es kann sogar bei einem einzelnen OPC UA Serviceaufruf, der z. B. Schreiben auf mehreren Werten enthält, der Fall eintreten, dass einzelne Schreibvorgänge erfolgreich sind und andere nicht.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Einrichtung anzugeben, mit denen eine Möglichkeit zur Durchführung von Transaktionen im Rahmen von OPC-UA-Serviceaufrufen erreicht wird.
Diese Aufgabe wird gelöst durch ein Verfahren zur Kommunikation zwischen Clients und Servern unter Verwendung des OPC-UA-Protokolls, das die im Anspruch 1 angegebenen Merkmale aufweist. Vorteilhafte Ausgestaltungen und eine entsprechende Einrichtung sind in weiteren Ansprüchen angegeben.
Mit der Erfindung wird demnach vorgeschlagen, zur Integration eines Transaktions- Kontexts in OPC UA Serviceaufrufen alle OPC UA Server des Systems mittels einer Transaktionsverwaltungskomponente zu ergänzen. Zur Durchführung von Transakti- onen ertüchtigte OPC UA Clients sind dadurch in der Lage jeweils mit einem OPC UA Server unter Verwendung von Transaktionen zu kommunizieren.
Eine weitere Erläuterung der Erfindung und deren Vorteile ergibt sich aus der nachstehenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnungsfiguren.
Es zeigen:
Fig. 1 eine Anordnung mit OPC UA Client und OPC UA Server gemäß dem Stand der Technik,
Fig. 2 eine OPC-UA-Client/Server-Anordnung mit eingefügtem Aggregating OPC UA Server gemäß dem Stand der Technik,
Fig. 3 eine erfindungsgemäße Anordnung mit OPC UA Client und einem zur Durchführung von Transaktionen eingerichteten OPC-UA-Server,
Fig. 4 eine erfindungsgemäße Anordnung mit OPC UA Client, zur Durchführung von Transaktionen eingerichtetem Aggregating OPC UA Server, sowie ebenfalls für Transaktionen eingerichteten OPC UA Servern,
Fig. 5 einen erfindungsgemäßen OPC UA Server, und
Fig. 6 ein Ablaufdiagramm für eine beispielhafte Transaktion.
Die Anordnung gemäß Fig. 3 enthält einen OPC UA Server 5, der mittels einer Transaktionsverwaltungskomponente 6 zur Durchführung von Transaktionen ertüchtigt ist. Grundsätzlich kann jeder generische OPC UA Client 1 über das Kommunikationssystem 2 mit dem OPC UA Server 5 kommunizieren. Die Durchführung von Transaktionen ist allerdings nur mit einem für Transaktionen eingerichteten OPC UA Client 7 möglich. Einzelheiten hierzu sind weiter unten erläutert.
Fig. 4 zeigt ähnlich wie Fig. 2 eine Anordnung mit einem Aggregating OPC UA Server, wobei in Fig. 4 jedoch ein Aggregating OPC UA Server 8 eingesetzt ist, der eine Transaktionsverwaltungskomponente 6 enthält. Wie bei der Anordnung gemäß Fig. 3 werden Transaktionen im Fall einer Kommunikation mit einem für Transaktionen eingerichteten OPC-UA-Client 7 unterstützt, und so auch wenn OPC-UA-Server 5, die jeweils mittels einer Transaktionsverwaltungskomponente 6 zur Durchführung von Transaktionen ertüchtigt sind und ein Zweiphasen-Commit-Protokoll unterstützen, mit dem Aggregating OPC UA Server 8 kommunizieren. Fig. 5 zeigt beispielhaft wie eine Transaktionsverwaltungskomponente 6 in einem OPC UA Server 5 implementiert sein kann. Der OPC UA Server 5 erhält seine Daten unter Verwendung der strukturierten Abfragesprache SQL aus einer Konfigurationsdatenbank 9 und außerdem Echtzeitdaten von Controllern 10 und daran angeschlossenen Geräten 11. Die Konfigurationsdatenbank 9 ist dafür eingerichtet, Transaktionen zu unterstützen, so dass der OPC UA Server 5 Transaktionen an die Konfigurationsdatenbank 9 weiterleiten kann. Die Controller 10 und Geräte 11 unterstützen typisch keine Transaktionen, weshalb die Transaktionsverwaltungskomponente 6 mittels einer Einrichtung 12 zur Transaktion von Echtzeitdaten dies berücksichtigt. Aufgrund interner Kenntnisse kann sie prüfen, ob bestimmte verlangte Änderungen zulässig sind und die Durchführung der Änderungen verzögern, bis der jeweilige OPC UA Client 7 die Transaktion bestätigt. In Verbindung mit einem Cache-Speicher 13 und unter Verwendung von Caching-Mechanismen speichert der OPC UA Server 5 potentiell geänderte Daten, um dem OPC-UA-Client 7 eine korrekte Darstellung der Daten im Transaktions-Kontext zu geben. Falls es nötig ist, dass der OPC UA Server 5 Daten in einem Gerät 11 unverzögert ändert, kann er Kompensationsmechanismen nutzen, um die Daten außerhalb einer Transaktion zu ändern, wenn ein OPC UA Client 7 eine Transaktion abbricht.
Wenn ein Zugriff eines OPC UA Clients 7, bzw. typisch eines OPC UA Clients 1 nicht in einem Transaktionskontext erfolgt, umgeht der OPC UA Server 5 die Transakti- onsverwaltungskomponente 6 und greift direkt auf die Konfigurationsdatenbank 9 oder Daten von Controllern 10 bzw. Geräten 11 zu.
Verfahrenscharakteristiken und typische Ablaufschritte sind nachstehend anhand eines in Fig. 6 dargestellten beispielhaften Ablaufdiagramms beschrieben. In Fig. 6 sind vier an einer Transaktion beteiligte Komponenten dargestellt, nämlich ein OPC UA Client 7, ein OPC UA Server 5, eine Transaktionsverwaltungskomponente 6 und ein Lieferant von Echtzeitdaten, z. B. ein Controller 10. Vor der Erläuterung der dargestellten Ablaufschritte werden zunächst allgemein Charakteristiken der erfindungsgemäßen Nutzung von Transaktionen beschrieben. Der Adressraum eines für die Durchführung von Transaktionen eingerichteten OPC UA Servers 5 enthält zusätzliche OPC-UA-Methoden, die aufgerufen werden für den Start, zum Abschluss oder für den Abbruch einer Transaktion. Die Methodenparameter unterscheiden sich je nach gewählter Transaktionsart, wobei z. B. unterschiedliche Isolation Levels oder verschachtelte Transaktionen unterstützt werden.
Ein OPC UA Client 7, der einen OPC-UA-Serviceaufruf in einem Transaktionskontext durchführen möchte, ruft eine Methode für den Start einer Transaktion auf. Im Rahmen einer als OPC-UA-Session bestehenden Sitzung eines OPC UA Clients 7 bewirkt dies einen Wechsel des OPC UA Servers 5 in einen Transaktionskontext. Daraufhin wird jede OPC-UA-Service-Anforderung des OPC UA Clients 7 bezüglich Datenzugriff und Datenmanipulation im Rahmen der OPC-UA-Session vom OPC UA Server 5 im Transaktionskontext durchgeführt.
Abhängig von Sperrmechanismen, die im OPC-UA-Server 5 implementiert sind, kann der OPC UA Client 7 spezielle Status-Codes für OPC-UA-Service-Anforderungen gemeldet bekommen, wenn Aktionen wegen locking restrictions oder timeouts fehlschlagen. Auch OPC UA Clients die nicht Transaktionen nutzen, können solche Status-Codes erhalten, weil bestimmte Werte blockiert sein können.
Ein OPC UA Client 7 kann auch Status-Codes gemeldet bekommen, die diejenigen Teile einer OPC-UA-Service-Anforderung identifizieren, die zur Fehlermeldung geführt haben. Wenn beispielsweise fünf Werte geschrieben werden sollten, kann gemeldet werden, dass das Schreiben des zweiten und vierten Werts fehlgeschlagen ist.
Falls ein OPC UA Client 7 eine Transaktion abbrechen möchte, ruft er eine Methode für den Abbruch der Transaktion auf. In diesem Fall werden alle bereits erfolgten Änderungen am System zurückgenommen, beispielsweise der OPC UA Server 5 in den Status vor den Änderungen zurückgesetzt. Abhängig vom gewählten Sperrmechanismus könnten aber OPC UA Clients betroffen sein, wenn sie während der Änderung auf Daten zugegriffen haben. Um gegebenenfalls eine Transaktion zu bestätigen, kann ein OPC UA Client 7 eine Methode zur Bestätigung einer Transaktion aufrufen. In diesem Fall versucht der OPC UA Server 5 alle Änderungen persistent zu machen. Wenn die Änderungen nicht dauerhaft übernommen werden können, bricht der OPC UA Server 5 die Transaktion ab und gibt die Bestätigungsmethode zusammen mit einem entsprechenden Status-Code zurück. Wenn alle verlangten Änderungen persistent werden können, meldet der OPC UA Server 5 ein entsprechendes Ergebnis zurück.
Wenn ein OPC UA Client 7 einige OPC-UA-Service-Anforderungen ohne Transaktionskontext und andere mit Transaktionskontext aufrufen möchte, muss er mehrere OPC UA Sessions einrichten.
Gemäß einer vorteilhaften Ausgestaltung kann der OPC UA Server 5 geschachtelte Transaktionen unterstützen. In diesem Fall kann der OPC UA Client 7 eine Methode für den mehrfachen Start einer Transaktion aufrufen, und mit einem Vorgang eine geschachtelte Transaktion insgesamt abbrechen. Ohne eine solche Unterstützung geschachtelter Transaktionen würde ein OPC UA Client 7 eine Fehlermeldung erhalten, wenn er eine Methode zum Starten einer Transaktion ein zweites mal anfordern würde, ehe er die erste Transaktion abgebrochen oder bestätigt hat.
Gemäß einer weiteren Ausgestaltung kann der OPC UA Server 5 Informationen über unterstützte Berechtigungsstufen (Isolation Levels) in seinem Adressraum enthalten, und Methoden zur Durchführung von Transaktionen könnten die gewählte Berechtigungsstufe als Eingangsparameter verwenden. Falls der OPC UA Server 5 jedoch nur eine Berechtigungsstufe unterstützt, ist diese Ausgestaltung nicht erforderlich.
Das in Fig. 6 dargestellte Ablaufdiagramm bezieht sich auf Interaktionen, wie oben bereits allgemein beschrieben, zwischen einem OPC UA Client 7 und einem OPC UA Server 5 zur Durchführung von Datenmanipulationsmaßnahmen in einem Transaktionskontext. Dabei sind Rückmeldungen des Servers an den Client zur Vereinfachung der Darstellung nicht gezeigt. In einem ersten Schritt 20 wird eine OPC UA Session eingerichtet. In einem zweiten Schritt 21 ruft der OPC UA Client 7 eine Methode zum Beginn einer Transaktion auf. In einem dritten Schritt 22 erhält die Trans- aktionsverwaltungskomponente 6 erforderliche Informationen, wie beispielsweise über den Start der Transaktion und den aufrufenden Client. In einem vierten Schritt 23 verlangt der OPC UA Client 7 eine Manipulation erster Daten. Diese Aufforderung wird in einem fünften Schritt 24 vom OPC UA Client 7 an die Transaktionsverwal- tungskomponente 6 weitergeleitet, in der die Zulässigkeit der verlangten Änderung in einem sechsten Schritt 25 geprüft wird. Im dargestellten Beispiel verlangt der OPC UA Client 7 in einem siebten Schritt 26 innerhalb der bestehenden Transaktion eine Manipulation zweiter Daten, die in einem achten Schritt 27 an die Transaktionsver- waltungskomponente 6 weitergeleitet und dort in einem neunten Schritt 28 geprüft wird. Um die Transaktion abzuschließen, ruft der OPC UA Client 7 in einem zehnten Schritt 29 eine Methode zur Bestätigung der Transaktion auf. In einem elften Schritt 30 wird der Bestätigungsauftrag an die Transaktionsverwaltungskomponente 6 weitergeleitet, die schließlich in einem zwölften Schritt 31 die gewünschte Manipulation der ersten und zweiten Daten im Controller 10 veranlasst.
Als alternative Lösung zum vorstehend beschriebenen Verfahren könnten zusätzliche Services definiert werden, die im Kontext von OPC UA Sessions benutzt werden, um Transaktionen einzurichten, abzubrechen oder abzuschließen. Allerdings müssten dafür dem OPC UA Service Framework entsprechende zusätzliche Services hinzugefügt und sowohl in Clients als auch in Servern benötigte Funktionen implementiert werden.
Eine andere, in der Nutzung von Transaktionen allerdings weniger flexible alternative Lösung könnte darin bestehen, generische Methoden mit allen erforderlichen Änderungen in einer Transaktion zu definieren. Eine solche Methode enthielte als Input ein Array von zu schreibenden Werten, sowie Arrays von Nodes, z. B. als Teil der Adressraumstruktur in OPC UA oder z. B. für Löschvorgänge.

Claims

Patentansprüche
1. Verfahren zur Kommunikation zwischen Clients und Servern eines Client/Server-Systems unter Verwendung des Standardprotokolls OPC UA, und wobei zur Interaktion eines OPC UA Clients (1 , 7) mit einem OPC UA Server (5, 8) OPC UA Serviceaufrufe verwendet werden, dadurch gekennzeichnet, dass zur Integration eines Transaktions-Kontexts in OPC UA Serviceaufrufen alle OPC UA Server (5, 8) des Systems mittels einer Transaktionsverwaltungskomponente (6) ergänzt werden, und für eine Durchführung von Transaktionen ertüchtigte OPC UA Clients (7) jeweils mit einem OPC UA Server (5) unter Verwendung von Transaktionen kommunizieren.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass auch Aggrega- ting OPC UA Server (8) jeweils mit einer Transaktionsverwaltungskomponente (6) ergänzt werden, und sowohl mit ertüchtigten OPC UA Clients (7), als auch in einer Client-Funtion mit OPC UA Servern (5) Transaktionen durchführen.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die OPC UA Server (5, 8) dafür eingerichtet werden, auch mit OPC UA Clients (1 ), die nicht zur Durchführung von Transaktionen ertüchtigt sind, ohne Nutzung von Transaktionen zu kommunizieren.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zur Durchführung einer Kommunikation zwischen einem OPC UA Client (7) und einem OPC UA Server (5) unter Verwendung von Transaktionen
- in einem ersten Schritt (20) eine OPC-UA-Sitzung eingerichtet wird,
- in einem zweiten Schritt (21 ) vom OPC UA Client (7) eine Methode zum Beginn einer Transaktion aufgerufen wird, - in einem dritten Schritt (22) die Transaktionsverwaltungskomponente (6) des OPC UA Servers (5) erforderliche Informationen über den Beginn einer Transaktion erhält,
- in weiteren Schritten (23 - 28) vom OPC UA Client (7) Manipulationen von Daten vorgenommen und deren Zulässigkeit von der Transaktions- verwaltungskomponente (6) geprüft werden, und schließlich zum Ab- schluss der Transaktion
- vom OPC UA Client (7) eine Methode zur Bestätigung der Transaktion aufgerufen wird (Schritt 29), und nach entsprechender Prüfung durch die Transaktionsverwaltungskomponente (6) die gewünschten Manipulationen von Daten in einer adressierten Einrichtung (10) veranlasst werden.
5. Einrichtung zur Kommunikation zwischen Clients und Servern eines Client/Server-Systems unter Verwendung des Standardprotokolls OPC UA, und wobei zur Interaktion eines OPC UA Clients (1 , 7) mit einem OPC UA Server (5, 8) OPC UA Serviceaufrufe verwendet werden, dadurch gekennzeichnet, dass zur Integration eines Transaktions-Kontexts in OPC UA Serviceaufrufen alle OPC UA Server (5, 8) des Systems mittels einer Transaktionsverwaltungskomponente (6) ergänzt sind, und zur Durchführung von Transaktionen ertüchtigte OPC UA Clients (7) im System vorhanden sind.
6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, dass auch Aggre- gating OPC UA Server (8) im System jeweils mit einer Transaktionsverwaltungskom- ponente (6) ergänzt und dafür eingerichtet sind, sowohl mit ertüchtigten OPC UA Clients (7), als auch in einer Client-Funtion mit OPC UA Servern (5) Transaktionen durchzuführen.
7. Einrichtung nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass der OPC UA Server (5) mit implementierter Transaktionsverwaltungskomponente (6) dafür eingerichtet ist, erforderliche Konfigurationsdaten aus einer Konfigurationsdatenbank (9) und außerdem Echtzeitdaten von Controllern (10) und daran angeschlossenen Geräten (11 ) oder anderen Datenquellen zu übernehmen, bzw. dort Daten zu manipulieren, und die Konfigurationsdatenbank 9 dafür eingerichtet ist, Transaktionen zu unterstützen.
8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, dass der OPC UA Server (5) mittels einer Einrichtung (12) zur Transaktion von Echtzeitdaten dafür eingerichtet ist zu prüfen, ob bestimmte verlangte Änderungen zulässig sind und die Durchführung der Änderungen zu verzögern, bis der jeweilige OPC UA Client 7 die Transaktion bestätigt.
9. Einrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass der OPC UA Server (5) mittels einem Cache-Speicher (13) und unter Verwendung von Caching-Mechanismen dafür eingerichtet ist, potentiell geänderte Daten zu speichern, um dem OPC UA Client 7 eine korrekte Darstellung der Daten im Transaktions-Kontext zu geben.
10. Einrichtung nach einem der Ansprüche 5 bis 9, dadurch gekennzeichnet, dass der OPC UA Server (5) dafür eingerichtet ist, geschachtelte Transaktionen zu unterstützen.
PCT/EP2008/010683 2007-12-21 2008-12-16 Verfahren und einrichtung zur client-server-kommunikation gemäss dem standardprotokoll opc ua WO2009083133A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200880123126.0A CN101903837B (zh) 2007-12-21 2008-12-16 根据标准协议opc ua进行客户端服务器通信的方法和装置
US12/819,601 US8549065B2 (en) 2007-12-21 2010-06-21 Method and device for client/server communication according to the standard protocol OPC UA

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007062986.0 2007-12-21
DE102007062986A DE102007062986B4 (de) 2007-12-21 2007-12-21 Verfahren und Einrichtung zur Client-Server-Kommunikation gemäß dem Standardprotokoll OPC UA

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/819,601 Continuation US8549065B2 (en) 2007-12-21 2010-06-21 Method and device for client/server communication according to the standard protocol OPC UA

Publications (1)

Publication Number Publication Date
WO2009083133A1 true WO2009083133A1 (de) 2009-07-09

Family

ID=40577806

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/010683 WO2009083133A1 (de) 2007-12-21 2008-12-16 Verfahren und einrichtung zur client-server-kommunikation gemäss dem standardprotokoll opc ua

Country Status (4)

Country Link
US (1) US8549065B2 (de)
CN (1) CN101903837B (de)
DE (1) DE102007062986B4 (de)
WO (1) WO2009083133A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607606A (zh) * 2016-02-19 2016-05-25 南京富岛信息工程有限公司 一种基于双主板架构的数据采集装置及方法
CN112104516A (zh) * 2020-11-18 2020-12-18 之江实验室 一种opcua协议支持拟态系统的实现方法
WO2022100909A1 (en) 2020-11-12 2022-05-19 Abb Schweiz Ag Interface device for connecting process controllers to opc ua peer devices

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008011191A1 (de) * 2008-02-26 2009-08-27 Abb Research Ltd. Client/Server-System zur Kommunikation gemäß dem Standardprotokoll OPC UA und mit Single Sign-On Mechanismen zur Authentifizierung sowie Verfahren zur Durchführung von Single Sign-On in einem solchen System
CN103502900B (zh) * 2011-05-30 2016-01-20 Abb研究有限公司 使用opc ua自动生成过程图形
EP2823617B1 (de) * 2012-05-31 2018-07-11 Siemens Aktiengesellschaft Kommunikation zweier clients über einen server
WO2013178270A1 (de) * 2012-05-31 2013-12-05 Siemens Aktiengesellschaft Zugriff von clients auf einen serverdienst mittels einer opc-ua
US9838470B2 (en) * 2012-07-24 2017-12-05 Siemens Aktiengesellschaft Write access to a variable in a server
US8972797B2 (en) * 2012-10-08 2015-03-03 General Electric Company System and method for application debugging
US9904266B2 (en) * 2013-04-25 2018-02-27 General Electric Company Real-time debugging systems and methods
ES2809498T3 (es) * 2014-04-23 2021-03-04 Siemens Ag Procedimiento y sistema para diagnosticar averías de transmisión en una red según el estándar opc ua
US10455060B2 (en) 2014-06-10 2019-10-22 Siemens Aktiengesellschaft Method and apparatus for expanding transactions in OPC UA
EP3140741A1 (de) * 2014-06-25 2017-03-15 Siemens Aktiengesellschaft Verfahren und vorrichtung zur umsetzung eines transaktionskonzepts bei opc ua mittels time-out mechanismus
BR112017020503B1 (pt) * 2015-03-27 2023-10-24 Bühler AG Método e sistema para controle de processo de usinas em uma rede de máquina a máquina com base em opc-ua
EP3182235B1 (de) * 2015-12-18 2019-03-27 Siemens Aktiengesellschaft Verfahren und industrielle steuerung zum aufruf einer funktion eines steuerungsprogramms mittels eines opc ua aufrufs
CN106843058A (zh) * 2017-03-03 2017-06-13 南京富岛信息工程有限公司 一种隐藏控制系统ip地址的安全数据采集装置及采集方法
US11323519B2 (en) * 2017-04-19 2022-05-03 Microsoft Technology Licensing, Llc Internet of things pub-sub data publisher
JP6881256B2 (ja) * 2017-11-27 2021-06-02 オムロン株式会社 制御装置、制御方法、およびプログラム
EP3502817A1 (de) * 2017-12-19 2019-06-26 ABB Schweiz AG Verfahren zur bereitstellung von steuerungssystemprüfung und -simulation
FI127806B (en) * 2017-12-22 2019-02-28 Prosys Opc Oy A method, system and computer software for managing OPC UA server capacity
CN108199897B (zh) * 2018-01-17 2021-06-04 重庆邮电大学 一种支持缓存管理的opc ua多服务器聚合方法
CN109256858B (zh) * 2018-09-30 2020-11-03 北京金风科创风电设备有限公司 虚拟同步发电机系统及其通信方法、新能源控制系统
EP3758333B1 (de) * 2019-06-25 2022-09-28 Schneider Electric Industries SAS Verfahren zum konfigurieren eines industriellen automatisierungssystems
DE102019123271A1 (de) * 2019-08-30 2021-03-04 Phoenix Contact Gmbh & Co. Kg Verfahren und industrielle Steuerung zum sychronisierten Aufrufen eines Funktionsbausteins in einem Steuerungsprogamm mit OPC UA
EP3890277B1 (de) * 2020-03-31 2024-01-03 ABB Schweiz AG System und verfahren zur aggregation von daten in einem entfernten adressraum
WO2022243511A1 (en) 2021-05-21 2022-11-24 F. Hoffmann-La Roche Ag Automatic registration of at least one device in a laboratory system
EP4149089A1 (de) * 2021-09-09 2023-03-15 Abb Schweiz Ag Fassadenserver
CN114390088B (zh) * 2021-12-31 2024-04-09 北京东土科技股份有限公司 一种edps通过opc ua客户端与opc ua服务端的交互方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2430499A (en) * 2005-09-22 2007-03-28 Fisher Rosemount Systems Inc Use of a Really Simple Syndication (RSS) communication format in process control.
US20070078696A1 (en) * 2005-08-30 2007-04-05 Invensys Systems Inc. Integrating high level enterprise-level decision- making into real-time process control

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153090A (ja) * 1995-11-30 1997-06-10 Matsushita Electric Ind Co Ltd 加工工程生産計画立案方法及び装置
US6415196B1 (en) * 1997-08-28 2002-07-02 Manugistics, Inc. Manufacturing scheduling process with improved modeling, scheduling and editing capabilities for solving finite capacity planning problems
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6832238B1 (en) * 2000-05-24 2004-12-14 Sun Microsystems, Inc. Local transaction management
WO2002010872A1 (fr) * 2000-07-28 2002-02-07 Teijin Limited Procede de planification de production et systeme de preparation d'un plan de production
AU2002211651A1 (en) * 2000-10-12 2002-04-22 Manugistics, Inc. System and methods for scheduling manufacturing resources
US7032073B2 (en) * 2001-07-02 2006-04-18 Shay Mizrachi Cache system for network and multi-tasking applications
US20030200150A1 (en) * 2002-04-17 2003-10-23 Elnnovate, Inc. Systems and methods for facilitating negotiations for supply chain control
JP3982617B2 (ja) * 2002-05-17 2007-09-26 日本アイ・ビー・エム株式会社 生産計画生成システム、生産計画生成方法、プログラム
US8234384B2 (en) * 2006-11-13 2012-07-31 Jemmac Software Limited Computer systems and methods for process control environments
WO2009046095A1 (en) * 2007-10-01 2009-04-09 Iconics, Inc. Visualization of process control data
US20090199112A1 (en) * 2008-02-04 2009-08-06 Deserranno Allen Simplified opc to wpf xaml binding method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070078696A1 (en) * 2005-08-30 2007-04-05 Invensys Systems Inc. Integrating high level enterprise-level decision- making into real-time process control
GB2430499A (en) * 2005-09-22 2007-03-28 Fisher Rosemount Systems Inc Use of a Really Simple Syndication (RSS) communication format in process control.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALLEN BRADLEY: "Product Profile FactoryTalk Transaction Manager", INTERNET ARTICLE, June 2007 (2007-06-01), Internet, pages 1 - 4, XP002526484, Retrieved from the Internet <URL:http://www.jacmfg.com/rockwell.pdf> [retrieved on 20090504] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607606A (zh) * 2016-02-19 2016-05-25 南京富岛信息工程有限公司 一种基于双主板架构的数据采集装置及方法
CN105607606B (zh) * 2016-02-19 2018-04-10 南京富岛信息工程有限公司 一种基于双主板架构的数据采集装置及方法
WO2022100909A1 (en) 2020-11-12 2022-05-19 Abb Schweiz Ag Interface device for connecting process controllers to opc ua peer devices
EP4002030A1 (de) 2020-11-12 2022-05-25 ABB Schweiz AG Schnittstellenvorrichtung zum verbinden von prozesssteuergeräten mit opc-ua-peer-vorrichtungen
CN112104516A (zh) * 2020-11-18 2020-12-18 之江实验室 一种opcua协议支持拟态系统的实现方法
CN112104516B (zh) * 2020-11-18 2021-02-12 之江实验室 一种opcua协议支持拟态系统的实现方法

Also Published As

Publication number Publication date
DE102007062986B4 (de) 2013-12-24
US20100306313A1 (en) 2010-12-02
CN101903837A (zh) 2010-12-01
US8549065B2 (en) 2013-10-01
DE102007062986A1 (de) 2009-06-25
CN101903837B (zh) 2014-10-29

Similar Documents

Publication Publication Date Title
DE102007062986B4 (de) Verfahren und Einrichtung zur Client-Server-Kommunikation gemäß dem Standardprotokoll OPC UA
DE102007062985B4 (de) Verfahren und Einrichtung zur Kommunikation gemäß dem Standardprotokoll OPC UA in einem Client-Server-System
DE112004001775T5 (de) Verfahren und Vorrichtung zur Bereitstellung von automatischen Software-Updates
DE102006062478B4 (de) Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik
DE4420451A1 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE112011103443T5 (de) Intelligente Schnittstelle für ein dezentrales Steuerungssystem
WO2003029906A1 (de) Dynamischer zugriff auf automatisierungsressourcen
EP3137999B1 (de) Verfahren und vorrichtung zur transaktionserweiterung bei opc ua
WO2020200877A1 (de) Generierung und verteilung von konfigurations-datenstrukturen für steuerungssysteme
EP3200034B1 (de) Zugriff auf daten oder funktionen einer speicherprogrammierbaren steuerung mittels eines webdienstes
DE102004030781A1 (de) SCADA-System und Verfahren zum Betreiben eines solchen Systems
EP1402422A2 (de) Automatisierungssystem und verfahren zur anlagenvisualisierung
EP3603010B1 (de) Verfahren und korrespondierendes system zur datenübertragung von einem gerät an ein datenverwaltungsmittel
DE10059103B4 (de) Einheit zur Verwaltung von in einer Datenverarbeitungseinrichtung gespeicherten Daten
EP3106950B1 (de) Werkzeugsystem für eine montageanlage und verfahren für ein werkzeugsystem für eine montageanlage
EP2329374A1 (de) Testmodul und verfahren zum testen einer o/r-abbildungs-middleware
DE10129886A1 (de) Verfahren zum Netzkonfigurationsmanagement und Netzbestandsmanagement eines Netzes und entsprechendes Netzkonfigurationsmanagement- und Netzbestandsmanagementsystem
EP1435026B1 (de) System und verfahren zur datenausgabe eines geräts, insbesondere eines automatisierungsgerät über eine standardisierte schnittstelle mit variablenersetzung über einen echoserver
DE10319887B4 (de) Verfahren zum Angleichen eines auf einer Client-Datenverarbeitungseinrichtung angezeigten Datenbestandes an einen auf einer Server-Datenverarbeitungseinrichtung gespeicherten Quelldatenbestand
EP1004080B1 (de) Verfahren und anordnung zur durchführung von überwachungs- und managementfunktionen in netzen mit überwachten komponenten
DE102007049958A1 (de) Verfahren und System zur Aktualisierung einer mehrschichtigen Applikation
DE102006037968B4 (de) Universelle und erweiterbare Datenverwaltung mit Beobachtungs- und Interprozesskommunikations-Mechanismen
DE10241543A1 (de) Datenverarbeitungssystem zur eingabemaskengestützten Prozessüberwachung und/oder -steuerung
EP3770769A1 (de) Verfahren zur abfrage oder bearbeitung einer vollständigen datei mittels einer query language und vorrichtung zur verwaltung des verfahrens
EP1293898A1 (de) Betriebsverfahren für ein Automatisierungsgerät

Legal Events

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

Ref document number: 200880123126.0

Country of ref document: CN

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

Ref document number: 08868303

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2181/KOLNP/2010

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08868303

Country of ref document: EP

Kind code of ref document: A1