Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DATA COMMUNICATION BETWEEN SUBSCRIBERS IN AN AUTOMATION NETWORK, MASTER SUBSCRIBER FOR AN AUTOMATION NETWORK, AND AUTOMATION NETWORK
Document Type and Number:
WIPO Patent Application WO/2021/105132
Kind Code:
A1
Abstract:
The invention relates to a method (200) for real-time-compatible data communication between subscribers in an automation network (100), wherein the automation network (100) comprises a master subscriber (101), multiple slave subscribers (103) and at least one connecting unit (A), the method (200) comprising the method steps of: the master subscriber (101) arranging n data packets that are to be transmitted in an order of transmission with a total allocation period for the order of transmission in a first arrangement step (201), the master subscriber (101) performing an optimization method for determining an optimized order of transmission with a minimum total allocation period in an optimization step (203), and the master subscriber (101) transmitting the n data packets to the slave subscribers (103) in the optimized order of transmission in a transmission step (205). The invention also relates to a master subscriber (101) for carrying out the method (200) and to an automation network (100) having a master subscriber (101).

Inventors:
WEBER KARL (DE)
Application Number:
PCT/EP2020/083231
Publication Date:
June 03, 2021
Filing Date:
November 24, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BECKHOFF AUTOMATION GMBH (DE)
International Classes:
H04L69/14; H04L12/403
Domestic Patent References:
WO2013130778A12013-09-06
Foreign References:
DE102014112082A12016-02-25
DE102018001574A12019-08-29
US20110153889A12011-06-23
Other References:
WISNIEWSKI ET AL.: "Scheduling of PROFINET IRT Communication in Redundant Network Topologies", CONFERENCE: 12TH IEEE WORLD CONFERENCE ON FACTORY COMMUNICATION SYSTEMS, AT AVEIRO, PORTUGAL
Attorney, Agent or Firm:
PATENTANWALTSKANZLEI WILHELM & BECK (DE)
Download PDF:
Claims:
Ansprüche

1. Verfahren (200) zur echtzeitfähigen Datenkommunikation zwischen Teilnehmern in ei nem Automatisierungsnetzwerk (100), wobei das Automatisierungsnetzwerk (100) einen Masterteilnehmer (101), mehrere Slaveteilnehmer (103) und wenigstens eine Verbin dungseinheit (105) umfasst, die über ein Datenleitungsnetz (115) miteinander verbunden sind, wobei der Masterteilnehmer (101) ausgebildet ist, an die Slaveteilnehmer (103) zur Datenkommunikation Datenpakete in einem Umlauf auszusenden, in dem die Datenpa kete vom Masterteilnehmer (101) an die Slaveteilnehmer (103) ausgesendet und Daten pakete von den Slaveteilnehmern (103) an den Masterteilnehmer (101) gesendet werden, und wobei die Verbindungseinheit (105) ausgebildet ist, an die Slaveteilnehmer (103) adressierte Datenpakete weiterzuleiten und die Datenpakete an den Masterteilnehmer (101) zurückzuleiten, wobei das Verfahren (200) die Verfahrensschritte umfasst: Anordnen durch den Masterteilnehmer (101) von n auszusendenden Datenpaketen in ei ner Sendereihenfolge mit einer Gesamtbelegungszeitdauer der Sendereihenfolge in ei nem ersten Anordnungsschritt (201), wobei die Gesamtbelegungszeitdauer einen Zeit raum vom Aussenden durch den Masterteilnehmer (101) eines ersten Bits eines zuerst ausgesendeten Datenpakets bis zu einem Empfangen durch den Masterteilnehmer eines letzten Bits eines zuletzt empfangenen Datenpakets umfasst,

Durchführen durch den Masterteilnehmer (101) eines Optimierungsverfahrens zum Be stimmen einer optimierten Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer in einem Optimierungsschritt (203), wobei das Optimierungsverfahren eine endliche Anzahl von maximal n*(n-1)/2 paarweisen Vertauschungen von Reihenfolgen von in der Sen dereihenfolge aufeinanderfolgenden n Datenpaketen und Bestimmungen der durch die Vertauschungen bewirkten Gesamtbelegungszeitdauern der Sendereihenfolge umfasst, und

Aussenden durch den Masterteilnehmer (101) der n Datenpakete in der optimierten Sen dereihenfolge an die Slaveteilnehmer (103) in einem Sendeschritt (205).

2. Verfahren (200) nach Anspruch 1, wobei der erste Anordnungsschritt (201) umfasst: Anordnen der n Datenpakete in einer absteigenden Sendereihenfolge mit absteigenden Individualumlaufzeitdauern der n Datenpakete in einem zweiten Anordnungsschritt (207), wobei in der absteigenden Sendereihenfolge ein Datenpaket mit längster Individualum laufzeitdauer an erster und ein Datenpaket mit kürzester Individualumlaufzeitdauer an letzter Position der Sendereihenfolge angeordnet ist, und wobei die Individualumlaufzeit- dauer eines jeden Datenpakets einen Zeitraum vom Aussenden durch den Masterteilneh mer (101) eines ersten Bits des Datenpakets bis zu einem Empfangen durch den Master teilnehmer (101) eines letzten Bits des Datenpakets umfasst.

3. Verfahren (200) nach Anspruch 2, wobei der erste Anordnungsschritt (201) ferner um fasst:

Bestimmen einer ersten Empfangszeitmarkierung für jedes der n Datenpakete der abstei genden Sendereihenfolge in einem ersten Bestimmungsschritt (209), wobei die erste Empfangszeitmarkierung eines beliebigen Datenpakets einer Sendereihenfolge ein Zeit punkt eines Empfangens des ersten Bits des jeweiligen Datenpakets ist, und wobei ein Wert der ersten Empfangszeitmarkierung einen Zeitraum vom Aussenden durch den Mas terteilnehmer (101) des ersten Bits des ersten Datenpakets der Sendereihenfolge bis zum Empfangen durch den Masterteilnehmer (101) des ersten Bits des jeweiligen Datenpakets der Sendereihenfolge umfasst, und Bestimmen einer zweiten Empfangszeitmarkierung für jedes der n Datenpakete der absteigenden Sendereihenfolge, wobei die zweite Emp fangszeitmarkierung einer Summe aus dem Wert der ersten Empfangszeitmarkierung und einer Individualbelegungszeitdauer des Datenpakets entspricht, wobei die Individualbele gungszeitdauer eines Datenpakets einen Zeitraum vom Aussenden eines ersten Bits des Datenpakets zu einer ersten Aussendezeitmarkierung bis zum Aussenden eines letzten Bits des Datenpakets zu einer zweiten Aussendezeitmarkierung umfasst, wobei die erste Aussendezeitmarkierung ein Zeitpunkt des Aussendens des ersten Bits des jeweiligen Datenpakets ist, und wobei die zweite Aussendezeitmarkierung ein Zeitpunkt des Aussen dens des letzten Bits des Datenpakets ist;

Anordnen der n Datenpakete der absteigenden Sendereihenfolge in einer ansteigenden Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung der n Datenpakete in einem dritten Anordnungsschritt (211), wobei in der ansteigenden Sendereihenfolge ein Datenpaket mit kleinster erster Empfangszeitmarkierung an erster Position und ein Daten paket mit größter erster Empfangszeitmarkierung an letzter Position angeordnet ist; und Bestimmen einer korrigierten ersten Empfangszeitmarkierung und einer korrigierten zwei ten Empfangszeitmarkierung für ein Datenpaket in der ansteigenden Sendereihenfolge in einem Korrekturschritt (213), falls die erste Empfangszeitmarkierung des Datenpakets frü her ist als die zweite Empfangszeitmarkierung eines in der ansteigenden Sendereihen folge vor dem Datenpaket angeordneten Datenpakets, wobei die korrigierte erste Emp fangszeitmarkierung des Datenpakets der zweiten Empfangszeitmarkierung des vor dem Datenpaket angeordneten Datenpakets entspricht, und wobei die korrigierte zweite Emp fangszeitmarkierung des Datenpakets einer Summe aus der korrigierten ersten Emp fangszeitmarkierung und der Individualbelegungszeitdauer des Datenpakets entspricht. 4. Verfahren nach Anspruch 3, wobei der erste Anordnungsschritt (201) umfasst: Bestimmen eines Sende-Offsets für jedes Datenpaket in einem zweiten Bestimmungs schritt (215), wobei der Sende-Offset eines Datenpakets einer Summe der Individualbele gungszeitdauern der in der Sendereihenfolge dem Datenpaket vorgeordneten Datenpa kete entspricht, und

Anordnen der n Datenpakete in der absteigenden Sendereihenfolge in einem vierten An ordnungsschritt (217) derart, dass ein Aussenden eines ersten Bits eines Datenpakets um den Sende-Offset des Datenpakets gegenüber dem Aussenden eines ersten Bits des ers ten Datenpakets der absteigenden Sendereihenfolge verzögert ist.

5. Verfahren (200) nach einem der voranstehenden Ansprüche, wobei der Optimierungs schritt (203) umfasst:

Vertauschen der Reihenfolge eines i-ten Datenpakets und eines auf das i-te Datenpaket folgenden i+1-ten Datenpakets in einer m-ten Sendereihenfolge der n Datenpakete mit ei ner m-ten Gesamtbelegungszeitdauer der m-ten Sendereihenfolge und Bilden einer m+1- ten Sendereihenfolge mit einer m+1-ten Gesamtbelegungszeitdauer, wobei in der m+1- ten Sendereihenfolge die Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets vertauscht ist, und wobei gilt 1<i<n-1 und n>3, wobei i, m, n, k Natürliche Zahlen sind, in einem ersten Vertauschungsschritt (219),

Überprüfen, ob die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbe legungszeitdauer in einem ersten Überprüfungsschritt (221); falls die m+1-te Gesamtbelegungszeitdauer nicht kürzer ist als die m-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets und Wiederherstellen der m-ten Sendereihenfolge in einem ersten Zurückvertauschungs schritt (223);

Überprüfen, ob gilt: i=n-1 in der m-ten Sendereihenfolge in einem zweiten Überprüfungs schritt (225);

Falls gilt: i=n-1,

Aussenden der n Datenpakete auf Basis der m-ten Sendereihenfolge in dem Sendeschritt (205); falls nicht gilt: i=n-1 ,

Setzen von i=i+1 in der m-ten Sendereihenfolge in einem ersten Setzschritt (227); Fortfahren mit dem ersten Vertauschungsschritt (219) mit der m-ten Sendereihenfolge; falls die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbelegungszeit dauer, Beibehalten der Vertauschung der Reihenfolge des i-ten Datenpakets und des i+1-ten Da tenpakets in der m+1-ten Sendereihenfolge und Setzen von k=i in der m=m+1-ten Sen dereihenfolge in einem zweiten Setzschritt (229),

Überprüfen, ob gilt: k<2 in der m+1-ten Sendereihenfolge, in einem dritten Überprüfungs schritt (231);

Falls gilt: k<2,

Fortfahren mit dem zweiten Überprüfungsschritt (225) mit der m+1-ten Sendereihenfolge, Falls nicht gilt k<2:

Vertauschen der Reihenfolge des k-ten Datenpakets und des in der m+1-ten Senderei henfolge dem k-ten Datenpaket vorstehenden k-1-ten Datenpakets und Bestimmen einer m+2-ten Sendereihenfolge mit einer m+2-ten Gesamtbelegungszeitdauer, wobei in der m+2-ten Sendereihenfolge die Reihenfolge des k-ten Datenpakets und des k-1-ten Daten pakets gegenüber der m+1-ten Sendereihenfolge vertauscht ist, in einem zweiten Vertau schungsschritt (233),

Überprüfen ob die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamt belegungszeitdauer in einem vierten Überprüfungsschritt (235),

Falls die m+2-te Gesamtbelegungszeitdauer nicht kürzer ist als die m+1-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets und Wiederherstellen der m+1-ten Sendereihenfolge in einem zweiten Zurückvertau schungsschritt (237),

Fortfahren mit dem zweiten Überprüfungsschritt (225) mit der m+1-ten Sendereihenfolge, Falls die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamtbelegungs zeitdauer:

Beibehalten der Vertauschung der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets in der m+2-ten Sendereihenfolge und Setzen von k=k-1 und m=m+2 in ei nem dritten Setzschritt (239),

Fortfahren mit dem dritten Überprüfungsschritt (231) mit der m-ten Sendereihenfolge.

6. Verfahren nach Anspruch 5, wobei der erste Vertauschungsschritt (219) mit dem ersten Datenpaket mit i=1 der ersten Sendereihenfolge mit m=1 beginnt.

7. Verfahren nach Anspruch 5 oder 6, wobei die erste Gesamtbelegungszeitdauer mit m=1 die korrigierte Gesamtbelegungszeitdauer der ansteigenden Sendereihenfolge ist.

8. Masterteilnehmer (101) für ein Automatisierungsnetzwerk (100), wobei der Masterteil nehmer (101) ausgebildet ist, ein Verfahren (200) nach einem der voranstehenden An sprüche 1 bis 7 auszuführen. 9. Automatisierungsnetzwerk (100) mit wenigstes einem Masterteilnehmer (101) nach An spruch 8, mehreren Slaveteilnehmern (103) und wenigstens einer Verbindungseinheit (105), die über ein Datenleitungsnetz (115) verbunden sind, wobei der Masterteilnehmer (101) ausgebildet ist, an die Slaveteilnehmer (103) zur Datenkommunikation Datenpakete in einem Umlauf auszusenden, in dem die Datenpakete vom Masterteilnehmer (101) and die Slaveteilnehmer (103) ausgesendet und von den Slaveteilnehmern (103) an den Mas terteilnehmer (101) zurückgesendet werden, und wobei die Verbindungseinheit (105) aus gebildet ist, an die Slaveteilenhmer (103) eines bestimmten Segments (X) adressierte Da tenpakete weiterzuleiten und die Datenpakete an den Masterteilnehmer (101) zurückzulei ten.

Description:
Beschreibung

Verfahren zur Datenkommunikation zwischen Teilnehmern in einem Automatisierungs netzwerk, Masterteilnehmer für ein Automatisierungsnetzwerk und Automatisierungsnetz werk

Die Erfindung betrifft ein Verfahren zur Datenkommunikation zwischen Teilnehmern in ei nem Automatisierungsnetzwerk. Die Erfindung betrifft ferner einen Masterteilnehmer für ein Automatisierungsnetzwerk, der ausgebildet ist, das Verfahren zur Datenkommunika tion zwischen Teilnehmern eines Automatisierungsnetzwerks auszuführen, und ein ent sprechendes Automatisierungsnetzwerk.

Automatisierungsnetzwerke werden häufig als sogenannte „Feldbussysteme“ betrieben. Feldbussysteme sind industrielle Bussysteme, die eine echtzeitfähige Steuerung der Ma schinen oder Anlagen des Automatisierungsnetzwerks ermöglichen. In der Regel werden die Maschinen oder Anlagen des Automatisierungsnetzwerks mithilfe von speicherpro grammierbaren Steuerungen (SPS) gesteuert. Zur Kommunikation der Feldgeräte, also beispielsweise Sensoren und Aktoren der Maschinen oder Anlagen des Automatisie rungsnetzwerks mit der SPS, nutzt die SPS das Feldbussystem. Senden mehrere Kom munikationsteilnehmer Datenpakete über dieselbe Datenleitung, die als leitungsgebunde nes oder drahtloses Bussystem ausgebildet sein kann, so muss festgelegt sein, welcher Kommunikationsteilnehmer zu welchem Zeitpunkt senden darf. Zu diesem Zweck gibt es festgelegte Hierarchien und normierte Datenübertragungsprotokolle.

Meist arbeiten die Feldbussysteme im sogenannten „Master-Slave-Betrieb“. Das heißt, der Masterteilnehmer übernimmt die Steuerung der Prozesse, während die Slaveteilneh mer die Abarbeitung von Teilaufgaben im Steuerungsbetrieb des Automatisierungsnetz werks übernehmen. Der Austausch von Daten erfolgt dabei im Automatisierungsnetzwerk mithilfe von Datenpaketen, die vom Masterteilnehmer an die Slaveteilnehmer ausgegeben werden. Die Slaveteilnehmer können die an sie adressierten Ausgangsdaten auslesen und gegebenenfalls ein Datenpaket an den Masterteilnehmer zurücksenden.

