Allgemein FMMU / SM

Data Link Layer

Die Data Link Layer verbindet die Application Layer und die Physical Layer. Der EtherCAT-Slave-Controller befindet sich in der Data Link Layer und kümmert sich um die EtherCAT-Kommunikation als ein Interface zwischen dem EtherCAT-Feldbus und der Slave-Applikation. Auf der physikalischen Ebene werden Daten vom EtherCAT-Slave-Controller in elektrische oder optische Signale umgesetzt. In der Application Layer läuft die EtherCAT-State Machine. Auf Applikationsebene wird mit Servicedatenobjekten und Prozessdatenobjekten gearbeitet und werden sie verändert. Dateizugriff und Netzwerkkommunikation steuert die Applikationsschicht.

FMMU

Die Abkürzung FMMU steht für Fieldbus Memory Management Unit. Eine FMMU gehört zur Data Link Layer und ist in jeder E/A-Klemme zu finden. FMMUs werden dazu benutzt, logische Adressen bitweise oder byteweise auf physikalische Adressen des EtherCAT-Slave-Controllers abzubilden.

In der Start-Up-Phase konfiguriert der Master die FMMUs eines jeden Slaves, um einzustellen, welcher Bereich des logischen Prozessdatenabbildes welchem lokalen Adressraum zugeordnet werden soll. Jeder FMMU-Kanal bildet einen kontinuierlichen logischen Adressbereich auf einen kontinuierlichen physikalischen Adressbereich des Slave-Gerätes ab. Während das Telegramm das Gerät durchläuft, kann die FMMU für die Klemme bestimmte Daten entnehmen und auch Daten in das Telegramm einfügen. Das Telegramm wird dabei nur wenige Nanosekunden verzögert, wenn das Slave-Gerät nicht über einen Stecker mit dem EtherCAT-Telegramm verbunden ist.

SyncManager

Ein SyncManager bewahrt einen DPRAM-Bereich vor gleichzeitigem Zugriff und sorgt auf diese Weise für Datenkonsistenz. Für die Prozessdatenkommunikation wird in der Regel ein Drei-Buffer-SyncManager verwendet, für die Nicht-Prozessdatenkommunikation wird in der Regel ein Ein-Buffer-SyncManager genommen. Der Drei-Buffer-SyncManager heißt Buffered-Type-SyncManager. Er hat immer einen freien Buffer zum Schreiben und immer, mit Ausnahme vor dem ersten Schreiben, einen konsistenten Buffer zum Lesen. Der Ein-Buffer-SyncManager heißt Mailbox-Type-SyncManager. Er implementiert einen Schutz vor Datenüberlauf. Die Schreibeseite muss schreiben, bevor die Leseseite lesen kann; die Leseseite muss Lesen, bevor die Schreibeseite wieder Schreiben kann.

SyncManager sorgen für einen konsistenten und sicheren Datenaustausch zwischen dem EtherCAT-Master und der lokalen Applikation des Slave-Gerätes. Der EtherCAT-Master konfiguriert die SyncManager eines jeden Slave-Gerätes; er legt Richtung und Art und Weise der Kommunikation fest. Für den Datenaustausch steht ein Datenpuffer zur Verfügung.

Im Buffered Mode können EtherCAT-Master und Slave-Applikation jederzeit auf den Datenpuffer zugreifen und gleichzeitig ohne Datenkonflikte Daten lesen und schreiben. Ein Lesen des neuesten konsistenten Datenpuffers ist jederzeit möglich, ein Beschreiben des Datenpuffers ist jederzeit möglich. Wird schneller beschrieben als gelesen, gehen ältere Daten verloren. Der Buffered Mode wird üblicherweise für die zyklische Prozessdatenkommunikation benutzt.

