Inbetriebnahme 8400 MCI EtherCAT BeckhoffTwinCAT

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