In Automatisierungsnetzwerken, in denen der Datenverkehr mittels über den Austausch von Datenpaketen erfolgt, können die Datenpakete von einem Slaveteilnehmer zu weite ren Slaveteilnehmern weitergeleitet oder den Masterteilnehmer zurückgesendet werden. Hierbei bezeichnet Weiterleiten das Festlegen von Übertragungswegen für die Übermitt lung von Datenpaketen im Automatisierungsnetzwerk. Für Netzwerke mit komplexen To pologien, bei denen Slaveteilnehmer in unterschiedlichen Segmenten des Netzwerks an geordnet sind, können über entsprechende Verbindungselemente Datenpakete in die ent sprechenden Segmente, in denen die adressierten Slaveteilnehmer angeordnet sind, wei tergeleitet werden. Hierbei kann es auftreten, dass Datenpakete, die aus unterschiedli chen Segmenten des Netzwerks an den Masterteilnehmer zurückgesendet werden, auf dem Rückweg von den Slaveteilnehmern an den Masterteilnehmer aufeinandertreffen, sprich nahezu gleichzeitig an einem dazwischen liegenden Verbindungselement ankom men, wodurch eine zusätzliche Verzögerungen unterschiedlicher Datenpakete hervorge rufen wird, die dann die Reaktionszeit des Systems negativ beeinflusst. Aber nicht nur Überschneidungen auf dem Datenpfad sind kritisch. Durch die Reihenfolge kann es auch passieren, dass einzelne Datenpakete so spät bei einem Device oder Segment ankom men und diese Einrichtung selbst eine starke Verzögerung aufweist, so dass eine Steue rungsaktion, die alle Daten berücksichtigen muss, nur sehr verspätet aufgerufen wird.

Verzögerungen einzelner Datenpakete oder die falsche Reihenfolge beim Aussenden im Master bewirken aber zum Einen eine Verlängerung der Belegungszeit des Netzwerks durch die verzögerten Datenpakete, sprich den Zeitraum, den die Datenpakete benötigen, um nach dem Aussenden durch den Masterteilnehmer zu den entsprechenden Slaveteil nehmern übertragen und vom Masterteilnehmer wieder empfangen zu werden, und wäh rend dem das Netzwerk durch die Datenpakete für die Übertragung weiterer Datenpakete blockiert ist. Die Belegungszeit des Netzwerks kann im Allgemeinen auch als Gesamtbe legungszeitdauer bezeichnet werden.

Des Weiteren kann eine Verzögerung von Datenpaketen zur Vermeidung von Überlage rungen der Datenpakete weitere Verzögerungen weiterer Datenpakete nach sich ziehen, um wiederum Kollisionen von den zuvor verzögerten Datenpaketen zu vermeiden. Wobei eine Überlagerung von Datenpaketen dazu führt, dass wenigstens zwei Datenpakete we nigstens teilweise überlappend in gleicher Richtung übertragen werden. Überlagerungen führen dazu, dass die Information der überlagerten Datenpakete nicht eindeutig auslesbar ist, sodass wenigstens eines der überlagerten Datenpakete verzögert werden muss, um eine Überlappung zu vermeiden. Neben Verzögerungen kann auch eine Änderung der Reihenfolge der übertragenen Datenpakete zur Vermeidung von Überlagerungen der Da tenpakete eingesetzt werden. Beides kann zu Verzögerungen der gesamten Datenkom- munikation zwischen dem Masterteilnehmer und den Slaveteilnehmern und damit verbun den zu einer Herabsetzung der Effektivität und der Performanz des Automatisierungssys tems führen.

Zur Verbesserung einer Datenkommunikation, bei der eine Mehrzahl von Datenpaketen zwischen einem Masterteilnehmer und einer Mehrzahl von Slaveteilnehmern ausge tauscht werden, insbesondere zur Vermeidung oder Reduzierung von Verzögerungen ein zelner Datenpakete zur Vermeidung von Kollisionen kann es vorteilhaft sein, Datenpakete in bestimmten Reihenfolgen auszusenden, in denen die Datenpakete derart angeordnet sind, dass Kollisionen entweder vollständig vermieden werden können oder aber die An zahl von notwendigen Verzögerungen beziehungsweise die Gesamtdauer der Verzöge rungen reduziert werden können.

Auszusendende Datenpakete in entsprechend vorteilhaften Reihenfolgen anzuordnen, fällt in den Bereich von Scheduling-Problemen. Scheduling Probleme, in denen optimale Lösungen für Abfolgen mehrerer einander bedingender Vorgänge gesucht werden, zeich nen sich durch einen hohen Grad an Komplexität aus und sind meist bereits für eine rela tiv geringe Anzahl zu berücksichtigender Faktoren in praktikabler Zeit und mit realisti schem Rechenaufwand nicht lösbar.

Im Bereich der Datenkommunikation sind aus dem Stand der Technik verschiedene Opti mierungsverfahren bekannt, deren Ziel es ist, Reihenfolgen oder Schedules auszusen dender Datenpakete mit minimierter Belegungszeit des Netzwerks durch die Datenpakete zu finden. Aus dem Dokument Wisniewski et al. „Scheduling of PROFINET IRT Communi- cation in Redundant Network Topologies” (DOI: 10.1B/WFCS.2016.7496530 Conference: 12th IEEE World Conference on Factory Communication Systems, At Aveiro, Portugal) ist beispielsweise ein Scheduling Verfahren für PROFI NET-Systeme bekannt. Das hier be schriebene Verfahren ist jedoch weiterhin vergleichsweise komplex und verlangt einen substantiellen Rechenaufwand, der letzendlich nicht geeignet ist, ein Optimum zu bestim men, sondern lediglich eine Näherung an das erstrebte Optimum erzielen kann.

Die Erfindung betrifft Netze, in denen Datenströme auf Teilstrecken parallel ablaufen und es zu Überschneidungen auf anderen Teilstrecken kommen kann. Ziel ist es, die Auswir kungen dieser Überschneidungen auf ein Minimum zu reduzieren. Die Erfindung betrifft eine Koordinierung von Daten-strömen in einer Master Slave Beziehung, wobei Daten- ströme von zur Datenkommunikation ausgesendeter Datenpakete gemeinsame Daten pfade aufweisen sodass, eine Abfolge der Kommunikation und dem Aussenden der Da tenpakete zu berücksichtigen sind.

Es ist daher eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zur Da tenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitzu stellen, das eine verringerte Belegungszeit des Netzwerks durch zur Datenkommunikation auszutauschende Datenpakete ermöglicht und geringe Rechenkapazität benötigt. Es ist ferner eine Aufgabe der Erfindung, einen Masterteilnehmer für ein Automatisierungsnetz werk bereitzustellen, der ausgebildet ist, das erfindungsgemäße Verfahren zur Datenkom munikation zwischen Teilnehmern in einem Automatisierungsnetzwerk auszuführen. Es ist ferner eine Aufgabe der Erfindung, ein entsprechendes Automatisierungsnetzwerk bereit zustellen.

Die Aufgabe wird durch ein Verfahren, einen Masterteilnehmer und ein Automatisierungs netzwerk gemäß den unabhängigen Ansprüchen gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen angegeben.

Nach einem Aspekt der Erfindung wird ein Verfahren zur echtzeitfähigen Datenkommuni kation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitgestellt, wobei das Automatisierungsnetzwerk einen Masterteilnehmer, Slaveteilnehmer und wenigstens eine Verbindungseinheit umfasst, die über ein Datenleitungsnetz miteinander verbunden sind, wobei der Masterteilnehmer ausgebildet ist, an die Slaveteilnehmer zur Datenkom munikation Datenpakete in einem Umlauf auszusenden, in dem die Datenpakete vom Masterteilnehmer an die Slaveteilnehmer ausgesendet und von den Slaveteilnehmern an den Masterteilnehmer gesendet werden, und wobei die Verbindungseinheit ausgebildet ist, an die Slaveteilnehmer adressierte Datenpakete weiterzuleiten und die Datenpakete an den Masterteilnehmer zurückzuleiten, wobei das Verfahren die Verfahrensschritte um fasst:

Anordnen durch den Masterteilnehmer von n auszusendenden Datenpaketen in einer Sendereihenfolge mit einer Gesamtbelegungszeitdauer der Sendereihenfolge in einem ersten Anordnungsschritt, wobei die Gesamtbelegungszeitdauer einen Zeitraum vom Aus senden durch den Masterteilnehmer eines ersten Bits eines zuerst ausgesendeten Daten pakets bis zu einem Empfangen durch den Masterteilnehmer eines letzten Bits eines zu letzt empfangenen Datenpakets umfasst,

Durchführen durch den Masterteilnehmer eines Optimierungsverfahrens zum Bestimmen einer optimierten Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer in einem Optimierungsschritt, wobei das Optimierungsverfahren eine endliche Anzahl von maximal n*(n-1)/2 paarweisen Vertauschungen von Reihenfolgen von in der Sendereihenfolge auf einanderfolgenden n Datenpaketen und Bestimmungen der durch die Vertauschungen be wirkten Gesamtbelegungszeitdauern der Sendereihenfolge umfasst, und Aussenden durch den Masterteilnehmer der n Datenpakete in der optimierten Senderei henfolge an die Slaveteilnehmer in einem Sendeschritt.

Hierdurch wird der technische Vorteil erreicht, dass ein Verfahren zur echtzeitfähigen Da tenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitge stellt werden kann, das eine effektive und leistungsfähige Datenkommunikation mit einer verringerten Belegungszeit des Kommunikationsmediums durch die zur Datenkommuni kation ausgetauschten Datenpakete ermöglicht. Durch das Durchführen des Optimie rungsverfahrens in dem Optimierungsschritt kann eine Sendereihenfolge für die Daten kommunikation auszusendender Datenpakete erreicht werden, die über eine minimale Gesamtbelegungszeitdauer des Kommunikationsmediums durch die auszusendenden Datenpakete verfügt. Über eine endliche Anzahl von maximal n*(n-1)/2 paarweisen Ver tauschungsschritten von Reihenfolgen der in den Sendereihenfolgen angeordneten Da tenpaketen kann eine Sendereihenfolge mit einer minimalen Belegungszeit ermittelt wer den. Insgesamt sind bei einer Sendereihenfolge von n Datenpakete n! (n Fakultät) Vertau schungen der Datenpakete möglich.

Die endliche Anzahl von maximal n*(n-1)/2 paarweisen Vertauschungen der Reihenfolgen der in den Sendereihenfolgen angeordneten Datenpakete kann mit einem vergleichsweise geringen Rechenaufwand durchgeführt werden. Somit wird der technische Vorteil erreicht, dass zum Erzielen einer Sendereihenfolge mit minimaler Belegungszeit lediglich eine ver gleichsweise geringe Rechenkapazität benötigt wird. Hierdurch wird der technische Vorteil erreicht, dass das erfindungsgemäße Verfahren zur echtzeitfähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk durch einen Masterteilnehmer des Automatisierungsnetzwerks durchgeführt werden kann. Eine zusätzliche Rechenein heit zur Ausführung des Optimierungsverfahrens wird hingegen nicht benötigt.

Durch das Erzielen einer Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer in maximal n*(n-1)/2 paarweisen Vertauschungsschritten von Reihenfolgen von in der Sen dereihenfolge aufeinanderfolgenden Datenpaketen kann eine schnelle Optimierung der Sendereihenfolge in Bezug auf die Gesamtbelegungszeitdauer erreicht werden. Auf ein aufwändiges und zeitintensives Optimierungsverfahren zur Bestimmung einer optimierten Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer kann verzichtet werden. So mit kann das erfindungsgemäße Verfahren zur echtzeitfähigen Datenkommunikation zwi schen Teilnehmern in einem Automatisierungsnetzwerk problemlos durch den Masterteil nehmer vor jedem Aussenden einer Mehrzahl von Datenpaketen durchgeführt werden. Eine Verzögerung der Datenkommunikation durch ein vorgeschaltetes Durchführen eines zeitintensiven Optimierungsverfahrens kann somit vermieden werden.

In dem Optimierungsschritt wird durch das Durchführen des Optimierungsverfahrens eine Sendereihenfolge mit einer minimalen Gesamtbelegungszeitdauer der in der Senderei henfolge angeordneten Datenpakete ermittelt. Durch die maximal n*(n-1)/2 paarweisen Vertauschungen der Reihenfolgen der in der Sendereihenfolge aufeinanderfolgenden Da tenpakete wird die Sendereihenfolge ermittelt, für die die in dieser Sendereihenfolge aus gesendeten Datenpakete die geringste Verzögerung zur Vermeidung von Kollisionen zwi schen Datenpaketen erfahren. Eine minimale Gesamtbelegungszeitdauer einer Senderei henfolge wird dann erreicht, wenn die auszusendenden Datenpakete der Sendereihen folge derart angeordnet sind, dass nach Aussenden der Datenpakete in der entsprechen den Sendereihenfolge entweder keine Kollisionen zwischen den ausgesendeten Datenpa keten auftreten oder, für den Fall, dass aufgrund der jeweiligen Topologie des Automati sierungsnetzwerks Kollisionen nicht zu vermeiden sind diese zu einer minimalen Verzöge rung der ausgesendeten Datenpakete führen.

Im Folgenden ist ein Automatisierungsnetzwerk ein Automatisierungssystem, in dem ein Masterteilnehmer, mehrere Slaveteilnehmer und wenigstens eine Verbindungseinheit über ein Datenleitungsnetz in einer bestimmten Topologie oder Struktur angeordnet sind. Die Topologie oder Struktur kann beispielsweise eine Baumstruktur, eine Kammstruktur, eine Ringstruktur, eine lineare Struktur oder eine in irgendeiner Form anders geartete Struktur sein. Die Teilnehmer des Automatisierungsnetzwerks sind in einer Master-Slave- Kommunikationsanordnung angeordnet, in der der Masterteilnehmer ausschließlich einge richtet ist, Kommunikationsanfragen an die Slaveteilnehmer auszusenden.

Ein Masterteilnehmer ist im Folgenden ein Teilnehmer eines Automatisierungsnetzwerks, der ausschließlich legitimiert ist, eine Datenkommunikation mit entsprechenden Slaveteil nehmern zu initiieren. Ein Masterteilnehmer kann beispielsweise ein Feldbusmaster sein.

Ein Slaveteilnehmer ist im Folgenden ein Teilnehmer eines Automatisierungsnetzwerks, der nicht legitimiert ist, eine Datenkommunikation mit weiteren Teilnehmern des Automati sierungsnetzwerks zu initiieren. Ein Slaveteilnehmer ist ausschließlich legitimiert, an einer durch einen Masterteilnehmer initiierten Datenkommunikation teilzunehmen. Ein Slaveteil nehmer kann beispielsweise eine Feldbusklemme, ein Aktor oder ein Sensor des Automa tisierungsnetzwerks sein.

Ein Datenleitungsnetz kann im Folgenden beispielsweise ein Feldbussystem sein.

Datenpakete können im Folgenden beispielsweise Telegramme eines entsprechenden Kommunikationsprotokolls sein und wenigstens einen Header und einen Datenabschnitt aufweisen. Beispielsweise können Datenpakete Telegramme eines Ethernet-Protokolls, eines EtherCAT-Protokolls oder eines weiteren Feldbusprotokolls sein.

Eine Verbindungseinheit ist im Folgenden eine Einheit, die ausgestaltet ist, zur Datenkom munikation dienende Datenpakete an entsprechend adressierte Teilnehmer des Automati sierungsnetzwerks weiterzuleiten. Eine Funktionalität einer Verbindungseinheit kann im Übrigen in einen Slaveteilnehmer beziehungsweise in eine Mehrzahl von Slaveteilneh mern und/oder in einen Masterteilnehmer beziehungsweise in eine Mehrzahl von Master teilnehmern integriert sein.

Im Übrigen lässt sich das erfindungsgemäße Verfahren dazu nutzen, bei entkoppelten Teilnehmern ein Optimum der Gesamtbelegungszeitdauer zu erzielen.

Nach einer Ausführungsform können die Slaveteilnehmer in Segmente unterteilt sein, wo bei jedes Segment zumindest einen Slaveteilnehmer umfasst, und wobei die Verbin dungseinheit ausgebildet ist, an Slaveteilnehmer eines bestimmten Segments adressierte Datenpakete weiterzuleiten.

Ein Segment ist im Folgenden ein Abschnitt eines Automatisierungsnetzwerks. Ein Seg ment kann wiederum in Untersegmente aufgeteilt sein. Ein Segment kann wenigstens ei nen Slaveteilnehmer oder eine Mehrzahl von Slaveteilnehmern des Automatisierungs netzwerks umfassen. Ein Segment kann über eine entsprechende Verbindungseinheit mit anderen Segmenten des Automatisierungsnetzwerks verbunden sein.

