Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONCEPT FOR CONTROLLING A MESSAGE TRANSMISSION BETWEEN COMMUNICATION SUBSCRIBERS IN AN AUTOMATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2018/091658
Kind Code:
A1
Abstract:
The invention relates to a concept for controlling a message transmission between communication subscribers (203) in an automation system (201, 301), wherein one or more publisher applications and/or one or more subscriber applications are executed on each of the communication subscribers (203), the automation system (201, 301) comprising a message broker (209) that is configured to enter subscriptions for specified topics for designated subscriber applications into a topic tree. The concept provides for a communication subscriber providing one or more services to publish these services for a particular topic ("published"). Subscriber applications, from further communication subscribers, that have been entered for the applicable topic are therefore notified by the message broker that applicable services are provided. The invention further relates to a message broker (209) for an automation system (201, 301), an automation system (201, 301) and a computer program.

Inventors:
DRESSELHAUS PASCAL (DE)
JANSSEN DIRK (DE)
GOLDSTEIN SVEN (DE)
BRACKE TIMO (DE)
AUSTER MANUEL (DE)
GELDNER SIMON (DE)
Application Number:
PCT/EP2017/079601
Publication Date:
May 24, 2018
Filing Date:
November 17, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BECKHOFF AUTOMATION GMBH (DE)
International Classes:
H04L12/28; H04L12/58; H04W4/12
Foreign References:
DE102015107478A12016-11-17
DE112010005499T52013-03-28
EP2566281B12015-11-25
Other References:
CHRISTIAN GÖTZ: "MQTT: Protokoll für das Internet der Dinge | heise Developer", HEISE DEVELOPER, 15 April 2014 (2014-04-15), pages 1 - 5, XP055440964, Retrieved from the Internet [retrieved on 20180115]
ANONYMOUS: "MQTT Version 3.1.1 Plus Errata 01", 10 December 2015 (2015-12-10), pages 1 - 81, XP055439486, Retrieved from the Internet [retrieved on 20180110]
Attorney, Agent or Firm:
PATENTANWALTSKANZLEI WILHELM & BECK (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern (203) eines Automatisierungssystems (201, 301), wobei auf den Kommunikationsteil¬ nehmern (203) jeweils eine oder mehrere Publisher-Anwendun- gen und/oder eine oder mehrere Subscriber-Anwendungen ausgeführt werden, wobei das Automatisierungssystem (201, 301) einen Nachrichtenvermittler (209) umfasst, der ausgebildet ist, Abonnements für angegebene Themen für benannte Sub¬ scriber-Anwendungen in einen Themenbaum einzutragen, umfassend die folgenden Schritte:

- als Reaktion darauf, dass eine Nachricht (339) über ein angegebenes Thema (305, 327) des Themenbaums von einer Publisher-Anwendung eines ersten (205, 329) der mehreren Kommunikationsteilnehmer (203) veröffentlicht wurde, dass der erste Kommunikationsteilnehmer (205, 329) einen oder mehrere Dienste anbietet,

- Ermitteln (101) mittels des Nachrichtenvermittlers

(209), ob eine Subscriber-Anwendung eines zweiten (207, 331) der mehreren Kommunikationsteilnehmer (203) für das angegebene Thema (305, 327) eingetragen ist oder nicht,

- wenn eine Subscriber-Anwendung für das angegebene Thema (305, 327) eingetragen ist, Übermitteln (103) einer Nachricht (339) mittels des Nachrichtenvermittlers

(209), dass der eine oder die mehreren Dienste angeboten werden, an die eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers (207, 331).

2. Verfahren nach Anspruch 1, wobei die Nachricht von der Publisher-Anwendung des ersten Kommunikationsteilnehmers (205, 329) die Information umfasst, in welchem Thema des Themenbaums, Aufträge für den einen oder die mehreren Dienste veröffentlicht werden sollen, umfassend ferner die folgen¬ den Schritte: - Eintragen mittels des Nachrichtenvermittlers (209) eines mittels einer Subscriber-Anwendung des ersten Kommunikationsteilnehmers (205, 329) erzeugten Abonnements für dasjenige Thema (305, 327), in welchem Thema des Themenbaums Aufträge für den einen oder die mehreren Dienste veröffentlicht werden sollen,

- als Reaktion darauf, dass eine Nachricht über dasjenige Thema (305, 327) des Themenbaums, in welchem Auf¬ träge für den einen oder die mehreren Dienste veröffent¬ licht werden sollen, von einer Publisher-Anwendung des zweiten Kommunikationsteilnehmers (207, 331) veröffent¬ licht wurde, dass dem einen oder den mehreren Diensten entsprechender Auftrag (603) ausgeführt werden soll, Übermitteln mittels des Nachrichtenvermittlers (209) der veröffentlichten Nachricht, dass dem einen oder den mehreren Diensten entsprechender Auftrag (603) ausgeführt werden soll, an die eingetragene Subscriber-Anwendung des ersten Kommunikationsteilnehmers (205, 329).

Verfahren nach Anspruch 2, wobei der Auftrag angibt, dass Nachrichten aus einem bestimmten Thema (305, 327) des

Themenbaums mittels des oder der Dienste verarbeitet werden sollen, umfassend ferner die folgenden Schritte:

- als Reaktion darauf, dass mittels einer Subscriber-Anwendung des ersten Kommunikationsteilnehmers (205, 329) ein Abonnement für das bestimmte Thema (305, 327) erzeugt wurde,

- Eintragen der Subscriber-Anwendung des ersten Kommunikationsteilnehmers (205, 329) für das bestimmte Thema (305, 327) mittels des Nachrichtenvermittlers

(209) ,

- Übermitteln der Nachrichten über das bestimmte Thema

(305, 327) an die Subscriber-Anwendung des ersten Kommunikationsteilnehmers (205, 329) mittels des Nach¬ richtenvermittlers (209).

Verfahren nach einem der vorherigen Ansprüche, wobei der Auftrag angibt, dass mittels des ersten Kommunikationsteil¬ nehmers (205, 329) verarbeitete Daten für ein vorgegebenes Thema (305, 327) des Themenbaums veröffentlicht werden sollen, umfassend den folgenden Schritt:

- als Reaktion darauf, dass eine die verarbeiteten Daten umfassende Nachricht über das vorgegebene Thema (305,

327) von einer Publisher-Anwendung des ersten Kommunikationsteilnehmers (205, 329) veröffentlicht wurde, Übermitteln der die verarbeiteten Daten umfassende Nachricht an eine für das vorgegebene Thema (305, 327) eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers (207, 331) mittels des Nachrichtenver¬ mittlers (209) .

5. Verfahren nach einem der vorherigen Ansprüche, wobei die Nachricht, dass der erste Kommunikationsteilnehmer (205, 329) einen oder mehrere Dienste anbietet, eine Kommandobe¬ schreibung umfasst, die angibt, welche Kommandos der oder die Dienste erwarten, und/oder eine Parameterbeschreibung umfasst, die angibt, welche Parameter der oder die Dienste erwarten, umfassend den folgenden Schritt:

- Übermitteln der Kommandobeschreibung und/oder der Parameterbeschreibung an die eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers (207, 331) mittels des Nachrichtenvermittlers (209).

6. Verfahren nach einem der vorherigen Ansprüche, umfassend den folgenden Schritt:

- als Reaktion darauf, dass eine Nachricht von einer Pub¬ lisher-Anwendung eines der Kommunikationsteilnehmer (203) über ein Thema (305, 327) veröffentlicht wurde, wobei die Nachricht eine Datenbeschreibung um¬ fasst, wie Daten des einen der Kommunikationsteilnehmer (203) interpretiert werden müssen, Speichern der Datenbeschreibung mittels des Nachrichtenvermittlers (209).

7. Verfahren nach einem der vorherigen Ansprüche soweit rückbezogen auf Anspruch 6 und auf Anspruch 3, wobei das be¬ stimmte Thema (305, 327) des Themenbaums dem der Nach¬ richt entsprechenden Thema (305, 327) des einen der Kommunikationsteilnehmer (203) entspricht, umfassend den folgenden Schritt:

- Übermitteln der Datenbeschreibung an die Subscriber-An- wendung des ersten Kommunikationsteilnehmers (205, 329) mittels des Nachrichtenvermittlers (209).

Verfahren nach einem der vorherigen Ansprüche, wobei die Nachrichten in einem Binär-Format vorliegen.

Verfahren nach einem der vorherigen Ansprüche, wobei der oder die Dienste ausgewählt aus der folgenden Gruppe von Diensten sind: Archivierung, Datenanalyse, Zustandsüberwa- chung . Verfahren nach einem der vorherigen Ansprüche, wobei die mehreren Kommunikationsteilnehmer (203) ausgewählt aus der folgenden Gruppe von Kommunikationsteilnehmern (203) sind: Aktoreinrichtung, Sensoreinrichtung, Steuerungseinrichtung, Maschinensteuerungseinrichtung, Datenbankserver, Datensicherungs-Server .

Nachrichtenvermittler (209) für ein Automatisierungssystem (201, 301), wobei der Nachrichtenvermittler (209) ausgebil¬ det ist, das Verfahren nach einem der vorherigen Ansprüche durchzuführen . Automatisierungssystem (201, 301), umfassend mehrere Kommu¬ nikationsteilnehmer (203) und den Nachrichtenvermittler (209) nach Anspruch 11.

Computerprogramm, umfassend Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 10, wenn das Computerprogramm auf einem Computer, insbesondere auf einem Nachrichtenvermittler (209), ausgeführt wird.

Description:
Beschreibung

KONZEPT ZUM STEUERN EINER NACHRICHTENÜBERMITTLUNG ZWISCHEN KOMMUNIKATIONSTEILNEHMERN EINES AUTOMATISIERUNGSSYSTEMS

Die Erfindung betrifft ein Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems. Die Erfindung betrifft ferner einen Nachrichtenvermittler für ein Automatisierungssystem. Die Erfindung betrifft des Weiteren ein Automatisierungssystem sowie ein Computerprogramm.

Diese Patentanmeldung beansprucht die Priorität der deutschen Patentanmeldung DE 10 2016 122 384.0, deren Offenbarungsgehalt hiermit durch Rückbezug aufgenommen wird.

Automatisierungssysteme umfassen in der Regel mehrere Kommuni ¬ kationsteilnehmer. Hierbei kann beispielsweise vorgesehen sein, dass ein Kommunikationsteilnehmer einen oder mehrere Dienste für die anderen Kommunikationsteilnehmer anbietet.

Es besteht ein Bedarf, dass den anderen Kommunikationsteilnehmern effizient mitgeteilt werden kann, dass der eine Kommuni ¬ kationsteilnehmer einen oder mehrere Dienste anbietet.

Die Offenlegungsschrift DE 11 2010 005 499 T5 zeigt ein Ver ¬ fahren zum Steuern der Nachrichtenübermittlung zwischen einer oder mehreren Publisher-Anwendungen und einer oder mehreren Subscriber-Anwendungen .

Die Patentschrift EP 2 566 281 Bl zeigt eine Architektur eines Internets der Dinge (IoT) .

Die der Erfindung zugrundeliegende Aufgabe ist darin zu sehen, ein Konzept zum effizienten Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems bereitzustellen. Diese Aufgabe wird mittels des jeweiligen Gegenstands der un ¬ abhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von jeweils abhängigen Unteransprü ¬ chen .

Nach einem Aspekt wird ein Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems bereitgestellt, wobei auf den Kommuni ¬ kationsteilnehmern jeweils eine oder mehrere Publisher-Anwen- dungen und/oder eine oder mehrere Subscriber-Anwendungen ausgeführt werden, wobei das Automatisierungssystem einen Nachrichtenvermittler umfasst, der ausgebildet ist, Abonnements für angegebene Themen für benannte Subscriber-Anwendungen in einen Themenbaum einzutragen, umfassend die folgenden

Schritte :

- als Reaktion darauf, dass eine Nachricht über ein angegebe ¬ nes Thema des Themenbaums von einer Publisher-Anwendung eines ersten der mehreren Kommunikationsteilnehmer veröffentlicht wurde, dass der erste Kommunikationsteilnehmer einen oder mehrere Dienste anbietet,

- Ermitteln mittels des Nachrichtenvermittlers, ob eine Sub- scriber-Anwendung eines zweiten der mehreren Kommunikationsteilnehmer für das angegebene Thema eingetragen ist oder nicht,

- wenn eine Subscriber-Anwendung für das angegebene Thema eingetragen ist, Übermitteln einer Nachricht mittels des Nachrichtenvermittlers, dass der eine oder die mehreren Dienste angeboten werden, an die eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers.

Gemäß einem weiteren Aspekt wird ein Nachrichtenvermittler für ein Automatisierungssystem bereitgestellt, wobei der Nachrichtenvermittler ausgebildet ist, das Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems durchzuführen.

Nach einem anderen Aspekt wird ein Automatisierungssystem bereitgestellt, welches mehrere Kommunikationsteilnehmer und den Nachrichtenvermittler für ein Automatisierungssystem umfasst. Nach einem weiteren Aspekt wird ein Computerprogramm bereitgestellt, welches Programmcode zur Durchführung des Verfahrens zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems umfasst, wenn das Computerprogramm auf einem Computer, insbesondere auf einem Nachrichtenvermittler, ausgeführt wird.

Die Erfindung basiert auf der Erkenntnis, dass die obige Auf ¬ gabe dadurch gelöst werden kann, dass ein Kommunikationsteil ¬ nehmer, welcher einen oder mehrere Dienste anbietet, diese Dienste für ein bestimmtes Thema veröffentlicht („published" ) . Subscriber-Anwendungen, von weiteren Kommunikationsteilnehmern, die für das entsprechende Thema eingetragen sind, erhal ¬ ten somit durch den Nachrichtenvermittler mitgeteilt, dass entsprechende Dienste angeboten werden. Hierbei ist festzuhal ¬ ten, dass der Nachrichtenvermittler den eingetragenen Subscriber-Anwendungen lediglich eine Nachricht übermittelt, dass der eine oder die mehreren Dienste angeboten werden. Die vom Nachrichtenvermittler übermittelte Nachricht umfasst insbesondere nicht die Information, von welchen der Kommunikationsteilnehmer der oder die Dienste angeboten werden. Der erste Kommunikationsteilnehmer bleibt also anonym.

Ein weiterer Vorteil ist insbesondere, dass sich die Kommuni ¬ kationsteilnehmer des Automatisierungssystems untereinander nicht kennen müssen. Beispielsweise veröffentlicht der erste Kommunikationsteilnehmer eine Nachricht zu einem bestimmten Thema. Ein zweiter Kommunikationsteilnehmer hat das Thema abonniert. Über den Nachrichtenvermittler bekommt der zweite Kommunikationsteilnehmer anschließend die Nachricht, ohne zu wissen, dass diese Nachricht ursprünglich vom ersten Kommunikationsteilnehmer stammt.

Es liegt somit eine Anonymität vor.

Im erfindungsgemäßen Automatisierungssystem ist es also nicht vorgesehen, also insbesondere nicht möglich, eine Nachricht direkt von einem Kommunikationsteilnehmer an einen anderen Kommunikationsteilnehmer zu senden. Alle für ein bestimmtes Thema eingetragene Subscriber-Anwendungen der Kommunikations ¬ teilnehmerkönnen prinzipiell auf alle Nachrichten für das bestimmte Thema zugreifen. Das bedeutet auch, dass sich die Kom ¬ munikationsteilnehmer untereinander nicht kennen. Der Nachrichtenvermittler entkoppelt den Nachrichtentransfer und somit den Datentransfer zwischen den Kommunikationsteilnehmer.

Alle Nachrichten und somit alle Daten laufen ausschließlich über den Nachrichtenvermittler.

Dadurch wird also insbesondere der technische Vorteil bewirkt, dass Kommunikationsteilnehmern eines Automatisierungssystems effizient mitgeteilt werden kann, dass eine oder mehrere

Dienste angeboten werden.

Ein Nachrichtenvermittler im Sinne der Beschreibung kann insbesondere auch als ein „Message Broker" bezeichnet werden.

Die Erfindung basiert also insbesondere auf der Verwendung ei ¬ nes an sich bekannten Nachrichtenübermittlungsmechanismus, dem Publish-Subscribe-Nachrichtenübermittlungsmechanismus . „Pub- lish" steht für „Veröffentlichen". „Subscribe" steht für „Abonnieren". Mittels des Publish/Subscribe-Nachrichtenüber- mittlungsmechanismus können Subscriber-Anwendungen Informatio ¬ nen in Form von Nachrichten von Publisher-Anwendungen empfangen. Diesbezüglich ist eine Nachricht im Sinne der Beschrei ¬ bung beispielsweise eine Einheit von Daten zum Austausch zwischen Anwendungsprogrammen.

Eine Publisher-Anwendung kann insbesondere auch als ein „Veröffentlicher" bezeichnet werden.

Eine Subscriber-Anwendung kann insbesondere als ein „Abonnent" bezeichnet werden.

Die erfindungsgemäße Idee liegt nun insbesondere darin, dass über den Nachrichtenvermittler den Kommunikationsteilnehmern mitgeteilt wird, wenn einer der Kommunikationsteilnehmer einen oder mehrere Dienste anbietet, wobei nur mitgeteilt wird, dass ein oder mehrere Dienste angeboten werden, nicht aber noch die zusätzliche Information, dass der eine oder die mehreren

Dienste von dem einen der Kommunikationsteilnehmer angeboten wird. Hier ist es in vorteilhafter Weise so, dass, sobald eine der Subscriber-Anwendungen eines Kommunikationsteilnehmers für das angegebene Thema eingetragen ist, er durch den Nachrichtenvermittler automatisch die Nachricht erhält, dass der eine oder die mehreren Dienste angeboten werden. Diese Information muss der Kommunikationsteilnehmer somit nicht mehr eigenständig abrufen.

Der entsprechende Kommunikationsteilnehmer weiß also, dass ein oder mehrere Dienste angeboten werden, die der Kommunikations ¬ teilnehmer insofern insbesondere in Anspruch nehmen kann.

Nach einer Ausführungsform des Verfahrens ist vorgesehen, dass die Nachricht von der Publisher-Anwendung des ersten Kommunikationsteilnehmers die Information umfasst, in welchem Thema des Themenbaums, Aufträge für den einen oder die mehreren Dienste veröffentlicht werden sollen, wobei das Verfahren fer ¬ ner die folgenden Schritte umfasst:

Eintragen mittels des Nachrichtenvermittlers eines mittels ei ¬ ner Subscriber-Anwendung des ersten Kommunikationsteilnehmers erzeugten Abonnements für dasjenige Thema, in welchem Thema des Themenbaums Aufträge für den einen oder die mehreren

Dienste veröffentlicht werden sollen, als Reaktion darauf, dass eine Nachricht über dasjenige Thema des Themenbaums, in welchem Aufträge für den einen oder die mehreren Dienste veröffentlicht werden sollen, von einer Publisher-Anwendung des zweiten Kommunikationsteilnehmers veröf ¬ fentlicht wurde, dass dem einen oder den mehreren Diensten entsprechender Auftrag ausgeführt werden soll, Übermitteln mittels des Nachrichtenvermittlers der veröffentlichten Nach ¬ richt, dass dem einen oder den mehreren Diensten entsprechender Auftrag ausgeführt werden soll, an die eingetragene Sub ¬ scriber-Anwendung des ersten Kommunikationsteilnehmers. Dadurch wird insbesondere der technische Vorteil bewirkt, dass der Auftrag des zweiten Kommunikationsteilnehmers effizient an den ersten Kommunikationsteilnehmer übermittelt werden kann. Es reicht hier also aus, dass die Publisher-Anwendung des zweiten Kommunikationsteilnehmers eine Nachricht über dasje ¬ nige Thema veröffentlicht, in welchem dem oder den Diensten entsprechende Aufträge veröffentlicht werde sollen, dass der erste Kommunikationsteilnehmer den entsprechenden Auftrag automatisch erhält - dies deshalb, da die Subscriber-Anwendung des ersten Kommunikationsteilnehmers für das entsprechende Thema in den Themenbaum eingetragen wurde.

Dasjenige Thema, in welchem Aufträge für den einen oder die mehreren Dienste veröffentlicht werden sollen, ist beispiels weise das gleiche Thema, wie das angegebene Thema, über das der erste Kommunikationsteilnehmer die Nachricht veröffent ¬ licht hat, dass er einen oder mehrere Dienste anbietet, oder es ist beispielsweise ein anderes Thema.

Gemäß einer weiteren Ausführungsform des Verfahrens ist vorgesehen, dass der Auftrag angibt, dass Nachrichten aus einem be ¬ stimmten Thema des Themenbaums mittels des oder der Dienste verarbeitet werden sollen, wobei das Verfahren ferner die folgenden Schritte umfasst:

- als Reaktion darauf, dass mittels einer Subscriber-Anwendung des ersten Kommunikationsteilnehmers ein Abonnement für das bestimmte Thema erzeugt wurde,

- Eintragen der Subscriber-Anwendung des ersten Kommunikationsteilnehmers für das bestimmte Thema mittels des Nachrich ¬ tenvermittlers,

- Übermitteln der Nachrichten über das bestimmte Thema an die Subscriber-Anwendung des ersten Kommunikationsteilnehmers mittels des Nachrichtenvermittlers.

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass die Daten aus dem bestimmten Thema effizient mittels des

Dienstes des ersten Kommunikationsteilnehmers in Reaktion auf den Auftrag verarbeitet werden können. Der zweite Kommunikationsteilnehmer kann also über die entsprechende Nachricht dem ersten Kommunikationsteilnehmer unter Vermittlung des Nachrichtenvermittlers effizient vorgeben, dass er die Daten aus einem bestimmten Thema des Themenbaums verarbeiten soll.

Gemäß einer weiteren Ausführungsform des Verfahrens ist vorgesehen, dass der Auftrag angibt, dass mittels des oder der Dienste verarbeitete Daten für ein vorgegebenes Thema des The ¬ menbaums veröffentlicht werden sollen, wobei das Verfahren den folgenden Schritt umfasst:

- als Reaktion darauf, dass eine die verarbeiteten Daten umfassende Nachricht über das vorgegebene Thema von einer Pub- lisher-Anwendung des ersten Kommunikationsteilnehmers veröf ¬ fentlicht wurde, Übermitteln der die verarbeiteten Daten umfassende Nachricht an eine für das vorgegebene Thema einge ¬ tragene Subscriber-Anwendung des zweiten Kommunikationsteil ¬ nehmers mittels des Nachrichtenvermittlers.

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass die verarbeiteten Daten effizient zum zweiten Kommunikationsteilnehmer übermittelt werden können. Das heißt also insbesondere, dass der zweite Kommunikationsteilnehmer hier den ersten Kommunikationsteilnehmer unter Verwendung des Nachrichtenvermittlers anweist, wohin er die verarbeiteten Daten schicken, also veröffentlichen, soll. Eine Subscriber-Anwendung des zweiten Kommunikationsteilnehmers ist für das vorgegebene Thema eingetragen, so dass die verarbeiteten Daten automatisch zur Subscriber-Anwendung des zweiten Kommunikationsteilnehmers mittels des Nachrichtenvermittlers übermittelt werden.

Gemäß einer Ausführungsform des Verfahrens ist vorgesehen, dass die Nachricht, dass der erste Kommunikationsteilnehmer einen oder mehrere Dienste anbietet, eine Kommandobeschreibung umfasst, die angibt, welche Kommandos der oder die Dienste er ¬ warten, und/oder eine Parameterbeschreibung umfasst, die angibt, welche Parameter der oder die Dienste erwarten, wobei das Verfahren den folgenden Schritt umfasst: - Übermitteln der Kommandobeschreibung und/oder der Parameterbeschreibung an die eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers mittels des Nachrichten ¬ vermittlers .

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass den weiteren Kommunikationsteilnehmern unter Vermittlung des Nachrichtenvermittlers effizient mitgeteilt werden kann, wel ¬ che Kommandos respektive welche Parameter der oder die Dienste erwarten .

Eine Kommandobeschreibung respektive eine Parameterbeschrei ¬ bung gibt insbesondere eine Kommandosyntax respektive eine Pa ¬ rametersyntax vor.

Dadurch, dass die eingetragene Subscriber-Anwendung des zweiten Kommunikationsteilnehmers aufgrund der Eintragung die Kom ¬ mandobeschreibung respektive die Parameterbeschreibung automatisch empfängt, können in vorteilhafter Weise und in effizienter Weise Kommandobeschreibungsaktualisierungen respektive Parameterbeschreibungsaktualisierungen dem zweiten Kommunikationsteilnehmer effizient mitgeteilt werden.

Sofern sich also beispielsweise eine Kommandosyntax respektive eine Parametersyntax ändern sollte, so kann diese Änderung dem zweiten Kommunikationsteilnehmer effizient mitgeteilt werden.

Nach einer Ausführungsform umfasst das Verfahren den folgenden Schritt: als Reaktion darauf, dass eine Nachricht von einer Publisher-Anwendung eines der Kommunikationsteilnehmer über ein Thema veröffentlicht wurde, wobei die Nachricht eine Da ¬ tenbeschreibung umfasst, wie Daten des einen der Kommunikationsteilnehmer interpretiert werden müssen, Speichern der Datenbeschreibung mittels des Nachrichtenvermittlers.

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass den Kommunikationsteilnehmern effizient mitgeteilt werden kann, wie Daten, die einer der Kommunikationsteilnehmer zur Verfügung stellt, interpretiert werden müssen. Die Datenbeschreibung kann also beispielsweise zu einem späte ¬ ren Zeitpunkt als Reaktion auf einen Empfang einer späteren Anforderung für ein Abonnement in Bezug auf eine neue Subscri- ber-Anwendung für das Thema an die neue Subscriber-Anwendung übermittelt werden.

Dadurch, dass die Datenbeschreibung an entsprechend eingetra ¬ gene Subscriber-Anwendungen übermittelt wird, wird ferner ins ¬ besondere der technische Vorteil bewirkt, dass eine Aktuali ¬ sierung oder Änderung der Datenbeschreibung ebenfalls automatisch den eingetragenen Subscriber-Anwendungen mitgeteilt wird .

In einer Ausführungsform wird die Datenbeschreibung in einem Retain-Topic gespeichert.

Ein Retain-Topic bezeichnet einen Topic, in welchem Nachrich ¬ ten gespeichert bleiben, auch wenn momentan keine Subscriber- Anwendung für das Topic eingetragen ist. Topic steht hier synonym für Thema.

Nach einer Ausführungsform des Verfahrens ist vorgesehen, dass das bestimmte Thema des Themenbaums dem der Nachricht entspre ¬ chenden Thema des einen der Kommunikationsteilnehmer entspricht, wobei das Verfahren den folgenden Schritt umfasst: - Übermitteln der Datenbeschreibung an die Subscriber-Anwendung des ersten Kommunikationsteilnehmers mittels des Nach ¬ richtenvermittlers .

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass der erste Kommunikationsteilnehmer effizient in Kenntnis darüber gesetzt werden kann, wie er die Daten, welche er gemäß dem Auftrag zu verarbeiten hat, interpretieren muss.

Dadurch wird insbesondere eine effiziente Bekanntgabe von Me- tainformationen (Datenbeschreibung) bewirkt. Nach einer Ausführungsform des Verfahrens ist vorgesehen, dass die Nachrichten in einem Binär-Format vorliegen.

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass eine respektive ein effiziente und schnelle Datenübermittlung respektive Datenaustausch ermöglicht sind.

Gemäß einer Ausführungsform des Verfahrens ist vorgesehen, dass der oder die Dienste ausgewählt aus der folgenden Gruppe von Diensten sind: Archivierung, Datenanalyse, Zustandsüberwa- chung (auf Englisch: Condition-Monitoring) .

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass das Automatisierungssystem eine Archivierung respektive eine Datenanalyse effizient ermöglicht.

Das Konzept des Condition Monitoring (auf deutsch: Zustands- überwachung) basiert auf einer regelmäßigen oder permanenten Erfassung eines Maschinenzustandes durch Messung und Analyse physikalischer Größen, zum Beispiel Schwingungen, Temperaturen, Lage/Näherung.

Nach einer Ausführungsform des Verfahrens ist vorgesehen, dass die mehreren Kommunikationsteilnehmer ausgewählt aus der folgenden Gruppe von Kommunikationsteilnehmern sind: Aktoreinrichtung, insbesondere Antriebseinrichtung, Sensoreinrichtung, Steuerungseinrichtung, Maschinensteuerungseinrichtung, Daten- bankserver, Datensicherungs-Server .

Dadurch wird zum Beispiel der technische Vorteil bewirkt, dass das Automatisierungssystem vielfältig verwendet werden kann.

Eine Aktoreinrichtung umfasst insbesondere einen oder mehrere Motoren respektive Antriebe.

Technische Funktionalitäten des Nachrichtenvermittlers respek ¬ tive des Automatisierungssystems ergeben sich analog aus ent ¬ sprechenden technischen Funktionalitäten des Verfahrens und umgekehrt . Die Formulierung „respektive" umfasst insbesondere die Formu ¬ lierung „und/oder".

Nach einer Ausführungsform ist einer oder sind mehrere Kommunikationsteilnehmer als ein Internet-of-Things-Client ausge ¬ bildet. Die Formulierung „Internet of Things" kann durch „IoT" abgekürzt werden.

Nach einer Ausführungsform umfasst ein Auftrag im Sinne der Beschreibung eine Zeitangabe, für wie lange der oder die

Dienste den Auftrag ausführen sollen.

Beispielsweise gibt der Auftrag an, dass Daten für einen be ¬ stimmten Zeitraum archiviert werden sollen. Nachdem der Zeitraum beendet ist, wird beispielsweise das Archivieren beendet.

Ein Verarbeiten von Daten im Sinne der Beschreibung umfasst insbesondere ein Analysieren von Daten respektive ein Archivieren von Daten. Ein Archivieren von Daten umfasst insbesondere ein Speichern von Daten.

Die Erfindung wird im Folgenden anhand von bevorzugten Ausführungsbeispielen näher erläutert. Hierbei zeigen

Fig. 1 ein Ablaufdiagramm eines Verfahrens zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssys ¬ tems ,

Fig. 2 ein Automatisierungssystem,

Fig. 3 bis 8 jeweils ein Blockdiagramm, welches verschiedene

Schritte in einem Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems illus ¬ triert und Fig. 9 bis 13 jeweils ein Blockdiagramm, verschiedene Schritte in einem weiteren Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems illus ¬ triert .

Im Folgenden können für gleiche Merkmale gleiche Bezugszeichen verwendet werden.

Fig. 1 zeigt ein Ablaufdiagramm eines Verfahrens zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems wobei auf den Kommunikati ¬ onsteilnehmern jeweils eine oder mehrere Publisher-Anwendungen und/oder eine oder mehrere Subscriber-Anwendungen ausgeführt werden, wobei das Automatisierungssystem einen Nachrichtenvermittler umfasst, der ausgebildet ist, Abonnements für angege ¬ bene Themen für benannte Subscriber-Anwendungen in einen Themenbaum einzutragen, umfassend die folgenden Schritte:

- als Reaktion darauf, dass eine Nachricht über ein angege ¬ benes Thema des Themenbaums von einer Publisher-Anwendung eines ersten der mehreren Kommunikationsteilnehmer veröffentlicht wurde, dass der erste Kommunikationsteilnehmer einen oder mehrere Dienste anbietet,

- Ermitteln 101 mittels des Nachrichtenvermittlers, ob eine Subscriber-Anwendung eines zweiten der mehreren Kommunikationsteilnehmer für das angegebene Thema eingetragen ist oder nicht,

- wenn eine Subscriber-Anwendung für das angegebene Thema eingetragen ist, Übermitteln 103 einer Nachricht mittels des Nachrichtenvermittlers, dass der eine oder die mehre ¬ ren Dienste angeboten werden, an die eingetragene Sub ¬ scriber-Anwendung des zweiten Kommunikationsteilnehmers.

Fig. 2 zeigt ein Automatisierungssystem 201.

Das Automatisierungssystem 201 umfasst mehrere Kommunikations ¬ teilnehmer 203 sowie einen Nachrichtenvermittler 209. Einer der Kommunikationsteilnehmer 203 wird nachfolgend als erster Kommunikationsteilnehmer bezeichnet und ist zusätzlich mit dem Bezugszeichen 205 versehen.

Ein anderer der mehreren Kommunikationsteilnehmer 203 wird nachfolgend als zweiter Kommunikationsteilnehmer bezeichnet und ist zusätzlich mit dem Bezugszeichen 207 versehen.

Auf den mehreren Kommunikationsteilnehmern 203 werden jeweils eine oder mehrere Publisher-Anwendungen und/oder eine oder mehrere Subscriber-Anwendungen ausgeführt. Der Nachrichtenvermittler 209 ist ausgebildet, Abonnements für angegebene Themen für benannte Subscriber-Anwendungen in einen Themenbaum einzutragen .

Der Nachrichtenvermittler 209 ist beispielsweise ausgebildet, als Reaktion darauf, dass eine Nachricht über ein angegebenes Thema des Themenbaums von einer Publisher-Anwendung des ersten Kommunikationsteilnehmers 205 veröffentlicht wurde, dass der erste Kommunikationsteilnehmer 205 einen oder mehrere Dienste anbietet, zu ermitteln, ob eine Subscriber-Anwendung des zweiten Kommunikationsteilnehmers 207 für das angegebene Thema eingetragen ist oder nicht.

Der Nachrichtenvermittler 209 ist beispielsweise ausgebildet, wenn eine Subscriber-Anwendung für das angegebene Thema einge ¬ tragen ist, eine Nachricht an die eingetragene Subscriber-An ¬ wendung des zweiten Kommunikationsteilnehmers 207 zu übermit ¬ teln, dass der eine oder die mehreren Dienste angeboten werden .

Die mehreren Kommunikationsteilnehmer 203 sind beispielsweise als IoT-Clients ausgebildet.

Beispielsweise ist der erste Kommunikationsteilnehmer 205 als eine Datenverarbeitungseinrichtung ausgebildet. Der entsprechende Dienst ist in diesem Fall beispielsweise eine Datenana ¬ lyse . Beispielsweise ist der zweite Kommunikationsteilnehmer 207 als eine Sensoreinrichtung ausgebildet. Sensordaten der Sensoreinrichtung 207 werden in diesem Fall beispielsweise unter Verwendung oder unter Vermittlung des Nachrichtenvermittlers 209 an die Datenverarbeitungseinrichtung 205 übermittelt, so dass diese die Sensordaten beispielsweise analysieren, also auswerten, kann.

Fig. 3 bis 8 zeigen jeweils ein Blockdiagramm eines Automati ¬ sierungssystems 301, welches Schritte in einem Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems illustriert.

Das Automatisierungssystem 301 umfasst einen Themenbaum 303, der hierarchisch aufgebaut ist. Das heißt also, dass der The ¬ menbaum 303 mehrere Themen 305 bis 327 umfasst, die beispiels ¬ weise gemäß einer Baumstruktur, die beispielsweise teilweise oder vollständig hierarchisch aufgebaut ist, angelegt sind.

Ein Thema im Sinne der Beschreibung kann auch durch den englischsprachigen Begriff „Topic" ersetzt oder mit diesem bezeichnet werden.

Die einzelnen Topics hängen insbesondere vom konkreten Automa ¬ tisierungssystem ab. Im Folgenden werden Beispiele für mögliche Topics aufgezählt, die gemäß beispielhaften Ausführungs ¬ formen verwendet werden, wobei die Aufzählung nicht einschränkend, sondern lediglich exemplarisch zu verstehen ist:

„Name eines Maschinenbauers", „Name eines Kunden", „Bezeich ¬ nung einer Maschine", „Transportsystem", „Fehlermeldungen", „Statusmeldungen", „Name des Service", „Beschreibung des Service", „Datenbeschreibung", „Kommandobeschreibung", „Parameterbeschreibung" .

Der Maschinenbauer ist beispielsweise ein Hersteller für Automatisierungskomponenten, wie zum Beispiel ein Hardware- oder Softwarehersteller sein. Der Maschinenbauer ist beispielsweise der Hersteller einzelner Maschinen, wobei die Maschinen beispielsweise aus einer Mehrzahl von Automatisierungskomponenten gebildet sind.

Die Kunden sind beispielsweise die Anwender der Produkte des Maschinenbauers .

Eine Maschine ist beispielsweise eine der folgenden Maschinen: Werkzeugmaschine, Schmiedepresse, Spritzgießmaschine, Abfüll ¬ maschine, Industrieroboter.

Ein Transportsystem ist beispielsweise ein Bestandteil einer Maschine des Maschinenbauers.

Eine Aktoreinrichtung umfasst beispielsweise einen oder mehrere Aktoren. Ein Aktor ist beispielsweise einer der folgenden Aktoren: Relais, Ventil.

Eine Sensoreinrichtung umfasst beispielsweise ein oder mehrere der folgenden Elemente: Temperatursensor, Drucksensor,

Lichtsensor, Drehgeber.

Ein Transportsystem umfasst beispielsweise eine oder mehrere Antriebseinrichtungen. Eine Antriebseinrichtung umfasst beispielsweise ein oder mehrere der folgenden Elemente: Schritt ¬ motor, Linearmotor, Synchronmaschine, Asynchronmaschine, Fre ¬ quenzumrichter, Servoverstärker .

Ein Transportsystem umfasst beispielsweise neben zumindest ei ¬ ner Antriebseinrichtung eine Aktoreinrichtung und/oder eine Sensoreinrichtung .

Nachrichten im Sinne der Beschreibung umfasst beispielsweise Daten. Daten umfassen beispielsweise Fehlermeldungen, beispielsweise eine Fehlermeldung einer Maschine. Dann können beispielsweise in vorteilhafter Weise effizient Nachrichten abonniert werden, welche Fehlerereignisse bei bestimmten Ma ¬ schinen/Einrichtungen anzeigen. Generell können auch spezielle Ereignisse separat als Topic bestehen, wie beispielsweise das Erreichen einer Bestimmten Produktionszahl einer Abfüllmaschine. So ist es vorteilhafterweise möglich, relativ schnell einen möglichen Verschleiß der Maschinen festzustellen. Denn in der Regel korreliert eine hohe Produktionszahl mit einer hohen Belastung, was üblicherweise in einem höheren Verschleiß resultiert .

Das Topic 319 in dem beschriebenen Ausführungsbeispiel steht für „Services" also „Dienste". In diesem Teil des Themenbaums 303 werden die von den Kommunikationsteilnehmern bereitgestellten Dienste eingetragen.

Das Automatisierungssystem 301 umfasst einen ersten Kommunikationsteilnehmer 329 sowie einen zweiten Kommunikationsteilnehmer 331. Das Automatisierungssystem 301 umfasst beispielsweise noch weitere Kommunikationsteilnehmer, die der Übersicht halber nicht eingezeichnet sind.

Dadurch, dass der Topic 319 existiert, wissen die Kommunikati ¬ onsteilnehmer, dass generell im Automatisierungssystem 301 Dienste angeboten werden können. Durch das Durchsuchen der relativ zum Topic 319 erzeugten Untertopics können die Kommunikationsteilnehmer an die Information gelangen, wie die Dienste genutzt werden können. Dies soll im Folgenden beispielhaft nä ¬ her erläutert werden.

Der erste Kommunikationsteilnehmer 329 bietet einen Archivierungsdienst für Kommunikationsteilnehmer des Automatisierungs ¬ systems 301 an.

Der erste Kommunikationsteilnehmer 329 veröffentlicht eine Nachricht 339 über ein angegebenes Thema 325, wie der Archi ¬ vierungsdienst genutzt werden kann. Das Thema 325 kann somit als „Beschreibung des Dienstes" respektive „Kommandobeschrei ¬ bung und/oder Parameterbeschreibung" bezeichnet werden. Dieses Veröffentlichen wird symbolisch mittels eines Pfeils mit dem Bezugszeichen 335 dargestellt. Das Automatisierungssystem 301 umfasst einen hier nicht dargestellten Nachrichtenvermittler, der als Reaktion auf das Veröffentlichen der Nachricht 339 das Topic 325 neu anlegt. Die ¬ ses Topic ist ein Untertopic vom Topic 321, welches für „Ar ¬ chiv" steht, also die Art des Dienstes bezeichnet, die der erste Kommunikationsteilnehmer 329 anbietet. Das Topic 321 ist insofern selbst ein Untertopic des Topics 319 „Services", also „Dienste" .

Ein Untertopic eines Topics steht eine Ebene unter dem Topic.

Der zweite Kommunikationsteilnehmer 331 veröffentlicht bei ¬ spielsweise eine Nachricht 337 in das Topic 307. Dieses Veröf ¬ fentlichen ist symbolisch mit einem Pfeil mit dem Bezugszeichen 333 dargestellt.

Der erste Kommunikationsteilnehmer 329 ist mit einem Datenarchiv 341 verbunden, um dort Daten abzulegen, also abzuspeichern .

Der Nachrichtenvermittler erzeugt ein Topic 327, in welchem die Aufträge für den Archivierungsdienst veröffentlicht werden sollen. Die Information, dass Aufträge in dem Topic 327 veröffentlicht werden sollen, ist beispielsweise von der Nachricht 339 umfasst.

Der zweite Kommunikationsteilnehmer 331 ist für das Thema oder Topic 319 eingetragen. Dieses Eintragen ist symbolisch in Fig. 4 mit einem Pfeil mit dem Bezugszeichen 401 gekennzeichnet .

Da der zweite Kommunikationsteilnehmer 331 sich für das übergeordnete Topic 319 eingetragen hat, bekommt er automatisch die Nachricht 339, die für das Topic 325 eingetragen ist, vom Nachrichtenvermittler übermittelt. Dies zeigt symbolisch

Fig. 5 durch einen Pfeil mit dem Bezugszeichen 503.

Der erste Kommunikationsteilnehmer 329 trägt sich weiter auf das Topic „Aufträge"327 ein. Dieses Eintragen ist symbolisch mit einem Pfeil mit dem Bezugszeichen 501 dargestellt (vgl. Fig. 5) .

Aufträge, die von Kommunikationsteilnehmern in dem Topic 327 veröffentlicht werden, werden somit automatisch mittels des Nachrichtenvermittlers an den ersten Kommunikationsteilnehmer 329 übermittelt.

Fig. 6 zeigt exemplarisch, wie der zweite Kommunikationsteil ¬ nehmer 331 einen Auftrag 603 in dem Topic 327 veröffentlicht. Der Auftrag gibt beispielsweise an, dass Daten aus dem Topic 307 für eine bestimmte Zeit, beispielsweise eine Stunde, ar ¬ chiviert werden sollen.

Im Topic 307 werden beispielsweise Messdaten einer Sensoreinrichtung veröffentlicht.

Diesen Auftrag erhält der erste Kommunikationsteilnehmer 329, da er auf dem Topic 327 eingetragen ist. Dies zeigt symbolisch die Fig. 7 durch einen Pfeil mit dem Bezugszeichen 701.

Fig. 8 zeigt exemplarisch, wie sich der erste Kommunikations ¬ teilnehmer 329 auf das Topic 307 gemäß dem Auftrag 603 ein ¬ trägt, damit er die entsprechenden Daten aus dem Topic 307 erhält. Entsprechend übermittelt dann der Nachrichtenvermittler die entsprechenden Daten des Topics 307 an den ersten Kommunikationsteilnehmer 329. Diese Daten aus dem Topic 307 sind gemäß Fig. 8 mit dem Bezugszeichen 803 bezeichnet.

Der erste Kommunikationsteilnehmer 329 archiviert diese Daten 803 im Datenarchiv 341, was symbolisch mit einem Pfeil mit dem Bezugszeichen 805 dargestellt ist.

Das Archivieren wird beispielsweise nach einer vorbestimmten Dauer beendet, sofern dies im Auftrag angegeben ist.

Fig. 9 bis 13 zeigen jeweils ein Blockdiagramm des Automatisierungssystems 301, welches jeweils Schritte in einem weite- ren Verfahren zum Steuern einer Nachrichtenübermittlung zwischen Kommunikationsteilnehmern eines Automatisierungssystems zeigt .

Der erste Kommunikationsteilnehmer 329 bietet einen weiteren Dienst an, der im Datenarchiv 341 archivierte Daten anderen Kommunikationsteilnehmern bereitstellen kann. Der weitere Dienst kann beispielsweise als ein Datenbereitstellungsdienst bezeichnet werden.

Der erste Kommunikationsteilnehmer 329 veröffentlicht eine Nachricht 905 über ein angegebenes Thema 909, wie der Datenbe ¬ reitstellungsdienst genutzt werden kann. Das Thema 909 kann somit als „Beschreibung des Dienstes" respektive „Kommandobe ¬ schreibung und/oder Parameterbeschreibung" bezeichnet werden. Dieses Veröffentlichen wird symbolisch mittels eines Pfeils mit dem Bezugszeichen 903 dargestellt.

Der Nachrichtenvermittler legt als Reaktion auf das Veröffentlichen der Nachricht 905 das Topic 909 neu an. Dieses Topic ist ein Untertopic von einem Topic 907, welches für „Datenbe ¬ reitstellung" steht, also die Art des Dienstes bezeichnet, die der erste Kommunikationsteilnehmer 329 anbietet. Das Topic 907 ist insofern selbst ein Untertopic des Topics 319 „Services", also „Dienste".

Der Nachrichtenvermittler erzeugt ein Topic 911, in welchem die Aufträge für den Datenbereitstellungsdienst veröffentlicht werden sollen. Die Information, dass Aufträge in dem Topic 911 veröffentlicht werden sollen, ist beispielsweise von der Nach ¬ richt 905 umfasst.

Der zweite Kommunikationsteilnehmer 331 ist weiterhin für das Topic 319 „Services" abonniert, was symbolisch mit einem Pfeil mit dem Bezugszeichen 901 dargestellt ist.

Da der zweite Kommunikationsteilnehmer 331 auf das Topic 319 abonniert ist, erhält er somit auch automatisch vom Nachrichtenvermittler die Nachricht 905. Der erste Kommunikationsteilnehmer 329 abonniert zusätzlich zum Topic 327 auch das Topic 911, in welchen die entsprechenden Aufträge veröffentlicht werden, um diese automatisch zu erhalten .

Dieses Abonnieren ist in Fig. 10 symbolisch mit Pfeilen mit den Bezugszeichen 1001 und 1003 dargestellt.

Das Übermitteln der Nachrichten 339 respektive 905 an den zweiten Kommunikationsteilnehmer 331 ist in Fig. 10 symbolisch mit Pfeilen mit den Bezugszeichen 503 respektive 1005 darge ¬ stellt.

Der zweite Kommunikationsteilnehmer 331 veröffentlicht bei ¬ spielsweise einen Auftrag 1103 im Topic 911. Der Auftrag 1103 gibt beispielsweise an, dass alle im Datenarchiv 341 archi ¬ vierten Daten bezüglich des Topics 315, die ein Datum aufweisen, das innerhalb eines bestimmten Zeitraums liegt, in ein Topic 1203 veröffentlicht werden sollen, wobei das Topic 1203 mittels des Nachrichtenvermittlers erzeugt wird (vgl. Fig. 11 und 12 ) .

Das Veröffentlichen des Auftrags 1103 ist in Fig. 11 symbo ¬ lisch mit einem Pfeil mit dem Bezugszeichen 1101 dargestellt.

Der erste Kommunikationsteilnehmer 329 erhält aufgrund des entsprechenden Abonnements automatisch Aufträge, die in den Topics 327 und 911 veröffentlicht wurden. Dieses Übermitteln mittels des Nachrichtenvermittlers an den ersten Kommunikati ¬ onsteilnehmer 329 ist in Fig. 11 symbolisch mit einem Pfeil mit dem Bezugszeichen 1105 und 1107 dargestellt.

Fig. 12 zeigt, dass sich der zweite Kommunikationsteilnehmer 331 für das Topic 1203 abonniert hat, um Daten, die der erste Kommunikationsteilnehmer dort veröffentlicht hat, zu erhalten.

Dieses Abonnieren ist in Fig. 12 symbolisch mit einem Pfeil mit dem Bezugszeichen 1201 dargestellt. Der erste Kommunikationsteilnehmer 329 liest gemäß dem Auftrag 1103 die entsprechenden Daten 1301 aus dem Datenarchiv 341 aus und veröffentlicht diese im Topic 1203, von welchem die Daten 1301 mittels des Nachrichtenvermittlers an den zweiten Kommu ¬ nikationsteilnehmer 331 übermittelt werden.

Das Veröffentlichen der Daten 1301 im Topic 1203 ist in

Fig. 13 symbolisch mit einem Pfeil mit dem Bezugszeichen 1303 dargestellt .

Das Übermitteln der Daten aus dem Topic 1203 an den zweiten Kommunikationsteilnehmer 331 ist in Fig. 13 symbolisch mit einem Pfeil mit dem Bezugszeichen 1305 dargestellt.

Für die einzelnen Schritte des Veröffentlichens respektive Eintragens werden auf den entsprechenden Kommunikationsteil ¬ nehmern eine oder mehrere Publisher-Anwendungen und/oder eine oder mehrere Subscriber-Anwendungen ausgeführt.

Das erfindungsgemäße Konzept wird im Folgenden weiter anhand einer Briefstation, auf welche mehrere Kommunikationsteilnehmer eines Automatisierungsnetzwerks Zugriff haben, weiter er ¬ läutert .

Für die nachfolgenden Ausführungen bezeichnen die IoT-Clients Kommunikationsteilnehmer. Ein Dienst-anbietender IoT-Client ist ein erster Kommunikationsteilnehmer gemäß dieser Beschreibung. Ein Dienst-nehmender IoT-Client ist ein zweiter Kommunikationsteilnehmer gemäß dieser Beschreibung. Der Message Broker entspricht dem Nachrichtenvermittler.

Ferner wird für den deutschen Begriff „Veröffentlichen" in den nachfolgenden Ausführungen der englische Begriff „Publish" verwendet. Für den deutschen Begriff „Abonnieren" wird nachfolgend der englische Begriff „Subscribe" verwendet. Der Begriff „Topic" entspricht dem Begriff „Thema" gemäß die ¬ ser Beschreibung. Ein Storage Provider beschreibt einen Archivierungsdienst .

Ein Dienst kann auch als ein „Service" bezeichnet werden.

Für die Kommunikation von diversen IoT Clients über einen Message Broker wird die Topic Struktur (Baumstruktur oder Themenbaum) so definiert, dass sie für die Automatisierungstechnik als zentrale Kommunikationsverwaltungsstruktur verwendet werden kann. IoT Clients können so nicht nur Daten senden und empfangen, sondern auch beliebige Dienste wie zum Beispiel eine Langzeitarchivierung von Daten für andere IoT Clients, welche beispielsweise Daten analysieren (, was beispielsweise ebenfalls ein Service (Dienst) sein kann), anbieten.

Ein Topic "Service" weist beispielsweise als Untertopics ein Topic "Kommandobeschreibung" und ein Topic "Ergebnis" auf. Im Topic "Kommandobeschreibung" ist die Information veröffentlicht, welche Kommandos (und beispielsweise zusätzlich, welche Parameter) der Dienst erwartet. Im Topic „Ergebnis" werden die Ergebnisses, also der Output, des Dienstes veröffentlicht. Das Topic "Kommandobeschreibung" kann beispielsweise als ein "Com- mand"-Topic bezeichnet werden. Das Topic "Ergebnis" kann bei ¬ spielsweise als ein "Result"-Topic bezeichnet werden.

Ein Dienst-anbietender IoT Client published die möglichen Dienste und ihre Beschreibung zu einem durch beispielsweise Keywords (Schlüsselwörter) definierten Topic am Message Broker. Gleichzeitig kennt der Dienst-anbietende IoT Client das Topic, auf dem ein Dienst-nehmender IoT Client ein Kommando zur Ausführung eines Dienstes publishen würde (wieder aufgrund der Keywords) . Auf dieses Command-Topic subscribed sich der Dienst-anbietende IoT Client automatisch. Beispielsweise kann das Command-Topic auch ein Sub-Topic des Dienst-Topics sein, muss es aber nicht. In einem Command-Topic können beispiels ¬ weise auch Result-Topics angegeben werden, in denen die Ergeb ¬ nisse der ausgeführten Dienste hinterlegt werden können.

Grundsätzlich erfolgt die Identifikation von relevanten Topics an einem beliebigen Message Broker über Keywords oder eine Verschachtelung von Keywords innerhalb der Topic-Architektur .

Die Keywords werden den IoT Clients beispielsweise zuvor be ¬ kannt gemacht. IoT Clients sind insbesondere in der Lage sich auf alle Topics eines Message Brokers zu subscriben, so können sie in vorteilhafter Weise nach Keywords und Topic-Strukturen suchen .

Der Dienst-nehmende IoT Client subscribed sich beispielsweise automatisch auf Topics, an denen Dienste angeboten werden. Dadurch weiß der Dienst-nehmende IoT Client, welche Dienste angeboten werden, wie die Dienste aufgebaut sind und was diese für Kommandos und Parameter erwarten. Des Weiteren weiß der Dienst-nehmende IoT Client, an welches Topic er sein Kommando zur Ausführung des Dienstes publishen muss (wie bereits be ¬ schrieben, hat sich der Dienst-anbietende IoT Client automa ¬ tisch auf dieses Topic subscribed) .

Durch die Festlegung dieser Kommunikationsstrukturen können IoT Clients über einen zentralen Message Broker Daten, Dienste und auch Kommandos austauschen. Dies ist ein besonderer Vorteil, da für eine direkte Kommunikation von IoT Client zu IoT Client bei einer Publisher/Subscriber Kommunikation zunächst keine Regeln definiert sind.

Da in der Automatisierungstechnik typischerweise in schnellen Zyklen Daten ausgetauscht werden, ist es für die IoT-Kommuni- kation sinnvoll - wenn auch nicht notwendig - Daten in einem Binär-Format auszutauschen. Die zuvor beschriebene Architektur der Topics und der darüber ermöglichte Zugang zu Services von diversen IoT Clients sind auch bei der Nutzung anderer Datenformate gültig.

Sollte jedoch für höchste Performance-Ansprüche eine Binär- Zeichenkette gewählt werden, ist beispielsweise die Nutzung von Retain-Topics eines Message Brokers eines Automatisie ¬ rungssystems vorgesehen, da in diesem Fall eine Datenbeschrei ¬ bung der Binär-Zeichenkette zugänglich gemacht werden muss. Ein Retain-Topic bezeichnet einen Topic, in welchem Nachrich ¬ ten gespeichert bleiben, auch wenn sich momentan keine Sub- scriber-Anwendung für das Topic subscribed hat.

Nur so ist für jeden IoT Client eine einwandfreie Interpreta ¬ tion der Daten möglich. Die Datenbeschreibung wird vom Daten- Erzeuger in ein Retain-Topic published. Dass es sich um ein Retain-Topic handelt, wird dem Message Broker über einen ent ¬ sprechenden Hinweis in der Nachricht mitgeteilt. Die Daten des Retain-Topics werden im Gegensatz zu Daten anderer normaler Topics weiter vom Message Broker gehalten, auch wenn sich kein anderer IoT Client aktuell für die Daten interessiert, also „subscribed" ist. So kann sich ein auf normale Topics verbin ¬ dender IoT Client (Daten-Empfänger) immer auf eine aktuell gültige Datenbeschreibung für die Binär-Zeichenkette subscri- ben. Retain-Topics können auch Sub-Topics von normalen Topics sein, wodurch die Beschreibung von Daten auch unter dem eigentlichen Daten-Topic liegen kann - sie kann aber auch davon losgelöst sein.

Wenn die Datenbeschreibung in einem Retain Topic liegt, kann in vorteilhafter Weise der Kommunikationsaufwand deutlich re ¬ duziert werden. Der Daten-Erzeuger muss die Beschreibung nur einmal senden und der Daten-Empfänger muss sie sich nur einmal anschauen, um dann fortlaufend die Daten interpretieren zu können. Die Datenbeschreibung ist allerdings beispielsweise nur so lange gültig, bis es auf dem Daten-Erzeuger (zum Bei ¬ spiel eine Steuerungseinheit oder eine Steuerungseinrichtung) zu einer entsprechenden Änderung der Datenbeschreibung kommt.

In einem Automatisierungssystem können das bei Steuerungseinheiten beispielsweise neue Code-Downloads oder sogenannte On ¬ line-Änderungen sein. Online-Änderungen sind beispielsweise Änderungen des Steuerungsprogramms, welche während des Be ¬ triebs der Steuerungseinheit durchgeführt werden. Durch diese Aktionen gibt es eine neue Datenbeschreibung, die der Datenerzeugende IoT Client direkt wieder auf das Retain-Topic pub ¬ lished. Dort wird dann die Datenbeschreibung aktualisiert und jeder IoT Client, der sich zuvor auf die Datenbeschreibung subscribed hat, wird entsprechend informiert. Die korrekte In ¬ terpretation der Daten ist dadurch auch bei Änderungen der Datenbeschreibung gewährleistet.

Das erfindungsgemäße Konzept soll im Folgenden weiter am Bei ¬ spiel eines Datenarchiv-Anbieters erläutert werden. Der Daten ¬ archiv-Anbieter wird nachfolgend mit dem englischen Begriff „Storage provider" bezeichnet.

Eine Maschinensteuerung ist als IoT Client konfiguriert. Nach der Aktivierung des Automatisierungssystems wird die Kommuni ¬ kation mit einem IoT Message Broker in einem Netzwerk aufgenommen. Die Maschinensteuerung published zyklisch Daten in einem Binär-Format an ein normales Topic am Message Broker. Die ¬ ses Topic kann beispielsweise so aussehen: „Maschinen- bauer/Kunde5/Maschinel8/Transportsystem/Daten" . Dazu published die Maschinensteuerung zunächst einmalig eine gültige Be ¬ schreibung der Daten an ein Retain-Topic . Diese Beschreibung ist notwendig, um anderen IoT Clients eine Interpretation der Binärdaten zu ermöglichen.

Der Storage Provider ist ein IoT Client, der als Gateway zu verschiedenen Storages (Datenarchiven) fungiert. Auch er verbindet sich auf den Message Broker und bietet dort Dienste an, die er in einem festgelegten Service-Topic angibt, wie bspw.: „CSP_Maschinenbauer/Kunde5/Storage/Services" . In weiteren Sub- Topics kann er eine Beschreibung der Dienste hinterlegen oder Kommandos von anderen IoT Clients empfangen. So müssen andere IoT Clients im Vorfeld nicht wissen, welche Dienste angeboten werden, sondern können diese ohne Vorkenntnisse auslesen. In diesem Beispiel bietet der Storage Provider die Dienste Recor- dData (Datenarchivierung) und GetHistoricalData (Archivdaten- bereitsteilen) an.

Ein dritter IoT Client ist ein Analyse-PC. Der Analyse-PC ver ¬ bindet sich ebenfalls mit dem Message Broker. Er kann auf Ba ¬ sis von festgelegten Keywords in der Topic-Architektur unter anderem die Dienst- und Beschreibungs-Topics des Storage Pro ¬ viders und die Daten- und Beschreibungs-Topics der Maschinen ¬ steuerung finden. Der Analyse-PC sieht so, dass der Storage Provider unter anderem einen RecordData Dienst anbietet. So kann der Analyse-PC jetzt auslesen, wie der Dienst beschrieben ist und welche Kommandos und Parameter er erwartet. Für Recor ¬ dData erwartet er beispielsweise zwei Parameter: StartRecord zum Start der Aufnahme und das Topic der aufzunehmenden Daten.

In einem „Beschreibungs"-Topic werden beispielsweise die Kom ¬ mandos (also die Kommandobeschreibung) und/oder die Parameter (also die Parameterbeschreibung) veröffentlicht, die der

Dienst zu seiner Nutzung erwartet. Das „Beschreibungs"-Topic kann also als ein kombinierter „Kommando"/"Parameter"-Topic bezeichnet werden.

Also schickt der Analyse-PC ein StartRecord (englisches Kom ¬ mando für: „Starte das Archivieren") und das Topic „Maschinen- bauer/Kunde5/Maschinel8/Transportsystem/Daten" der Maschinensteuerung an das Topic „CSP_Maschinenbauer/Kunde5/Storage/Ser- vices/RecordData/Command" . Der Storage Provider erwartet auf ¬ grund seiner Service-Beschreibung genau an diesem Topic die Kommandos und hat sich automatisch darauf subscribed. Die Da ¬ tenbeschreibung kann der Storage Provider automatisch aufgrund der Keywords bevorzugt in einem Sub-Topic des Daten-Topics identifizieren.

Alternativ oder zusätzlich kann dies ein dritter Parameter in dem empfangenen Kommando sein. Der Storage Provider subscribed sich nun auf die Daten, die von der Maschinensteuerung zum Message Broker published werden, und legt sie beispielsweise bis zu dem Erhalt eines StopRecord Kommandos kontinuierlich in den nachgeschalteten Storage, wo er auch zunächst einmalig die Datenbeschreibung hinterlegt.

Möchte der Analyse-PC nun historische Daten auswerten, kann er ein Kommando an den Service „GetHistoricalData" (englisches Kommando für: „stelle archivierte Daten bereit") respektive an das entsprechende Command-Topic des Storage Providers schi ¬ cken. Auch hier gibt es beispielsweise individuell mögliche Parameter, welche übergeben werden können. Für einen GetHisto- ricalData Service können dies beispielsweise sein:

- Daten (zum Beispiel Auswahl zuvor aufgezeichneter Variablen) ,

- Zeitraum (zum Beispiel von 12 Uhr am 05.01.2016 bis 12 Uhr am 07.01.2016),

- Result-Topic, in das der Storage Provider die Daten aus dem Storage publishen soll.

Der Analyse-PC published das Kommando und subscribed sich so ¬ gleich auf das von ihm selbst im Kommando erwähnte Result-To ¬ pic, um dort die Daten vom Storage Provider zu empfangen. Auf der Seite des Storage Providers findet der gleiche Mechanismus wie bei dem Dienst RecordData statt, allerdings holt er dieses Mal Daten aus dem Storage, um sie in das Result-Topic zu pub ¬ lishen, anstatt Daten in den Storage reinzuschreiben.

Wenn sich jetzt ohne jeglichen Informationsaustausch die Datenbeschreibung auf der Maschinensteuerung ändert, können alle anderen IoT Clients, die mit den Daten der Maschinensteuerung gearbeitet haben, diese ab dem Zeitpunkt der Änderung nicht mehr fehlerfrei oder gar nicht mehr interpretieren. Daher ist es vorgesehen, bei Änderungen die Datenbeschreibung auf dem Retain-Topic zu aktualisieren. Wird beispielsweise eine in ei ¬ nem Automatisierungssystem übliche Online-Änderung des Steuerungsprogramms durchgeführt, ändert sich die Datenbeschrei ¬ bung. Die Maschinensteuerung published dann die aktualisierte Beschreibung an das Retain-Topic. Dieses wird immer noch von dem Message Broker gehalten und die anderen IoT Clients sind nach wie vor auf das Topic subscribed. Die Datenbeschreibung wird am Retain-Topic überschrieben, alle subscribeden IoT Clients erhalten eine Kopie der neuen Beschreibung. Der Storage Provider würde dies beispielsweise erkennen und in seinem Sto ¬ rage ab dem entsprechenden Zeitpunkt eine neue Datenbeschrei ¬ bung zusätzlich ablegen. So können immer korrekt die Daten interpretiert und auch nach einer Datenbeschreibungs-Änderung fehlerfrei historische Daten über den zentralen Message Broker an den Analyse-PC kommuniziert werden.

Das erfindungsgemäße Konzept wird weiter anhand einer

Briefstation näher erläutert, wobei die im Zusammenhang mit der Briefstation beschriebenen Topics respektive Nachrichten als Platzhalter für Topics respektive Nachrichten stehen, wie sie im Zusammenhang mit Automatisierungssystemen und dessen Elemente verwendet werden, also zum Beispiel: Maschine, Feh ¬ lermeldungen, Datenarchivierung (vgl. auch Ausführungen weiter oben) .

Es ist beispielsweise vorgesehen, dass es Nutzer ( IoT-Clients ) einer Briefstation gibt, die anderen Nutzern einen Service anbieten möchten. Beispielsweise ist zum Beispiel ein Brief-Archivierungs-Service Archive vorgesehen. Der Nutzer bietet also an, auf Anfrage alle Briefe eines Themenbereichs zu archivie ¬ ren. Da sich die Nutzer untereinander nicht kennen und keine direkte Nutzer-zu-Nutzer-Kommunikation möglich ist, erstellt der Service einen Brief, in dem er seinen Service beschreibt, und legt (published) diesen in ein explizites Service-Postfach (Topic „Service") . Die anderen Nutzer können sich in diesem Servicepostfach über angebotene Services informieren, indem sie das Postfach abonnieren (sich darauf subscriben) und so die neusten Service-Beschreibungs-Briefe zugestellt bekommen. Sie wissen natürlich, dass dieses Service-Postfach existiert, unter welchem Topic oder welcher definierten Topic-Struktur sie es finden und wie sie damit umgehen können.

Der Brief, in dem der Service-Anbieter seinen Archivierungs- Service beschreibt, umfasst beispielsweise alle für einen po ¬ tentiellen Nutzer relevanten Informationen, sodass dieser den Service ohne Vorwissen nutzen kann. Elementar sind dabei Informationen über Name und Standort des Postfachs (also das To ¬ pic) , in dem ein Auftrag erteilt werden kann und über die Pa ¬ rameter, die zur Durchführung des Auftrags benötigt werden (bspw. Start-Zeitpunkt, Zeitraum der Archivierung, zu archivierendes Topic) . Möchte ein Nutzer den Archivierung-Service in Anspruch nehmen, um beispielsweise alle Briefe zum Topic Tiere archivieren zu lassen, legt er einen Auftragsbrief mit den benötigten Informationen in das angegebene Auftrags-Ertei- lungs-Postfach . Dieses Postfach ist praktischerweise ein „Unter-Postfach" (Sub-Topic) des Archivierungs-Service-Postfachs und hat somit eine Adresse wie beispielsweise BriefSta ¬ tion/Services/Archive/Aufträge .

Der Service-Anbieter hat dieses Auf räge-Postfach abonniert, sodass er die Auftragserteilung mitbekommt. Er startet dann zum angegebenen Zeitpunkt mit der Archivierung der angegebenen Themen. Wo und auf welche Weise der Archivierungsservice die Archivierung durchführt, weiß der Nutzer nicht. Jedenfalls abonniert der Archivierungs-Service nun alle Briefe zum ange ¬ gebenen Thema und legt Kopien davon sortiert in seinem Archiv (Datenbank) ab.

Beispielsweise ist vorgesehen, dass der Nutzer den Dienst stoppen möchte. Auch dies tut er über das Aufträge-Postfach. Dann ist es natürlich sinnvoll, dass der Serviceanbieter einen weiteren Service anbietet, mit dem ein Nutzer Zugriff auf die archivierten Daten - oder einen ausgewählten Teil davon - erhalten kann. Ein solcher Zugriff kann aber weiterhin nicht direkt erfolgen: Der Nutzer kann weder direkt auf die Archivierungsdatenbank zugreifen, noch direkt mit dem Nutzer kommunizieren - das geht nur über einen zentralen Knotenpunkt, die Briefstation .

Der Serviceanbieter bietet also den Service GetArchived an. Er muss vom Nutzer erfahren, welche Briefe aus welchem Zeitraum angefragt werden und in welches (neue) Postfach er die Daten legen soll. Der Nutzer gibt in seinem Auftragsbrief beispiels ¬ weise an, dass er alle Briefe vom 11.07.2016, 0:00 Uhr bis zum 12.07.2016, 9:00 Uhr zum Thema Briefstation/Na ¬ tur/Tiere/Schmetterlinge erhalten möchte. Es ist anzumerken, dass zuvor alle Briefe zum Thema Briefstation/Natur/Tiere ar ¬ chiviert wurden und der Archivierer somit sein Archiv so aufbauen muss, dass er auch einzelne Unterthemen wiederfindet und ausgeben kann. Als Ziel-Postfach nennt der Nutzer das Postfach Briefsta- tion/MeineAltenBriefe und abonniert (subscribed) dieses zu ¬ gleich. Der GetArchived-Service erhält den Auftragsbrief und beginnt gleich damit, die passenden archivierten Briefe herauszusuchen und Kopien davon in das Postfach MeineAltenBriefe zu legen.

Nun ist es beispielsweise vorgesehen, dass der GetArchived- Service die Briefe einzeln in der richtigen Reihenfolge und gegebenenfalls in einer hohen Geschwindigkeit in das Postfach MeineAltenBriefe legt. Eine weitaus schnellere Ausführungsform ist, dass der GetArchived-Service mehrere Briefe gebündelt in einem Paket an das Postfach schickt, sodass die Geschwindig ¬ keit nochmal um ein Vielfaches erhöht werden kann.

Auch ein anderer Nutzer kann die archivierten Briefe vom Archivierungs-Service abrufen.

In einer weiteren Ausführungsform ist vorgesehen, dass ein Service-Anbieter seinen Service nicht in einem Service-Postfach anbietet, sondern direkt an die Postfächer , anhängt λ , für die er seinen Service anbieten kann. Im Falle des Archivie ¬ rungsservice legt also ein Nutzer regelmäßig Briefe zu einem Thema in das entsprechende Postfach ab und sucht in dem ent ¬ sprechenden Postfach nach einem Service. Diesen kann er dann in der wie oben beschriebenen Weise nutzen, wobei er weniger Parameter angeben müsste. Welcher der beiden beschriebenen Ausführungsformen besser geeignet ist, hängt insbesondere von der Art des Service ab.

Zusammenfassend stellt die Erfindung ein Konzept zum

effizienten Bereitstellen und effizienten Nutzen von Diensten durch IoT-Clients für die Automatisierung, also für ein

Automatisierungssystem, basierend auf einer

Publisher/Subscriber-Kommunikation bereit .