ACP FU Inhaltsverzeichnis 1. 2. Vorwort / Ziel des Applikationsberichtes .............................................................................. 2 Einleitung ............................................................................................................................ 3 2.1. Allgemeines zum EtherCAT .......................................................................................... 3 3. Verwendete Komponenten .................................................................................................. 3 4. Konfigurieren / Parametrieren des 8400 mit Engineer........................................................... 4 4.1. Erstellen eines 8400 Projektes mit der Technologieapplikation (TA) „Stellantrieb Drehzahl“ und EtherCAT MCI Modul......................................................................................... 4 4.2. Einrichten der Prozessdatenkommunikation über EtherCAT.......................................... 8 4.3. Projekt zum Antrieb übertragen ................................................................................... 9 4.4. Überwachungsreaktionen.......................................................................................... 10 4.5. Diagnosemöglichkeiten ............................................................................................. 10 4.6. Schematische Übersicht der Signalverknüpfung ....................................................... 11 5. Projektierungshinweise Beckhoff IPC und TwinCAT............................................................. 12 5.1. Erstellen eines Projektes im TwinCAT System Manager............................................... 13 5.2. Distributed Clocks (DC) EtherCAT Synchronisierung ................................................ 17 5.3. Twin CAT Projekt in den EtherCAT Master laden ......................................................... 18 5.4. TwinCAT PLC Projekt anlegen und Variablenverknüpfung mit EtherCAT ...................... 18 6. Diagnosemöglichkeiten...................................................................................................... 22 6.1. Im TwinCAT System Manager..................................................................................... 22 6.2. Im Engineer ............................................................................................................... 22 7. Programmbeispiel TwinCAT mit 8400 StateLineC/HighLineC............................................... 23 7.1. Aufrufbau TwinCAT PLC Control................................................................................. 24 7.2. Zyklisches Mainprogramm MAIN (PRG) ...................................................................... 24 7.3. PLC Konstanten ......................................................................................................... 25 7.4. Prozessdatenkommunikation LenzeProcessdata (PRG)................................................ 26 7.5. Parameterkommunikation LenzeSingelCode (PRG) ..................................................... 28 7.6. Parameterkommunikation LenzeBlockOfCodes (PRG) ................................................. 30 8. Busanalyser Wireshark mit TwinCAT .................................................................................. 32 Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 1 von 34 ACP FU 1. Vorwort / Ziel des Applikationsberichtes • Dieser Applikationsbericht stellt eine Inbetriebnahmeanleitung zum Einsatz des 8400 Frequenzumrichters mit EtherCAT Kommunikationsmodul und Einbindung in die Beckhoff TwinCAT Software dar. • Es wird gezeigt, welche Schritte im Engineer und in der TwinCAT Software notwendig sind, um solch ein System in Betrieb zu nehmen. • Zu diesem Applikationsbericht gehört ein Beispielprogramm für die TwinCAT Software, welches auf der Lenze Homepage www.lenze.com zum Download bereit steht. CAT 5e Netzwerkleitung PC +Beckhoff TwinCAT SW +Ethernet Schnittstelle +Engineer Diagnose mit Engineer über Lenze Diagnoseadapter E94AZCUS + 8400 HighLineC mit EtherCAT E84AYCET Kommunikationsmodul Wichtiger Hinweis: Die Software wird dem Benutzer in der vorliegenden Form zur Verfügung gestellt. Alle Risiken hinsichtlich der Qualität und der durch ihren Einsatz ermittelten Ergebnisse verbleiben beim Benutzer. Entsprechende Sicherheitsvorkehrungen gegen eventuelle Fehlbedienungen sind vom Benutzer vorzusehen. Wir übernehmen keine Verantwortung für direkt oder indirekt entstandene Schäden, z. B. Gewinnverluste, Auftragsverluste oder geschäftliche Beeinträchtigungen jeglicher Art. © 2009 Ohne besondere schriftliche Genehmigung von Lenze Drive Systems GmbH darf kein Teil dieser Dokumentation vervielfältigt oder Dritten zugänglich gemacht werden. Wir haben alle Angaben in dieser Dokumentation mit größter Sorgfalt zusammengestellt und auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Trotzdem können wir Abweichungen nicht ganz ausschließen. Wir übernehmen keine juristische Verantwortung oder Haftung für Schäden, die dadurch eventuell entstehen. Notwendige Korrekturen werden wir in die nachfolgenden Auflagen einarbeiten. Alle in dieser Dokumentation aufgeführten Markennamen sind Warenzeichen ihrer jeweiligen Besitzer. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 2 von 34 ACP FU 2. Einleitung Dieser Bericht soll anhand eines Beispieles erläutern, wie ein Lenze Frequenzumrichter 8400 in Verbindung mit einem EtherCAT Kommunikationsmodul und der Beckhoff TwinCAT Software in Betrieb genommen bzw. betrieben werden kann. Als erstes wird die Parametrierung beschrieben, die auf der Lenze 8400 Seite hinsichtlich einer EtherCAT Kommunikation durchgeführt wird. Danach erfolgt eine ausführliche Beschreibung, wie der Lenze Antrieb im TwinCAT System Manager konfiguriert wird. Abschließend werden die im Beispiel-Projekt zur Verfügung gestellten PLC Bausteine zur Parameter- und Prozessdatenverarbeitung erläutert. 2.1. Allgemeines zum EtherCAT Das Feldbussystem EtherCAT wird durch die EtherCAT Nutzerorganisation (ETG) standardisiert und genormt. Treibende Kraft hierbei ist die Firma Beckhoff. Durch die zukunftsweisende Ethernettechnologie bei EtherCAT werden in Zukunft Kunden von anderen Feldbussystemen auf EtherCAT umsteigen oder generell neue Anlagenmodelle mit EtherCAT ausstatten. EtherCAT ist ein geschlossenes Ethernetsystem und wird in einer Ringtopologie aufgebaut. Die Kommunikation auf dem EtherCAT ist nach einem Master - Slave Verfahren realisiert. Die Aktualisierungszyklus zwischen Master und Slave ist abhängig von der Anzahl der EtherCAT Slaves, Anzahl der jeweiligen Prozessdaten eines Slaves und der eingestellten Aktualisierungszeit des Masters. Durch die Ringtopologie wird in jedem Buszyklus nur ein Telegramm auf dem Bus gesendet. Damit ist die Buszykluszeit in jedem Durchlauf exakt gleich. Die maximale Leitungslänge beträgt bei ethernetbasierenden Feldbussystemen 100m zwischen zwei Teilnehmern. Die Übertragungsrate beträgt 100 MBit/s. Das Kommunikationsmodul EtherCAT, E84AYCET unterstützt die Übertragungsrate 100 MBit/s, besitzt eine galvanische Potentialtrennung zum EtherCAT und kann extern mit 24 V versorgt werden. Des Weiteren können maximal 16 Prozessdatenworte mit dem Modul und dem 8400 StateLineC / HighLineC ausgetauscht werden. Zusätzlich dazu verfügt das Modul über einen optionalen Parameterkanal nach EtherCAT Spezifikation (CoE, CAN over EtherCAT). 3. Verwendete Komponenten Die folgenden Komponenten sind bei der Erstellung des Applikationsberichtes verwendet worden: Lenze Hardware - 8400 HighLineC FW 2.01 mit EtherCAT MCI Kommunikationsmodul E84AYCET HW VA FW 1.0 Lenze Software - Engineer 2.9 SP1 Standard Hardware - Desktop PC Dell Vostro 410 mit PCI Express Ethernet-Karte TwinCAT Software TwinCAT V2.10.0 (Build 1325) System Manager V2.10.0 (Build 1359) Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 3 von 34 ACP FU 4. Konfigurieren / Parametrieren des 8400 mit Engineer 4.1. Erstellen eines 8400 Projektes mit der Technologieapplikation (TA) „Stellantrieb Drehzahl“ und EtherCAT MCI Modul Nr. 1 Aktion Starten Sie Engineer z. Beispiel über das DeskTop Icon 2 Oder über Start=>Programme=>Lenze=>L-force Engineer Zu Beginn wird ein offline Projekt mit dem Engineer erstellet. 3 Vergeben Sie eine Projektbezeichnung für das Projekt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung In dieser Anleitung wurde die Version 2.9.0.1744 (SP1) verwendet An dieser Stelle könnte der Anwender auch die Suche nach einem angeschlossenen Gerät starten Seite 4 von 34 ACP FU Nr. 4 Aktion Vergeben Sie einen Projektnamen und legen die den Speicherort des Projektes fest. Bemerkung 5 Es öffnet sich automatisch der folgende Start Assistent: Komponenten einfügen. In der Reiterkarte Antriebsregler wählen Sie einen Antriebsregler 8400 HL C aus und vergeben einen Namen. 6 Kommunikationsmodul auswählen: Auswahl des offline zu konfigurierenden Gerätes. In diesem Beispiel Wurde ein 8400 HighLineC mit FW 2.0 verwendet. Hinweis: Das EtherCAT MCI Modul kann ab dem Firmwarestand V2.0 beim 8400 HighLine C und V3.0 beim 8400 StateLine C eingesetzt werden Konfigurationsmöglichkeit des MCI Kommunikationsmoduls Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 5 von 34 ACP FU Nr. 7 Aktion Auswahl Kommunikationsmodul EtherCAT Bemerkung Der erste Serienstand des EtherCAT MCI Moduls besitzt die FW 1.0 Der FW-Stand kann dem Typenschild auf der Rückseite des KommunikationsModuls entnommen werden. 8 Eingefügtes EtherCAT Kommunikationsmodul: 9 Auswahl der Applikation: Stellantrieb-Drehzahl Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc In diesem Beispiel wurden die Technologieapplikation StellantriebDrehzahl ausgewählt. Seite 6 von 34 ACP FU Nr. 10 Aktion Hinzufügen weiterer Komponenten: 11 Die fertige Konfiguration zeigt sich wie folgt im Projektbaum: Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Es kann ein Motor und Getriebe als weitere Komponenten hinzugefügt werden. Da sich dieses Beispiel nur auf die EtherCAT Kommunikation beschränkt sind diese Auswahlmöglichkeiten nicht weiter berücksichtigt worden. Das Bild links stellt das fertige offline Projekt mit 8400 und EtherCAT Kommunikationsmodul da. Seite 7 von 34 ACP FU 4.2. Einrichten der Prozessdatenkommunikation über EtherCAT Nr. 12 Aktion Steuerquelle einstellen/wählen: MCI: Modular Communication Interface (Feldbuserweiterung) Bemerkung Die Auswahl bei der Steuerquelle „MCI“ bedeutet, dass die Prozessdatenkom munikation zum EtherCAT Modul vorkonfiguriert wird. 13 Verschaltungsansicht im Funktionsblock-Editor: Der Funktionsblockverschaltung kann entnommen werden, dass das Steuerwort und der Sollwert mit dem LA_NCtrl vorkonfiguriert wurden. Des Weiteren sind die Ausgangsworte wState, wOut2 und wOut3 mit dem LA_NCtrl vorkonfiguriert. Hinweis: Weitere Verknüpfungen sind ohne weiteres möglich Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 8 von 34 ACP FU 4.3. Projekt zum Antrieb übertragen Nr. 1 Aktion Mit Engineer online gehen: Bemerkung 2 Kommunikationsweg wählen: In diesem Fall ist der Kommunikations weg über den Diagnoseadapter E94AZCUS eingestellt worden. 3 PC ist mit dem Antrieb verbunden Die gelbe Markierung signalisiert eine OnlineVerbindung zu einem Antrieb : 4 Parametersatz zum Antrieb übertragen: Button in der Menüleiste von Engineer Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Der im OfflineModus konfigurierte und parametrierte Antriebszustand wird nun zum online verfügbarem Antrieb übertragen Seite 9 von 34 ACP FU 4.4. Überwachungsreaktionen Nr. 1 Aktion Die Kommunikationsüberwachungszeit, welche beim Verlassen des Zustandes Operational abläuft, wird in Codestelle C13881 eingestellt. 2 Eine Reaktion bei abgelaufener Kommunikationsüberwachungszeit in Codestelle C13881, kann mittel der Codestelle C13880 eingestellt werden. 3 Zudem kann im Fehlerfall über die Codestelle C13885 definiert werden, ob die letzten gültigen Prozessdaten eingefroren werden sollen (Werkseinstellung Wert 0) oder ob alle Prozessdaten auf den Wert Null gesetzt werden (Wert 1) Die Überwachung der geräteinternen Kommunikation zwischen dem 8400 und dem MCI Modul kann in Codestelle C1501 eingestellt werden. 4 4.5. Bemerkung Der Wert 65535 deaktiviert die Überwachungsreaktion Die Parameterdaten können unter der Reiterkarte Alle Parameter => Parameterliste mit dem Engineer parametriert werden. Diagnosemöglichkeiten Das Lenze EtherCAT Kommunikationsmodul E84AYCET verfügt über eine Reihe von Displaycodestellen, die zu Diagnosezwecken genutzt werden können. Nachfolgend werden die wichtigsten beschrieben. Codestelle L-C13861 L-C13879 L-C13850 Subcode 1-16 Aktion Aktueller Buszustand Aktueller Busfehler Anzeige aller Wörter zum EtherCAT Master L-C13851 Subcode 1-16 Anzeige aller Wörter vom EtherCAT Master L-C13852 Subcode 1-16 Anzeige aller Wörter zum Grundgerät L-C13853 Subcode 1-16 Anzeige aller Wörter vom Grundgerät Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Anzeige des aktuellen Busstatus Bit codierte Anzeige des Busfehlers Es werden alle Prozessdatenwörter (1-16) angezeigt, die vom Modul zum Master gesendet werden. Es werden alle Prozessdatenwörter (1-16) angezeigt, die vom Master zum Modul gesendet werden. Es werden alle Prozessdatenwörter (1-16) angezeigt, die vom Modul zum Grundgerät (8400) gesendet werden. Es werden alle Prozessdatenwörter (1-16) angezeigt, die vom Grundgerät (8400) zum Modul gesendet werden. Seite 10 von 34 ACP FU 4.6. Schematische Übersicht der Signalverknüpfung An folgenden Bildern können Sie schematisch erkennen, welche Konfiguration in den vorangegangenen 3 Schritten vorgenommen wurde. Im 8400 Frequenzumrichter sind 2 Prozesseingangsworte und 3 Prozessausgangsworte vom EtherCAT durch die Steuerquellendefinition auf MCI automatisch im Funktionsblockeditor verknüpft worden. Signalfluss vom EtherCAT-Modul zum Antriebsregler: Überwachung der geräteinternen Kommunikation C1501/1 Kommunikationsüberwachung EtherCAT - 13880 Reaktion - 13881 Überwachungszeit Prozessdaten Belegung 1 Steuerwort (wCtrl) 2 nMainSetValue_a (wIn2) Signalfluss vom Antriebsregler zum EtherCAT-Modul: Überwachung der geräteinternen Kommunikation C1501/1 Kommunikationsüberwachung EtherCAT - 13880 Reaktion - 13881 Überwachungszeit Prozessdaten Belegung 1 Statuswort (wState) 2 nMotorSpeedAct_a (wOut2) Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc 3 nMotorSpeedSet_a (wOut3) Seite 11 von 34 ACP FU 5. Projektierungshinweise Beckhoff IPC und TwinCAT Ein TwinCAT Projekt besteht aus zwei Komponenten. Zum einen wird mittels des TwinCAT System Managers eine Konfiguration angelegt die den Aufbau des Automatisierungssystems wieder gibt und wird in einem Konfigurationsfile abgelegt (Endung *.tsm). Zusätzlich dazu wird mit der Software TWIN CAT Control ein PLC Projekt (Endung *.pro) programmiert welches dann anschließend im System Manager importiert werden kann. Software-Struktur-Skizze: 8400 TwinCAT PLC & TwinCAT System Manager Beispiel Das SPS Beispiel „Applikationsbericht_EtherCAT _8400.pro“ beinhaltet folgende Funktionen: - Beispiel Prozessdaten Kommunikation - Beispiel ParameterdatenKommunikation Das Beispiel des SystemManagers „Applikationsbericht_EtherCAT_ 8400.tsm“ beinhaltet: - die Hardwareseitige Einbindung des EtherCAT 8400 Teilnehmers -Zuordnung des SPS Beispiel Projektes SPS Projekt PLC Control SystemManager Hardware Konfiguration / SPS Zuordnung 8400 XML-Datei Hardware Verbindung über EtherCAT Engineer 8400 Engineer Projekt Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 12 von 34 ACP FU 5.1. Erstellen eines Projektes im TwinCAT System Manager Die Beispielkonfiguration für den TwinCAT System Manager finden Sie auf der Lenze Homepage www.lenze.com unter Service => Software Downloads und heißt vom Namen Projekt_Applikationsbericht_EtherCAT_8400_V1_0. Nr. 1 Aktion Importieren Sie die benötigten EtherCAT xml Gerätebeschreibungsdatei ‚Lenze_E84AYCET-V100-051208.xml’ für das 8400 Kommunikationsmodul EtherCAT E84AYCET FW 1.00. Diese xml Datei kopieren Sie bitte händisch in das folgende Verzeichnis unter TwinCAT: C:\..\TwinCAT\Io\EtherCAT Bemerkung Die aktuellen Gerätebeschreibungsdateien steht Ihnen auf der Lenze Homepage unter der Rubrik „Downloads“ zur Verfügung. www.lenze.de 2 Starten Sie den TwinCAT System Manager zur Konfiguration der TwinCAT Hardware In diesem Beispiel ist die SW Version V2.10.0 (Build 1325) des System Managers verwendet worden 3 Legen Sie im Beckhoff System Manager ein neues Projekt an. Menü => Datei => Neu „Konfig Mode“ 4 Fügen Sie unter E/A Geräte einen EtherCAT Master ein. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 13 von 34 ACP FU Nr. 5 6 7 Aktion In diesem Beispiel wurde ein EtherCAT Master im Direct Mode eingefügt. Bemerkung Bestätigen sie Ihre Auswahl mit OK. Welche Ethernet Schnittstelle als EtherCAT Master genutzt werden kann, finden sie unter der Reiterkarte Adapter => kompatible Geräte. Im folgenden Dialog sind die verfügbaren und kompatiblen Ethernet Schnittstellen aufgelistet. In diesem Beispiel wurde die markierte Schnittstelle ausgewählt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 14 von 34 ACP FU Nr. 8 Aktion Das Zielsystem wird über das Menü Aktionen => Auswahl Zielsystem oder F8 ausgewählt. 9 Wenn die physikalische EtherCAT Verbindung zum Lenze EtherCAT Modul besteht, kann ein Online Busscan mittels Auswahl Boxen scannen durchgeführt werden. 10 Es besteht natürlich auch die Möglichkeit über die Auswahl „Box anfügen“, den Lenze EtherCAT Teilnehmer Offline an den EtherCAT Master zu konfigurieren. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Hinweis: Da EtherCAT eine Ringtopologie aufweist, muss auf die richtige Reihenfolge der Slaves am Bus bei der Offline Konfiguration geachtet werden! Seite 15 von 34 ACP FU Nr. 11 Aktion Beim Online Scan wurde ein Lenze EtherCAT Teilnehmer gefunden. Dieser wird als Box 1 (Lenze 8400 HighLineC E84AYCET) eingefügt. Bemerkung Alle Informationen in den verschiedenen Reiterkarte des Lenze Teilnehmers sind default Werte aus der XML-Datei! 12 Als nächste kann man sich die Prozessdatenkonfiguration 8400HighLine C anschauen. Dazu wechseln Sie bitte auf die Reiterkarte Prozessdaten. Index I 0x1A00 steht für die EingangsProzessdaten aus Sicht der Beckhof PLC. Index I 0x1600 steht für die AusgangsProzessdaten aus Sicht der Beckhof PLC. Aus der XML- Datei werden standardmäßig je 16 Prozessdatenworte angelegt (24 Byte) Diese Konfiguration ist an dieser Stelle fix. In der FW Version 1.0 des E84AYCET ist kein dynamisches PDO Mapping enthalten. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 16 von 34 ACP FU 5.2. Distributed Clocks (DC) EtherCAT Synchronisierung Bei EtherCAT wird die Synchronität der Feldbuskommunikation und der angeschlossenen Slaves nicht wie häufig üblich, über den Feldbus übertragen, sondern jeder Slave hat dazu eine eigene innere ‚Uhr’. Ein Slave in der Vernetzung ist dabei die so genannte ‚Mutter Uhr’ und die Uhren der anderen Slaves werden an Sie angepasst, wobei auch die Laufzeiten auf dem Bus berücksichtigt werden. Dies hat zur Folge, dass die interne Uhr für jeden Slave die Synchrone Prozessdatenübernahe gewährleistet. Die Uhren werden zyklisch im laufenden Busbetrieb aktualisiert. Nr. 1 Aktion Im Beckhoff System Manager kann unter der Reiterkarte DC für jeden einzelnen EtherCAT Teilnehmer die Synchronisation aktiviert werden. DC for synchronization. Wichtig: Diese Funktion ist schon vorbereitet wird jedoch von den Grundgeräten 8400 HL 2.0 und 8400SL 3.0 noch nicht unterstützt! 2 Wenn DC beim EtherCAT Modul aktive ist, wird dies in Codestelle L-C13883 , Wert 1 angezeigt. 4 Zusätzlich zur synchronen Prozessdatenübernahme auf dem EtherCAT mittels DC, kann auch der Reglertakt des 8400 synchronisiert werden. Dazu muss die Sync-Quelle des Reglers, Codestelle L-C1120, auf MCI gestellt werden. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Diese Änderungen werden erst nach einer Neukonfiguration und Neustarts des EtherCAT Masters aktive! Die Vorbereitung für eine spätere Realisierung der Bussynchronisierung sind schon in den Engineer mit aufgenommen worden. Seite 17 von 34 ACP FU 5.3. Nr. 1 Twin CAT Projekt in den EtherCAT Master laden Aktion Um zu prüfen ob die vorgenommen Konfigurationen bzw. Projektierungen, auf der TwinCAT Seite einwandfrei sind, empfiehlt sich ein aktivieren der Konfiguration im Free Run Modus. Dazu Überprüfen sie die Konfiguration Konfiguration im Konfig Modus 2 Bemerkung , aktivieren die und machen einen Neustart der Konfiguration . Anschließend erfolgen ein Download der Konfiguration auf den EtherCAT Master und ein Neustart des EtherCAT System durch den Master. 5.4. TwinCAT PLC Projekt anlegen und Variablenverknüpfung mit EtherCAT Nr. 1 Aktion Starten Sie den Beckhoff Software TwinCAT PLC Control und legen sie ein neues Projekt an. Bemerkung 2 Wählen Sie ihr vorhandenes Zielsystem. In diesem Beispiel wurde ein PC Zielsystem ausgewählt. 3 Legen sie einen neuen Programmbaustein an und vergeben Sie einen Namen. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 18 von 34 ACP FU Nr. 4 Aktion Der MAIN (PRG) Programmbaustein wird geöffnet. Im oberen Teil des Bausteins ist die Variablendeklaration und im unteren Fenster die IEC 6-1131 PLC Oberfläche. 5 Die Variablen des EtherCAT Slaves können im TwinCAT System Manager nur mit globalen Variablen aus dem SPS Programm verknüpft werden. Globale Variablen werden wie folgt im SPS Programm angelegt. 6 Mit der Funktion Variablendeklaration (Umschalt+F2) können sie SPS Variablen anlegen. In der Auswahl Klasse muss VAR_GLOBAL gewählt werden. Danach erscheint in der Variablen_Liste der Wert Globale_Varaiablen. 7 8 Bemerkung Sie müssen einen Namen, einen Datentyp, einen Initialwert (Wert 0 sinnvoll) und eine Adresse vergeben. Die Adressvergabe beginnt immer mit %. Dann folgt für Eingang ein I (Input) und für einen Ausgang ein Q (Output). Die Datenbreite wird in X für Bit, B für Byte, W für Word und D für Doppelword angegeben. Danach folgt dann noch eine Speicheradresse. Für alle EtherCAT Variablen des Lenze Slave legen Sie nun globalen Variablen an (Controlword, Speedsetpoint, Statusword, Actual_Speed). Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 19 von 34 ACP FU Nr. 9 Aktion Im Fenster Globale Variablen müssen nun alle 4 Variablen auftauchen. 10 Im System Manager können sie über die rechte Maustaste das SPS Programm anfügen. 11 Als Beispiel wurde hier das SPS Programm mit den 4 Globalen Variablen gewählt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Seite 20 von 34 ACP FU Nr. 12 Aktion Nach dem Einfügen stehen die Globalen Variablen unter dem PLC Programm im TwinCAT System Manager. Über den Button Verknüpft mit kann nun die Zuordnung zu den EtherCAT Slave Variablen getroffen werden. 13 In diesem Beispiel soll das Statusword vom PLC Programm mit dem Statusword des Lenze EtherCAT Slaves verknüpft werden. In der Auswahl erscheinen auch nur mögliche Variablenverknüpfungen die vom Datentyp (Word) zueinander passen z.B. Input 00. 14 Bemerkung Mit OK wird die Auswahl bestätigt. Diese Verknüpfung zwischen PLC Programm und TwinCAT System Manager muss für alle Globalen Variablen durchgeführt werden. g_wStatusword = Statusword (Variable vom EtherCAT Slave) g_wControlword = Controlword (Variable vom EtherCAT Slave) g_dnActual_Speed = Actual_Speed (Variable vom EtherCAT Slave) g_dnSpeedsetpoint = Speedsetpoint (Variable vom EtherCAT Slave) Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 21 von 34 ACP FU 6. Diagnosemöglichkeiten 6.1. Im TwinCAT System Manager Der TwinCAT System Manager bietet die Möglichkeit, Werte zu monitoren, d.h. Sollwerte können direkt aus dem folgenden Fenster zum Antrieb übertragen (forcen) und Istwerte direkt vom Antrieb gelesen werden. Der Softbutton mit der Brille aktiviert diese Funktion. Das folgende Fenster zeigt, wie das Steuerwort des im Beispiel verwendeten 8400HighLineC mit dem Wert 9 über die Monitor-Funktion beschrieben werden kann: 1. Auswählen des zu monitorenden Wortes z.B. „Output 00“ durch anklicken mit der linken Maustaste 2. Reiterkarte „Online“ auswählen 3. Der Mausklick auf den Button „Force...“ öffnet das Eingabefenster „Set Value dialog“ 6.2. Im Engineer Der Engineer bietet unter den EtherCAT Eigenschaften die folgende Diagnosemöglichkeit. Mit den Button „Prozessdaten“ und „Modulinformationen“ werden die beiden farblich umrahmten Informationsfenster geöffnet. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 22 von 34 ACP FU 7. Programmbeispiel TwinCAT mit 8400 StateLineC/HighLineC Das Programmbeispiel Projekt_Applikationsbericht_EtherCAT_8400.zip kann mittels der Dearchivierungs-funktion von WinZIP entpackt werden. Das Beispielprogramm teilt sich in zwei Bereiche. Zum einen gibt es eine Beispielkonfiguration Applikationsbericht_EtherCAT_8400.tsm für den TwinCAT System Manager. Die andere Datei Applikationsbericht_EtherCAT_8400.pro stellt ein PLC Beispielprogramm für TwinCAT PLC Control dar. Das SPS Programmbeispiel steht auf der Lenze Homepage www.lenze.com im Downloadbereich zur Verfügung. In der nachfolgenden Tabelle sind die einzelnen Programmfunktionen kurz erläutert. Baustein EtherCAT Funktionalität MAIN (PRG) zyklischer durchlaufender Programmbaustein der PLC in dem die weiteren PLC Programmteile aufgerufen werden. LenzeProcessdata In diesem Programmbaustein wird die Prozessdatenkommunikation (PRG) mit den globalen Variablen bearbeitet. Dazu wird der FB Lenze8400ProcessdataActuatingDriveSpeed aufgerufen. Des Weiteren sind hier auch 2 Funktionsblöcke aus der TwinCAT EtherCAT Bibliothek eingebunden, mit denen zum einen der Zustand (State) des EtherCAT Slave ausgelesen und zum anderen gewechselt werden kann. LenzeSingleCode In diesem Programmbaustein sind Singel-Codestellenzugriffe (PRG) programmiert. Zum einen wird lesend auf die Codestellen L-C00011 (Max. Drehzahl) und L-C00166 (aktueller Fehler) zugegriffen. Des Weiteren wird auf die Codestelle L-C00011 schreibend zugegriffen (Wert: 1000). Für die Parameterkommunikation wird mit den CoE Funktionsblöcken aus der TwinCAT EtherCAT Bibliothek gearbeitet. LenzeBlockOfCodes In diesem Programmbaustein sind Lese- und Schreib(PRG) Codestellenzugriffe auf 10 Codestellen programmiert. Die Anzahl der Codestellenzugriffe wird über die globale Konstante C_nLenzeMaxCodes: INT:=10; eingestellt. In diesem Fall ist Sie auf den Wert 10 eingestellt. Die für den Codestellenzugriff notwendige Information wie Codestelle, Subcode, etc wird in einzelnen Initialisierungs-Funktionsbausteinen hinterlegt. Für die Parameterkommunikation wird mit den CoE Funktionsblöcken aus der TwinCAT EtherCAT Bibliothek gearbeitet. Für eine Parameterkommunikation CoE (CAN over EtherCAT) aus dem Hinweis PLC Programm ist die Beckhoff Bibliothek TcEtherCAT.lib in die Bibliotheksverwaltung einzubinden. Hier finden sie die benötigten Bausteine für eine CoE Kommunikation. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 23 von 34 ACP FU Nr. 1 7.1. Aufrufbau TwinCAT PLC Control 7.2. Zyklisches Mainprogramm MAIN (PRG) Aktion Im MAIN (PRG) werden die drei nachfolgen Programme aufgerufen. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Seite 24 von 34 ACP FU 7.3. PLC Konstanten Nr. 1 Aktion Es sind im Beispielprogramm 3 Konstanten definiert. Bemerkung 2 Die Konstante sNetIDEtherCATMaster gibt die Net ID des EtherCAT Masters an. In diesem Beispiel 192.168.14.84.2.1 3 Die Konstante unLenzeEtherCATSlaveAdress gibt die interne Adresse des Lenze EtherCAT Slaves an. In diesem Beispiel 1001 4 Die Konstante C_nLenzeMaxCodes gibt die maximale Anzahl der In diesem Beispiel Codestellen die mit den FB’s Initialisierungs-Funktionsblöcken Wert 10 LenzeInitializeBlockOfCodesRd und LenzeInitializeBlockOfCodesWr verarbeiten werden können. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 25 von 34 ACP FU 7.4. Prozessdatenkommunikation LenzeProcessdata (PRG) Nr. 1 Aktion Im Netzwerk 1 wird der FB EcGetSlaveState aus der TwinCAT EtherCAT Bibliothek aufgerufen. Der Ausgang state liefert den aktuellen State des EtherCAT Slaves. Bemerkung EtherCAT State: 0x01 Init 0x02 PRE OP 0x03 Bootstrap 0x04 SAFE OP 0x08 OP 2 Im Netzwerk 2 wird der FB EcSetSlaveState aus der TwinCAT EtherCAT Bibliothek aufgerufen. Über den Eingang regState kann der EtherCAT States des Slaves gewechselt werden. Set EtherCAT State: 0x01 Init 0x02 PRE OP 0x03 Bootstrap 0x04 SAFE OP 0x08 OP 3 Im Netzwerk 3 wird der FB Lenze8400ProcessdataActuatingDriveSpeed aufgerufen. Der FB realisiert die Prozessdatenkommunikation mit jeweils 2 Prozessdatenwörtern. Dabei ist das 1. Prozessdatenwort das Steuer- bzw. Statuswort. Das 2. Prozessdatenwort ist der 16 Bit Speedsetpoint bzw. Actual Speed. Dieser FB ist angepasst an die vorgenommen Verknüpfungen des Steuer- und Statuswortes aus Kapitel 4.2 Schritt 12 und 13. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 26 von 34 ACP FU Nr. 4 Aktion Die Verbindung zum EtherCAT Master, und somit zur Konfiguration mit dem TwinCAT System Manager, wird über die Globalen Variablen hergestellt. 5 Hinweis: Es gibt noch einen weiteren FB für die Prozessdatenkommunikation, der aber nicht im Programm eingebunden ist. Der FB Lenze8400ProcessdataGeneral ist von den Variablenbezeichnungen allgemein gehalten. Dieser FB setzt z.B. eine Prozessdatenkommunikation mit 3 Worten voraus. Hinweis: Wenn Sie eine andere Belegung des Steuer- und Statuswortes bzw. des Soll- und Istwertes haben, brauchen Sie nur bei den beiden FB für die Prozessdatenkommunikation die Variablennamen und/oder die Länge der Prozessdaten anzupassen. 6 Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Siehe Kapitel 5.4 Schritt 12 und 13 Seite 27 von 34 ACP FU 7.5. Nr. 1 2 Parameterkommunikation LenzeSingelCode (PRG) Aktion Im Netzwerk 1 wird der FB LenzeCodenumberRead aufgerufen. Dem Baustein müssen folgende Variablen übergeben werden. Codenumber: Lenze Codestelle (z.B. L-C00011) Subcode: Lenze Subcode SizeCodenumber: Format der Codestelle (1,2 oder 4 Byte) In dem Beispiel wurde die Codestelle 11, Subcode 0 mit Datenformat 4 Byte ausgelesen. Der gelesene Wert wird in der Variable dnReadValue abgelegt. Im Netzwerk 2 wird der FB LenzeStringcodenumberRead aufgerufen. Dem Baustein müssen folgende Variablen übergeben werden. Codenumber: Lenze Codestelle (z.B. L-C00166) Subcode: Lenze Subcode Bemerkung Wenn die Codestelle keinen Subcode hat, muss der Wert für den Subcode auf 0 gesetzt werden! Da der FB nur Stringcodestellen auslesen kann, muss kein Format der Codestelle angegeben werden. Die maximale Stringlänge beträgt 255 Zeichen. In dem Beispiel wurde die Codestelle 166 (aktueller Fehler), Subcode 0 ausgelesen. Der gelesene Wert wird in der Variablen dnReadString abgelegt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 28 von 34 ACP FU 3 4 5 6 Im Netzwerk 3 wird der FB LenzeCodenumberWrite aufgerufen. Dem Baustein müssen folgende Variablen übergeben werden. Codenumber: Lenze Codestelle (z.B. L-C00011) Subcode: Lenze Subcode SizeCodenumber: Format der Codestelle (1,2 oder 4 Byte) Wenn die Codestelle keinen Subcode hat, muss der Wert für den Subcode auf 0 gesetzt werden! In dem Beispiel wurde die Codestelle 11, Subcode 0 mit Datenformat 4 Byte beschrieben. Der zu schreibende Wert von 1000 wird in der Variable dnWriteValue abgelegt. Hinweis: Beachte Sie bitte immer, das viele Lenze Codestellen über Nachkommastellen verfügen. Wenn eine Codestelle 2 Nachkommastellen besitzt, müssen Sie z.B. beim Auslesen dieser Codestellen den gelesen Wert durch 100 teilen um den genauen Wert zu erhalten. Die Attributtabelle im Parametrierhandbuch gibt Ihnen einen Überblick über das Format und über den festgelegten Faktor (Nachkommastellen), welche beim Lesen und Schreiben von Codestellen berücksichtig werden müssen. Für die Darstellung von Werten mit Nachkommastellen müssen sie mit dem Datentyp REAL im PLC Programm arbeiten! Hinweis: Da alle drei Bausteine mit denselben FB’s aus der EtherCAT Bibliothek arbeiten, darf immer nur ein Bausteinaufruf über das Freigabebit bExecute aktive sein! Alle Bausteine verfügen über einen Error Ausgang bCoEError der anzeigt, wenn bei dem Codestellezugriff ein Fehler ausgetreten ist. Wenn das Fehlerbit gesetzt ist erhalten Sie am Ausgang unCoEEroorADS einen Fehlercode im Beckhoff ADS Format. CoE_Error_ADS_Read CoE_Error_ADS_Write CoE_Error_ADS_String_Read ADS Fehlercode 0x703 0x703 0x70D 0x70D 0x704 Bedeutung Codestelle nicht vorhanden Subcode nicht vorhanden Parameterwert außerhalb der Grenzen Falsche Codestellendatenlänge Nur Leseberechtigung Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 29 von 34 ACP FU 7.6. Parameterkommunikation LenzeBlockOfCodes (PRG) Nr. 1 Aktion Im Netzwerk 1 wird der FB LenzeInitializeBlockOfCodesRd aufgerufen. Dieser Initialisierungsbaustein dient zur Bestimmung der lesenden Codestellenzugriffe. Über den Wert der Konstanten C_nLenzeMaxCodes wird die maximale Anzahl von Codestellenzugriffen eingestellt. In diesem Beispiel ist der Wert der Konstanten C_nLenzeMaxCodes 10. In dem FB LenzeInitializeBlockOfCodesRd sind 4 Codestellen definiert über das Array acsCodes. Der Anwender kann das Array auf die maximale Anzahl der Konstanten C_nLenzeMaxCodes vergrößern. Der Wert nNumberOfCodes ist dann auf diesen Wert anzupassen. Bemerkung 2 Im Netzwerk 2 wird der FB LenzeReadBlockOfCodes aufgerufen. Dem Baustein sind direkt die Ausgänge vom FB LenzeInitializeBlockOfCodesRd als Eingänge zugewiesen. Der Baustein darf vom Anwender nicht verändert werden! Die gelesenen Werte werden in dem Array adnDataRd abgelegt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 30 von 34 ACP FU 3 Im Netzwerk 3 wird der FB LenzeInitializeBlockOfCodesWr aufgerufen. Dieser Initialisierungsbaustein dient zur Bestimmung der schreibenden Codestellenzugriffe. Über den Wert der Konstanten C_nLenzeMaxCodes wird die maximale Anzahl von Codestellenzugriffen eingestellt. In diesem Beispiel ist der Wert der Konstanten C_nLenzeMaxCodes 10. In dem FB LenzeInitializeBlockOfCodesWr sind 3 Codestellen definiert über das Array acsCodes. Der Anwender kann das Array auf die maximale Anzahl der Konstanten C_nLenzeMaxCodes Vergrößern. Der Wert nNumberOfCodes ist dann auf diesen Wert anzupassen. Wenn die Codestelle keinen Subcode hat, muss der Wert für den Subcode auf 0 gesetzt werden! Der Eintrag Size bezieht sich auf das Codestellenformat. 1 Byte = 1 2 Byte = 2 4 Byte =4 4 Im Netzwerk 4 wird der FB LenzeWriteBlockOfCodes aufgerufen. Dem Baustein sind direkt die Ausgänge vom FB LenzeInitializeBlockOfCodesWr als Eingänge zugewiesen. Der Baustein darf vom Anwender nicht verändert werden! Die zu schreibenden Werte werden in dem FB LenzeInitializeBlockOfCodesWr direkt abgelegt. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 31 von 34 ACP FU 5 6 6 Hinweis: Beachte Sie bitte immer, das viele Lenze Codestellen über Nachkommastellen verfügen. Wenn eine Codestelle 2 Nachkommastellen besitzt, müssen Sie z.B. beim Auslesen dieser Codestellen den gelesen Wert durch 100 teilen um den genauen Wert zu erhalten. Für die Darstellung von Werten mit Nachkommastellen müssen sie mit dem Datentyp REAL im PLC Programm arbeiten! Hinweis: Da beide Bausteine LenzeReadBlockOfCodes und LenzeWriteBlockOfCodes mit denselben FB’s aus der EtherCAT Bibliothek arbeiten, darf immer nur ein Bausteinaufruf über das Freigabebit bExecute aktive sein! Alle Bausteine verfügen über einen Error Ausgang bError der anzeigt, wenn bei einem der Codestellezugriffen ein Fehler ausgetreten ist. Wenn das Fehlerbit gesetzt ist erhalten Sie am Arrayausgang abErrorReading bzw. abErrorWriting einen Fehlercode im Beckhoff ADS Format. Das Arrayfeld sagt auch gleichzeitig aus, bei welchem Codestellenzugriff der Fehler aufgetreten ist. CoE_Error_ADS_Read CoE_Error_ADS_Write CoE_Error_ADS_String_Read ADS Fehlercode 0x703 0x703 0x70D 0x70D 0x704 Bedeutung Codestelle nicht vorhanden Subcode nicht vorhanden Parameterwert außerhalb der Grenzen Falsche Codestellendatenlänge Nur Leseberechtigung 8. Busanalyser Wireshark mit TwinCAT Nr. 1 Aktion Der Twin CAT System Manager bietet eine Möglichkeit beim EtherCAT Master einen Betrieb mit Busanalyser zu aktivieren. 2 Die Wireshark Analysersoftware steht kostenfrei im Internet unter http://www.wireshark.org/ zur Verfügung. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Bemerkung Etherreal ist ein älterer Name der Software Wireshark! Seite 32 von 34 ACP FU 3 Beim Starten des EtherCAT Systems erscheint folgende Informationsmeldung, da ein betrieb mit Wireshark möglich ist. 4 Bei laufendem EtherCAT kann nun die Wireshark Analysersoftware gestartet werden. 5 Zuerst muss unter dem Menüpunkte Capture => Interface die verwendete EtherCAT Schnittstelle ausgewählt werden. 6 In diesem Beispiel ist dies die Schnittstelle mit der IP Adresse 192.168.23.201. Mit dem Start Button wird die Messung gestartet. Beendet wird die Messung mit CTRL+E. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 33 von 34 ACP FU Nr. 7 Aktion Nach beenden der Messung wird die Aufzeichnung der Telegramme angezeigt. Bemerkung Mit Wireshark können nur Daten aufgezeichnet werden. Das eigenhändige Senden von Daten auf dem Bus ist nicht möglich! 32 Bytes Prozessdaten 0x0005 aktuelle Statuswort / 0x6606 Istwert /0x6606 gespiegelter Sollwert In den Nutzdaten sind die 32 Prozessdatenbytes in beide Richtungen zu sehen. 8 Hinweis: Genaue EtherCAT Busmessungen können nur mit einer zusätzlichen Hardwarekomponente von Beckhoff (ET2000) durchgeführt werden. Inbetriebnahme_8400_MCI_EtherCAT_BeckhoffTwinCAT.doc Seite 34 von 34
© Copyright 2024