Paarweise Vertauschungen sind im Folgenden die Vertauschungen der Reihenfolge von jeweils zwei in der Sendereihenfolge direkt aufeinanderfolgenden Datenpaketen.

Nach einer Ausführungsform umfasst der erste Anordnungsschritt: Anordnen der n Datenpakete in einer absteigenden Sendereihenfolge mit absteigenden Individualumlaufzeitdauern der n Datenpakete in einem zweiten Anordnungsschritt, wobei in der absteigenden Sendereihenfolge ein Datenpaket mit längster Individualumlaufzeit dauer an erster und ein Datenpaket mit kürzester Individualumlaufzeitdauer an letzter Po sition der Sendereihenfolge angeordnet ist, und wobei die Individualumlaufzeitdauer eines jeden Datenpakets einen Zeitraum vom Aussenden durch den Masterteilnehmer eines ersten Bits des Datenpakets bis zu einem Empfangen durch den Masterteilnehmer eines letzten Bits des Datenpakets umfasst.

Hierdurch wird der technische Vorteil erreicht, dass ein effizientes Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitgestellt werden kann.

Die im ersten Anordnungsschritt vorgenommene Voranordnung der n Datenpakete er möglicht eine Reduzierung der Anzahl der benötigten paarweisen Vertauschungen der Datenpakete im Optimierungsschritt zum Erreichen der optimierten Sendeanordnung mit minimaler Gesamtbelegungszeitdauer. Durch das Anordnen der Datenpakete in der ab steigenden Sendereihenfolge in dem zweiten Anordnungsschritt, bei der das Datenpaket mit längster Individualumlaufzeitdauer an erster Position und das Datenpaket mit kürzes ter Individualumlaufzeitdauer an letzter Position angeordnet wird, kann erreicht werden, dass die Gesamtbelegungszeitdauer der absteigenden Sendereihenfolge gegenüber einer Sendereihenfolge mit beliebig angeordneten Datenpaketen bereits verringert ist, indem das Datenpaket, das für den Umlauf vom aussendenden Masterteilnehmer zum adressier ten Slaveteilnehmer und wieder zurück zum Masterteilnehmer den längsten Zeitraum be nötigt, als erstes Datenpaket ausgesendet wird.

Sollten für die jeweilige Topologie des Automatisierungsnetzwerks in der absteigenden Sendereihenfolge keine Kollisionen der ausgesendeten Datenpakete auftreten, stellt die absteigende Sendereihenfolge bereits die optimierte Sendereihenfolge mit minimaler Ge samtbelegungszeitdauer dar. Die benötigte Zeit zum Bestimmen der optimierten Sen dereihenfolge mit minimaler Gesamtbelegungszeitdauer kann durch die Anordnung der Datenpakete in der absteigenden Sendereihenfolge in dem zweiten Anordnungsschritt ge genüber einer beliebigen Sendereihenfolge bereits substantiell verringert werden.

Nach einer Ausführungsform umfasst der der erste Anordnungsschritt: Bestimmen einer ersten Empfangszeitmarkierung für jedes der n Datenpakete der abstei genden Sendereihenfolge in einem ersten Bestimmungsschritt, wobei die erste Emp fangszeitmarkierung eines beliebigen Datenpakets einer Sendereihenfolge ein Zeitpunkt eines Empfangens des ersten Bits des jeweiligen Datenpakets ist, und wobei ein Wert der ersten Empfangszeitmarkierung einen Zeitraum vom Aussenden durch den Masterteilneh mer des ersten Bits des ersten Datenpakets der Sendereihenfolge bis zum Empfangen durch den Masterteilnehmer des ersten Bits des jeweiligen Datenpakets der Sendereihen folge umfasst, und Bestimmen einer zweiten Empfangszeitmarkierung für jedes der n Da tenpakete der absteigenden Sendereihenfolge, wobei die zweite Empfangszeitmarkierung einer Summe aus dem Wert der ersten Empfangszeitmarkierung und einer Individualbele gungszeitdauer des Datenpakets entspricht, wobei die Individualbelegungszeitdauer eines Datenpakets einen Zeitraum vom Aussenden eines ersten Bits des Datenpakets zu einer ersten Aussendezeitmarkierung bis zum Aussenden eines letzten Bits des Datenpakets zu einer zweiten Aussendezeitmarkierung umfasst, wobei die erste Aussendezeitmarkie rung ein Zeitpunkt des Aussendens des ersten Bits des jeweiligen Datenpakets ist, und wobei die zweite Aussendezeitmarkierung ein Zeitpunkt des Aussendens des letzten Bits des Datenpakets ist;

Anordnen der n Datenpakete der absteigenden Sendereihenfolge in einer ansteigenden Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung der n Datenpakete in einem dritten Anordnungsschritt, wobei in der ansteigenden Sendereihenfolge ein Daten paket mit kleinster erster Empfangszeitmarkierung an erster Position und ein Datenpaket mit größter erster Empfangszeitmarkierung an letzter Position angeordnet ist; und Bestimmen einer korrigierten ersten Empfangszeitmarkierung und einer korrigierten zwei ten Empfangszeitmarkierung für ein Datenpaket in der ansteigenden Sendereihenfolge in einem Korrekturschritt, falls die erste Empfangszeitmarkierung des Datenpakets früher ist als die zweite Empfangszeitmarkierung eines in der ansteigenden Sendereihenfolge vor dem Datenpaket angeordneten Datenpaketes, wobei die korrigierte erste Empfangszeit markierung des Datenpakets der zweiten Empfangszeitmarkierung des vor dem Datenpa ket angeordneten Datenpakets entspricht, und wobei die korrigierte zweite Empfangszeit markierung des Datenpakets einer Summe aus der korrigierten ersten Empfangszeitmar kierung und der Individualbelegungszeitdauer des Datenpakets entspricht.

Hierdurch wird der technische Vorteil erreicht, dass ein effizientes Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitgestellt werden kann. Durch die Anordnung der n Datenpakete in einer Senderei- henfolge in dem Anordnungsschritt kann erreicht werden, dass eine optimierte Senderei henfolge mit minimaler Gesamtbelegungszeitdauer im Optimierungsschritt in einer verrin gerten Anzahl der maximal n*(n-1)/2 paarweisen Vertauschungen erreicht werden kann.

Durch das Anordnen der Datenpakete aus der absteigenden Sendereihenfolge in der an steigenden Sendereihenfolge in dem dritten Anordnungsschritt und durch das Durchfüh ren der Korrekturen in dem Korrekturschritt kann eine Empfangsreihenfolge der ausge sendeten Datenpakete inklusive durchzuführender Verzögerungen von Datenpaketen zur Vermeidung von Kollisionen zwischen aufeinanderfolgenden Datenpaketen simuliert wer den. Hierdurch kann erreicht werden, dass im folgenden Optimierungsschritt eine verein fachte Bestimmung der Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer er möglicht ist.

Eine erste Empfangszeitmarkierung eines Datenpakets ist kleiner beziehungsweise grö ßer als eine erste Empfangszeitmarkierung eines weiteren Datenpakets, wenn ein Wert der ersten Empfangszeitmarkierung des Datenpakets kleiner beziehungsweise größer als ein Wert der ersten Empfangszeitmarkierung des Weiteren Datenpakets ist.

Die erste Aussendezeitmarkierung und die zweite Aussendezeitmarkierung berechnen sich relativ zur ersten Aussendezeitmarkierung des zuerst ausgesendeten Datenpakets. Die erste Aussendezeitmarkierung des zuerst ausgesendeten Datenpakets erhält dem nach den Wert 0. Ein Wert einer ersten Aussendezeitmarkierung eines Datenpaktes der Sendereihenfolge umfasst somit einen Zeitraum vom Aussenden durch den Masterteil nehmer eines ersten Bits eines zuerst ausgesendeten Datenpakets bis zum Aussenden durch den Masterteilnehmer eines ersten Bits des jeweiligen Datenpakets.

Eine Summe von Zeitdauern und/oder Zeitmarkierungen ist im Folgenden eine Summe von Werten von Zeitdauern und/oder Werten von Zeitmarkierungen.

Alternativ kann die erste Empfangszeitmarkierung eines beliebigen Datenpakets einen Zeitraum vom Aussenden des ersten Bits des ersten Datenpakets der Sendereihenfolge bis zum Empfangen eines beliebigen Bits des jeweiligen Datenpakets der Sendereihen folge umfassen, für das an dessen Stelle eine Weiterleitungsentscheidung zu treffen ist. Dies kann auch das letzte Bit des Datenpakets sein.

Nach einer Ausführungsform umfasst eine korrigierte Gesamtbelegungszeitdauer der an steigenden Sendereihenfolge einen Zeitraum von der ersten Aussendezeitmarkierung des ersten Datenpakets der ansteigenden Sendereihenfolge bis zur korrigierten zweiten Emp fangszeitmarkierung des letzten Datenpakets der ansteigenden Sendereihenfolge.

Hierdurch wird der technische Vorteil einer einfach zu bestimmenden korrigierten Gesamt belegungszeitdauer erreicht. Die korrigierte Gesamtbelegungszeitdauer ist hierbei die Ge samtbelegungszeitdauer der ansteigenden Sendereihenfolge.

Nach einer Ausführungsform umfasst der Anordnungsschritt die Verfahrensschritte: Bestimmen eines Sende-Offsets für jedes Datenpaket in einem zweiten Bestimmungs schritt, wobei der Sende-Offset eines Datenpakets einer Summe der Individualbelegungs zeitdauern der in der Sendereihenfolge dem Datenpaket vorgeordneten Datenpakete ent spricht, und

Anordnen der n Datenpakete in der absteigenden Sendereihenfolge in einem vierten An ordnungsschritt derart, dass ein Aussenden eines ersten Bits eines Datenpakets um den Sende-Offset des Datenpakets gegenüber dem Aussenden eines ersten Bits des ersten Datenpakets der absteigenden Sendereihenfolge verzögert ist.

Hierdurch wird der technische Vorteil erreicht, dass durch das Bestimmen des Sendeoff sets und das Anordnen der Datenpakete in der absteigenden Sendereihenfolge, ein Aus senden eines Datenpakets der absteigenden Sendereihenfolge zu dem Aussenden des ersten Datenpakets der absteigenden Sendereihenfolge um den Sende-Offset des jeweili gen Datenpakets verzögert ist. Hierdurch kann erreicht werden, dass ein direktes Aufei nanderfolgen des Aussendens der einzelnen Datenpakete der absteigenden Senderei henfolge erreicht wird. Es kann somit vermieden werden, dass zwischen dem Aussenden aufeinanderfolgender Datenpakete eine Lücke entsteht, was zu einer Verlängerung der Gesamtbelegungszeitdauer der absteigenden Sendereihenfolge führen kann.

Durch das Bestimmen des Sende-Offsets und das Anordnen der Datenpakete in der ab steigenden Sendereihenfolge in dem vierten Anordnungsschritt kann somit die Gesamtbe legungszeitdauer der absteigenden Sendereihenfolge weiter verringert werden und folg lich die Anzahl notwendiger Vertauschungen der Reihenfolge aufeinanderfolgender Da tenpakete in der absteigenden Sendereihenfolge, die in dem Optimierungsschritt zur Be stimmung einer optimierten Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer benötigt werden, verringert werden. Nach einer Ausführungsform entspricht die erste Empfangszeitmarkierung eines Datenpa kets einer Summe aus dem Sende-Offset und der Individualumlaufzeitdauer des Datenpa kets abzüglich der Individualbelegungszeitdauer des Datenpakets.

Hierdurch wird der technische Vorteil einer einfach zu bestimmenden ersten Empfangs zeitmarkierung erreicht. Hierdurch wird wiederum ein vereinfachtes Optimierungsverfah ren ermöglicht und der für die Durchführung des Optimierungsverfahrens benötigte Re chenaufwand verringert.

Nach einer Ausführungsform umfasst der Optimierungsschritt:

Vertauschen der Reihenfolge eines i-ten Datenpakets und eines auf das i-te Datenpaket folgenden i+1-ten Datenpakets in einer m-ten Sendereihenfolge der n Datenpakete mit ei ner m-ten Gesamtbelegungszeitdauer der m-ten Sendereihenfolge und Bilden einer m+1- ten Sendereihenfolge mit einer m+1-ten Gesamtbelegungszeitdauer, wobei in der m+1- ten Sendereihenfolge die Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets vertauscht ist, und wobei gilt 1<i<n-1 und n>3, in einem ersten Vertauschungsschritt, Überprüfen, ob die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbe legungszeitdauer in einem ersten Überprüfungsschritt; falls die m+1-te Gesamtbelegungszeitdauer nicht kürzer ist als die m-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets und Wiederherstellen der m-ten Sendereihenfolge in einem ersten Zurückvertauschungs schritt;

Überprüfen, ob gilt: i=n-1 in der m-ten Sendereihenfolge in einem zweiten Überprüfungs schritt;

Falls gilt: i=n-1,

Aussenden der n Datenpakete auf Basis der m-ten Sendereihenfolge in dem Sende schritt; falls nicht gilt: i=n-1 ,

Setzen von i=i+1 in der m-ten Sendereihenfolge in einem ersten Setzschritt;

Fortfahren mit dem ersten Vertauschungsschritt mit der m-ten Sendereihenfolge; falls die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbelegungszeit dauer,

Beibehalten der Vertauschung der Reihenfolge des i-ten Datenpakets und des i+1-ten Da tenpakets in der m+1-ten Sendereihenfolge und Setzen von k=i in der m+1-ten Senderei henfolge in einem zweiten Setzschritt, Überprüfen ob gilt: k<2 in der m+1-ten Sendereihenfolge, in einem dritten Überprüfungs schritt;

Falls gilt: k<2,

Fortfahren mit dem zweiten Überprüfungsschritt mit der m+1-ten Sendereihenfolge,

Falls nicht gilt k<2:

Vertauschen der Reihenfolge des k-ten Datenpakets und des in der m+1-ten Senderei henfolge dem k-ten Datenpaket vorstehenden k-1-ten Datenpakets und Bestimmen einer m+2-ten Sendereihenfolge mit einer m+2-ten Gesamtbelegungszeitdauer, wobei in der m+2-ten Sendereihenfolge die Reihenfolge des k-ten Datenpakets und des k-1-ten Daten pakets vertauscht ist, in einem zweiten Vertauschungsschritt,

Überprüfen ob die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamt belegungszeitdauer in einem vierten Überprüfungsschritt,

Falls die m+2-te Gesamtbelegungszeitdauer nicht kürzer ist als die m+1-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets und Wiederherstellen der m+1-ten Sendereihenfolge in einem zweiten Zurückvertau schungsschritt,

Fortfahren mit dem zweiten Überprüfungsschritt mit der m+1-ten Sendereihenfolge,

Falls die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamtbelegungs zeitdauer:

Beibehalten der Vertauschung der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets in der m+2-ten Sendereihenfolge und Setzen von k=k-1 und m=m+2 in ei nem dritten Setzschritt,

Fortfahren mit dem dritten Überprüfungsschritt mit der m-ten Sendereihenfolge.

Hierdurch wird der technische Vorteil erreicht, dass ein effizientes Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitgestellt werden kann. Durch das Ausführen der maximal n*(n-1)/2 paarweisen Ver tauschungen von aufeinanderfolgenden Datenpaketen in dem Optimierungsschritt kann ein vergleichsweise einfach durchzuführendes Optimierungsverfahren bereitgestellt wer den, das lediglich einen geringen Rechenaufwand benötigt.

In dem Optimierungsverfahren werden zunächst ausgehend vom Anfang der Senderei henfolge paarweise Vertauschungen der Reihenfolgen aufeinanderfolgender Datenpakete durchgeführt. Nach jeder paarweisen Vertauschung der Reihenfolge aufeinanderfolgender Datenpakete wird die Gesamtbelegungszeitdauer der durch die Vertauschung erzeugten Sendereihenfolge bestimmt und überprüft, ob die Gesamtbelegungszeitdauer der durch die paarweise Vertauschung der Reihenfolge der aufeinanderfolgenden Datenpakete ent standenen Sendereihenfolge kürzer ist als die Gesamtbelegungszeitdauer der Ausgangs sendereihenfolge. Ergibt die paarweise Vertauschung der Reihenfolge aufeinanderfolgen der Datenpakete keine Verbesserung der Gesamtbelegungszeitdauer, wird mit weiteren paarweisen Vertauschungen von aufeinanderfolgenden Datenpaketen fortgesetzt, bis das Ende der Sendereihenfolge erreicht ist. Ergeben die paarweisen Vertauschungen keine Verbesserung der Gesamtbelegungszeitdauer, wird das Optimierungsverfahren abgebro chen und die Ausgangssendereihenfolge zum Aussenden der Datenpakete verwendet.

