Sercos III 200px Erstellungsjahr:2003 Nummer der Geräte:511 Geschwindigkeit100 Mbit/s full duplex Hotplugging?Ja Redundanz?Ja Ethernet kompatibel?Ja Leitendes Organ:Sercos International e. V. Website: www.sercos.com

Sercos III ist die dritte Generation des Sercos interface, einer standardisierten offenen digitalen Schnittstelle für die Kommunikation zwischen Industriesteuerungen, Motoren und deren Steuerungen, input/output devices (I/O) und Ethernet-Knoten wie PCs. Sercos III wendet die harten Echtzeitfunktionen der Sercos-Schnittstelle auf Ethernet an. Es basiert auf und entspricht dem Ethernet-Standard (IEEE 802.3 & ISO/IEC 8802-3). Die Arbeit an Sercos III begann im Jahr 2003, wobei Anbieter im Jahr 2005 erste unterstützende Produkte auf den Markt brachten.

__TOC__

Allgemeine Architektur Um die Anforderungen an Durchsatz und Jitter in Sercos-Anwendungen zu erfüllen, arbeitet Sercos III in erster Linie in einer Master/Slave-Anordnung, die zyklische Daten zwischen den Knoten austauscht. Der Master initiiert die gesamte Datenübertragung während eines Sercos-Echtzeitzyklus. Alle Datenübertragungen beginnen und enden beim Master (zirkulär).

300px|mini|Sercos III Zyklus

Sercos III Zyklus Die Kommunikation über ein Sercos-III-Netzwerk erfolgt in strengen zyklischen Intervallen. Die Zykluszeit wird vom Benutzer für eine bestimmte Anwendung gewählt und reicht von 31,25 µs bis 65 ms. Innerhalb jedes Zyklus werden Daten zwischen Sercos-III-Knoten unter Verwendung von zwei Telegrammtypen ausgetauscht: MDTs und ATs (siehe Telegrammtypen). Nachdem alle MDTs und ATs übertragen wurden, erlauben die Sercos-III-Knoten, dass die verbleibende Zeit im Zyklus als UC (Unified Communication)-Kanal genutzt wird, der für den Datenaustausch mit anderen Formaten, wie z. B. IP, genutzt werden kann. Das Netzwerk bleibt für den UCC-Verkehr verfügbar, bis der nächste Zyklus beginnt. Zu diesem Zeitpunkt sperrt Sercos III die Knoten wieder für den UCC-Verkehr. Sercos ist absichtlich so konzipiert, dass zwischen den zyklischen Echtzeitnachrichten ein offener Zugang an allen Ports für andere Protokolle möglich ist. Es ist kein Tunneling erforderlich. Dies hat den Vorteil, dass jeder Sercos-III-Knoten unabhängig davon, ob sich Sercos III im zyklischen Modus befindet oder nicht, für die Verwendung anderer Protokolle wie TCP/IP zur Verfügung steht, ohne dass zusätzliche Hardware zur Verarbeitung von Tunneling erforderlich ist. Sercos-Knoten sind so spezifiziert, dass sie eine Store-and-Forward-Methode zur Pufferung von Nicht-Sercos-Nachrichten bereitstellen, falls diese an einem Knoten empfangen werden, während die zyklische Kommunikation aktiv ist.

Telegramme

500px|mini|Sercos III Telegramm Struktur

Telegrammformat Alle Sercos-III-Telegramme entsprechen dem IEEE 802.3 & ISO/IEC 8802-3 MAC (Media Access Control) Frame-Format.

Zieladresse Die Zieladresse für alle Sercos-III-Telegramme ist immer 0xFFFF FFFF FFFF (alle 1en), was als Broadcast-Adresse für Ethernet-Telegramme definiert ist. Dies liegt daran, dass alle Telegramme vom Master ausgegeben werden und für alle Slaves im Netzwerk bestimmt sind.

Quelladresse Die Quelladresse für alle Sercos-III-Telegramme ist die MAC-Adresse des Masters, da dieser alle Telegramme ausgibt.

Ethernet-Typ Ein eindeutiger EtherType-Wert wurde über die IEEE EtherType Field Registration Authority für Sercos III zugewiesen (0x88CD).

Sercos III Header Der Anfang des Ethernet-definierten Datenfeldes beginnt immer mit einem Sercos-III-Header, der Steuer- und Statusinformationen enthält, die nur für Sercos gelten.

Sercos-III-Datenfeld Auf den Sercos-III-Header folgt das Sercos-III-Datenfeld, das einen konfigurierbaren Satz von Variablen enthält, die für jedes Gerät im Netzwerk definiert sind.

Telegrammtypen

