Beispielprogramme
Verwendung der Beispielprogramme Dieses Dokument enthält exemplarische Anwendungen unserer Produkte für bestimmte Einsatzbereiche. Die hier dargestellten Anwendungshinweise beruhen auf den typischen Eigenschaften unserer Produkte und haben ausschließlich Beispielcharakter. Die mit diesem Dokument vermittelten Hinweise beziehen sich ausdrücklich nicht auf spezifische Anwendungsfälle, daher liegt es in der Verantwortung des Kunden zu prüfen und zu entscheiden, ob das Produkt für den Einsatz in einem bestimmten Anwendungsbereich geeignet ist. Wir übernehmen keine Gewährleistung, dass der in diesem Dokument enthaltene Quellcode vollständig und richtig ist. Wir behalten uns jederzeit eine Änderung der Inhalte dieses Dokuments vor und übernehmen keine Haftung für Irrtümer und fehlenden Angaben. |
Diagnose & Zeitstempelung analoge Eingangsdaten
Download (Beispieldatei)
In diesem Beispiel werden die Eingangsdaten einer EL3702 auf Gültigkeit geprüft und bearbeitet:
- 1 ms Zykluszeit, 10-fach Oversampling, 2 Kanäle
- WC, State, EtherCAT Master DevState und CycleCounter werden zyklisch überprüft, die Eingangsdaten nur dann weitergereicht wenn sie gültig sind
- ausgehend vom gelieferten Zeitstempel des Sample 0 werden alle anderen Samples mit 64 Bit DC-Zeitstempeln versehen
- bei ungültigen Eingangsdaten werden Defaultwerte weitergereicht, die Zeitstempelung wird weiter fortgeführt
- die Daten eines jeden Zyklus werden in einen FIFO-Puffer geschoben damit übergeordnet z. B. eine Auswertung stattfinden kann.
Anschlussschema:
Starten des Beispielprogramms
Die Applikationsbeispiele sind mit einem Prüfaufbau getestet und entsprechend beschrieben worden.
Etwaige Abweichungen bei der Einrichtung an realen Applikationen sind möglich.
Für den Prüfaufbau wurde folgende Hardware und Software verwendet:
- TwinCAT-Master-PC mit Betriebssystem Windows XP Professional SP 3, TwinCAT Version 2.10 (Build 1330) und INTEL PRO/100 VE Ethernet-Adapter
- Beckhoff EtherCAT Koppler EK1100, Klemmen EL3702 und EL9011
- 2 x optischer Näherungsschalter 0 - 10 V in 2-Leitertechnik
Vorgehensweise zum Starten des Programms
- Nach Klick auf den Download-Button speichern Sie das Zip-Archiv lokal auf ihrer Festplatte und entpacken die *.TSM (Konfigurationsdatei) und *.PRO (PLC-Programmdatei) in einem temporären Arbeitsordner.
- Die *.pro-Datei kann per Doppelklick geöffnet werden oder über die TwinCAT PLC Control Anwendung mit die Menüauswahl „Datei/ Öffnen“. Die *.tsm-Datei ist für den der TwinCAT‑System Manager vorgesehen (um hier Konfigurationen einzusehen oder zu übernehmen).
- Schließen Sie die Hardware entsprechend Abb. Anschluss Beispielprogramm an und verbinden Sie den Ethernet-Adapter ihres PCs mit dem EtherCAT-Koppler (weitere Hinweise hierzu finden sie in den entsprechenden Kopplerhandbüchern).
- Auswahl des lokalen Ethernet-Adapters (ggf. mit Echtzeit-Treiber) unter Systemkonfiguration, E/A - Konfiguration, E/A -Geräte, Gerät (EtherCAT); dann unter Karteireiter „Adapter“, „Suchen...“ den entsprechenden Adapter auswählen und bestätigen (siehe Abb. Suchen des Ethernet-Adapters + Auswahl und Bestätigung des Ethernet-Adapters).
- Aktivierung der Konfiguration und bestätigen (Abb. Aktivierung der Konfiguration + Konfigurationsaktivierung bestätigen)
- Neue Variablenzuordnung bestätigen, Neustart im RUN-Modus (Abb. Variablenzuordnung erzeugen + Neustart TwinCAT im RUN-Modus)
- In der TwinCAT PLC unter Menü „Projekt“ -> „Alles Übersetzen“ das Projekt übersetzen (Abb. Projekt übersetzen)
- In der TwinCAT PLC: Einloggen mit der Taste „F11“, Laden des Programms bestätigen (Abb. Programmstart bestätigen), Start des Programms mit Taste „F5“
Arbeiten mit DC-Zeiten in der Steuerung
Die Distributed-Clock-Zeit hat aus der Sicht der Steuerung folgenden Eigenschaften:
- Einheit 1 ns
- universaler Nullpunkt 1.1.2000 00:00 , d.h. bei Auswertungen der Variable ist ein Offset von 2000 Jahren zu addieren
- Umfang bis zu 64 Bit (ausreichend für 584 Jahre); manche EtherCAT-Slaves unterstützen jedoch nur einen Umfang von 32 Bit, d.h. nach ca. 4,2 Sekunden läuft das Register lokal über und beginnt wieder bei 0.
Zur Bearbeitung von DC-Zeiten werden folgende 3 Datentypen empfohlen
- T_DCTIME aus TcEtherCAT.lib
Basiert auf T_ULARGE_INTEGER und ist damit vorzeichenlos. Kann zur Verlinkung mit entsprechenden Hardware-Variablen verwendet werden - T_ULARGE_INTEGER aus der TcUtilities.lib
Vorzeichenloser 64-Bit-Datentyp - T_LARGE_INTEGER aus der TcUtilities.lib
Vorzeichenbehafteter 64-Bit-Datentyp, negative Zahlen werden im 2er-Komplement dargestellt (Unterlauf unter 0 --> 0xFFFF FFFF FFFF FFFF usw.)
Dazu stehen in der TcUtilities.lib im Kapitel INT64 viele Funktionen zur Verfügung, wichtig insbesondere die cast-Funktionen LARGE_TO_ULARGE und umgekehrt.
Sobald mit Zeitdifferenzen gearbeitet wird, bei denen negative Zeiten auftreten können, ist dieser Typ zu verwenden.
Wird TwinCAT externe Synchronisierung eingesetzt, treten zwangsläufig negative Zeiten in den Offset-Werten auf.
64- vs. 32-Bit-Darstellung Manche EtherCAT-Slaves können die DC-Zeit nur als 32-Bit-Wert darstellen bzw. als Prozessdatum verarbeiten. Um durch Überlauf verursachten Problemen (alle 4.2 Sekunden) entgegenzuwirken wird jedoch dringend empfohlen, in der Steuerung generell nur mit 64-Bit-Zeiten zu rechnen.
|
In diesem Beispielprojekt
Download (Beispieldatei) ist ein Funktionsblock enthalten, der zyklisch eine 32-Bit-DC-Zeit um den High-Part zu 64 Bit ergänzt.