Die Ausgangssendereihenfolge ist im Folgenden die Sendereihenfolge, in der die erste paarweise Vertauschung vorgenommen wird.

Ergibt eine paarweise Vertauschung der Reihenfolge aufeinanderfolgender Datenpakete eine Sendereihenfolge mit einer Gesamtbelegungszeitdauer, die kürzer ist als die Ge samtbelegungszeitdauer der Ausgangssendereihenfolge, so wird die Vertauschung der Reihenfolge der aufeinanderfolgenden Datenpakete beibehalten und weitere Vertau schungen aufeinanderfolgender Datenpakete ausgehend von den jeweils vertauschten Datenpaketen in Richtung des Anfangs der Sendereihenfolge fortgesetzt. Hierdurch ent steht ein abwechselndes paarweises Vertauschen von Reihenfolgen aufeinanderfolgen der Datenpakete, die jeweils in Richtung des Endes der Sendereihenfolge beziehungs weise in Richtung des Anfangs der Sendereihenfolge fortgesetzt wird, bis eine Senderei henfolge erreicht wird, deren Gesamtbelegungszeitdauer kürzer ist als die Gesamtbele gungszeitdauern aller zuvor durch paarweises Vertauschen erzeugten Sendereihenfol gen, inklusive der Ausgangssendereihenfolge.

Aufgrund des abwechselnden Fortsetzens der paarweisen Vertauschungen sowohl in Richtung des Endes der Sendereihenfolge beziehungsweise in Richtung des Anfangs der Sendereihenfolge und dadurch dass die paarweise Vertauschung nur fortgesetzt wird, falls die Gesamtbelegungszeitdauer der durch die letzte paarweise Vertauschung erzeug ten Sendereihenfolge kürzer ist, als bis zu diesem Vertauschungsschritt bislang erzielten Gesamtbelegungszeitdauern, wird nach einer endlichen Anzahl von maximal n*(n-1)/2 paarweisen Vertauschungen eine Sendereihenfolge mit minimaler Gesamtbelegungszeit dauer erzielt. Hierdurch wird ein zeit- und rechenleistungseffizientes Optimierungsverfah ren erreicht, das nach einem endlichen Zeitabstand eine optimierte Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer erzielt. Nach einer Ausführungsform beginnt der erste Vertauschungsschritt mit dem ersten Da tenpaket mit i=1 der ersten Sendereihenfolge mit m=1.

Hierdurch wird der technische Vorteil erreicht, dass das Optimierungsverfahren mit einer Vertauschung der ersten und zweiten Datenpakete einer Sendereihenfolge, insbesondere der Ausgangssendereihenfolge, beginnt. Hierdurch wird erreicht, dass alle Datenpakete der Sendereihenfolge wenigstens einmal mit einem direkt benachbarten Datenpaket ver tauscht werden. Damit ist gewährleistet, dass eine Sendereihenfolge mit minimaler Ge samtbelegungszeitdauer erreicht wird.

Nach einer Ausführungsform ist die erste Gesamtbelegungszeitdauer mit m=1 die korri gierte Gesamtbelegungszeitdauer der ansteigenden Sendereihenfolge.

Hierdurch wird der technische Vorteil erreicht, dass ein effizientes Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk bereitgestellt werden kann. Durch die Verwendung der ansteigenden Sendereihenfolge als Ausgangssendereihenfolge zur Durchführung des Optimierungsverfahrens kann die Anzahl benötigter paarweiser Vertauschungen zum Bestimmen der optimierten Senderei henfolge mit minimaler Gesamtbelegungszeitdauer verringert werden.

Dies kann zu einer Beschleunigung des Optimierungsverfahrens führen, was wiederum die Effizienz des Verfahrens zur Datenkommunikation zwischen Teilnehmern in einem Au tomatisierungsnetzwerk erhöht, in dem Datenpakete in kürzeren aufeinanderfolgenden Zeiträumen ausgesendet werden können.

Nach einem zweiten Aspekt der Erfindung wird ein Masterteilnehmer für ein Automatisie rungsnetzwerk bereitgestellt, wobei der Masterteilnehmer ausgebildet ist, ein erfindungs gemäßes Verfahren zur echtzeitfähigen Datenkommunikation zwischen Teilnehmern ei nes Automatisierungsnetzwerks auszuführen.

Hierdurch wird der technische Vorteil erreicht, dass ein Masterteilnehmer für ein Automati sierungsnetzwerk bereitgestellt werden kann, der ausgebildet ist, das erfindungsgemäße Verfahren zur echtzeitfähigen Datenkommunikation zwischen Teilnehmern in einem Auto matisierungsnetzwerk auszuführen. Nach einem dritten Aspekt der Erfindung wird ein Automatisierungsnetzwerk mit wenigs tes einem erfindungsgemäßen Masterteilnehmer, mehreren Slaveteilnehmern und we nigstens einer Verbindungseinheit, die über ein Datenleitungsnetz miteinander verbunden sind, bereitgestellt, wobei der Masterteilnehmer ausgebildet ist, an die Slaveteilnehmer zur Datenkommunikation Datenpakete in einem Umlauf auszusenden, in dem die Daten pakete vom Masterteilnehmer and die Slaveteilnehmer ausgesendet und von den Slavete ilnehmern an den Masterteilnehmer zurückgesendet werden, und wobei die Verbindungs einheit ausgebildet ist, an die Slaveteilnehmer eines bestimmten Segments adressierte Datenpakete weiterzuleiten und die Datenpakete an den Masterteilnehmer zurückzuleiten.

Hierdurch wird der technische Vorteil erreicht, dass ein Automatisierungsnetzwerk bereit gestellt werden kann, das ausgebildet ist, das erfindungsgemäße Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk auszuführen. Hierdurch wird ein Automatisierungsnetzwerk bereitgestellt, das eine effizi ente Datenkommunikation ermöglicht. Durch die effiziente Datenkommunikation kann die Effizienz und Performanz des Automatisierungsnetzwerks erhöht werden.

Nach einer Ausführungsform ist das Automatisierungsnetzwerk in Segmente unterteilt, wobei jedes Segment zumindest einen Slaveteilnehmer umfasst.

Die Erfindung wird anhand der beigefügten Figuren näher erläutert. Hierbei zeigen:

Fig. 1 eine schematische Darstellung eines Automatisierungsnetzwerks gemäß einer Ausführungsform;

Fig. 2 ein Flussdiagramm eines Verfahrens zur Datenkommunikation zwischen Teil nehmern in einem Automatisierungsnetzwerk gemäß einer Ausführungsform;

Fig. 3 ein Flussdiagramm des Verfahrens zur Datenkommunikation zwischen Teil nehmern in einem Automatisierungsnetzwerk gemäß einer weiteren Ausfüh rungsform;

Fig. 4 ein Flussdiagramm des Verfahrens zur Datenkommunikation zwischen Teil nehmern in einem Automatisierungsnetzwerk gemäß einer weiteren Ausfüh rungsform; und Fig. 5 ein Flussdiagramm des Verfahrens zur Datenkommunikation zwischen Teil nehmern in einem Automatisierungsnetzwerk gemäß einer weiteren Ausfüh rungsform.

Fig. 1 zeigt eine schematische Darstellung eines Automatisierungsnetzwerks 100 gemäß einer Ausführungsform.

Nach der Ausführungsform in Fig.1 umfasst das Automatisierungsnetzwerk 100 wenigstes einen Masterteilnehmer 101 , mehrere Slaveteilnehmer 103 und wenigstens eine Verbin dungseinheit 105, die über ein Datenleitungsnetz 115 verbunden sind, wobei das Automa tisierungsnetzwerk 100 in Segmente X unterteilt ist, wobei jedes Segment X zumindest ei nen Slaveteilnehmer 103 umfasst, wobei der Masterteilnehmer 101 ausgebildet ist, an die Slaveteilnehmer 103 zur Datenkommunikation Datenpakete in einem Umlauf auszusen den, in dem die Datenpakete vom Masterteilnehmer 101 and die Slaveteilnehmer 103 ausgesendet und von den Slaveteilnehmern 103 an den Masterteilnehmer 101 zurückge sendet werden, und wobei die Verbindungseinheit 105 ausgebildet ist, an die Slaveteil nehmer 103 eines bestimmten Segments X adressierte Datenpakete weiterzuleiten und die Datenpakete an den Masterteilnehmer 101 zurückzuleiten.

Gemäß der Ausführungsform in Fig. 1 umfasst das Automatisierungsnetzwerk 100 eine Steuerungseinheit 113, die über ein Datenleitungsnetz 115 mit dem Masterteilnehmer 101 und den Slaveteilnehmern 103 verbunden ist. Das Automatisierungsnetzwerk 100 ist in ein erstes Segment A, ein zweites Segment B und ein drittes Segment C unterteilt, die je weils linear über das Datenleitungsnetz 115 mit dem Masterteilnehmer 101 verbunden sind. Das erste Segment A umfasst ferner ein erstes Untersegment A1 , ein zweites Unter segment A2 und ein drittes Untersegment A3. Das zweite Segment B umfasst ein viertes Untersegment B1 und ein fünftes Untersegment B2. Das dritte Segment C umfasst ein sechstes Untersegment C1 und ein siebtes Untersegment C2.

Das Automatisierungsnetzwerk 100 ist somit in einer Kammstruktur angeordnet, indem die Segmente X linear zueinander angeordnet sind und die entsprechenden Unterseg mente XN jeweils ausschließlich mit dem zugehörigen Segment X verbunden sind. Die einzelnen Untersegmente XN weisen jeweils eine Mehrzahl von Slaveteilnehmern 103 auf, die jeweils über das Datenleitungsnetz 115 miteinander verbunden sind. Die einzel nen Untersegmente XN können eine unterschiedliche Anzahl von verschiedenen Slavete ilnehmern 103 umfassen. Alternativ können die Untersegmente XN auch eine gleiche An zahl von Slaveteilnehmern 103 umfassen. Alternativ zu der in Fig. 1 dargestellten Struktur kann das Automatisierungsnetzwerk 100 in einer abweichenden Struktur realisiert sein. Beispielsweise kann das Automatisierungs netzwerk 100 eine von der in Fig. 1 dargestellten abweichende Anzahl von Segmenten X und Untersegmenten XN aufweisen. Ferner kann das Automatisierungsnetzwerk 100 bei spielsweise in einer Baumstruktur oder einer Ringstruktur angeordnet sein. Darüber hin aus können die Untersegmente XN eine beliebige Anzahl von Slaveteilnehmern 103 um fassen.

Ferner umfasst das Automatisierungsnetzwerk 100 eine Mehrzahl von Verbindungseinhei ten 105, die ausgebildet sind, vom Masterteilnehmer 101 an bestimmte Slaveteilnehmer 103 ausgesendete Datenpakete an die jeweils adressierten Slaveteilnehmer 103 weiter zuleiten beziehungsweise von den Slaveteilnehmern 103 an den Masterteilnehmer 101 ausgesendete Datenpakete an diesen weiterzuleiten. Gemäß Fig. 1 umfasst das erste Segment A eine erste Verbindungseinheit 107, die ausgebildet ist, Datenpakete vom Mas terteilnehmer 101 an die in dem ersten Untersegment A1 , dem zweiten Untersegment A2 oder dem dritten Untersegment A3 angeordneten Slaveteilnehmer 103 weiterzuleiten. Das zweite Segment B umfasst eine zweite Verbindungseinheit 109, die ausgebildet ist, vom Masterteilnehmer 101 an die in dem vierten Untersegment B1 oder dem fünften Unterseg ment B2 angeordneten Slaveteilnehmer 103 weiterzuleiten. Das dritte Segment C umfasst eine dritte Verbindungseinheit 111, die ausgebildet ist, vom Masterteilnehmer 101 an die in dem sechsten Untersegment C1 oder dem siebten Untersegment C2 angeordneten Slaveteilnehmer 103 ausgesendete Datenpakete an die entsprechenden Slaveteilnehmer 103 weiterzuleiten. Die Verbindungseinheiten 105 sind entsprechend ausgebildet, von den jeweiligen Slaveteilnehmern 103 an den Masterteilnehmer 101 adressierte Datenpa kete entsprechend an den Masterteilnehmer 101 weiterzuleiten.

So wird ein von dem Masterteilnehmer 101 an einen Slaveteilnehmer 103 im ersten Un tersegment A1 des ersten Segments A ausgesendetes Datenpaket durch die erste Ver bindungseinheit 107 in das erste Untersegment A1 und an den darin angeordneten ent sprechenden Slaveteilnehmer 103 weitergeleitet. Das entsprechende Datenpaket durch läuft somit in einer Datenkommunikationshinrichtung 117 einen Abschnitt des Datenlei tungsnetzes 115 innerhalb des ersten Segments A und wird von der ersten Verbindungs einheit 107 in das erste Untersegment A1 weitergeleitet. Innerhalb des ersten Unterseg ments A1 durchläuft das Datenpaket die darin angeordneten Slaveteilnehmer 103, und die entsprechenden Daten des Datenpakets werden durch den adressierten Slaveteilneh mer 103 ausgelesen. Alternativ können innerhalb eines Segments eine Mehrzahl von Slave-Teilnehmern adres siert sein. Alternativ kann das Segment als Ganzes und damit alle Slave-Teilnehmer des Segments adressiert sein.

Am letzten Slaveteilnehmer 103 des ersten Untersegments A1 angelangt wird das Daten paket von dem letzten Slaveteilnehmer 103 an den Masterteilnehmer 101 zurückgesendet und das Datenpaket durchläuft in einer Datenkommunikationsrückrichtung 119 das erste Untersegment A1 und wird von der ersten Verbindungseinheit 107 an den Masterteilneh mer 101 zurückgesendet. Die Datenkommunikationshinrichtung 117 und die Datenkom munikationsrückrichtung 119 sind in Fig. 1 durch die zwei vom Masterteilnehmer 101 weg weisenden und zu diesem hinweisenden Pfeile dargestellt.

Analog durchläuft ein Datenpaket, das von dem Masterteilnehmer 101 beispielsweise an einen Slaveteilnehmer 103 des sechsten Untersegments C1 oder des siebten Unterseg ments C2 des dritten Segments C gesendet wird, in einer Datenkommunikationshinrich tung (in Fig. 1 nicht dargestellt) der Abschnitte des Datenleitungsnetzes 115 durch das erste Segment A, das zweite Segment B und das dritte Segment C und wird von der drit ten Verbindungseinheit 111 an das sechste Untersegment C1 oder das siebte Unterseg ment C2 weitergeleitet. Das entsprechende Datenpaket durchläuft das gesamte Unterseg ment XN und wird von dem jeweils letzten Slaveteilnehmer 103 des entsprechenden Un tersegments XN in einer Datenkommunikationsrückrichtung (in Fig. 1 nicht dargestellt) an den Masterteilnehmer 101 zurückgesendet, wobei die dritte Verbindungseinheit 111 das zurückgesendete Datenpaket an den Masterteilnehmer 101 weiterleitet.

Das zurückgesendete Datenpaket durchläuft in der Datenkommunikationsrückrichtung auch die Abschnitte des Datenleitungsnetzes 115 des dritten Segments C, des zweiten Segments B und des ersten Segments A und wird vom Masterteilnehmer 101 empfangen. Die Datenkommunikationshinrichtung und die Datenkommunikationsrückrichtung für Sla veteilnehmer 103 in dem zweiten Untersegment A2, dem dritten Untersegment A3, dem vierten Untersegment B1, dem fünften Untersegment B2, dem sechsten Untersegment C1 oder dem siebten Untersegment C2 sind in Fig. 1 nicht dargestellt. Entsprechende Daten kommunikationshinrichtungen und Datenkommunikationsrückrichtungen verlaufen den in Fig. 1 für Slaveteilnehmer 103 des ersten Untersegments A1 dargestellten Datenkommu nikationshinrichtung 117 und Datenkommunikationsrückrichtung 119 analog. Der Masterteilnehmer 101 ist ausgebildet, ein erfindungsgemäßes Verfahren zur echtzeit fähigen Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk 100 auszuführen. Für eine detaillierte Beschreibung des erfindungsgemäßen Verfahrens zur echtzeitfähigen Datenkommunikation zwischen Teilnehmern in einem Automatisie rungsnetzwerk 100 wird auf die Figurenbeschreibung zu den Figuren 2 bis 5 verwiesen.