Zwei Haupttypen von Telegrammen werden innerhalb des Sercos III Zyklus verwendet. Das Master Data Telegramm (MDT) und das Acknowledge Telegramm (AT). Beide Telegrammtypen werden vom Master (Steuerung) ausgegeben. Das MDT enthält Informationen, die der Master an die Slaves sendet. Es wird vom Master mit Daten befüllt und von den Slaves ausgelesen. Das AT wird zwar vom Master ausgegeben, jedoch von jedem Slave mit seinen entsprechenden Antwortdaten (feedback Werte, Eingangszustände usw.) befüllt. Mehrere Slaves verwenden dasselbe AT, indem sie ihren vorbestimmten Bereich im AT-Telegramm ausfüllen, die Prüfsummen aktualisieren und dann das Telegramm an das nächste Gerät weitergeben. Diese Methode reduziert die Auswirkungen des Ethernet-Rahmen-Overheads auf die Leistung des Netzes, ohne IEEE 802.3 und ISO/IEC 8802-3 zu beeinträchtigen. Die Menge der vom Master an die Slaves gesendeten Daten sowie die Summe der von den Slaves zurückgesendeten Daten kann die in 802.3 spezifizierte maximale Datenfeldgröße von 1500 Byte überschreiten. Um diese Grenze einzuhalten, kann Sercos III in einem Zyklus mehr als ein MDT-Telegramm sowie mehr als ein AT-Telegramm (jeweils bis zu 4) verwenden.

250px|mini|Sercos III Synchronisation

Synchronisierung

Um echte harte Echtzeiteigenschaften zu erreichen, verwendet Sercos III wie Sercos I und II eine Form der Synchronisation, die von einer Synchronisations-"Marke" abhängt, die von der Hauptsteuerung in exakten äquidistanten Zeitintervallen ausgegeben wird. Alle Knoten in einem Sercos-Netzwerk verwenden dieses Telegramm, um alle Aktivitäten im Knoten zu synchronisieren. Um Schwankungen in den Netzkomponenten zu berücksichtigen, werden bei der Phase-up (Initialisierung) eines Sercos-Netzes Verzögerungen in den Übertragungen von Knoten zu Knoten gemessen um diese Werte während des normalen Betriebes zu kompensieren. Im Gegensatz zu Sercos I und II, wo ein separates Master Sync Telegramm (MST) für diesen Zweck verwendet wird, enthält Sercos III das MST im ersten übertragenen MDT. Es wird kein separates Telegramm ausgegeben. Die Zeit zwischen zwei MSTs ist genau gleich der vorgesehenen Sercos-Zykluszeit tScyc.

Das Synchronisationsverfahren stellt sicher, dass die zyklische und gleichzeitige Synchronisation aller angeschlossenen Geräte unabhängig von der Topologie und der Anzahl der Geräte in Sercos-Netzwerken erfolgt.

300px|mini|Nomenklatur der physikalischen Schnittstelle von Sercos III

Physical und data link layers

Sercos III unterstützt die Standard IEEE 802.3 & ISO/IEC 8802-3 100Base-TX oder 100Base-FX (100 Mbit/s Basisband) Vollduplex Physical Layer (PHY) Einheiten. Es werden 802.3-konforme Media-Access-Controller (MAC)-Subschichten verwendet. Autonegotiation muss auf jedem PHY aktiviert sein, aber nur 100 Mbit-Vollduplex wird unterstützt. Auto (MAU [Media Attachment Unit]-Embedded) Crossover wird zwischen den beiden Physical Medium Attachment (PMA)-Einheiten spezifiziert, die an einem Duplex-Port vorhanden sind. Diese beiden Einheiten werden in der Sercos-III-Spezifikation als Primär- und Sekundärkanal bezeichnet. Es sind duale Schnittstellen erforderlich (zwei Duplex-Schnittstellen pro Gerät). In der Sercos-III-Spezifikation werden die beiden Schnittstellen als P1 und P2 (Ports 1 und 2) bezeichnet.

Verdrahtung

Die Installation eines Sercos-Netzwerks ist einfach und erfordert keine Infrastrukturkomponenten wie Switches oder Hubs. Alle Geräte werden über Patch- oder Crossover-Kabel mit einer Länge von bis zu 100 m miteinander verbunden. Die Ethernet-Ports an den Geräten sind austauschbar und können verwendet werden, um Standard-Ethernet-Geräte wie z. B. Notebooks an das Netzwerk anzuschließen. Auf jedes Ethernet- und IP-Protokoll der Sercos-Geräte kann zugegriffen werden, ohne das Echtzeitprotokoll zu beeinträchtigen und ohne dass der Echtzeitbetrieb aktiviert werden muss.

Sercos-III-Stack