Für den 3-Buffer-Mode werden physikalisch 3 Puffer mit identischer Größe eingesetzt. Die Startadresse und Größe des ersten Puffers wird in der SyncManager-Konfiguration konfiguriert. Die Adressen dieses ersten Puffers werden vom Master-Gerät und von der lokalen Applikation zum Lesen und Schreiben der Daten benutzt. In Abhängigkeit vom Zustand des SyncManagers werden Zugriffe auf den Adressbereich des ersten Puffers zu einem der drei Puffer umgeleitet. Deshalb müssen andere SyncManager so konfiguriert werden, dass sie den Speicherbereich des zweiten und dritten Puffers nicht ansprechen.

Einer der drei Puffer wird zum Schreiben dem Producer zugeordnet. Einer der drei Puffer wird zum Lesen dem Consumer zugeordnet. Einer der Puffer hält die vom Producer geschriebenen Daten konsistent.

Im Mailbox-Mode wird nur ein Puffer mit einer zuvor konfigurierten Größe verwendet und gibt es zwischen EtherCAT-Master und lokaler Slave-Applikation einen Handshake für den Datenaustausch. Zuerst kann nach einer Initialisierung der Mailbox-Puffer beschrieben werden. Nachdem der Schreibvorgang vollständig durchgeführt worden ist, wird der Schreibzugriff gesperrt, und der Puffer kann von der anderen Seite ausgelesen werden. Nur nacheinander kann gelesen oder geschrieben werden, und immer nur einer von beiden, der EtherCAT-Master oder die lokale Applikation, erhält Zugriff auf den Datenpuffer. Während einer schreibt, darf der andere nicht lesen; während einer liest, darf der andere nicht schreiben. In den Datenpuffer geschrieben werden darf erst wieder, wenn alles ausgelesen ist, so dass nichts überschrieben wird und auf diese Weise keine Daten verloren gehen und alle Daten vom Producer den Consumer erreichen. Der Mailbox Mode wird üblicherweise für Protokolle der Slave-Applikationsschicht benutzt.

FMMU/SM

Der „FMMU/SM“-Dialog zeigt die gegenwärtige Konfiguration der FMMUs und der SyncManager und erlaubt dem Benutzer, diese Einstellungen zu ändern.

Allgemein FMMU / SM 1:

Die obere Liste zeigt die Konfiguration der FMMUs an.

Column

Description

L Start

Legt fest, von welcher logischen Adresse an, die FMMU anfängt, die Daten abzubilden. Das Start-Bit wird gemäß der Nummer, die dem Punkt folgt gesetzt. (0xnnnnnnnn.StartBit.)

Length

Legt fest, wie viele Bytes von der logischen Adressierung abgebildet werden.

L EndBit

End-Bit der logischen Adresse. Soll die logische Adresse auf ein Byte konfiguriert werden, dann muss das Start-Bit auf 0 (L Start = 0xnnnnnnnn.0) eingestellt werden und muss dieser Eintrag auf 7 gesetzt werden.

P Start

Legt die physikalische Adresse fest, auf die die logische Adresse zeigt.

Flags

RE: Read Enabled.

Sm

Das abgebildete Kommando gehört im Beispiel zum Sync Manager 0.

Su

Das abgebildete Kommando gehört im Beispiel zur Sync Unit 0.

Die untere Liste zeigt die Konfiguration des SyncManagers an.

Spalte

Beschreibung

Start

Legt fest, von welcher Adresse ausgehend der SyncKanal aktiv ist.

Length

Länge des SyncKanals in Bytes. Falls die Länge 0 ist, ist der SyncKanal nicht aktiviert.

Data

Konfigurationsdaten, die zum SyncManager geschrieben werden. Der Ausdruck in Klammern beginnt mit der Zahl „1“ oder mit der Zahl „3“. Die Zahl „1“ bedeutet, dass der zugehörige SyncKanal im 1-Buffer-Mode arbeitet, die Zahl „3“ bedeutet, dass der zugehörige SyncKanal im 3-Buffer-Mode arbeitet. Der 1-Buffer-Mode wird auch als Mailbox-Mode bezeichnet.

Master