Das Datenleitungsnetz 115 kann beispielsweise ein Feldbussystem, insbesondere ein Ethernet- oder ein EtherCAT- oder ein Profibus-System sein. Der Masterteilnehmer 101 kann beispielsweise ein Feldbusmaster sein. Ein Slaveteilnehmer 103 kann beispiels weise ein Feldbusgerät, insbesondere eine Feldbusklemme, ein Aktor oder ein Sensor sein. Eine Verbindungseinheit 105 kann ausgebildet sein, von dem Masterteilnehmer an entsprechende Slaveteilnehmer 103 ausgesendete Datenpakete an die entsprechenden Slaveteilnehmer 103 weiterzuleiten beziehungsweise von den Slaveteilnehmern 103 an den Masterteilnehmer 101 zurückgesendete Datenpakete an den Masterteilnehmer 101 weiterzuleiten. Eine Verbindungseinheit 105 kann beispielsweise als ein Switch ausgebil det sein.

Die Verbindungseinheiten 105 können ferner ausgebildet sein, Datenpakete zu verzögern, um so eine Kollision von aufeinanderfolgenden Datenpaketen zu verhindern. Insbeson dere auf der Datenkommunikationsrückrichtung befindliche Datenpakete können somit durch verschiedene Verbindungseinheiten 105 der einzelnen Segmente X in der Weiter leitung an den Masterteilnehmer 101 so lange aufgehalten werden, bis ein vorangehen des Datenpaket von der entsprechenden Verbindungseinheit 105 vollständig an den Mas terteilnehmer 101 weitergeleitet worden ist. Nach vollständiger Weiterleitung eines voran gehenden Datenpakets durch die entsprechende Verbindungseinheit 105 kann ein nach folgende Datenpaket von der entsprechenden Verbindungseinheit 105 vollständig an den Masterteilnehmer 101 weitergeleitet werden. Somit können Kollisionen zwischen verschie denen Datenpaketen verhindert werden.

Die Verbindungseinheiten 105 können insbesondere ausgebildet sein, die vom Masterteil nehmer 101 an die Slaveteilnehmer 103 oder von den Slaveteilnehmern 103 an den Mas terteilnehmer 101 ausgesendeten Datenpakete an die entsprechenden Slaveteilnehmer 103 oder an den Masterteilnehmer 101 in einem Cut-Through-Verfahren oder in einem Store-and-Forward-Verfahren weiterzuleiten. Das Automatisierungssystem 100 in der Ausführungsform in Fig. 1 ist lediglich beispiel hafter Natur und dient ausschließlich illustrativen Zwecken. Alternativ zu der in Fig. 1 ge zeigten Ausführungsform kann das Automatisierungssystem 100 auch anders ausgestal tet sein. Insbesondere kann die Anordnung Anzahl der Slaveteilnehmer 103 variieren. Analog kann das Automatiserungssystem 100 eine andere Anzahl von Segmenten X auf weisen. Insbesondere können die Slaveteilnehmer 103 im Automatisierungssystem 100 nicht in Segmenten X angeordnet sein.

Fig. 2 zeigt ein Flussdiagramm eines Verfahrens 200 zur Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk 100 gemäß einer Ausführungsform.

Das erfindungsgemäße Verfahren 200 wird im Folgenden in Bezug auf das zu Fig. 1 be schriebene Automatisierungsnetzwerk 100 beschrieben werden. Das erfindungsgemäße Verfahren 200 ist aber nicht auf das Automatisierungsnetzwerk 100 mit der in Fig. 1 dar gestellten Struktur beschränkt, sondern ist auch auf Automatisierungsnetzwerke mit ab weichenden Strukturen anwendbar.

Gemäß der Ausführungsform in Fig. 2 umfasst das Automatisierungsnetzwerk 100 we nigstes einen Masterteilnehmer 101, mehrere Slaveteilnehmer 103 und wenigstens eine Verbindungseinheit 105, die über ein Datenleitungsnetz 115 verbunden sind, wobei das Automatisierungsnetzwerk 100 in Segmente X unterteilt ist, wobei jedes Segment X zu mindest einen Slaveteilnehmer 103 umfasst, wobei der Masterteilnehmer 101 ausgebildet ist, an die Slaveteilnehmer 103 zur Datenkommunikation Datenpakete in einem Umlauf auszusenden, in dem die Datenpakete vom Masterteilnehmer 101 and die Slaveteilneh mer 103 ausgesendet und von den Slaveteilnehmern 103 an den Masterteilnehmer 101 zurückgesendet werden, und wobei die Verbindungseinheit 105 ausgebildet ist, an die Slaveteilnehmer 103 eines bestimmten Segments X adressierte Datenpakete weiterzulei ten und die Datenpakete an den Masterteilnehmer 101 zurückzuleiten.

Gemäß der Ausführungsform umfasst das Verfahren 200 die Verfahrensschritte:

Anordnen durch den Masterteilnehmer 101 von n auszusendenden Datenpaketen in einer Sendereihenfolge mit einer Gesamtbelegungszeitdauer der Sendereihenfolge in einem ersten Anordnungsschritt 201 , wobei die Gesamtbelegungszeitdauer einen Zeitraum vom Aussenden durch den Masterteilnehmer 101 eines ersten Bits eines zuerst ausgesende ten Datenpakets bis zu einem Empfangen durch den Masterteilnehmer 101 eines letzten Bits eines zuletzt empfangenen Datenpakets umfasst, Durchführen durch den Masterteilnehmer 101 eines Optimierungsverfahrens zum Bestim men einer optimierten Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer in ei nem Optimierungsschritt 203, wobei das Optimierungsverfahren eine endliche Anzahl von maximal n*(n-1)/2 paarweisen Vertauschungen von Reihenfolgen von in der Sendereihen folge aufeinanderfolgenden n Datenpaketen und Bestimmungen der durch die Vertau schungen bewirkten Gesamtbelegungszeitdauern der Sendereihenfolge umfasst, und Aussenden durch den Masterteilnehmer 101 der n Datenpakete in der optimierten Sen dereihenfolge an die Slaveteilnehmer 103 in einem Sendeschritt 205.

Der Masterteilnehmer 101 ordnet in einem ersten Anordnungsschritt 201 n auszusen dende Datenpakete in einer Sendereihenfolge mit einer Gesamtbelegungszeitdauer an. Die n Datenpakete können eine beliebige Anzahl von auszusendenden Datenpaketen sein, wobei n eine beliebige natürliche Zahl sein kann. Eine Sendereihenfolge kann eine beliebige Reihenfolge der n auszusendenden Datenpakete sein, in der Datenpakete nach einander angeordnet sind, sodass die n auszusendenden Datenpakete durch den Master teilnehmer 101 nacheinander gemäß der Sendereihenfolge ausgesendet werden können.

Die n auszusendenden Datenpakete können in der Sendereihenfolge beliebig angeordnet sein. Wie zu Fig. 1 ausgeführt, kann eine Datenkommunikation zwischen dem Masterteil nehmer 101 und den Slaveteilnehmern 103 in einem Umlaufverfahren durchgeführt wer den, in dem die durch den Masterteilnehmer 101 an die entsprechenden Slaveteilnehmer 103 ausgesendeten Datenpakete nach Auslesen der in den Datenpaketen enthaltenen Daten durch die entsprechenden Slaveteilnehmer 103 an den Masterteilnehmer 101 zu rückgesendet werden. Die von dem Masterteilnehmer 101 ausgesendeten n Datenpakete werden somit nach Durchlauf durch die entsprechenden Slaveteilnehmer 103 durch den Masterteilnehmer 101 abschließend wieder empfangen.

Eine Gesamtbelegungszeitdauer einer Sendereihenfolge der n auszusendenden Daten pakete umfasst damit einen Zeitraum vom Aussenden eines ersten Bits eines zuerst aus gesendeten Datenpakets bis zum Empfang eines letzten Bits eines zuletzt empfangenen Datenpakets durch den Masterteilnehmer 101. Eine Gesamtbelegungszeitdauer der Sen dereihenfolge beschreibt damit einen Zeitraum, in dem die n ausgesendeten Datenpakete zwischen dem Masterteilnehmer 101 und den Slaveteilnehmern 103 über das Datenlei tungsnetz 115 übertragen werden.

In einem Optimierungsschritt 203 führt der Masterteilnehmer 101 ein Optimierungsverfah ren durch, um eine optimierte Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer zu bestimmen. Hierzu führt der Masterteilnehmer 101 eine endliche Anzahl von paarwei sen Vertauschungen von Reihenfolgen von in der Sendereihenfolge aufeinanderfolgen den n Datenpaketen durch.

Eine paarweise Vertauschung der Reihenfolge von aufeinanderfolgenden Datenpaketen umfasst das Vertauschen eines Datenpakets mit einem in der Sendereihenfolge direkt voranstehenden oder direkt nachfolgenden Datenpaket, sodass in der Sendereihenfolge zwei direkt hintereinander angeordnete Datenpakete jeweils die Position des in der Sen dereihenfolge direkt voranstehenden oder nachfolgenden Datenpakets einnehmen.

Nach jeder paarweisen Vertauschung von zwei aufeinanderfolgenden Datenpaketen wird durch den Masterteilnehmer 101 die Gesamtbelegungszeitdauer der Sendereihenfolge mit den jeweils paarweise vertauschten Datenpaketen bestimmt. Nach maximal n*(n-1)/2 paarweisen Vertauschungen der Datenpakete in der Sendereihenfolge durch den Master teilnehmer 101 ermittelt dieser die optimierte Sendereihenfolge mit minimaler Gesamtbe legungszeitdauer.

In einem Sendeschritt 205 sendet der Masterteilnehmer 101 die n auszusendenden Da tenpakete gemäß der optimierten Sendereihenfolge an die Slaveteilnehmer 103.

Ergibt sich durch die paarweisen Vertauschungen der Reihenfolgen aufeinanderfolgender Datenpakete in der Sendereihenfolge keine optimierte Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer, sprich: wird durch die paarweisen Vertauschungen keine Verbesserung der Gesamtbelegungszeitdauer gegenüber der ursprünglichen Senderei henfolge erzielt, so werden die n auszusendenden Datenpakete gemäß der ursprüngli chen Sendereihenfolge ausgesendet.

Fig. 3 zeigt ein Flussdiagramm des Verfahrens 200 zur Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk 100 gemäß einer weiteren Ausführungs form.

Sofern nicht anderslautend angeführt, umfasst das Verfahren 200 gemäß der Ausfüh rungsform in Fig. 3 die zu Fig. 2 beschriebenen Verfahrensschritte.

Nach der Ausführungsform in Fig. 3 umfasst der erste Anordnungsschritt 201 die Verfah rensschritte: Anordnen der n Datenpakete in einer absteigenden Sendereihenfolge mit absteigenden Individualumlaufzeitdauern der n Datenpakete in einem zweiten Anordnungsschritt 207, wobei in der absteigenden Sendereihenfolge ein Datenpaket mit längster Individualum laufzeitdauer an erster und ein Datenpaket mit kürzester Individualumlaufzeitdauer an letzter Position der Sendereihenfolge angeordnet ist, und wobei die Individualumlaufzeit dauer eines jeden Datenpakets einen Zeitraum vom Aussenden durch den Masterteilneh mer 101 eines ersten Bits des Datenpakets bis zu einem Empfangen durch den Master teilnehmer 101 eines letzten Bits des Datenpakets umfasst;

Bestimmen einer ersten Empfangszeitmarkierung für jedes der n Datenpakete der abstei genden Sendereihenfolge in einem ersten Bestimmungsschritt 209, wobei die erste Emp fangszeitmarkierung eines beliebigen Datenpakets einer Sendereihenfolge ein Zeitpunkt eines Empfangens des ersten Bits des jeweiligen Datenpakets ist, und wobei ein Wert der ersten Empfangszeitmarkierung einen Zeitraum vom Aussenden durch den Masterteilneh mer 101 des ersten Bits des ersten Datenpakets der Sendereihenfolge bis zum Empfan gen durch den Masterteilnehmer 101 des ersten Bits des jeweiligen Datenpakets der Sen dereihenfolge umfasst, und Bestimmen einer zweiten Empfangszeitmarkierung für jedes der n Datenpakete der absteigenden Sendereihenfolge, wobei die zweite Empfangszeit markierung einer Summe aus dem Wert der ersten Empfangszeitmarkierung und einer In dividualbelegungszeitdauer des Datenpakets entspricht, wobei die Individualbelegungs zeitdauer eines Datenpakets einen Zeitraum vom Aussenden eines ersten Bits des Daten pakets zu einer ersten Aussendezeitmarkierung bis zum Aussenden eines letzten Bits des Datenpakets zu einer zweiten Aussendezeitmarkierung umfasst;

Anordnen der n Datenpakete der absteigenden Sendereihenfolge in einer ansteigenden Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung der n Datenpakete in einem dritten Anordnungsschritt 211 , wobei in der ansteigenden Sendereihenfolge ein Da tenpaket mit kleinster erster Empfangszeitmarkierung an erster Position und ein Datenpa ket mit größter erster Empfangszeitmarkierung an letzter Position angeordnet ist; und Bestimmen einer korrigierten ersten Empfangszeitmarkierung und einer korrigierten zwei ten Empfangszeitmarkierung für ein Datenpaket in der ansteigenden Sendereihenfolge in einem Korrekturschritt 213, falls die erste Empfangszeitmarkierung des Datenpakets frü her ist als die zweite Empfangszeitmarkierung eines in der ansteigenden Sendereihen folge vor dem Datenpaket angeordneten Datenpakets, wobei die korrigierte erste Emp fangszeitmarkierung des Datenpakets der zweiten Empfangszeitmarkierung des vor dem Datenpaket angeordneten Datenpakets entspricht, und wobei die korrigierte zweite Emp fangszeitmarkierung des Datenpakets einer Summe aus der korrigierten ersten Emp fangszeitmarkierung und der Individualbelegungszeitdauer des Datenpakets entspricht. In einem zweiten Anordnungsschritt 207 ordnet der Masterteilnehmer 101 die n Datenpa kete der Sendereihenfolge in einer absteigenden Sendereihenfolge mit absteigender Indi vidualumlaufzeitdauer der n Datenpakete an, wobei in der absteigenden Sendereihen folge das Datenpaket mit längster Individualumlaufzeitdauer an erster und das Datenpa ket mit kürzester Individualumlaufzeitdauer an letzter Position der absteigenden Senderei henfolge angeordnet ist. Eine Individualumlaufzeitdauer eines Datenpakets umfasst hier bei einen Zeitraum vom Aussenden durch den Masterteilnehmer 101 eines ersten Bits des Datenpakets bis zum Empfangen durch den Masterteilnehmer 101 eines letzten Bits des Datenpakets. Wie oben bereits erwähnt, umfasst hierzu eine Datenkommunikation zwischen dem Masterteilnehmer 101 und den Slaveteilnehmern 103 ein Aussenden eines Datenpakets durch den Masterteilnehmer 101 an entsprechende Slaveteilnehmer 103 und ein Zurücksenden des Datenpakets durch die adressierten Slaveteilnehmer 103 und ein entsprechendes Empfangen des zurückgesendeten Datenpakets durch den Masterteil nehmer 101.

Der Masterteilnehmer 101 kann hierzu für jedes Datenpaket eine entsprechende Individu alumlaufzeitdauer bestimmen. Eine Individualumlaufzeitdauer ergibt sich hierbei aus einer Summe aus der zweifachen Latenz, einer Individualbelegungszeitdauer des Datenpakets und einer Individualumlaufzeitdauer des Datenpakets für das entsprechende Segment.

Die Latenz des Datenpakets umfasst hierbei einen Zeitraum, der für die Datenübertra gung des Datenpakets vom Masterteilnehmer 101 zu der entsprechenden Verbindungs einheit 105 des jeweiligen Segments X, in dem der Slaveteilnehmer 103 angeordnet ist, an den das auszusendende Datenpaket adressiert ist.

