Der EAP Sendemechanismus

Das Senden eines EAP Telegramms wird mit Hilfe eines Auslösemechanismus (Auslöser - engl. Trigger) angestoßen. Mit Hilfe der Konfiguration eines EAP Gerätes wird bestimmt, wie dieser Trigger Mechanismus arbeiten soll. Dazu wird für jedes TxData eine Trigger Bedingung definiert. Wenn diese Trigger Bedingung erfüllt ist, wird das TxData per EAP Telegramm versendet. Mit anderen Worten: Bei einem EAP Gerät wird mit Hilfe von Trigger Bedingungen für jedes TxData konfiguriert, wie der Trigger Mechanismus arbeiten soll.

Es gibt 5 verschiedene Arten von Trigger Bedingungen, die hier beschrieben sind.

Der EAP Sendemechanismus 1:

Überlagerung von Trigger Bedingungen

Bei den Erläuterungen zu den einzelnen Trigger Bedingungen wird darauf verwiesen, welche anderen Trigger Bedingungen deaktiviert sein müssen. Welche Bedingungen also nicht in Kombination erlaubt sind. Das Beispiel weiter unten veranschaulicht, dass sich mehrere aktive Trigger Bedingungen gegenseitig überlagern. Wie sie sich überlagern, wird nicht eindeutig definiert. Aus diesem Grund ist es empfehlenswert, alle nicht erlaubten Trigger Bedingungen zu deaktivieren.

  1. Poll Request Rx PD
    Die Trigger Bedingung Poll Request Rx PD steuert das Zurücksenden eines Antwort Telegramms im sogenannten Polled Data Exchange (siehe in Kapitel Kommunikationsmethoden) Modus. Sobald ein TxData über einen gültigen Eintrag für die Trigger Bedingung Poll Request Rx PD verfügt, arbeitet das betreffende TxData in diesem Modus. Ein gültiger Eintrag liegt dann vor, wenn dieser mit dem Objektindex eines beim EAP Gerät konfigurierten RxData übereinstimmt. Dieses RxData definiert dann die erwartete Anfrage (Request), um das TxData als Antwort zurückzusenden. Empfängt das EAP Gerät ein EAP Telegramm, in dem das erwartete Process Data enthalten ist, wird das TxData im darauffolgenden Zyklus in einem neuen EAP Telegramm an den Absender des Request Telegramms zurückgeschickt. Folglich fungiert das EAP Gerät für dieses TxData als Polled Data Exchange Server, sobald die Trigger Bedingung Poll Request RxData aktiviert ist.
    Alle anderen Bedingungen (2 bis 5) müssen bei aktivierter Poll Request Rx PD Bedingung deaktiviert sein.
  2. Divider/Modulo
    Per Divider/Modulo Bedingung wird festgelegt, in welchem Rhythmus, ein TxFrame bzw. ein TxData versendet wird (siehe folgende Abbildung). Der Rhythmus ist dabei immer ein Vielfaches der Zykluszeit der Task, die das EAP Gerät treibt. Der Divider Wert legt dabei das Vielfache fest. Der Modulo Wert legt den Startzyklus fest, wann der TxFrame bzw. das TxData zum ersten Mal versendet wird. Wenn der Divider den Wert 0 hat, ist diese Bedingung deaktiviert.
    Die Bedingungen 3, 4 und 5 haben bei aktivierter Divider/Modulo Bedingung keine Relevanz; sie sollten aber dennoch deaktiviert werden. Die Bedingung 1 muss deaktiviert sein. Der EAP Sendemechanismus 2: Der EAP Sendemechanismus 3:
  3. Cycle Time
    Das TxData wird in einem bestimmten Zeitintervall versendet, welches durch den Cycle Time Wert (Einheit in µs) festgelegt wird (siehe folgende Abbildung). Die Cycle Time sollte ein ganzzahliges Vielfaches der Taskzykluszeit sein. Wenn ein Wert konfiguriert wird, der kein ganzzahliges Vielfaches der Taskzykluszeit ist, wird automatisch das nächstkleinere Vielfache gesetzt, ggf. auch 0. Wenn der Wert 0 µs beträgt, ist diese Bedingung deaktiviert.
    Die Trigger Bedingungen 1, 2, 4 und 5 müssen deaktiviert sein, wenn die Trigger Bedingung Cycle Time aktiviert ist.
    Der EAP Sendemechanismus 4:
  4. Change of State (CoS): On Change Timeout
    Das TxData wird erst dann gesendet, wenn sich der Wert einer seiner Variablen zum vorherigen Wert verändert hat. Dabei wird ein maximales Zeitintervall als sogenannte Timeout Time (Einheit in µs) definiert. Ändert sich der Wert einer Variablen nicht innerhalb dieses Intervalls, wird nach Ablauf des Zeitintervalls das TxData dennoch gesendet (siehe folgende Abbildung). Der Wert für das Zeitintervall kann nur ein ganzzahliges Vielfaches der Taskzykluszeit sein. Wenn das Zeitintervall auf 0 µs gestellt wird, ist die Trigger Bedingung CoS On Change Timeout deaktiviert. Die Trigger Bedingungen 1, 2 und 3 müssen deaktiviert sein, wenn die Trigger Bedingung CoS On Change Timeout aktiviert ist.
    Der EAP Sendemechanismus 5:
  5. Change of State (CoS): Inhibit Time
    Die Inhibit Time legt ein minimales Zeitintervall fest, so dass das TxData nicht eher gesendet wird, bis dieses Zeitintervall nach dem letzten Versenden abgelaufen ist.
    Die Inhibit Time legt also ein minimales Zeitintervall in µs fest, nach der das TxData versendet wird – auch dann, wenn sich ein Wert der enthaltenen TxVariable geändert hat (siehe folgende Abbildung). Der Wert für dieses Zeitintervall kann nur ein ganzzahliges Vielfaches der Taskzykluszeit sein, und er muss kleiner als der Wert von CoS On Change Timeout sein. Wenn das Zeitintervall auf 0 µs gestellt wird, ist die Trigger Bedingung Inhibit Time deaktiviert.
    Die Trigger Bedingungen 1, 2 und 3 müssen deaktiviert sein, wenn die Trigger Bedingung Inhibit Time aktiviert ist.
Der EAP Sendemechanismus 6:

Konfigurationsmöglichkeiten der Trigger Bedingungen

Die Trigger Bedingungen 1, 3 und 5 (Poll Request RxData, Cycle Time und Inhibit Time) können über das EAP Objektverzeichnis konfiguriert werden (siehe Kapitel CANopen Objektverzeichnis in der Dokumentation zum TwinCAT EAP Gerät).

Der EAP Sendemechanismus 7:

Besonderheiten der Trigger Bedingungen

Bei allen Trigger Bedingungen, die ein Zeitintervall definieren, kann dieses Intervall nicht kleiner sein als die Zykluszeit der Task, die das EAP Gerät treibt.

Eine Kombination von den Bedingungen ist nicht zu empfehlen, da sie nicht eindeutig definiert sind. Als Beispiel für die Komplexität kann das folgende Beispiel genommen werden:

Der EAP Sendemechanismus 8:

In der letzten Zeile wird deutlich, dass die Sendung bei 160ms und 240ms nicht stattfindet, da es von den zusätzlichen Divider/Modulo Bedingungen verhindert wird.