-
Die Erfindung betrifft ein Ethernet-Netzwerk, insbesondere ein EtherCAT-Datennetzwerk, nach dem Oberbegriff des Anspruchs 1 sowie ein Verfahren zum Betreiben eines solchen Netzwerks.
-
In verschiedenen technischen Gebieten werden existierende Feldbusse der ersten Generation durch ein echtzeitfähiges Ethernet ersetzt oder ergänzt. Das weitverbreitete Standard-Ethernet genügt jedoch häufig nicht den Anforderungen der industriellen Echtzeit. Deshalb wurden bereits verschiedene Umsetzungen eines echtzeitfähigen Ethernets geschaffen, wie beispielsweise EtherCAT. Ein EtherCAT-Netzwerk besteht aus einem oder mehreren EtherCAT-Mastern sowie einem oder mehreren EtherCAT-Slaves. Durch die Master werden Standard-Ethernet-Frames versendet. Die EtherCAT-Slaves entnehmen aus den vom Master versendeten Telegrammen bzw. Frames die für sie bestimmten Daten, während der Frame das Gerät durchläuft. Darüber hinaus können im Durchlauf auch Daten in den Frame eingefügt werden. Der vom EtherCAT-Master ausgesendete Frame durchläuft alle EtherCAT-Slaves des Netzwerks. Jeder EtherCAT-Slave liest "on the fly" die an ihn adressierten Ausgangsdaten und legt seine Eingangsdaten in den weitergeleiteten Frame. Der EtherCAT-Master ist der einzige Teilnehmer im Netzwerk, der aktiv einen Frame versenden darf; alle anderen Teilnehmer leiten die Frames nur weiter. Zur Verarbeitung der Frames enthalten die EtherCAT-Slaves üblicherweise eine EtherCAT-Processing Unit, welche die den EtherCAT-Slave durchlaufenden Frames ausliest und ggf. ergänzt.
-
Zum Erzielen einer Redundanz enthält das Netzwerk zum Beispiel einen aktiven Master und einen passiven, redundanten Master, die mit mehreren Slaves in einer Ring-Topologie angeordnet sind. In herkömmlichen EtherCAT-Netzwerken sendet der aktive Master zwei Frames in entgegengesetzte Richtungen in das Netzwerk aus, wobei die ersten Frames in der einen Richtung durch alle EtherCAT-Slaves verarbeitet werden, während die zweiten Frames in der anderen Richtung alle EtherCAT-Slaves durchlaufen, ohne in einer EtherCAT-Processing-Unit verarbeitet zu werden.
-
Tritt in einem solchen herkömmlichen EtherCAT-Netzwerk ein Fehler auf, der dazu führt, dass die Bustopologie in zwei Teilnetze aufgetrennt wird, bei dem jedes Teilnetz einen EtherCAT-Master und mehrere EtherCAT-Slaves enthält, so funktionieren diese beiden Teilnetze weiter, da in jedem der beiden Teilnetze durch einen der EtherCAT-Master Frames an die EtherCAT-Slaves ausgesendet werden. Wird der Fehler behoben und beide Teilnetze wieder miteinander verbunden, dann senden weiterhin beide EtherCAT-Master eigene Frames aus und es werden Frames von beiden EtherCAT-Mastern in den EtherCAT-Slaves verarbeitet.
-
Es ist die Aufgabe der vorliegenden Erfindung, ein Ethernet-Netzwerk mit einem verbesserten Betriebsverhalten in einem Fehlerfall einer Teilung des Netzwerks in zwei Teilnetze bereitzustellen.
-
Diese Aufgabe wird durch die Lehre der unabhängigen Ansprüche gelöst. Besonders vorteilhafte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Das Ethernet-Netzwerk der Erfindung weist eine erste Master-Steuerung und eine zweite Master-Steuerung, die jeweils einen ersten Port mit einem Dateneingang und einem Datenausgang sowie einen zweiten Port mit einem Dateneingang und einem Datenausgang aufweisen, und mehrere Slave-Steuerungen, die jeweils einen ersten Port mit einem Dateneingang und einem Datenausgang sowie einen zweiten Port mit einem Dateneingang und einem Datenausgang aufweisen, auf. Jede der mehreren Slave-Steuerungen weist eine Datenverarbeitungseinheit auf, die zwischen den Dateneingang des ersten Ports und den Datenausgang des zweiten Ports geschaltet ist. Außerdem sind die erste und die zweite Master-Steuerung und die mehreren Slave-Steuerungen funktional in einer Ring-Topologie angeordnet, sodass in einem ersten Ringabschnitt der erste Port der ersten Master-Steuerung über wenigstens eine Slave-Steuerung mit dem zweiten Port der zweiten Master-Steuerung verbunden ist und in einem zweiten Ringabschnitt der zweite Port der ersten Master-Steuerung über wenigstens eine Slave-Steuerung mit dem ersten Port der zweiten Master-Steuerung verbunden ist. Erfindungsgemäß wird vorgeschlagen, dass die Slave-Steuerungen sowohl in dem ersten Ringabschnitt als auch in dem zweiten Ringabschnitt derart angeordnet sind, dass von den Datenausgängen des ersten und des zweiten Ports der ersten Master-Steuerung ausgesendete Frames jeweils den Dateneingängen der ersten Ports aller Slave-Steuerungen eingegeben werden.
-
Durch die spezielle Anordnung der Slave-Steuerungen in der Ring-Topologie zwischen den beiden Master-Steuerungen kann ein Betrieb des Ethernet-Netzwerks nicht nur im fehlerfreien Zustand des Netzwerks und bei einer Teilung des Netzwerks in zwei Teilnetze gewährleistet werden, sondern auch nach einer Wiedervereinigung der beiden Teilnetze. Dies wird insbesondere dadurch erzielt, dass die von dem ersten Master ausgesendeten Frames in beiden Richtungen in allen Slave-Steuerungen des jeweils zuerst durchlaufenen Ringabschnitts durch deren Datenverarbeitungseinheiten verarbeitet werden und in allen Slave-Steuerungen des jeweils danach durchlaufenen Ringabschnitts ohne Verarbeitung nur hindurchgeleitet werden.
-
Die Master-Steuerungen und die Slave-Steuerungen des Ethernet-Netzwerks sind vorzugsweise in den Switches der Netzwerk-Topologie integriert und bevorzugt als ASICs, als Mikroprozessoren oder auf FPGA-Basis ausgeführt.
-
Das Ethernet-Netzwerk weist bevorzugt eine erste aktive Master-Steuerung, die im fehlerfreien Zustand als Master agiert und Frames aussendet, und eine zweite passive Master-Steuerung, die im fehlerfreien Zustand als Slave agiert, auf. Wahlweise können auch mehr als zwei Master-Steuerungen in dem Netzwerk enthalten sein. Ferner weist das Ethernet-Netzwerk mehrere Slave-Steuerungen auf, wobei in dem ersten Ringabschnitt des Netzwerks wenigstens eine Slave-Steuerung, bevorzugt zwei oder mehr Slave-Steuerungen vorhanden sind, und in dem zweiten Ringabschnitt des Netzwerks ebenfalls wenigstens eine Slave-Steuerung, bevorzugt zwei oder mehr Slave-Steuerungen vorhanden sind.
-
Die Slave-Steuerungen des Ethernet-Netzwerks sind vorzugsweise gleich zueinander aufgebaut. Im ersten und zweiten Ringabschnitt des Netzwerks sind die Slave-Steuerungen unterschiedlich angeordnet oder verschaltet. Die Slave-Steuerungen weisen jeweils wenigstens einen ersten Port und einen zweiten Port auf, sie können wahlweise auch drei, vier oder mehr Ports aufweisen. Vorzugsweise ist jedem Port einer Slave-Steuerung eine Loopback-Funktionalität zugeordnet, die bewirkt, dass bei einem geschlossen Port keine Frames nach/von außen kommuniziert werden, sondern die Frames intern zum nächsten logischen Port weitergeleitet werden.
-
In einer vorteilhaften Ausgestaltung der Erfindung weisen die Slave-Steuerungen jeweils wenigstens einen dritten Port mit einem Dateneingang und einem Datenausgang auf, wobei der Dateneingang des dritten Ports mit dem Datenausgang des ersten Ports verbunden ist und der Datenausgang des dritten Ports mit dem Dateneingang des zweiten Ports verbunden ist.
-
In einer weiteren vorteilhaften Ausgestaltung der Erfindung weisen die Slave-Steuerungen jeweils wenigstens einen vierten Port mit einem Dateneingang und einem Datenausgang auf, wobei der Dateneingang des vierten Ports mit dem Datenausgang des zweiten Ports verbunden ist und der Datenausgang des vierten Ports mit dem Dateneingang des ersten Ports verbunden ist.
-
In einer noch weiteren vorteilhaften Ausgestaltung der Erfindung ist die erste Master-Steuerung ein aktiver Master, der im fehlerfreien Zustand des Netzwerks einen ersten Frame in den ersten Ringabschnitt und einen zweiten Frame in den zweiten Ringabschnitt aussendet, und ist die zweite Master-Steuerung ein passiver, redundanter Master, der im fehlerfreien Zustand des Netzwerks als Slave agiert.
-
Bei dem Ethernet-Netzwerk der Erfindung handelt es sich vorzugsweise um ein echtzeitfähiges Ethernet-Netzwerk, vorzugsweise um ein Netzwerk gemäß der EtherCAT-Technologie. Das EtherCAT-Protokoll ist zum Beispiel in dem Standard IEC 61158 als Protokollfamilie CPF12 definiert.
-
Das Ethernet-Netzwerk kann in vorteilhafter Weise in einem Fahrzeug, insbesondere einem Schienenfahrzeug eingesetzt werden.
-
In dem erfindungsgemäßen Verfahren zum Betreiben eines Ethernet-Netzwerks, wobei das Netzwerk eine erste Master-Steuerung und eine zweite Master-Steuerung, die jeweils einen ersten Port mit einem Dateneingang und einem Datenausgang sowie einen zweiten Port mit einem Dateneingang und einem Datenausgang aufweisen, und mehrere Slave-Steuerungen, die jeweils einen ersten Port mit einem Dateneingang und einem Datenausgang sowie einen zweiten Port mit einem Dateneingang und einem Datenausgang aufweisen, aufweist, und wobei jede der mehreren Slave-Steuerungen eine Datenverarbeitungseinheit aufweist, die zwischen den Dateneingang des ersten Ports und den Datenausgang des zweiten Ports geschaltet ist, werden die erste und die zweite Master-Steuerung und die mehreren Slave-Steuerungen funktional in einer Ring-Topologie angeordnet. Die erste Master-Steuerung sendet von ihrem ersten Port einen ersten Frame über wenigstens eine Slave-Steuerung eines ersten Ringabschnitts in Richtung zur zweiten Master-Steuerung und von ihrem zweiten Port einen zweiten Frame über wenigstens eine Slave-Steuerung eines zweiten Ringabschnitts in Richtung zur zweiten Master-Steuerung. Gemäß der Erfindung wird vorgeschlagen, dass die von den Datenausgängen des ersten und des zweiten Ports der ersten Master-Steuerung ausgesendeten ersten und zweiten Frames jeweils den Dateneingängen der ersten Ports aller Slave-Steuerungen eingegeben werden.
-
Mit diesem Verfahren können die gleichen Vorteile erzielt werden, die oben in Zusammenhang mit dem Ethernet-Netzwerk der Erfindung erläutert wurden.
-
In einer vorteilhaften Ausgestaltung der Erfindung agieren im fehlerfreien Zustand des Netzwerks die erste Master-Steuerung als Master, um einen ersten Frame in den ersten Ringabschnitt und einen zweiten Frame in den zweiten Ringabschnitt auszusenden, und die zweite Master-Steuerung als Slave.
-
In einer weiteren vorteilhaften Ausgestaltung der Erfindung agieren bei einer Teilung des Netzwerks in ein erstes Teilnetz, das die erste Master-Steuerung enthält, und ein zweites Teilnetz, das die zweite Master-Steuerung enthält, die erste Master-Steuerung als Master, um einen ersten Frame in den ersten Ringabschnitt und einen zweiten Frame in den zweiten Ringabschnitt auszusenden, und die zweite Master-Steuerung als Master, um einen dritten Frame in den zweiten Ringabschnitt und einen vierten Frame in den ersten Ringabschnitt auszusenden.
-
Vorzugsweise agiert die erste Master-Steuerung dann nach einer Wiedervereinigung des ersten und des zweiten Teilnetzes als Master, um einen Frame an die zweite Master-Steuerung auszusenden, damit diese wieder als Slave agiert.
-
Obige sowie weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der Erfindung werden aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der beiliegenden Zeichnungen besser verständlich. Darin zeigen, größtenteils schematisch:
-
1 den funktionalen Aufbau einer Slave-Steuerung gemäß einem Ausführungsbeispiel der Erfindung, die in einem erfindungsgemäßen Ethernet-Netzwerk einsetzbar ist;
-
2 den funktionalen Aufbau eines Ethernet-Netzwerks gemäß einem Ausführungsbeispiel der Erfindung, in einem fehlerfreien Zustand;
-
3 das Ethernet-Netzwerk von 2 in einem fehlerhaften Zustand einer Teilung des Netzwerks in ein erstes Teilnetz und ein zweites Teilnetz;
-
4 das Ethernet-Netzwerk von 2 in einem fehlerfreien Zustand nach einer Wiedervereinigung des ersten und des zweiten Teilnetzes; und
-
5 den funktionalen Aufbau eines Ethernet-Netzwerks gemäß einem Vergleichsbeispiel, in einem fehlerfreien Zustand.
-
Die vorliegende Erfindung wird nachfolgend am Beispiel eines Netzwerks gemäß der EtherCAT-Technologie näher beschrieben. Sie ist aber ebenso bei anderen Ethernet-Netzwerken, insbesondere auch bei anderen echtzeitfähigen Ethernet-Netzwerken anwendbar.
-
1 zeigt den logischen Aufbau eines EtherCAT-Slaves als Slave-Steuerung 10, die zum Beispiel als ASIC eines Switches ausgeführt sein kann. Die Slave-Steuerung 10 weist einen ersten Port (0) 12 und einen zweiten Port (1) 14 auf, die jeweils einen Dateneingang 16, über den Frames bzw. Telegramme in die Slave-Steuerung 10 eingegeben werden können, und einen Datenausgang 18, über den Frames bzw. Telegramme aus der Slave-Steuerung 10 ausgegeben werden können.
-
Die Slave-Steuerung 10 enthält für jeden Port 12, 14 eine erste Funktionalität ("Loopback") 20. Ist ein Port 12, 14 der Slave-Steuerung 10 nicht mit einem Port einer benachbarten Steuerung oder einem Subsystem des Netzwerks verbunden, so ist der Port 12, 14 geschlossen. Über die erste Funktionalität 20 werden die Frames dann nicht durch den Datenausgang 18 des geschlossenen Ports ausgegeben, sondern intern innerhalb der Slave-Steuerung 10 zum logisch nächsten Port weitergeleitet.
-
Ferner enthält die Slave-Steuerung 10 für jeden Port 12, 14 eine zweite Funktionalität ("Auto-Forward") 21.
-
Außerdem enthält die Slave-Steuerung 10 eine EtherCAT-Processing Unit als Datenverarbeitungseinheit 22. Diese Datenverarbeitungseinheit 22 ist logisch zwischen den Dateneingang 16 des ersten Ports 12 und den Datenausgang 18 des zweiten Ports 14 geschaltet. Frames, die der Slave-Steuerung 10 am ersten Port 12 eingegeben werden, werden nach entsprechender Verarbeitung (Auslesen und ggf. Ergänzen) durch die Datenverarbeitungseinheit 22 am zweiten Port 14 ausgegeben, während Frames, die der Slave-Steuerung 10 am zweiten Port 14 eingegeben werden, ohne Verarbeitung durch die Datenverarbeitungseinheit 22 am ersten Port 12 ausgegeben, d.h. durch die Slave-Steuerung 10 nur hindurchgeroutet werden.
-
In diesem Ausführungsbeispiel weist die Slave-Steuerung 10 zudem einen dritten Port (2) 24 auf, dessen Dateneingang 16 mit dem Datenausgang 18 des ersten Ports 12 verbunden ist und dessen Datenausgang 18 mit dem Dateneingang 16 des zweiten Ports 14 verbunden ist. Wahlweise können auch mehrere solcher dritter Ports 24 logisch zwischen den ersten und den zweiten Port 12, 14 geschaltet sein.
-
In diesem Ausführungsbeispiel weist die Slave-Steuerung 10 außerdem einen vierten Port (3) 26 auf, dessen Dateneingang 16 mit dem Datenausgang 18 des zweiten Ports 14 verbunden ist und dessen Datenausgang 18 über die Datenverarbeitungseinheit 22 mit dem Dateneingang 16 des ersten Ports 12 verbunden ist. Wahlweise können auch mehrere solcher vierter Ports 26 logisch zwischen die Datenverarbeitungseinheit 22 und den zweiten Port 14 oder zwischen den ersten Port 12 und die Datenverarbeitungseinheit 22 geschaltet sein.
-
2 zeigt ein erfindungsgemäßes EtherCAT-Netzwerk 28 im fehlerfreien Zustand.
-
Das Netzwerk 28 enthält eine erste Master-Steuerung 30, die als aktiver Master dient, und eine zweite Master-Steuerung 32, die als passiver, redundanter Master dient. Die Master-Steuerungen 30, 32 haben jeweils einen ersten Port 34 mit einem Dateneingang und einem Datenausgang und einen zweiten Port 36 mit einem Dateneingang und einem Datenausgang.
-
Die beiden Master-Steuerungen 30, 32 sind mehreren Slave-Steuerungen 10 von 1 logisch in einer Ring-Topologie verschaltet. Dabei weist die Ring-Topologie einen ersten Ringabschnitt 38 und einen zweiten Ringabschnitt 40 zwischen den beiden Master-Steuerungen 30, 32 auf.
-
Im ersten Ringabschnitt 38 des Netzwerks 28 ist der erste Port 34 der ersten Master-Steuerung 30 über mehrere Slave-Steuerungen 10 mit dem zweiten Port 36 der zweiten Master-Steuerung 32 verbunden. Dabei sind die Slave-Steuerungen 10 im ersten Ringabschnitt 38 jeweils logisch so angeordnet bzw. verschaltet, dass der Datenausgang des ersten Ports 34 der ersten Master-Steuerung 30 mit den Dateneingängen 16 der ersten Ports 12 der Slave-Steuerungen 10 verbunden ist, die Datenausgänge 18 der zweiten Ports 14 der Slave-Steuerungen 10 mit dem Dateneingang des zweiten Ports 36 der zweiten Master-Steuerung 32 verbunden sind, der Datenausgang des zweiten Ports 36 der zweiten Master-Steuerung 32 mit den Dateneingängen 16 der zweiten Ports 14 der Slave-Steuerungen 10 verbunden ist, und die Datenausgänge 18 der ersten Ports 12 der Slave-Steuerungen 10 mit dem Dateneingang des ersten Ports 34 der ersten Master-Steuerung 30 verbunden sind. Die dritten Ports 24 und die vierten Ports 26 der Slave-Steuerungen 10 des ersten Ringabschnitts 38 sind zum Beispiel alle geschlossen.
-
Im zweiten Ringabschnitt 40 des Netzwerks 28 ist der zweite Port 36 der ersten Master-Steuerung 30 über mehrere Slave-Steuerungen 10 mit dem ersten Port 34 der zweiten Master-Steuerung 32 verbunden. Dabei sind die Slave-Steuerungen 10 im zweiten Ringabschnitt 40 jeweils logisch so angeordnet bzw. verschaltet, dass der Datenausgang des zweiten Ports 36 der ersten Master-Steuerung 30 mit den Dateneingängen 16 der ersten Ports 12 der Slave-Steuerungen 10 verbunden ist, die Datenausgänge 18 der dritten Ports 24 der Slave-Steuerungen 10 mit dem Dateneingang des ersten Ports 34 der zweiten Master-Steuerung 32 verbunden sind, der Datenausgang des ersten Ports 34 der zweiten Master-Steuerung 32 mit den Dateneingängen 16 der dritten Ports 24 der Slave-Steuerungen 10 verbunden ist, und die Datenausgänge 18 der ersten Ports 12 der Slave-Steuerungen 10 mit dem Dateneingang des zweiten Ports 36 der ersten Master-Steuerung 30 verbunden sind. An den zweiten und dritten Ports 14, 26 der Slave-Steuerungen 10 des zweiten Ringabschnitts 40 können zum Beispiel Sub-Systeme 46 angeschlossen sein.
-
Im fehlerfreien Zustand des Netzwerks 28 agiert die erste Master-Steuerung 30 als Master, die einen ersten Frame F1 in den ersten Ringabschnitt 38 aussendet und einen redundanten zweiten Frame F2 in den zweiten Ringabschnitt 40 aussendet, während die zweite Master-Steuerung 32 als Slave agiert.
-
Die von der ersten Master-Steuerung 30 ausgesendeten ersten Frames F1 durchlaufen das Ring-Netzwerk 28 in einem ersten Kommunikationspfad 42 wie folgt. Die ersten Frames F1 werden zunächst im ersten Ringabschnitt 38 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen, durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet, und an den zweiten Ports 14 der Slave-Steuerungen 10 an die jeweils benachbarte Slave-Steuerung 10 bzw. die zweite Master-Steuerung 32 ausgegeben. Durch die als Slave agierende zweite Master-Steuerung 32 werden die ersten Frames F1 hindurchgeleitet und in Richtung des zweiten Ringabschnitts 40 ausgegeben. Im zweiten Ringabschnitt 40 werden die ersten Frames F1 dann an den dritten Ports 24 der Slave-Steuerungen 10 eingelesen, ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 durch die Slave-Steuerungen 10 hindurchgeroutet, und an den ersten Ports 12 der Slave-Steuerungen 10 ausgegeben. Die von der ersten Master-Steuerung 30 ausgesendeten zweiten Frames F2 durchlaufen das Ring-Netzwerk 28 in entgegengesetzter Richtung in einem zweiten Kommunikationspfad 44 wie folgt. Die zweiten Frames F2 werden zunächst im zweiten Ringabschnitt 40 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen, durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet, über die zweiten und vierten Ports 14, 26 den Sub-Systemen 46 zur Verfügung gestellt, und an den dritten Ports 24 der Slave-Steuerungen 10 ausgegeben. Durch die als Slave agierende zweite Master-Steuerung 32 werden die zweiten Frames F2 hindurchgeleitet und in Richtung des ersten Ringabschnitts 38 ausgegeben. Im ersten Ringabschnitt 38 werden die zweiten Frames F2 dann an den zweiten Ports 14 der Slave-Steuerungen 10 eingelesen, ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 durch die Slave-Steuerungen 10 an den geschlossenen dritten Ports 24 vorbei hindurchgeroutet, und an den ersten Ports 12 der Slave-Steuerungen 10 ausgegeben.
-
Erfindungsgemäß werden die von der ersten Master-Steuerung 30 in entgegengesetzte Richtungen ausgesendete Frames F1, F2 in dem jeweils zuerst durchlaufenen Ringabschnitt 38, 40 den Slave-Steuerungen 10 jeweils an deren ersten Ports 12 eingegeben, sodass sie die Datenverarbeitungseinheiten 22 durchlaufen und in den Slave-Steuerungen 10 verarbeitet werden. In dem jeweils danach durchlaufenen Ringabschnitt 40, 38 werden die Frames F1, F2 dann ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 durch die Slave-Steuerungen 10 hindurchgeroutet. Die erste Master-Steuerung 30 kann letztlich die an den Dateneingängen seiner Ports 34, 36 ankommenden Frames F1, F2 wieder zu T1 = F1 + F2 zusammensetzen.
-
3 zeigt das EtherCAT-Netzwerk 28 von 2 in einem fehlerhaften Zustand, in dem das Netzwerk 28 in ein erstes Teilnetz 48 und ein zweites Teilnetz 50 getrennt sind.
-
Wie in 3 dargestellt, ist die erste Master-Steuerung 30 im ersten Teilnetz 48 enthalten und ist die zweite Master-Steuerung 32 im zweiten Teilnetz 50 enthalten. Die erste Master-Steuerung 30 agiert wie im fehlerfreien Zustand des Netzwerks 28 als Master und sendet Frames F1 und F2 in entgegengesetzte Richtungen in den ersten Ringabschnitt 38 bzw. den zweiten Ringabschnitt 40 aus. Die zweite Master-Steuerung 32 agiert nun ebenfalls als Master, um redundante Frames F3 und F4 in entgegengesetzte Richtungen in den ersten Ringabschnitt 38 bzw. den zweiten Ringabschnitt 40 auszusenden.
-
Die von der ersten Master-Steuerung 30 ausgesendeten ersten Frames F1 durchlaufen das Ring-Netzwerk 28 in einem ersten Kommunikationspfad 42 wie folgt. Die ersten Frames F1 werden zunächst im ersten Ringabschnitt 38 innerhalb des ersten Teilnetzes 48 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen und durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet. An den zweiten Ports 14 der Slave-Steuerungen 10 werden die ersten Frames F1 an die jeweils benachbarte Slave-Steuerung 10 ausgegeben. Da der zweite Port 14 der letzten Slave-Steuerung 10 im ersten Teilnetz 48 aufgrund der Trennung geschlossen ist, wird der erste Frame F1 mittels der ersten Funktionalität 20 an dem zweiten Port 14 weitergeleitet und über den ebenfalls geschlossenen dritten Port 24 wieder zurück zum ersten Port 12 geleitet. Im Ergebnis werden die ersten Frames F1 über die ersten Ports 12 ohne nochmalige Verarbeitung durch die Datenverarbeitungseinheiten 22 wieder zurück zum ersten Port 34 der ersten Master-Steuerung 30 geleitet.
-
In ähnlicher Weise durchlaufen die von der ersten Master-Steuerung 30 ausgesendeten zweiten Frames F2 das erste Teilnetz 48 des Ring-Netzwerks 28 in einem zweiten Kommunikationspfad 44 wie folgt. Die zweiten Frames F2 werden zunächst im zweiten Ringabschnitt 40 innerhalb des ersten Teilnetzes 48 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen und durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet. Nach der Bereitstellung an die Sub-Systeme 46 an den zweiten und vierten Ports 14, 26 werden die zweiten Frames F2 dann an den dritten Ports 24 der Slave-Steuerungen 10 an die jeweils benachbarte Slave-Steuerung 10 ausgegeben. Da der dritte Port 24 der letzten Slave-Steuerung 10 im ersten Teilnetz 48 aufgrund der Trennung geschlossen ist, wird der zweite Frame F2 mittels der ersten Funktionalität 20 an dem dritten Port 24 vorbei und wieder zurück zum ersten Port 12 geleitet. Im Ergebnis werden die zweiten Frames F2 über die ersten Ports 12 ohne nochmalige Verarbeitung durch die Datenverarbeitungseinheiten 22 wieder zurück zum zweiten Port 36 der ersten Master-Steuerung 30 geleitet.
-
Die von der zweiten Master-Steuerung 32 ausgesendeten dritten Frames F3 durchlaufen das Ring-Netzwerk 28 in einem dritten Kommunikationspfad 52 wie folgt. Die vom ersten Port 34 ausgesendeten dritten Frames F3 werden zunächst im zweiten Ringabschnitt 40 innerhalb des zweiten Teilnetzes 50 an den dritten Ports 24 der Slave-Steuerungen 10 eingelesen und ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 an die ersten Ports 12 weitergeleitet, um sie an die jeweils benachbarte Slave-Steuerung 10 auszugeben. Da der erste Port 12 der letzten Slave-Steuerung 10 im zweiten Teilnetz 50 aufgrund der Trennung geschlossen ist, wird der dritte Frame F3 mittels der ersten Funktionalität 20 an dem ersten Port 12 vorbei und wieder zurück in Richtung zum dritten Port 24 geleitet. Dabei werden die dritten Frames F3 in den Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet, bevor sie wieder zurück zum ersten Port 34 der zweiten Master-Steuerung 32 gelangen.
-
Die von der zweiten Master-Steuerung 32 ausgesendeten vierten Frames F4 durchlaufen das Ring-Netzwerk 28 in einem vierten Kommunikationspfad 54 wie folgt. Die vierten Frames F4 werden zunächst im ersten Ringabschnitt 38 innerhalb des zweiten Teilnetzes 50 an den zweiten Ports 14 der Slave-Steuerungen 10 eingelesen und dann durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet. An den ersten Ports 12 der Slave-Steuerungen 10 werden die vierten Frames F4 an die jeweils benachbarte Slave-Steuerung 10 ausgegeben. Da der erste Port 12 der letzten Slave-Steuerung 10 im zweiten Teilnetz 50 aufgrund der Trennung geschlossen ist, wird der vierte Frame F4 mittels der ersten Funktionalität 20 an dem ersten Port 12 vorbeigeleitet und über den ebenfalls geschlossenen dritten Port 24 wieder zurück zum zweiten Port 14 geleitet. Im Ergebnis werden die vierten Frames F4 über die zweiten Ports 14 ohne nochmalige Verarbeitung durch die Datenverarbeitungseinheiten 22 wieder zurück zum zweiten Port 36 der zweiten Master-Steuerung 32 geleitet.
-
Die ersten, zweiten, dritten und vierten Frames F1, F2, F3, F4 sind dabei redundant zueinander, sodass die Slave-Steuerungen 10 bzw. die an diesen angeschlossenen Sub-Systeme 46 inhaltlich die gleichen Frames empfangen wie im fehlerfreien Zustand des Netzwerks 28 von 2.
-
4 zeigt das Ethernet-Netzwerk 28 von 2 und 3 nach Behebung des Fehlers, d.h. nach der Wiedervereinigung der beiden Teilnetze 48 und 50 aus 3 zu einer erneut ringförmigen Topologie.
-
Unmittelbar nach der Wiedervereinigung der beiden Teilnetze 48 und 50 agiert die zweite Master-Steuerung 32 weiterhin als Master. Es ergeben sich somit die folgenden Kommunikationspfade für die von den Master-Steuerungen 30, 32 ausgesendeten Frames.
-
Die von der ersten Master-Steuerung 30 ausgesendeten Frames F1 und F2 durchlaufen das Ring-Netzwerk 28 in einem ersten Kommunikationspfad 42 bzw. einem zweiten Kommunikationspfad 44 wie folgt. Die ersten Frames F1 werden – wie im Fall des fehlerfreien Zustands von 2 – im ersten Ringabschnitt 38 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen und durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet. An den zweiten Ports 14 der Slave-Steuerungen 10 werden die ersten Frames F1 an die jeweils benachbarte Slave-Steuerung 10 bzw. schließlich an den zweiten Port 36 der benachbarten zweiten Master-Steuerung 32 ausgegeben. Die zweiten Frames F2 werden – wie im Fall des fehlerfreien Zustands von 2 – im zweiten Ringabschnitt 40 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen und durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet. An den dritten Ports 24 der Slave-Steuerungen 10 werden die zweiten Frames F2 an die jeweils benachbarte Slave-Steuerung 10 bzw. schließlich an den ersten Port 34 der benachbarten zweiten Master-Steuerung 32 ausgegeben.
-
Die von der zweiten Master-Steuerung 32 ausgesendeten Frames F3 und F4 durchlaufen das Ring-Netzwerk 28 in einem dritten Kommunikationspfad 52 bzw. einem vierten Kommunikationspfad 54 wie folgt. Die dritten Frames F3 werden im zweiten Ringabschnitt 40 von den dritten Ports 24 ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 zu den ersten Ports 12 hindurchgeleitet. An den ersten Ports 12 der Slave-Steuerungen 10 werden die dritten Frames F3 an die jeweils benachbarte Slave-Steuerung 10 bzw. schließlich an den zweiten Port 36 der benachbarten ersten Master-Steuerung 30 ausgegeben. Die vierten Frames F4 werden im ersten Ringabschnitt 38 von den zweiten Ports 14 ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 an den dritten Ports 24 vorbei zu den ersten Ports 12 hindurchgeleitet. An den ersten Ports 12 der Slave-Steuerungen 10 werden die vierten Frames F4 an die jeweils benachbarte Slave-Steuerung 10 bzw. schließlich an den ersten Port 34 der benachbarten ersten Master-Steuerung 30 ausgegeben.
-
D.h. es ist unerheblich, welche Frames F3, F4 die zweite Master-Steuerung 32 in diesem Fall aussendet, da sie nicht durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet werden. Nur die von der Master-Steuerung 30 ausgesendeten Frames F1, F2 werden in den Slave-Steuerungen 10 verarbeitet.
-
Die erste Master-Steuerung 30 wird hingegen aufgrund der von der zweiten Master-Steuerung 32 empfangenen Frames F3, F4 erkennen können, dass die beiden Teilnetze 48, 50 wieder vereint worden sind. D.h. die zweite Master-Steuerung 32 muss nicht mehr als Master agieren. Dementsprechend kann die erste Master-Steuerung 30 einen speziellen Frame aussenden, der ein Signal für die zweite Master-Steuerung 32 enthält, dass diese keine Frames F3, F4 mehr aussenden sondern wieder als Slave agieren soll.
-
In dem obigen Ausführungsbeispiel enthalten die Slave-Steuerungen 10 jeweils einen ersten Port 12, einen zweiten Port 14, einen dritten Port 24 und einen vierten Port 26. In anderen Ausführungsformen der Erfindung kann wahlweise aber auch auf den dritten Port 24 und/oder den vierten Port 26 verzichtet werden. In weiteren anderen Ausführungsformen der Erfindung können wahlweise auch mehrere dritte Ports 24 und/oder mehrere vierte Ports 26 vorgesehen sein.
-
5 zeigt zum besseren Verständnis der vorliegenden Erfindung als Vergleich ein anders aufgebautes EtherCAT-Netzwerk 28 im fehlerfreien Zustand.
-
Das EtherCAT-Netzwerk 28 von 5 weist wie das erfindungsgemäße EtherCAT-Netzwerk 28 von 2 eine erste, aktive Master-Steuerung 30 und eine zweite, passive Master-Steuerung 32, die mit mehreren Slave-Steuerungen 10 logisch in einer Ring-Topologie mit einem ersten Ringabschnitt 38 und einem zweiten Ringabschnitt 40 verschaltet sind.
-
Das in 5 dargestellte Netzwerk 28 unterscheidet sich von dem erfindungsgemäßen Netzwerk 28 von 2 durch die Verschaltung der Slave-Steuerungen 10. Auch in dem Netzwerk 28 von 5 werden die Slave-Steuerungen 10 von 1 eingesetzt. Während die Slave-Steuerungen 10 im zweiten Ringabschnitt 40 im Netzwerk 28 von 5 wie in 2 verschaltet sind, sind die Slave-Steuerungen 10 im ersten Ringabschnitt 38 im Netzwerk 28 von 5 jedoch anders als in 2 verschaltet. Wie in 5 dargestellt, sind die Slave-Steuerungen 10 im ersten Ringabschnitt 38 jeweils logisch so angeordnet bzw. verschaltet, dass der Datenausgang des ersten Ports 34 der ersten Master-Steuerung 30 mit den Dateneingängen 16 der zweiten Ports 14 der Slave-Steuerungen 10 verbunden ist, die Datenausgänge 18 der ersten Ports 12 der Slave-Steuerungen 10 mit dem Dateneingang des zweiten Ports 36 der zweiten Master-Steuerung 32 verbunden sind, der Datenausgang des zweiten Ports 36 der zweiten Master-Steuerung 32 mit den Dateneingängen 16 der ersten Ports 12 der Slave-Steuerungen 10 verbunden ist, und die Datenausgänge 18 der zweiten Ports 14 der Slave-Steuerungen 10 mit dem Dateneingang des ersten Ports 34 der ersten Master-Steuerung 30 verbunden sind.
-
Die von der ersten Master-Steuerung 30 ausgesendeten ersten Frames F1 durchlaufen das Ring-Netzwerk 28 im fehlerfreien zustand in einem ersten Kommunikationspfad 42 wie folgt. Die ersten Frames F1 werden zunächst im ersten Ringabschnitt 38 an den zweiten Ports 14 der Slave-Steuerungen 10 eingelesen, ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 durch die Slave-Steuerungen 10 hindurchgeroutet, und an den ersten Ports 12 der Slave-Steuerungen 10 an die jeweils benachbarte Slave-Steuerung 10 bzw. die zweite Master-Steuerung 32 ausgegeben. Durch die als Slave agierende zweite Master-Steuerung 32 werden die ersten Frames F1 hindurchgeleitet und in Richtung des zweiten Ringabschnitts 40 ausgegeben. Im zweiten Ringabschnitt 40 werden die ersten Frames F1 dann an den dritten Ports 24 der Slave-Steuerungen 10 eingelesen, ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 durch die Slave-Steuerungen 10 hindurchgeroutet, und an den ersten Ports 12 der Slave-Steuerungen 10 bis zur ersten Master-Steuerung 30 ausgegeben. Die von der ersten Master-Steuerung 30 ausgesendeten zweiten Frames F2 durchlaufen das Ring-Netzwerk 28 in entgegengesetzter Richtung in einem zweiten Kommunikationspfad 44 wie folgt. Die zweiten Frames F2 werden zunächst im zweiten Ringabschnitt 40 an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen, durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet, über die zweiten und vierten Ports 14, 26 und die daran angeschlossenen Sub-Systeme 46 geleitet, und an den dritten Ports 24 der Slave-Steuerungen 10 ausgegeben. Durch die als Slave agierende zweite Master-Steuerung 32 werden die zweiten Frames F2 hindurchgeleitet und in Richtung des ersten Ringabschnitts 38 ausgegeben. Im ersten Ringabschnitt 38 werden die zweiten Frames F2 dann an den ersten Ports 12 der Slave-Steuerungen 10 eingelesen, durch die Datenverarbeitungseinheiten 22 der Slave-Steuerungen 10 verarbeitet, über die vierten Ports 26 geleitet, und an den zweiten Ports 14 der Slave-Steuerungen 10 ausgegeben.
-
Im Ergebnis werden im Netzwerk 28 von 5 nur die von der ersten Master-Steuerung 30 ausgesendeten zweiten Frames F2 in den Slave-Steuerungen 10 des zweiten und des ersten Ringabschnitts 40, 38 verarbeitet, während die von der ersten Master-Steuerung 30 in entgegengesetzter Richtung ausgesendeten ersten Frames F1 durch alle Slave-Steuerungen 10 des ersten und des zweiten 38, 40 ohne Verarbeitung durch die Datenverarbeitungseinheiten 22 hindurchgeroutet werden.
-
Während diese Verschaltung der Slave-Steuerungen 10 im fehlerfreien Zustand des Netzwerks 28 zu keinem Problem führt, entstehen Probleme für den Fehlerfall eines in zwei Teilnetze aufgetrennten Netzwerks entsprechend 3 und der anschließenden Wiedervereinigung der beiden Teilnetze entsprechend 4. Nachdem im Fehlerfall die zweite Master-Steuerung 32 zu einem aktiven Master geworden ist, bleibt sie auch nach der Wiedervereinigung der beiden Teilnetze aktiv. Dies hat in der Verschaltung von 5 zur Folge, dass im zweiten Ringabschnitt 40 von der ersten Master-Steuerung 30 ausgesendete Frames F2 in den Slave-Steuerungen 10 verarbeitet werden und im ersten Ringabschnitt 38 von der zweiten Master-Steuerung 32 ausgesendete Frames F4 in den Slave-Steuerungen 10 verarbeitet werden. Im Gegensatz zum erfindungsgemäßen Netzwerk 28 ist es also nach der Wiedervereinigung der Teilnetze 48, 50 durchaus von Bedeutung, welche Frames von der zweiten Master-Steuerung 32 ausgesendet werden, da sie zumindest in den Slave-Steuerungen 10 des ersten Ringabschnitts 38 verarbeitet werden. Es müssten daher ggf. aufwändige Maßnahmen getroffen werden, um diese Situation schnell und zuverlässig zu erkennen und die zweite Master-Steuerung 32 wieder schnell als passiven Master zu betreiben.
-
Bezugszeichenliste
-
- 10
- Slave-Steuerung, insbes. EtherCAT-Slave Controller
- 12
- erster Port (0) von 10
- 14
- zweiter Port (1) von 10
- 16
- Dateneingang
- 18
- Datenausgang
- 20
- erste Funktionalität, insbes. Loopback
- 21
- zweite Funktionalität, insbes. Auto-Forward
- 22
- Datenverarbeitungseinheit, insbes. EtherCAT-Processing Unit
- 24
- dritter Port (2) von 10
- 26
- vierter Port (3) von 10
- 28
- Netzwerk, insbes. Datennetzwerk mit Ring-Topologie
- 30
- erste Master-Steuerung, insbes. EtherCAT-Master Controller
- 32
- zweite Master-Steuerung, insbes. EtherCAT-Master Controller
- 34
- erster Port (A) von 30, 32
- 36
- zweiter Port (B) von 30, 32
- 38
- erster Ringabschnitt
- 40
- zweiter Ringabschnitt
- 42
- erster Kommunikationspfad
- 44
- zweiter Kommunikationspfad
- 46
- Sub-Systeme
- 48
- erstes Teilnetz
- 50
- zweites Teilnetz
- 52
- dritter Kommunikationspfad
- 54
- vierter Kommunikationspfad
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Standard IEC 61158 [0015]