Eine Individualbelegungszeitdauer des Datenpakets umfasst einen Zeitraum vom Aussen den eines ersten Bits des Datenpakets zu einer ersten Aussendezeitmarkierung bis zum Aussenden eines letzten Bits des Datenpakets zu einer zweiten Aussendezeitmarkierung durch den Masterteilnehmer 101. Eine Individualbelegungszeitdauer des Datenpakets im entsprechenden Segment umfasst hierbei einen Zeitraum vom Empfangen des ersten Bits des Datenpakets durch die entsprechende Verbindungseinheit 105 des jeweiligen Seg ments X bis zum Aussenden des letzten Bits des Datenpakets durch die entsprechende Verbindungseinheit 105 an den Masterteilnehmer 101.

Die Individualumlaufzeitdauer des Datenpakets im entsprechenden Segment beschreibt damit den Zeitraum, den das jeweilige Datenpaket benötigt, um das entsprechende Seg ment X beziehungsweise das dazugehörige Untersegment XN, in dem der adressierte Slaveteilnehmer 103 angeordnet ist, vollständig zu durchlaufen, sodass das jeweilige Da tenpaket nach Auslesen durch den adressierten Slaveteilnehmer 103 durch die entspre chende Verbindungseinheit 105 an den Masterteilnehmer 101 zurückgesendet werden kann. Für eine Datenkommunikation zwischen dem Masterteilnehmer 101 und den Slave teilnehmern 103, für die das Cut-Through-Verfahren verwendet wird, entspricht die Indivi dualbelegungszeitdauer eines Datenpakets der Framelänge des entsprechenden Daten pakets.

Die Individualumlaufzeitdauern der n Datenpakete der Sendereihenfolge können somit in Abhängigkeit des entsprechenden adressierten Slaveteilnehmers 103 variieren. In Bezug auf das Automatisierungsnetzwerk 100 in Fig. 1 variieren die Individualumlaufzeitdauern von Datenpaketen, die an Slaveteilnehmer 103 in unterschiedlichen Untersegmenten XN des gleichen Segments X gesendet werden.

Datenpakete, die an Slaveteilnehmer 103 unterschiedlicher Untersegmente XN adressiert sind, durchlaufen unterschiedliche Strecken desselben Segments X und durchlaufen eine unterschiedliche Anzahl von Slaveteilnehmern 103, sodass die entsprechenden Datenpa kete somit eine unterschiedliche Individualumlaufzeitdauer innerhalb des Segments auf weisen, sprich unterschiedliche Zeitdauern benötigen, die entsprechenden Unterseg mente XN des jeweiligen Segments X zu durchlaufen, bevor diese durch die entspre chende Verbindungseinheit 105 an den Masterteilnehmer 101 zurückgesendet werden können.

Datenpakete, die an Slaveteilnehmer 103 in unterschiedlichen Segmenten X adressiert sind, können folglich ebenfalls in ihrer Individualumlaufzeitdauer variieren, da derartige Datenpakete eine verschiedene Anzahl von Segmenten X und unterschiedliche Strecken innerhalb der Segmente X durchlaufen, bevor diese durch die entsprechenden Verbin dungseinheiten 105 an den Masterteilnehmer 101 zurückgesendet werden können.

Nach Bestimmen der Individualumlaufzeitdauer eines jeden Datenpakets, in Abhängigkeit der für das jeweilige Datenpaket entsprechend adressierten Slaveteilnehmer 103, ordnet der Masterteilnehmer 101 die Datenpakete der Sendereihenfolge mit absteigender Indivi dualumlaufzeitdauer in der absteigenden Sendereihenfolge an.

In einem ersten Bestimmungsschritt 209 bestimmt der Masterteilnehmer 101 für jedes der n Datenpakete der absteigenden Sendereihenfolge eine erste Empfangszeitmarkierung. Die erste Empfangszeitmarkierung eines beliebigen Datenpakets der absteigenden Sen dereihenfolge beschreibt hierbei einen Zeitraum vom Aussenden durch den Masterteil nehmer 101 des ersten Bits des ersten Datenpakets der absteigenden Sendereihenfolge bis zum Empfangen durch den Masterteilnehmer 101 des ersten Bits des jeweiligen Da tenpakets der absteigenden Sendereihenfolge.

In dem ersten Bestimmungsschritt 209 bestimmt der Masterteilnehmer 101 ferner eine zweite Empfangszeitmarkierung für jedes der n Datenpakete der absteigenden Senderei henfolge. Die zweite Empfangszeitmarkierung eines jeden Datenpakets der absteigenden Sendereihenfolge beschreibt eine Summe aus der ersten Empfangszeitmarkierung und einer Individualbelegungszeitdauer des jeweiligen Datenpakets. Wie oben bereits erläu tert, beschreibt die Individualbelegungszeitdauer eines Datenpakets einen Zeitraum vom Aussenden eines ersten Bits des Datenpakets zu einer ersten Aussendezeitmarkierung bis zum Aussenden eines letzten Bits des Datenpakets zu einer zweiten Aussendezeit markierung durch den Masterteilnehmer 101. Für eine Datenkommunikation zwischen dem Masterteilnehmer 101 und den Slaveteilnehmern 103 in einem Cut-Through-Verfah- ren entspricht die Individualbelegungszeitdauer eines Datenpakets der Framelänge des jeweiligen Datenpakets.

In einem dritten Anordnungsschritt 211 ordnet der Masterteilnehmer 101 die n Datenpa kete der absteigenden Sendereihenfolge in einer ansteigenden Sendereihenfolge an, wo bei das erste Datenpaket der ansteigenden Sendereihenfolge die kleinste erste Emp fangszeitmarkierung und das letzte Datenpaket der ansteigenden Sendereihenfolge die größte erste Empfangszeitmarkierung aufweist.

In einem Korrekturschritt 213 bestimmt der Masterteilnehmer 101 für jedes Datenpaket der ansteigenden Sendereihenfolge eine korrigierte erste Empfangszeitmarkierung, falls die erste Empfangszeitmarkierung des jeweiligen Datenpakets früher ist als die zweite Empfangszeitmarkierung eines in der ansteigenden Sendereihenfolge vor dem Datenpa ket angeordneten Datenpakets. Eine korrigierte erste Empfangszeitmarkierung eines Da tenpakets der ansteigenden Sendereihenfolge entspricht hierbei einer zweiten Empfangs zeitmarkierung eines in der ansteigenden Sendereihenfolge vor dem Datenpaket ange ordneten Datenpakets. Zusätzlich zur korrigierten ersten Empfangszeitmarkierung be stimmt der Masterteilnehmer 101 für die jeweiligen Datenpakete eine korrigierte zweite Empfangszeitmarkierung. Die korrigierte zweite Empfangszeitmarkierung entspricht hier bei einer Summe aus der korrigierten ersten Empfangszeitmarkierung und der Individu albelegungszeitdauer des jeweiligen Datenpakets. Für eine detailliertere Beschreibung der jeweiligen Größen und der beschriebenen Verfah rensschritte wird auf die Figurenbeschreibung zu Fig. 4 und insbesondere auf die dort an geführten Tabellen 1 bis 3 und die zu den entsprechenden Tabellen angeführten Erläute rungen verwiesen.

Fig. 4 zeigt ein Flussdiagramm des Verfahrens 200 zur Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk 100 gemäß einer weiteren Ausführungs form.

Sofern nicht anderslautend angeführt, umfasst das Verfahren 200 gemäß der Ausfüh rungsform in Fig. 4 die zu Fig. 2 oder Fig. 3 beschriebenen Verfahrensschritte.

In einem zweiten Bestimmungsschritt 215 bestimmt der Masterteilnehmer 101 für jedes Datenpaket einen Sende-Offset. Der Sende-Offset eines Datenpakets in einer Senderei henfolge entspricht dabei einer Summe der Individualbelegungszeitdauern der in der je weiligen Sendereihenfolge dem jeweiligen Datenpaket vorgeordneten Datenpakete.

In einem vierten Anordnungsschritt 217 ordnet der Masterteilnehmer 101 ferner die n Da tenpakete in der absteigenden Sendereihenfolge derart an, dass ein Aussenden eines ersten Bits eines Datenpakets der absteigenden Sendereihenfolge um den Sende-Offset des jeweiligen Datenpakets gegenüber dem Aussenden eines ersten Bits des ersten Da tenpakets der absteigenden Sendereihenfolge verzögert ist. Der Sende-Offset eines Da tenpakets entspricht dabei einer Summe der Individualbelegungszeitdauern der dem je weiligen Datenpaket vorgeordneten Datenpakete. Jedes der n Datenpakete der abstei genden Sendereihenfolge ist somit gegenüber dem direkt vor dem Datenpaket angeord neten Datenpaket um die jeweilige Individualbelegungszeitdauer des dem entsprechen den Datenpaket direkt vorgeordneten Datenpakets verzögert, sodass ein Aussenden ei nes ersten Bits eines Datenpakets der absteigenden Sendereihenfolge nicht erfolgt, bevor das letzte Bit des dem jeweiligen Datenpaket direkt vorgeordneten Datenpakets ausge sendet ist.

In den nachfolgenden Tabellen 1 bis 3 sind die oben beschriebenen Verfahrensschritte sowie die in diesen auftretenden Größen auf Basis des in Fig. 1 dargestellten Automati sierungsnetzwerks 100 anhand exemplarischer Zahlenwerte beispielhaft dargestellt. Die in den Tabellen 1 bis 3 wie auch in den zu Fig. 5 erläuterten Tabellen 4 bis 5 angegebe nen Zahlenwerte beziehungsweise Zeiteinheiten entsprechen keinen realen Größenanga ben und dienen ausschließlich zu illustrativen Zwecken. Tabelle 1

Sendereihenfolge mit Individualumlaufzeitdauern

DA1

DA2

DA3

DB1

DB2

DC1

DC2

In Tabelle 1 sind sieben vom Masterteilnehmer 101 an die Slaveteilnehmer 103 des Auto matisierungsnetzwerks 100 auszusendende Datenpakete in einer beliebigen Senderei henfolge angeordnet. Die einzelnen Datenpakete sind mit den links von der Tabelle 1 an- geordneten Bezeichnungen DA1, DA2, DA3, DB1 , DB2, DC1 und DC2 gekennzeichnet. Die Kennzeichnungen der einzelnen Datenpakete entsprechen den Untersegmenten DA1 bis DC2 des in Fig. 1 dargestellten Automatisierungsnetzwerks 100. Das Datenpaket DA1 ist somit an die Slaveteilnehmer 103 des ersten Untersegments DA1 adressiert, während das Datenpaket DC2 an die Slaveteilnehmer 103 des siebten Untersegments DC2 des Automatisierungsnetzwerks 100 in Fig. 1 adressiert ist.

In der ersten Spalte der Tabelle 1 ist für jedes Datenpaket eine Latenz (Lat) angeführt.

Die Latenz betrifft einen Zeitraum, der für ein Datenpaket benötigt wird, vom Masterteil nehmer 101 an das das jeweilige Untersegment XN umfassende Segment X übertragen zu werden. Die Latenzen der unterschiedlichen Datenpakete unterscheiden sich folglich nach Entfernung der jeweiligen Segmente X zum Masterteilnehmer 101 , sodass die Da tenpakete DA1, DA2, DA3 die geringste Latenz aufweisen, während die Datenpakete DC1 und DC2, die jeweils bis zum dritten Segment C übertragen werden, die größte Latenz aufweisen.

In der zweiten Spalte der Tabelle 1 ist für jedes Datenpaket eine Individualbelegungszeit dauer angegeben. Die Individualbelegungszeitdauern hängen individuell mit dem jeweili- gen Datenpaket zusammen und können von Datenpaket zu Datenpaket variieren. Die In dividualbelegungszeitdauer kann mit der Framelänge eines Datenpakets interpretiert wer den. Eine Korrelation der Individualbelegungszeitdauer eines Datenpakets mit dem jewei ligen Untersegment XN, in dem die adressierten Slaveteilnehmer 103 angeordnet sind, besteht nicht.

In Spalte 3 der Tabelle 1 ist für jedes Datenpaket eine Individualteilumlaufzeitdauer ange geben. Die Individualteilumlaufzeitdauer eines Datenpakets betrifft den Zeitraum, den das Datenpaket benötigt, das jeweilige Segment X, insbesondere das jeweilige Untersegment XN, zu durchlaufen, und umfasst somit insbesondere den Zeitraum vom Empfangen des Datenpakets durch die entsprechende Verbindungseinheit 105 des jeweiligen Segments X bis zum Aussenden des Datenpakets an den Masterteilnehmer 101 durch die jeweilige Verbindungseinheit 105.

In der vierten Spalte der Tabelle 1 ist für jedes Datenpaket eine Individualumlaufzeitdauer angegeben. Die Individualumlaufzeitdauer eines Datenpakets betrifft einen Zeitraum vom Aussenden eines ersten Bits eines Datenpakets durch den Masterteilnehmer 101 bis zum Empfangen des letzten Bits des Datenpakets durch den Masterteilnehmer 101. Die Indivi dualumlaufzeitdauer eines Datenpakets beschreibt somit den Zeitraum, der für einen Um lauf des jeweiligen Datenpakets vom Masterteilnehmer 101 zu den adressierten Slaveteil nehmern 103 in einer Datenkommunikationshinrichtung und von den jeweiligen Slaveteil nehmer 103 zurück zum Masterteilnehmer 101 in einer entsprechenden Datenkommuni kationsrückrichtung benötigt wird. Aus den in Tabelle 1 angeführten Größen ergibt sich die Individualumlaufzeitdauer für ein beliebiges Datenpaket als die Summe aus der zwei fachen Latenz (jeweils einmal für die Datenkommunikationshinrichtung und einmal für die Datenkommunikationsrückrichtung) und der Individualteilumlaufzeitdauer, die jeweils den Zeitraum für einen vollständigen Umlauf innerhalb des entsprechenden Segments be schreibt, abzüglich der Individualbelegungszeitdauer des jeweiligen Datenpakets.

Tabelle 2

Absteigende Sendereihenfolge mit absteigender Individualumlaufzeitdauer und erster Empfangszeitmarkierung

DA3

DB2

DA2

DC2

DA1

DC1

DB1

In Tabelle 2 sind die Datenpakete aus Tabelle 1 in einer absteigenden Sendereihenfolge angeordnet, wobei die jeweiligen Datenpakete in der absteigenden Sendereihenfolge mit absteigender Individualumlaufzeitdauer angeordnet sind. Das erste Datenpaket der ab steigenden Sendereihenfolge, in Tabelle 2 das Datenpaket DA3, weist folglich die längste Individualumlaufzeitdauer auf, während das letzte Datenpaket der absteigenden Sen dereihenfolge, in Tabelle 2 das Datenpaket DB1, die kürzeste Individualumlaufzeitdauer aufweist.

Zusätzlich zu den Größen aus Tabelle 1 ist in Tabelle 2 für jedes Datenpaket in der fünf ten Spalte ein Sende-Offset angegeben. Der Sende-Offset für ein beliebiges Datenpaket entspricht einer Summe der Individualbelegungszeitdauern der in der jeweiligen abstei genden Sendereihenfolge dem entsprechenden Datenpaket vorgeordneten Datenpakete. Der Sende-Offset eines Datenpakets der absteigenden Sendereihenfolge beschreibt da mit die Verzögerung im Aussenden des ersten Bits des jeweiligen Datenpakets gegen über dem Aussenden des ersten Bits des ersten Datenpakets. Das Aussenden des ersten Bits des Datenpakets DA1 ist somit beispielsweise um 84 Zeiteinheiten gegenüber dem Aussenden des ersten Bits des Datenpakets DA3 verzögert.

In der sechsten Spalte der Tabelle 2 ist ferner für jedes Datenpaket eine erste Empfangs zeitmarkierung angegeben. Die erste Empfangszeitmarkierung ist ein Zeitpunkt des Emp fangene des ersten Bits des jeweiligen Datenpakets durch den Masterteilnehmer 101 und ein Wert der ersten Empfangszeitmarkierung beschreibt den Zeitraum vom Aussenden des ersten Bits des ersten Datenpakets der absteigenden Sendereihenfolge durch den

Masterteilnehmer 101 bis zum Empfang des ersten Bits des jeweiligen Datenpakets durch den Masterteilnehmer 101. Mit den in Tabelle 2 angeführten Größen ergibt sich die erste Empfangszeitmarkierung für ein Datenpaket aus einer Summe der Individualumlaufzeit dauer und des Sende-Offsets des jeweiligen Datenpakets abzüglich der Individualbele gungszeitdauer des jeweiligen Datenpakets.

