Inbetriebnahme eines MTO-Kanals

1. Wie teste ich meinen Aktor?

Wie teste ich meinen Aktor Die Ausgänge sind über die regulären Prozessdaten nicht ohne Zeitvorgabe ansteuerbar. Um nun einen angeschlossenen Aktor ohne Zeitvorgabe zu testen, ist wie folgt vorzugehen:

- Im CoE-Verzeichnis 0x80n1:02 EnableManualOperation für den entsprechenden Kanal das Bit setzen.
- Befindet sich die Klemme im OP-State, so kann das PDO ManualOutputState im MTO Outputs Ctrl gesetzt werden

Inbetriebnahme eines MTO-Kanals 1:
Manuelle Ansteuerung

Weiterhin kann der Ausgang auf +24 V Spannungsversorgung dauergeschaltet werden. Befindet sich die Klemme im OP-State, so kann durch das Setzen des Bits im CoE 0x80n1:01 UseAs+24VPowerSupply der Ausgang aktiviert werden.

Inbetriebnahme eines MTO-Kanals 2:
Ausgang auf +24 V Dauerschaltung

2. Einstellung Multi-Timestamping-Faktor (MTSF)

Für die richtige Wahl des MTSF ist zu überschlagen, wie viele Schaltaufträge je Zyklus ausgegeben werden sollen. Danach ist der Multi-Timestamping Faktor (MTSF) zu wählen. Der Faktor gibt an wie viele Events maximal pro EtherCAT-Zyklus in den Buffer geladen werden können.

Damit nicht unnötig viele Prozessdaten übertragen werden, gilt für die Konfiguration folgende Empfehlung:

MTSF ≥ erwartete maximale Anzahl an Schaltaufträgen je EtherCAT-Zyklus

Beispiel: Es werden bei einer Zykluszeit von 1 ms, max. 5 Schaltaufträge/ms pro Kanal erwartet. Es sollen alle 8 Kanäle der EL2258 genutzt werden.

- MTSF = 5

- Über die Predefined PDO ist der "Multi-Timestamping 8 Ch. 5x" zu wählen.

Inbetriebnahme eines MTO-Kanals 3:
Prozessdatenauswahl (Predefined PDO) für Synchrone Übertragung

Für jeden Schaltauftrag steht ein Output-Bit im Output-Array (rechtsbündig) und ein Zeitstempel zur Verfügung.
Diese Prozessdaten sind Platzhalter für die Schaltaufträge von der PLC an den Kanal.

Werden weniger Kanäle benötigt, so stehen Predefined PDOs auch für 4, 2 oder 1 Kanal mit je einem MTSF von 1x, 2x, 5x und 10x zur Auswahl.

3. Wie werden die Ausgänge mit Zeitstempel angesteuert?

Ablauf je Zyklus:
- alle in der PLC berechneten Schaltaufträge (Ausgangszustand+Timestamp[32 Bit]) in die PDO legen
- NoOfOutputEvents = x setzen (z.B. x=5 wenn 5 gültige Schaltaufträge verschickt werden, x muss <= MTSF sein)
- OutputOrderCounter inkrementieren (+ 1). Das ist für den Kanal der obligatorische Hinweis, dass er Schaltauträge zu übernehmen hat.

Der Kanal sendet OutputOrderFeedback = OutputOrderCounter zurück, wenn er die Schaltaufträge übernommen hat. Dies ist schon im nächsten EtherCAT-Zyklus der Fall, solange die Makroszykluszeit nicht verletzt wurde. Es sind also 2 Anwendungsarten möglich:

- die PLC wartet immer wie bei einem Handshake, ob der Kanal im nächsten Zyklus mit OutputOrderFeedback = OutputOrderCounter geantwortet hat und sendet erst dann den nächsten Satz Schaltaufträge. Dies reduziert die je Sekunde ausführbaren Schaltaufträge um 50%.
- die PLC wartet nicht, sondern sendet fortlaufend in jedem Zyklus neue Schaltaufträge zum Kanal. Trotzdem ist es empfehlenswert, OutputOrderFeedback = OutputOrderCounter zu prüfen um festzustellen, ob ggf. ein Satz Schaltaufträge nicht schon im nächsten Zyklus angenommen wurde.

Wenn in einem Zyklus keine neuen Schaltaufträge zum Kanal geschickt werden sollen, ist OutputOrderCounter einfach unverändert zu lassen.

Es ist empfehlenswert, in der PLC immer mit (vorzeichenbehafteten) 64-Bit Zeiten zu arbeiten. Die untere Hälfte dieser Zeitvariablen kann dann einfach auf die Kanal-PDO gemappt werden. Es ist dann aber zu beachten, dass so in der PLC berechnete Zeitstempel/Schaltaufträge nicht weiter als ~2 Sekunden in der Zukunft liegen dürfen!