Anwendung mit TwinCAT im Detail
Prozessdaten
Die EL2252 stellt sich nach dem Einlesen/manuellen Einfügen im System Manager wie folgt dar (Abb. Default-Darstellung der EL2252):
Beschreibung der Prozessdaten
- Activate
Mit diesem Byte wird durch den Übergang 0 --> 3 ein neuer Startzeitpunkt in der Klemme aktiviert - StartTime
64 Bit Wert des nächsten gewünschten Schaltereignisses - Output
Ausgang 0 V/24 V von Kanal 1 oder 2 - Tristate
Kanal 1 oder 2 hochohmig schalten - Betriebsinformation WcState
Jedes Datagramm der EL2252 zeigt hier seinen Bearbeitungszustand an. Dadurch kann die EL2252 auf korrekte Prozessdatenkommunikation überwacht werden. - Betriebsinformation State
Zustandsanzeige der "EtherCAT State Machine" - SysTime
64 bit Systemzeit, aus der Klemme ausgelesen. Verfügbar ab Revision 0016.
Die PDO SysTime kann nicht gleichzeitig mit dem PDO Feedback übertragen werden.
Generell ist zu empfehlen, die aktuelle Systemzeit auf anderem Wege zu ermitteln, z.B. über den EtherCAT Master oder dedizierte FunctionBlocks (FB) aus der EtherCAT-Bibliothek (Tc2_EtherCAT.lib). - Feedback
1 Byte Feedback, enthält den aktuellen Ausgabezustand (Output und Tristate) der Klemme. Verfügbar ab Revision 0018.
Die PDO Feedback kann nicht gleichzeitig mit dem PDO SysTime übertragen werden.
Datentyp mit 64 Bit Breite Ein Datentyp mit 64 Bit Breite ist in TcEthercat.lib als T_DCTIME oder in TcUtilities.lib als T_LARGE_INTEGER definiert. |
Die Prozessdaten der EL2252 können um eine Eingangsvariable erweitert werden, die lokal in dieser EL2252 laufende Distributed-Clocks-Zeit. Dazu ist im Reiter "Prozessdaten" der EL2252 im Feld "Sync Manager" der unterste Eintrag "Inputs" (SM3) zu markieren. Nun kann im Feld darunter "PDO Zuordnung" der Eintrag 0x1A00 aktiviert werden (Abb. Aktivierung der Eingangsvariable SysTime). Nach einem Neuladen der Konfiguration (Taste F4) oder Start im Konfig-Modus wird bei den Prozessdaten nun zyklisch die in der EL2252 laufende Distributed-Clocks-Zeit als SysTime angezeigt.
EL2252-0000-0018 Wenn Sie Ihre TwinCAT-Konfiguration mit der EL2252-0000-0018 offline konfigurieren oder eine entsprechende EL2252 scannen, steht Ihnen hier auch das PDO Feedback als Byte zur Verfügung. Damit kann das Eintreten des Schaltauftrages kontrolliert werden (siehe Beispielprogramme). |
Die Variable SysTime kann nun zyklisch als 64 Bit Prozessdatum mit der übergeordneten Steuerung verknüpft werden (Abb. Prozessabbild der EL2252 im Vollausbau).
Ermittlung einer aktuellen Distributed-Clocks-Zeit
Wird in einem PLC-Zyklus eine aktuelle Angabe über die Distributed-Clocks-Zeit benötigt, kann diese über eine Eingangsvariable des EtherCAT Masters oder direkt von der EL2252 bezogen werden. Prinzipiell sind dieses Methoden absolut gleichwertig, da über den Distributed-Clocks-Abgleich innerhalb des EtherCAT-Netzwerks alle lokalen Uhren in allen Slaves im Rahmen der angegebenen Genauigkeit dieselbe Distributed-Clocks-Zeit vorhalten.
Funktionen für Datentypen mit 64 Bit Breite Zur Verarbeitung der 64 Bit Zahlen in Beckhoff TwinCAT stehen in der Library TcUtilities.lib eine Auswahl an Funktionen zur Verfügung. Hier sind längere Ausführungszeiten erforderlich als mit 32 Bit Standard-Datentypen. |
Übernahme aus der EL2252: das Prozessdatum SysTime muss wie o.a. in der EL2252 aktiviert werden und kann dann mit der PLC verknüpft werden. Ebenso kann der Wert natürlich aus einem anderen EtherCAT Slave entnommen werden, der seine lokale Distributed-Clocks-Zeit als Prozessdatum zur Verfügung stellt, wie z. B. eine EL1252.
Übernahme aus dem EtherCAT Master: Der EtherCAT Master kann eine Kopie der aktuellen Distributed-Clock-Master-Clock anzeigen. Dazu ist im Gerät EtherCAT --> Karteireiter EtherCAT --> Erweiterte Einstellungen --> Distributed Clocks die Einstellung "Show DC System Time (64 Bit)" zu aktivieren, (Abb. Aktivierung der Anzeige der Master-Distributed-Clock).
Dadurch stellt sich das Prozessabbild des EtherCAT Masters nun dar wie in Abb. Erweitertes Prozessabbild des EtherCAT Masters:
SYSTIME Der Wert SysTime einer Klemme oder auch DcSysTime des EtherCAT Masters ist mit Bedacht zu verwenden und soll nur als grobe Orientierung dienen, in welchem Zeitbereich (Größenordnung: 1-2 Task-Zyklen) sich das Distributed-Clocks-System gerade aufhält. |
Berechnung des gewünschten Ausgabezeitpunktes
Funktionen für Datentypen mit 64 Bit Breite Zur Verarbeitung der 64 Bit Zahlen in Beckhoff TwinCAT stehen in der Library TcUtilities.lib eine Auswahl an Funktionen zur Verfügung. Hier sind längere Ausführungszeiten erforderlich als mit 32 Bit Standard-Datentypen. Ein Datentyp mit 64 Bit Breite ist in TcEthercat.lib als T_DCTIME oder in TcUtilities.lib als T_LARGE_INTEGER definiert. |
Der Schaltzeitpunkt der EL2252 muss mind. 2 Task-Zyklen in der Zukunft liegen, da sonst die Prozessdatenreihenfolge nicht eingehalten werden kann.
Reihenfolge der Prozessdatenübermittlung
Die Prozessdaten zur EL2252 müssen in zwei Zyklen übermittelt werden:
Zyklus n: StartTime nach Berechnung, Activate = 0 und Ausgangsbits Output/Tristate nach Zielzustand
Zyklus n+1: Activate = 3
Zyklus n+2 und folgende: Activate = 3 und Ausgangsbits halten bis der Zielzustand eingetreten ist. Dann kann ein neuer Schaltzeitpunkt mit seinem Zielzustand übermittelt werden.
Beispielprogramm
In einem Beispielprogramm werden EL2252 und EL1252 zur Ausgabe von Pulsen genutzt. Dabei ist je eine Version mit und ohne Feedback-Nutzung enthalten.