Ein Wert einer ersten Empfangszeitmarkierung eines Datenpakets der absteigenden Sen dereihenfolge betrifft einen Zeitraum vom Aussenden eines ersten Bits des ersten Daten pakets der absteigenden Sendereihenfolge durch den Masterteilnehmer 101 bis zum Empfangen eines ersten Bits des jeweiligen Datenpakets durch den Masterteilnehmer 101. Mit den in der Tabelle 2 angeführten Größen ergibt sich eine erste Empfangszeitmar kierung eines Datenpakets aus einer Summe aus der Individualumlaufzeitdauer des Da tenpakets und dem Sende-Offset des Datenpakets abzüglich der Individualbelegungszeit dauer des jeweiligen Datenpakets. Tabelle 3

Ansteigende Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung und korrigier ter ersten Empfangszeitmarkierung

DB1

DC1

DA1

DA2

DC2

DA3

DB2

In Tabelle 3 sind die Datenpakete der absteigenden Sendereihenfolge der Tabelle 2 in ei ner ansteigenden Sendereihenfolge angeordnet. In der ansteigenden Sendereihenfolge der Tabelle 3 sind die Datenpakete mit ansteigender erster Empfangszeitmarkierung an- geordnet, sodass das erste Datenpaket der ansteigenden Sendereihenfolge, in Tabelle 3 das Datenpaket DB1, die kleinste erste Empfangszeitmarkierung aufweist, und das letzte Datenpaket der ansteigenden Sendereihenfolge, in Tabelle 3 das Datenpaket DB2, folg lich die größte erste Empfangszeitmarkierung aufweist. In der siebten Spalte der Tabelle 3 ist ferner für jedes Datenpaket eine korrigierte erste Empfangszeitmarkierung angegeben. Gemäß dem Korrekturschritt 213 muss ein Daten paket, insbesondere auf der Datenkommunikationsrückrichtung, verzögert werden, falls eine Kollision des Datenpakets mit einem vorangehenden Datenpaket zu befürchten ist. Eine derartige Kollision entspricht dem Sachverhalt, dass eine erste Empfangszeitmarkie rung eines Datenpakets früher ist als eine zweite Empfangszeitmarkierung eines dem Da tenpaket vorgeordneten Datenpakets. Eine zweite Empfangszeitmarkierung des Datenpa kets entspricht einer Summe aus der ersten Empfangszeitmarkierung des jeweiligen Da tenpakets und der Individualbelegungszeitdauer des Datenpakets.

In Tabelle 3 sind die ersten drei Datenpakete DB1, DC1 und DA1 nicht von einer Kollision mit den jeweils vorangehenden Datenpaketen betroffen. Die erste Empfangszeitmarkie rung des Datenpakets DC1 ist später als die erste Empfangszeitmarkierung des Datenpa kets DB1 plus der Individualbelegungszeitdauer des Datenpakets DB1. Die erste Emp fangszeitmarkierung des Datenpakets DA1 ist ebenfalls später als die erste Empfangs zeitmarkierung des Datenpakets DC1 plus der Individualbelegungszeitdauer des Daten pakets DC1. Für die ersten drei Datenpakete DB1 , DC1 und DA1 besteht folglich keine Veranlassung, eine Verzögerung zu bewirken und eine von der ersten Empfangszeitmar kierung abweichende korrigierte erste Empfangszeitmarkierung zu bestimmen.

Die erste Empfangszeitmarkierung des vierten Datenpakets DA2 hingegen ist früher als eine Summe aus der ersten Empfangszeitmarkierung des Datenpakets DA1 und der Indi vidualbelegungszeitdauer des Datenpakets DA1. Zwischen den Datenpaketen DA1 und DA2 wäre somit eine Kollision zu befürchten und es besteht daher Veranlassung, das vierte Datenpaket DA2 zu verzögern. Der Masterteilnehmer 101 ermittelt somit im Korrek turschritt 213 für das Datenpaket DA2 eine korrigierte erste Empfangszeitmarkierung. Die korrigierte erste Empfangszeitmarkierung für das Datenpaket DA2 entspricht einer Summe aus der ersten Empfangszeitmarkierung des Datenpakets DA1 und der Individu albelegungszeitdauer des Datenpakets DA1 , sprich der zweiten Empfangszeitmarkierung des Datenpakets DA1.

Die Verzögerung des Datenpakets DA2 und die Bestimmung der korrigierten ersten Emp fangszeitmarkierung des Datenpakets DA2 führt zu einer Kollision der Datenpakete DA2 und DC2, indem die erste Empfangszeitmarkierung des fünften Datenpakets DC2 früher ist als eine Summe aus der korrigierten ersten Empfangszeitmarkierung des Datenpakets DA2 und der Individualbelegungszeitdauer des Datenpakets DA2, sprich der korrigierten zweiten Empfangszeitmarkierung des Datenpakets DA2. Das fünfte Datenpaket DC2 muss somit ebenfalls verzögert werden und es muss eine korrigierte erste Empfangszeit markierung für das Datenpaket DC2 bestimmt werden. Die korrigierte erste Empfangszeit markierung für das Datenpaket DC2 entspricht einer Summe aus der korrigierten ersten Empfangszeitmarkierung des Datenpakets DA2 und der Individualbelegungszeitdauer des Datenpakets DA2, sprich der korrigierten zweiten Empfangszeitmarkierung des Datenpa kets DA2.

Wie aus der Tabelle 3 zu entnehmen ist, müssen die sechsten und siebten Datenpakete DA3, DB2 ebenfalls verzögert werden, da eine Kollision zwischen dem Datenpaket DC2 und dem Datenpaket DA3 und eine Kollision zwischen dem Datenpaket DA3 und dem Da tenpaket DB2 zu erwarten ist. Die entsprechenden korrigierten ersten Empfangszeitmar kierungen des Datenpakets DA3 und des Datenpakets DB2 werden analog zu den oben beschriebenen Schritten bestimmt, sodass eine korrigierte erste Empfangszeitmarkierung des Datenpakets DA3 einer Summe der korrigierten ersten Empfangszeitmarkierung des Datenpakets DC2 und der Individualbelegungszeitdauer des Datenpakets DC2, sprich ei ner korrigierten zweiten Empfangszeitmarkierung des Datenpakets DC2, entspricht und eine korrigierte erste Empfangszeitmarkierung des Datenpakets DB2 einer Summe aus einer korrigierten ersten Empfangszeitmarkierung des Datenpakets DA3 und einer Indivi dualbelegungszeitdauer des Datenpakets DA3, sprich einer korrigierten zweiten Emp fangszeitmarkierung des Datenpakets DA3 entspricht.

Die Verzögerungen der vierten bis siebten Datenpakete der ansteigenden Sendereihen folge führen zu einer Verlängerung der Gesamtbelegungszeitdauer der ansteigenden Sendereihenfolge. Die Gesamtbelegungszeitdauer der ansteigenden Sendereihenfolge entspricht einer Summe aus der korrigierten ersten Empfangszeitmarkierung des letzten Datenpakets DB2 und der Individualbelegungszeitdauer des letzten Datenpakets DB2.

Fig. 5 zeigt ein Flussdiagramm des Verfahrens 200 zur Datenkommunikation zwischen Teilnehmern in einem Automatisierungsnetzwerk 100 gemäß einer weiteren Ausführungs form.

Sofern nicht anderslautend angeführt, umfasst das Verfahren 200 gemäß der Ausfüh rungsform in Fig. 5 die zu Fig. 2, Fig. 3 oder Fig. 4 beschriebenen Verfahrensschritte.

Gemäß der Ausführungsform in Fig. 5 umfasst der Optimierungsschritt 203 die Verfah rensschritte: Vertauschen der Reihenfolge eines i-ten Datenpakets und eines auf das i-te Datenpaket folgenden i+1-ten Datenpakets in einer m-ten Sendereihenfolge der n Datenpakete mit ei ner m-ten Gesamtbelegungszeitdauer der m-ten Sendereihenfolge und Bilden einer m+1- ten Sendereihenfolge mit einer m+1-ten Gesamtbelegungszeitdauer, wobei in der m+1- ten Sendereihenfolge die Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets vertauscht ist, und wobei gilt 1<i<n-1 und n>3 mit i, k, m, n Elemente der Natürlichen Zah len, in einem ersten Vertauschungsschritt 219,

Überprüfen, ob die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbe legungszeitdauer in einem ersten Überprüfungsschritt 221; falls die m+1-te Gesamtbelegungszeitdauer nicht kürzer ist als die m-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets und Wiederherstellen der m-ten Sendereihenfolge in einem ersten Zurückvertauschungs schritt 223;

Überprüfen, ob gilt: i=n-1 in einem zweiten Überprüfungsschritt 225; falls gilt: i=n-1 ,

Aussenden der n Datenpakete auf Basis der m-ten Sendereihenfolge in dem Sendeschritt 205; falls nicht gilt: i=n-1 ,

Setzen von i=i+1 in einem ersten Setzschritt 227;

Fortfahren mit dem ersten Vertauschungsschritt 219 mit der m-ten Sendereihenfolge; falls die m+1-te Gesamtbelegungszeitdauer kürzer ist als die m-te Gesamtbelegungszeit dauer,

Beibehalten der Vertauschung der Reihenfolge des i-ten Datenpakets und des i+1-ten Da tenpakets in der m+1-ten Sendereihenfolge und Setzen von k=i in der m+1-ten Senderei henfolge in einem zweiten Setzschritt 229,

Überprüfen ob gilt: k<2 in der m+1-ten Sendereihenfolge, in einem dritten Überprüfungs schritt 231 ; falls gilt: k<2,

Fortfahren mit dem zweiten Überprüfungsschritt 225 mit der m+1-ten Sendereihenfolge, falls nicht gilt k<2:

Vertauschen der Reihenfolge des k-ten Datenpakets und des in der m+1-ten Senderei henfolge dem k-ten Datenpaket vorstehenden k-1-ten Datenpakets und Bestimmen einer m+2-ten Sendereihenfolge mit einer m+2-ten Gesamtbelegungszeitdauer, wobei in der m+2-ten Sendereihenfolge die Reihenfolge des k-ten Datenpakets und des k-1-ten Daten pakets vertauscht ist, in einem zweiten Vertauschungsschritt 233, Überprüfen ob die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamt belegungszeitdauer der m+1-ten Sendereihenfolge in einem vierten Überprüfungsschritt 235, falls die m+2-te Gesamtbelegungszeitdauer nicht kürzer ist als die m+1-te Gesamtbele gungszeitdauer:

Zurückvertauschen der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets und Wiederherstellen der m+1-ten Sendereihenfolge in einem zweiten Zurückvertau schungsschritt 237,

Fortfahren mit dem zweiten Überprüfungsschritt 225 mit der m+2-ten Sendereihenfolge, falls die m+2-te Gesamtbelegungszeitdauer kürzer ist als die m+1-te Gesamtbelegungs zeitdauer:

Beibehalten der Vertauschung der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets in der m+1-ten Sendereihenfolge und Setzen von k=k-1 und m=m+2 in ei nem dritten Setzschritt 239,

Fortfahren mit dem dritten Überprüfungsschritt 231 mit der m-ten Sendereihenfolge.

Zur Optimierung einer Sendereihenfolge, beispielsweise der ansteigenden Sendereihen folge der Tabelle 3, führt der Masterteilnehmer 101 in dem Optimierungsschritt 203 ein Optimierungsverfahren durch, um ausgehend von beispielsweise der ansteigenden Sen dereihenfolge eine optimierte Sendereihenfolge zu bestimmen, die eine geringere Ge samtbelegungszeitdauer aufweist als die ansteigende Sendereihenfolge.

Hierzu vertauscht der Masterteilnehmer 101 in einem ersten Vertauschungsschritt 219 die Reihenfolge eines i-ten Datenpakets und eines auf das i-te Datenpaket folgenden i+1-ten Datenpakets in einer m-1-ten Sendereihenfolge. Für eine Sendereihenfolge mit n Daten paketen kann das i-te Datenpaket ein beliebiges Datenpaket mit i>1 und i<n-1 sein, wobei gilt: n>3. Die m-te Sendereihenfolge kann eine beliebige Ausgangssendereihenfolge sein. Beispielsweise kann die m-te Sendereihenfolge die ansteigende Sendereihenfolge sein, in der die n Datenpakete mit ansteigender erster Empfangszeitmarkierung angeordnet sind. Gemäß einer Ausführungsform kann das i-te Datenpaket ein erstes Datenpaket einer Sendereihenfolge, insbesondere das erste Datenpaket der ansteigenden Sendereihen folge, sein.

Durch die Vertauschung der Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpa kets in der m-ten Sendereihenfolge wird eine m+1-te Sendereihenfolge gebildet, in der die Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets gegenüber der m-ten Sendereihenfolge vertauscht ist. Die m-te Sendereihenfolge weist eine m-te Gesamtbele gungszeitdauer auf und die m+1-te Sendereihenfolge weist eine m+1-te Gesamtbele gungszeitdauer auf. Die m-te Gesamtbelegungszeitdauer der m-ten Sendereihenfolge und die m+1-te Gesamtbelegungszeitdauer der m+1-ten Sendereihenfolge können vonei nander verschieden sein. Für eine detaillierte Beschreibung der Berechnung der Gesamt belegungszeitdauern beziehungsweise der Änderungen der Gesamtbelegungszeitdauer durch Vertauschung der Reihenfolge von Datenpaketen wird auf die Beschreibung zu den Tabellen 4 und 5 verwiesen.

In einem ersten Überprüfungsschritt 221 überprüft der Masterteilnehmer 101, ob eine m+1-te Gesamtbelegungszeitdauer der m+1-ten Sendereihenfolge kürzer ist als die m-te Gesamtbelegungszeitdauer der m-ten Sendereihenfolge.

Ist die m+1-te Gesamtbelegungszeitdauer nicht kürzer als die m-te Gesamtbelegungszeit dauer, tauscht der Masterteilnehmer 101 die Reihenfolgen des i-ten Datenpakets und des i+1-ten Datenpakets zurück und stellt die m-te Sendereihenfolge in einem ersten Zurück vertauschungsschritt 223 wieder her.

In einem zweiten Überprüfungsschritt 225 überprüft der Masterteilnehmer 101, ob das zu vor vertauschte i-te Datenpaket in der wiederhergestellten m-ten Sendereihenfolge das jeweils vorletzte Datenpaket der m-ten Sendereihenfolge ist, sprich ob gilt: i=n-1.

Wenn das i-te Datenpaket das vorletzte Datenpaket der m-ten Sendereihenfolge ist und folglich i=n-1 gilt, ist das Optimierungsverfahren beendet und der Masterteilnehmer 101 sendet die n Datenpakete auf Basis der m-ten Sendereihenfolge, sprich: der Ausgangs sendereihenfolge, beispielsweise der ansteigenden Sendereihenfolge, an die Slaveteil nehmer 103 in dem Sendeschritt 205 aus.

Ist das i-te Datenpaket nicht das vorletzte Datenpaket der m-ten Reihenfolge und gilt folg lich nicht: i=n-1 , setzt der Masterteilnehmer 101 in einem ersten Setzschritt 227 in der m- ten Sendereihenfolge i=i+1. Durch das Setzen von i=i+1 wird für die nächste paarweise Vertauschung in der Sendereihenfolge eine Position weiter in Richtung des Endes der Sendereihenfolge vorgerückt, sodass in folgenden Vertauschungsschritten die auf das i-te Datenpaket des ersten Vertauschungsschritts 219 folgenden Datenpakete miteinander vertauscht werden. Galt in dem ersten Vertauschungsschritt 219 beispielsweise i=1 und wurden folglich in dem ersten Vertauschungsschritt 219 die Reihenfolge des ersten und zweiten Datenpakets miteinander vertauscht, so bedeutet das Setzen von i=i+1 , sprich: i=2, dass in einem folgenden Vertauschungsschritt die Reihenfolge des zweiten und drit ten Datenpakets miteinander vertauscht werden.

