Inbetriebnahme eines MTI-Kanals
1. Synchroner oder asynchroner Betrieb?
- Synchron (default): Sollen die Events schnellstmöglich vom Kanal an die Steuerung geliefert werden, so ist der synchrone Betrieb zu wählen.
- In jedem EtherCAT-Zyklus werden so viel Events wie möglich in den Buffer geladen. Die Anzahl der Events pro Kanal kann über EventsInInputBuffer ausgelesen werden. Die maximale Anzahl der speicherbaren Events beträgt 32.
- Über den MTSF wird bestimmt, wie viele Events pro Zyklus aus dem Buffer in die Prozessdaten gelegt werden. Der Faktor ist zurzeit auf max. 10 begrenzt.
- Überschreitet die Anzahl der aufkommenden Events kontinuierlich den MTSF-Wert, so kann der Buffer vollaufen. Über die CoE 0x80n0:13 kann das Verhalten beim Buffer Überlauf pro Kanal konfiguriert werden. - Asynchron: Ist hohe Datensicherheit gefordert, ist der asynchrone Handshake-Betrieb zu wählen.
Anwendung aus der PLC:
- Kanal meldet mit NoOfInputEvents > 0 das Daten vorliegen
- Die SPS kann die Daten (Input event states und Timestamps) übernehmen
- Der Zähler InputOrderCounter ist zu inkrementieren (+ 1)
- Im nächsten Zyklus sollte der InputOrderFeedback den Wert des InputOrderCounters übernommen haben
- Falls weitere Events im Buffer vorliegen sollten, werden diese in das Prozessabbild eingeblendet.
- Beginnend von vorn...
2. Einstellung Multi-Timestamping-Faktor (MTSF)
Für die richtige Wahl des MTSF ist zu überschlagen, wie schnell die Pegelwechsel, so genannte Events am Eingang erwartet werden. Danach ist der Multi-Timestamping-Faktor (MTSF) zu wählen. Der Faktor gibt an wie viele Events pro Zyklus aus dem Buffer in die Steuerung geleert werden. Bei asynchroner Übertragung ist zu beachten, dass durch den Handshake nur halb so viele Events je Zeit abgeholt werden.
Damit nicht unnötig viele Prozessdaten übertragen werden, gelten für die Konfiguration folgende Empfehlungen:
Synchrone Übertragung: MTSF ≥ (erwartete maximale Anzahl an Eingangs-Events je EtherCAT-Zyklus) + 1
Asynchrone Übertragung MTSF ≥ 2x (erwartete maximale Anzahl an Eingangs-Events je EtherCAT-Zyklus) + 1
Beispiel: Es werden bei einer Zykluszeit von 1 ms, max. 4 Events/ms pro Kanal erwartet. Es sollen alle 8 Kanäle der EL1258 genutzt werden.
- Synchrone Übertragung: MTSF ≥ 5
Über die Predefined PDO ist der "Multi-Timestamping 8 Ch. 5x" zu wählen. Falls dann in einem Zyklus etwas mehr Events anfallen, werden diese im Kanal-Buffer zwischengespeichert, der Buffer kann dann in den darauf folgenden Zyklen durch die Steuerung geleert werden.
- Asynchrone Übertragung: MTSF ≥ 9
Über die Predefined PDO ist der "Multi-Timespamping 8 Ch. 10x" zu wählen.
Beispielsweise stellen sich die Prozessdaten eines Eingangskanals für MTSF = 1x, 5x und 10x wie folgt dar:
Für jedes Event steht ein Bit im Inputs-Array (rechtsbündig) und ein Zeitstempel zur Verfügung.
Diese Prozessdaten sind Platzhalter die Events aufnehmen, falls es welche zu übertragen gibt.
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.
Kommen weniger Events am Eingang an, als durch den MTSF definiert, werden die restlichen PDOs zur Verdeutlichung auf 0 gesetzt.
Beispiel:NoOfInputEvents = 3 bei MTSF=5 bedeutet dies, dass die ersten 3 PDO Events (Eingangswert + Zeitstempel) geliefert werden, die beiden restlichen 2 PDOs sind auf 0 gesetzt.
3. Wann ist der Filter im CoE zu aktivieren? (default: deaktiviert)
Mit Hilfe des Filters können kurze Signalsprünge, so genannte Spikes, ausgeblendet werden. Sie werden als nicht gültig betrachtet.
Vorgehensweise:
- Der Filter ist über das CoE 0x80n0:01 EnableDigitalFilter zu aktivieren.
- Wenn der Filter aktiviert ist, wird über das Objekt 0x80n0:14 DigitalFilterCounter das Zeitfenster gesetzt, bis das Signal als gültig gewertet wird. Das Zeitfenster ist in Anzahl Mikrozyklen anzugeben. Dabei ist eine „1“ gleichbedeutend mit einem deaktivierten Filter.
- Abschließend ist zu prüfen, ob durch die gewählten Einstellungen die in der Klemme erzielte Zeit des Makrozyklus kleiner als die EtherCAT-Zykluszeit ist.
- Online kann im CoE die aktuelle Mikrozykluszeit eingesehen werden.
Abschließend ist zu prüfen, ob die in der Klemme durch die gewählten Einstellungen erzielte Zeit des Makrozyklus kleiner ist als die EtherCAT-Zykluszeit. Diese sollte in der Regel 20% höher sein als der Makrozyklus. Die aktuelle Makrozykluszeit kann im CoE Verzeichnis 0xF900:08 CycleTime ausgelesen werden.
4. Wie kann ich den Eingangskanal testen?
Soll ein Eingangskanal getestet werden, sind die Events im Systemmanager kaum sichtbar, da sie durch den synchronen Betrieb (default) sofort abgeholt werden und die Prozessdaten immer "genullt" aussehen.
Abhilfe:
- Kanal auf asynchronen Betrieb setzen, dadurch werden die Events im Handshake-Betrieb abgeholt.
oder
- Event-Zeitstempel Nr. 1 in der Online-Anzeige verfolgen:
5. Verarbeitung der Events in der PLC
Der Kanal liefert 32-Bit-Zeitstempel. Um diese in das gut zu rechnende 64-Bit-Format hoch zu skalieren kann dieser Funktionsblock verwendet werden:
Download (Beispiel)