Die gesamte Funktionalität, die zur Konfiguration einer Sercos-III-Schnittstelle erforderlich ist, ist in einem Stack enthalten, der sowohl in einer „harten“ als auch in einer „weichen“ Version erhältlich ist. Die harte Version wird häufig für eingebettete Anwendungen (wie Antriebe, I/O-Module und Mikrocontroller-basierte Motorsteuerungen) verwendet:

Es ist wichtig, dass der Overhead der Verwaltung der Sercos-III-Knoten nicht den Geräteprozessor belastet. Jitter im Nanosekundenbereich ist erforderlich.

Der Hardware-Stack steht in verschiedenen Formen zur Verfügung, dazu gehören derzeit

Ein Bitstrom für Xilinx FPGAs für Master und Slave Ein Bitstrom für Altera FPGAs für Master und Slave Ein Bitstrom für Lattice Semiconductor FPGAs für Master und Slave Eine Netzliste für Xilinx-FPGAs für Master und Slave Eine Netzliste für Altera FPGAs für Master und Slave Eine Netzliste für Lattice FPGAs für Master und Slave Der "netX" Multi-Netzwerk-Controller-Chip von Hilscher, GmbH für Master und Slave Das Anybus CC Modul von HMS Industrial Networks für Slave Die Sitara™ AM335x Mikroprozessoren von Texas Instruments für Master und Slave. Der fido 5000 REM Switch Chip von Innovasic, Inc. als Slave. Die RZ/N1-Mikroprozessoren von Renesas Electronics als Slave. Der maximal zulässige Jitter bei Hard-Stack-basierten Mastern und Slaves beträgt weniger als 1 µs. Bei Verwendung der oben genannten Stacks ergibt sich ein Jitter ähnlich wie bei Sercos II (35–70 Nanosekunden).

Sercos III unterstützt auch einen betriebssystem- und hardwareplattformunabhängigen „Soft Master“, der einen vollständig softwarebasierten Stack für die Master-Schnittstelle verwendet. Da der maximale Jitter in einer solchen Konfiguration vom Betriebssystem des Masters abhängt, kann er durch eine Variable für das Sercos-III-Netz festgelegt werden, wenn ein Soft Master verwendet wird. Ein Standard-Ethernet-Controller kann für Anwendungen mit Linientopologie, Buszykluszeiten größer als 500 us und Synchronisation im Mikrosekundenbereich verwendet werden. Anwendungen mit höheren Synchronisationsanforderungen und geringeren Buszykluszeiten können mit einem TTS-fähigen Ethernet-Controller mit einem geeigneten Echtzeitbetriebssystem realisiert werden.

Für einfache Slaves, wie z. B. I/O-Geräte, ist EasySlave-IO, eine lizenzfreie Bitstream-Variante des EasySlave, verfügbar.

Ein Produkt, das ein Arduino-Board als Rapid-Prototyping-Plattform für eine Anwendung nutzt, sowie ein entsprechendes Shield (Zusatzmodul) mit einem Sercos EasySlave-FPGA und weiteren Peripheriekomponenten ist verfügbar.

Datenkonsistenz

Datenkonsistenz ist ein Begriff, der üblicherweise mit der IT-Branche in Verbindung gebracht wird, aber auch für die Echtzeitsteuerung gelten kann (siehe z. B. Peer-to-Peer-Kommunikation). Aus diesem Grund schreibt Sercos III vor, dass keine Daten während einer Übertragung überschrieben (gelöscht) werden dürfen. Jeder Slave in einem Netzwerk kann auf die Eingangs- und Ausgangsdaten jedes anderen Slaves im Netzwerk zugreifen.

Adressierung

Die Geräte müssen die MAC-Adressierung von Ethernet sowie die Sercos-III-Adressierung unterstützen. Andere Adressierungsschemata sind optional.

Sercos-III-Adresse

Jedes Sercos-III-Gerät enthält eine numerische Adresse, die von anderen Geräten im Sercos-III-Netzwerk zum Datenaustausch verwendet wird. Die Adresse kann ein Integerwert zwischen 1 und 511 sein.

IP-Adresse

Sercos III verwendet keine IP-Adresse für seinen eigenen Betrieb. Ob ein Gerät eine IP-Adresse besitzt oder nicht, hängt davon ab, ob es andere Spezifikationen unterstützt, entweder unabhängig (exklusiv) vom Sercos-III-Betrieb oder über den UC (Unified Communication)-Kanalteil des Zyklus.

Netzwerktopologien

Die Sercos-III-Spezifikation definiert zwei mögliche Netztopologien: Ring und Linie. Für diejenigen, die mit anderen Netzwerken vertraut sind, mögen beide als Ring konfiguriert erscheinen. Alle Telegramme beginnen und enden beim Master. Um dies zu erreichen, wird die Vollduplex-Funktion der physical-layer verwendet.

Linientopologie

600px|mini|Sercos III Linientopologie