Das Verfahren 200 wird durch die Wiederholung des ersten Vertauschungsschritts 219 in Bezug auf das neu gesetzte i-te Datenpaket und das neu gesetzte i+1-te Datenpaket fort gesetzt. Durch das weitere Setzen von i=i+1 und das entsprechende Vertauschen von i- ten Datenpaketen und i+1-ten Datenpaketen wird erreicht, dass die paarweisen Vertau schungen von Datenpaketen in jedem erneuten Durchführen des ersten Vertauschungs schritts 219 und einem vorangegangenen ersten Setzschritt 227 jeweils um eine Stelle in Richtung des Endes der m-ten Sendereihenfolge, sprich einer Ausgangssendereihen folge, beispielsweise der ansteigenden Sendereihenfolge, weiterrücken. Somit können in n-1 Schritten alle n Datenpakete der Sendereihenfolge jeweils einmal mit dem direkt nachfolgenden Datenpaket und einmal mit dem direkt voranstehenden Datenpaket ver tauscht werden.

Falls in dem ersten Überprüfungsschritt 221 festgestellt wird, dass die m+1-te Gesamtbe legungszeitdauer kürzer als die m-te Gesamtbelegungszeitdauer ist, wird die Vertau schung der Reihenfolge des i-ten Datenpakets und des i+1-ten Datenpakets in der m+1- ten Sendereihenfolge beibehalten und in einem zweiten Setzschritt 229 in der m+1-ten Reihenfolge wird k=i gesetzt.

Durch die Umbenennung des i-ten Datenpakets in das k-te Datenpaket ist indiziert, dass im Folgenden Verfahrensschritt die Vertauschung der Datenpakete in die entgegenge setzte Richtung fortgesetzt wird. Bei der Verwendung des Indizes i für das i-te Datenpaket und das i+1-te Datenpaket ist indiziert, dass die Vertauschungsrichtung vom Anfang der Sendereihenfolge in Richtung des Endes der Sendereihenfolge weist. So werden nachei nander aufeinanderfolgende Datenpakete vertauscht bis das Ende der Sendereihenfolge erreicht.

Bei der Verwendung des Indizes k für das k-te Datenpaket und das k-1-te Datenpaket ist indiziert, dass die Vertauschung ausgehend vom k=i-ten Datenpaket in Richtung des An fangs der Sendereihenfolge fortgesetzt wird.

In einem dritten Überprüfungsschritt 231 überprüft der Masterteilnehmer 101, ob das k-te Datenpaket das erste Datenpaket der m+1-ten Sendereihenfolge ist, sprich ob gilt: k<2. Falls das k-te Datenpaket das erste Datenpaket der m+1-ten Sendereihenfolge ist, wird mit dem zweiten Überprüfungsschritt 225 in Bezug auf die m+1-te Sendereihenfolge fort gefahren.

Falls in dem dritten Überprüfungsschritt 231 ermittelt wird, dass das k-te Datenpaket nicht das erste Datenpaket der m+1-ten Sendereihenfolge ist und folglich nicht gilt: k<2, so wird in einem zweiten Vertauschungsschritt 233 die Reihenfolge des k-ten Datenpakets und des in der m+1-ten Sendereihenfolge dem k-ten Datenpaket vorstehenden k-1-ten Daten pakets vertauscht und eine m+2-te Sendereihenfolge mit einer m+2-ten Gesamtbele gungszeitdauer bestimmt. In der m+2-ten Sendereihenfolge ist die Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets im Vergleich zur m+1-ten Sendereihenfolge vertauscht.

In einem vierten Überprüfungsschritt 235 wird überprüft, ob die m+2-te Gesamtbelegungs zeitdauer der m+2-ten Sendereihenfolge kürzer ist als die m+1-te Gesamtbelegungszeit dauer der m+1-ten Sendereihenfolge.

Wird im vierten Überprüfungsschritt 235 ermittelt, dass die m+2-te Gesamtbelegungszeit dauer nicht kürzer ist als die m+1-te Gesamtbelegungszeitdauer, wird die Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets zurückvertauscht und die m+1-te Sen dereihenfolge in einem zweiten Zurückvertauschungsschritt 237 wiederhergestellt.

Mit der m+1-ten Sendereihenfolge wird das Verfahren mit dem zweiten Überprüfungs schritt 225 fortgesetzt.

Wrd in dem vierten Überprüfungsschritt 235 ermittelt, dass die m+2-te Gesamtbelegungs zeitdauer kürzer ist als die m+1-te Gesamtbelegungszeitdauer, wird die Vertauschung der Reihenfolge des k-ten Datenpakets und des k-1-ten Datenpakets in der m+2-ten Sen dereihenfolge beibehalten und in einem dritten Setzschritt 239 in der m+2-ten Senderei henfolge k=k-1 und m=m+2 gesetzt. Durch das Setzen von k=k-1 wird erreicht, dass in ei nem folgenden zweiten Vertauschungsschritt 233 die Reihenfolge der zwei in der m-ten Sendereihenfolge vor dem k-ten Datenpaket angeordneten Datenpakete miteinander ver tauscht werden, falls in dem folgenden dritten Überprüfungsschritt 231 festgestellt wird, dass nicht gilt k<2

Das Verfahren wird mit dem dritten Überprüfungsschritt 231 mit der m-ten Sendereihen folge und den neu gesetzten k-ten und k-1-ten Datenpaketen fortgesetzt. Galt in dem zweiten Vertauschungsschritt 233 beispielsweise k=5, wurde in dem zweiten Vertau schungsschritt 233 also das fünfte Datenpaket und das vierte Datenpaket der entspre chenden Sendereihenfolge vertauscht, so gilt durch das Setzen von k=k-1 in der m-ten Sendereihenfolge k=4. In dem zweiten Vertauschungsschritt 233 wird folglich das vierte Datenpaket mit dem dritten Datenpaket der m-ten Sendereihenfolge vertauscht und somit eine m+2-te Sendereihenfolge erstellt. Durch das Setzen von k=k-1 und den folgenden Vertauschungen wird somit erreicht, dass ausgehend von dem k-ten Datenpaket paar weise Vertauschungen in Richtung des Anfangs der jeweiligen Sendereihenfolge bewirkt werden.

Durch das beschriebene Optimierungsverfahren werden somit vorzugsweise ausgehend von dem Anfang einer Sendereihenfolge paarweise Vertauschungen von direkt aufeinan derfolgenden Datenpaketen in Richtung des Endes der Sendereihenfolge durchgeführt, bis eine Vertauschung zweier aufeinanderfolgender Datenpakete zu einer kürzeren Ge samtbelegungszeitdauer führt.

Bei kürzerer Gesamtbelegungszeitdauer wird die Vertauschung der zwei Datenpakete beibehalten und wiederum ausgehend von den vertauschten Datenpaketen paarweise Vertauschungen in Richtung des Anfangs der jeweiligen Sendereihenfolge ausgeführt. Führen diese Vertauschungen nicht zu einer verkürzten Sendereihenfolge, werden wiede rum paarweise Vertauschungen ausgehend von den vertauschten Datenpaketen, deren Vertauschungen zu einer verkürzten Sendereihenfolge geführt haben, in Richtung des En des der Sendereihenfolge fortgesetzt.

Bei jeder Vertauschung von Datenpaketen in Richtung des Endes der Sendereihenfolge, bei der eine verkürzte Gesamtbelegungszeitdauer erreicht wird, werden Vertauschungen ausgehend von diesen beiden vertauschten Datenpaketen in Richtung des Anfangs der Sendereihenfolge durchgeführt, bis keine Verbesserung der Gesamtbelegungszeitdauer erzielt wird oder der Anfang der Sendereihenfolge erreicht ist. Daraufhin wird mit paarwei sen Vertauschungen in Richtung des Endes der Sendereihenfolge fortgefahren. Das Opti mierungsverfahren ist beendet, sobald das Ende der Sendereihenfolge erreicht ist. Die Sendereihenfolge mit der jeweils kürzesten Gesamtbelegungszeitdauer wird nach Ab schluss des Optimierungsverfahrens zum Aussenden der n Datenpakete durch den Mas terteilnehmer 101 verwendet. Anhand der Tabellen 4 und 5, die eine Fortsetzung der Tabellen 1 bis 3 sind, wird eine Vertauschung von Datenpaketen gemäß dem oben beschriebenen Optimierungsverfah ren und eine Bestimmung der Gesamtbelegungszeitdauer der durch die Vertauschungen erreichten Sendereihenfolge illustriert.

Tabelle 4

Ansteigende Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung, korrigierter erste Empfangszeitmarkierung und paarweisen Vertauschung

DB1

DC1

DA1

DC2

DA2

DA3

DB2

Die Tabelle 4 basiert auf der Tabelle 3 und zeigt die ansteigende Sendereihenfolge der sieben Datenpakete DA1 bis DC2. Gegenüber der Tabelle 3 ist in Tabelle 4 die Reihen- folge des vierten Datenpakets DA2 und des fünften Datenpakets DC2 miteinander ver tauscht. Durch die Vertauschung des Datenpakets DC2 an die Stelle des Datenpakets DA2 übernimmt das Datenpaket DC2 den Sende-Offset des Datenpakets DA2. Nach der Vertauschung weist das Datenpaket DC2 somit einen Sende-Offset von 48 Zeiteinheiten auf. Gemäß der zu Tabelle 2 angeführten Berechnungsart der ersten Empfangszeitmar- kierung, die einer Summe aus der Individualumlaufzeitdauer und dem Sende-Offset abzü glich der Individualbelegungszeitdauer eines Datenpakets entspricht, verringert sich durch die Vertauschung die erste Empfangszeitmarkierung des Datenpakets DC2 von 380 Zeit einheiten in Tabelle 3 zu 360 Zeiteinheiten in Tabelle 4. Durch die Vertauschung der Reihenfolge des Datenpakets DC2 mit dem Datenpaket DA2 wird dem Datenpaket DA2 ebenfalls ein neuer Sende-Offset zugeordnet. Der Sende-Off- set des Datenpakets DA2 entspricht nach der Vertauschung mit dem Datenpaket DC2 je doch nicht dem Sende-Offset des Datenpakets DC2 vor der Vertauschung. Da der Sende- Offset eines Datenpakets der Summe der Individualbelegungszeitdauern der dem jeweili- gen Datenpaket vorgeordneten Datenpakete entspricht, und durch die Vertauschung des Datenpakets DA2 mit dem Datenpaket DC2, das sich nach Vertauschung vor dem Daten paket DA2 befindet, dieses jedoch eine um vier Zeiteinheiten kürzere Individualbele gungszeitdauer aufweist als das Datenpaket DA2, verringert sich der Sende-Offset des Datenpakets DC2 nach Vertauschung gegenüber dem Sende-Offset des Datenpakets DC2 vor der Vertauschung ebenfalls um vier Zeiteinheiten. Gemäß der oben genannten Berechnungsart ergibt sich nach der Vertauschung für das Datenpaket DA2 eine von der in Tabelle 3 angeführte abweichende erste Empfangszeitmarkierung.

Tabelle 5 Ansteigende Sendereihenfolge mit ansteigender erster Empfangszeitmarkierung, korri gierter erste Empfangszeitmarkierung und paarweisen Vertauschung

DB1

DC1

DC2

DA1

DA2

DA3

DB2

Tabelle 5 basiert auf Tabelle 4 und geht aus dieser durch eine Vertauschung der Daten pakete DA1 und DC2 hervor.

Die durch die Vertauschung des Datenpakets DC2 mit dem Datenpaket DA2 resultierende neue erste Empfangszeitmarkierung des Datenpakets DC2 ist kürzer als die erste Emp fangszeitmarkierung des in Tabelle 4 vor dem Datenpaket DC2 angeordneten Datenpa kets DA1. Zur Einhaltung der ansteigenden Sendereihenfolge innerhalb der Tabelle 4, bei der die Datenpakete ausgehend vom Datenpaket DB1 mit ansteigender erster Empfangs zeitmarkierung angeordnet sind, ist in Tabelle 5 gegenüber Tabelle 4 die Reihenfolge der Datenpakete DC2 und DA1 vertauscht.

Da nach der Vertauschung der Datenpakete DC2 und DA1 die erste Empfangszeitmarkie- rung des Datenpakets DA1 früher ist als die zweite Empfangszeitmarkierung des Daten pakets DC2, die einer Summe der ersten Empfangszeitmarkierung des Datenpakets DC2 und der Individualbelegungszeitdauer des Datenpakets DC2 entspricht, muss das Daten paket DA1 einer Verzögerung unterworfen werden, um eine Kollision der Datenpakete DA1 und DC2 zu vermeiden. Für das Datenpaket DA1 ist in Tabelle 5 somit eine korri gierte erste Empfangszeitmarkierung bestimmt worden, die einer Summe aus der ersten Empfangszeitmarkierung des Datenpakets DC2 und der Individualbelegungszeitdauer des Datenpakets DC2 entspricht. Da eine Kollision zwischen dem Datenpaket DA1 und dem Datenpaket DA2 nicht zu befürchten ist, entspricht die korrigierte erste Empfangszeitmar kierung des Datenpakets DA2 der ersten Empfangszeitmarkierung des Datenpakets DA2. Aufgrund entsprechender Kollisionen zwischen dem Datenpaket DA2 und dem Datenpa ket DA3 beziehungsweise dem Datenpaket DA3 und dem Datenpaket DB2 sind für das Datenpaket DA3 und das Datenpaket DB2 gemäß dem oben beschriebenen Verfahren korrigierte erste Empfangszeitmarkierungen bestimmt.

Für die in Tabelle 5 angeführte ansteigende Sendereihenfolge mit den oben beschriebe nen Vertauschungen der Reihenfolgen der Datenpakete DA1, DC2 und DA2 ergibt sich eine Gesamtbelegungszeitdauer aus der korrigierten ersten Empfangszeitmarkierung des zuletzt empfangenen Datenpakets DB2 und der entsprechenden Individualbelegungszeit dauer des Datenpakets DB2. Die Gesamtbelegungszeitdauer der in Tabelle 5 angeführten Sendereihenfolge entspricht dabei 460 Zeiteinheiten. Im Vergleich hierzu weist die Sen dereihenfolge der Tabelle 3 eine Gesamtbelegungszeitdauer, die sich ebenfalls aus der korrigierten ersten Empfangszeitmarkierung des zuletzt empfangenen Datenpakets DB2 und der Individualbelegungszeitdauer des Datenpakets DB2 ergibt, von 472 Zeiteinheiten auf. Hiermit ist illustriert, dass durch die Vertauschung der oben genannten Datenpakete in Tabellen 4 und 5 eine Verringerung der Gesamtbelegungszeitdauer der jeweiligen Sen dereihenfolge der sieben Datenpakete erzielt werden kann.

Das oben beschriebene Verfahren kann mit den Datenpaketen der Tabelle 5 fortgesetzt werden, bis eine optimierte Sendereihenfolge mit minimaler Gesamtbelegungszeitdauer erzielt wird. Die Verdeutlichung der einzelnen Verfahrensschritte anhand der Tabellen 1 bis 5 dient lediglich illustrativen Zwecken. Da anhand der Vertauschungen der Datenpa kete in den Tabellen 4 und 5 die Charakteristiken der einzelnen Vertauschungsschritte und der Bestimmung einer Gesamtbelegungszeitdauer einer Sendereihenfolge verdeut lich werden konnten, wird auf eine beispielbasierte weitere Illustration zusätzlicher Vertau schungsschritte verzichtet. Bezugszeichenliste

100 Automatisierungsnetzwerk

101 Masterteilnehmer

103 Slaveteilnehmer

X Segment

XN Untersegment

A erstes Segment

A1 erstes Untersegment

A2 zweites Untersegment

A3 drittes Untersegment

B zweites Segment

B1 viertes Untersegment

B2 fünftes Untersegment

C drittes Segment

C1 sechstes Untersegment

C2 siebtes Untersegment

105 Verbindungseinheit

107 erste Verbindungseinheit

109 zweite Verbindungseinheit

111 dritte Verbindungseinheit

113 Steuerungseinheit

115 Datenleitungsnetz

117 Datenkommunikationshinrichtung

119 Datenkommunikationsrückrichtung

200 Verfahren zur Datenkommunikation

201 erster Anordnungsschritt

203 Optimierungsschritt

205 Sendeschritt

207 zweiter Anordnungsschritt

209 erster Bestimmungsschritt

211 dritter Anordnungsschritt

213 Korrekturschritt

215 zweiter Bestimmungsschritt

217 vierter Anordnungsschritt

219 erster Vertauschungsschritt 221 erster Überprüfungsschritt

223 erster Zurückvertauschungsschritt

225 zweiter Überprüfungsschritt

227 erster Setzschritt 229 zweiter Setzschritt

231 dritter Überprüfungsschritt

233 zweiter Vertauschungsschritt

235 vierter Überprüfungsschritt

237 zweiter Zurückvertauschungsschritt 239 dritter Setzschritt