Applikationsbericht Nr. 200.4 - Lenze

41
200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 1 von 41 AC Applikationsbericht Nr. 200.4.12 Titel: Inbetriebnahme 9400 mit EtherCAT und Beckhof TwinCAT Software Branche: Anwendungsspezifischer Bericht Untergruppe: Industrielle Kommunikation Antriebsregler: 9400 Highline mit EtherCAT Kommunikationsmodul Klassifizierung: vertraulich, nur für Lenze Mitarbeiter Weitergabe an Kunden erlaubt Inhalt: Dieser Applikationsbericht stellt eine Inbetriebnahmeanleitung zum Einsatz des 94xx Highline Servoumrichters mit einer EtherCAT Kommunikation und Einbindung in die Beckhoff IPC / PLC Umgebung dar. Zielgruppe: Applikationsingenieure, Service, Vertriebsingenieure & weitere technisch orientierte Mitarbeiter in der Lenze Organisation Autor/en: Martin Harms IK vom: 27.04.2009 Verteiler: Inland : LAG, LD, LA, LO, LEV, LAB, LKS, LKA, LAV, CC International: AC Tech, E.R.H.S.A, Gerit, LBC, LDK, LEA, LEB, LEE, LEF, LENL, Lenze Deto, LCP, Lenze S.E.A., Lenze UAB, LES, LSA, LUS Sehr geehrte Damen und Herren, hiermit möchten wir Ihnen unseren Applikationsbericht Nr. 200.4.12 mit o. g. Thema und Inhalt zur Verfügung stellen. Freundliche Grüße Lenze Automation GmbH ppa. i. V. Michael Spicker Uwe Tielker

Transcript of Applikationsbericht Nr. 200.4 - Lenze

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 1 von 41

AC

Applikationsbericht Nr. 200.4.12

Titel: Inbetriebnahme 9400 mit EtherCAT und Beckhof TwinCAT Software Branche: Anwendungsspezifischer Bericht Untergruppe: Industrielle Kommunikation Antriebsregler: 9400 Highline mit EtherCAT Kommunikationsmodul Klassifizierung: vertraulich, nur für Lenze Mitarbeiter Weitergabe an Kunden erlaubt Inhalt: Dieser Applikationsbericht stellt eine Inbetriebnahmeanleitung zum Einsatz

des 94xx Highline Servoumrichters mit einer EtherCAT Kommunikation und Einbindung in die Beckhoff IPC / PLC Umgebung dar.

Zielgruppe: Applikationsingenieure, Service, Vertriebsingenieure &

weitere technisch orientierte Mitarbeiter in der Lenze Organisation Autor/en: Martin Harms IK vom: 27.04.2009 Verteiler: Inland: LAG, LD, LA, LO, LEV, LAB, LKS, LKA, LAV, CC

International: AC Tech, E.R.H.S.A, Gerit, LBC, LDK, LEA, LEB, LEE, LEF, LENL, Lenze Deto, LCP, Lenze S.E.A., Lenze UAB, LES, LSA, LUS

Sehr geehrte Damen und Herren, hiermit möchten wir Ihnen unseren Applikationsbericht Nr. 200.4.12 mit o. g. Thema und Inhalt zur Verfügung stellen. Freundliche Grüße Lenze Automation GmbH ppa. i. V. Michael Spicker Uwe Tielker

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 2 von 41

AC

Applikationsbericht Nr. 200.4.12

Inhaltsverzeichnis 1. Vorwort / Ziel des Applikationsberichtes..................................................................................................3 2. Einleitung ..........................................................................................................................................................4

2.1. Allgemeines zum EtherCAT ................................................................................................................4 3. Komponenten...................................................................................................................................................4 4. Projektierungshinweise Lenze Engineer und 94xx Highline mit TA Stellantrieb Drehzahl..........5

4.1. Anlegen eines Engineerprojektes......................................................................................................5 4.2. TA Stellantrieb Drehzahl auf EtherCAT Kommunikation konfigurieren .............................. 10 4.3. Überwachungsreaktionen ............................................................................................................... 17 4.4. Diagnosemöglichkeiten.................................................................................................................... 17

5. Projektierungshinweise Beckhof IPC und TwinCAT............................................................................. 19 5.1. Projektierung des Beckhof IPC mit Lenze EtherCAT Modul E94AYCER................................. 20 5.2. Distributed Clocks (DC) EtherCAT Synchronisierung ............................................................... 27 5.3. TwinCAT Projekt in den EtherCAT Master laden ........................................................................ 28 5.4. TwinCAT PLC Projekt anlegen und Variablenverknüpfung mit EtherCAT ........................... 28

6. Programmbeispiel TwinCAT mit 94xx Highline ................................................................................... 32 6.1. Aufrufbaum TwinCAT PLC Control ................................................................................................ 33 6.2. zyklisches Mainprogramm MAIN (PRG)........................................................................................ 33 6.3. PLC Konstanten................................................................................................................................... 34 6.4. Prozessdatenkommunikation LenzeProcessdata (PRG) ........................................................... 35 6.5. Parameterkommunikation LenzeSingelCode (PRG).................................................................. 36 6.6. Parameterkommunikation LenzeBlockOfCodes (PRG)............................................................. 38

7. Busanalyser Wireshark mit TwinCAT ...................................................................................................... 40 Status Datum Version Bearbeiter Erstausgabe D 27.04.2009 V 1.0 Harms IK Erstausgabe E Erweiterung Aktualisierung

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 3 von 41

AC

Applikationsbericht Nr. 200.4.12

PC mit integrierte PCI-Express Ethernet Karte

1. Vorwort / Ziel des Applikationsberichtes

• Dieser Applikationsbericht stellt eine Inbetriebnahmeanleitung zum Einsatz des 94xx Highline Servoumrichters mit einer EtherCAT Kommunikation und Einbindung in die Beckhoff PLC Umgebung dar.

• Es wird gezeigt, welche Schritte in der Lenze Engineer Software und in der Beckhoff

Software TwinCAT notwendig sind, um solch ein System in Betrieb zu nehmen.

• Zu diesem Applikationsbericht gehört ein Beckhoff PLC Beispielprogramm, welches auf der Lenze Homepage www.lenze.com zum Download bereit steht.

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 Automation 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

PC mit Beckhof TwinCAT und PLC Control Soft PLC

EtherCAT

94xx Highline mit EtherCAT Modul

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 4 von 41

AC

Applikationsbericht Nr. 200.4.12

2. Einleitung Dieser Bericht soll anhand eines Beispieles erläutern, wie ein Lenze Servoumrichter 94xx in Verbindung mit EtherCAT und einer Beckhoff TwinCAT PLC in Betrieb genommen bzw. betrieben werden kann. Als erstes wird beschrieben, was auf der Lenze 94xx Seite hinsichtlich einer EtherCAT Kommunikation projektiert werden muß. Danach wird ausführlich beschrieben, wie die Beckhoff PLC konfiguriert werden muß und wie auf die Daten zugegriffen werden kann. Der letzte Teil des Berichtes beschreibt das TwinCAT Beispielprogramm.

2.1. Allgemeines zum EtherCAT

Das Feldbussystem EtherCAT wird durch die EtherCAT Nutzerorganisation (ETG) standardisiert und genormt. Treibende Kraft hierbei ist die Firma Beckhof. 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. Der Aktualisierungszyklus zwischen Master und Slave ist abhängig von der Anzahl der EtherCAT Slaves, der 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 bleibt die 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, E94AYCET 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 32 Prozessdatenworte mit dem Modul und dem 94xx Highline ausgetauscht werden. Zusätzlich dazu verfügt das Modul über einen optionalen Parameterkanal nach EtherCAT Spezifikation CoE (CAN over EtherCAT).

3. Komponenten Lenze Hardware 9400 Highline, FW 05.00 oder höher Kommunikationsmodul EtherCAT HW: VB, FW: 1.01 oder höher Lenze Software Lenze Engineer Highlevel Version 2.9.x.x oder höher Beckhoff TwinCAT TwinCAT V 2.10.0 (Build 1328) System Manager V 2.10.0 (Build 1362)

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 5 von 41

AC

Applikationsbericht Nr. 200.4.12

4. Projektierungshinweise Lenze Engineer und 94xx Highline mit TA Stellantrieb Drehzahl

4.1. Anlegen eines Engineerprojektes Nr. Aktion Bemerkung 1 Starten Sie den Lenze Engineer

In dieser Anleitung wurde die Engineer Version 2.9.0.0 verwendet

2 Legen Sie ein neues Projekt an.

Bestätigen Sie mit Weiter.

3 Vergeben Sie eine Projektbezeichnung für das Projekt.

Bestätigen Sie mit Weiter.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 6 von 41

AC

Applikationsbericht Nr. 200.4.12

4 Vergeben Sie einen Projektnamen und legen Sie den Speicherort

des Projektes fest.

Mit dem Button Fertigstellen beenden Sie die Eingabe.

5 Es öffnet sich automatisch der folgende Start Assistent: Komponente einfügen. In der Reiterkarte Antriebsregler wählen Sie einen Antriebsregler 94xx Highline aus und vergeben einen Namen für den Regler.

Bestätigen Sie mit Weiter.

In diesem Fall wurde ein 94xx Highline mit FV 05 ausgewählt. Die Firmwareversion des Antriebsreglers steht in der ausziehbaren Lasche hinter dem Keypadsteckplatz am Antriebsregler.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 7 von 41

AC

Applikationsbericht Nr. 200.4.12

6 94xx Highline

Als nächstes müssen Sie auswählen, welche Module in welche Steckplätze (Slots) gesteckt sind.

Mit dem Button Wählen gelangen Sie in die Auswahl aller verfügbaren Module. Hier muß das Kommunikationsmodul EtherCAT mit passender Firmware FW ausgewählt werden.

Mit OK bestätigen.

Die Firmwareversion der Einsteckmodule steht an der rechten Modulaußenseite.

7 Nach dem Einfügen des EtherCAT Kommunikationsmoduls zeigt sich der Dialog wie folgt.

Speicher- und Sicherheitsmodul wird auf die gleiche Weise zugeordnet. Bestätigen Sie mit Weiter

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 8 von 41

AC

Applikationsbericht Nr. 200.4.12

8 94xx Highline

Wählen Sie die Technologieapplikation (TA) Stellantrieb Drehzahl aus.

Bestätigen Sie mit Weiter

In diesem Beispiel wurde die Version 3.0.3 der TA gewählt.

9 Im nächsten Fenster können Sie bestimmen, welche Komponenten Sie in folgenden Dialogen auswählen wollen.

10 Wenn Sie einen Lenze Motor angeschlossen haben, können Sie diesen in der Reiterkarte Motoren auswählen.

Bestätigen Sie mit Weiter.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 9 von 41

AC

Applikationsbericht Nr. 200.4.12

11 Wenn Sie über ein Getriebe verfügen, können Sie für dieses das

Übersetzungsverhältnis in der Reiterkarte auswählen und ein Namen für vergeben.

Mit dem Button Fertigstellen beenden Sie die Eingabe.

12 94xx Highline Die eingefügte Achse zeigt sich nun wie folgt im Projektbaum.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 10 von 41

AC

Applikationsbericht Nr. 200.4.12

4.2. TA Stellantrieb Drehzahl auf EtherCAT Kommunikation konfigurieren Im Folgenden wird beschrieben, wie Sie die TA Stellantrieb Drehzahl für eine EtherCAT Kommunikation konfigurieren. Diese Vorgehensweise ist auch für andere TA’s, sowie für andere Kommunikationsmodule (Profinet I/O, Profibus etc), die mit einer übergeordneten SPS betrieben werden, gültig. Nr. Aktion Bemerkung 1 Markieren sie das EtherCAT Modul und wechseln Sie auf die

Reiterkarte Prozessdatenobjekte im rechten Fenster.

Hier stehen je ein Empfangs- und ein Sendeobjekt zur Verfügung. Markieren Sie das Empfangsobjekt PDO_RX0 und betätigen Sie den Button Edit PDO.

Mit dem Button Edit PDO können dem Empfangs- und Sendeobjekt vordefinierte Ports zugewiesen werden.

2 Es öffnen sich das Fenster Prozessdatenobjekte Aufbau: PDO_RXO. Mit dem Rot markierten Button >> können Sie vordefinierte Ports dem PDO_RX zuweisen. Weisen Sie dem PDO_RX den Port LPortControl1 und LPort32In1 zu.

Das R bei PDO_RX0 steht für Receive, also empfangene Daten zum 94xx und das T bei PDO_TX0 für Transmit, gesendete Daten vom 94xx.

3 Hinweis: Die 94xx Servoumrichterreihe arbeitet intern mit 32 Bit Signalen. Sie haben die Möglichkeit die Sollwert- und Istwertverarbeitung mit 32 Bit oder mit 16 Bit anzusteuern. Wenn Sie einen 32 Bit Port auswählen (LPort32In1) ist die Verarbeitung auch auf Basis von 32 Bit. Bei einem 16 Bit Port (z.B. LPort16In1) ist diese nur 16 Bit.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 11 von 41

AC

Applikationsbericht Nr. 200.4.12

4 Nach dem zuweisen der Ports zeigt sich der Dialog wie folgt.

Mit OK bestätigen.

Die Reihenfolge, wie Sie die einzelnen Eingangs- bzw. Ausgangsports der Feldbus-schnittstelle zuweisen, bestimmt auch die Reihenfolge der Prozessdaten auf dem EtherCAT!

5 In der Rot markierten Tabelle sehen Sie die zugewiesenen Ports des PDO_RX0 und dessen Reihenfolge.

Die Spalte Offset gibt das Anfangsbyte an, wo der zugewiesene Port auf den Prozessdaten des Feldbusses liegt. LPortControl1 = beginnt bei Byte 0. LPort32In1 beginnt bei Byte 2.

6 Wiederholen Sie die Schritte 1 -3 für das Sendeobjekt PDO_TX0 mit den beiden Ausgangsports LPortStatus1 und LPort32Out1.

7 In der Reiterkarte Ports können Sie auch Ihre zugewiesenen Portverknüpfungen sehen. Außerdem sehen Sie hier in der Spalte Index das vorgenommen PDO Mapping für die einzelnen Prozessdatenobjekte im 94xx.

In der rot markierten Tabelle ist zu erkennen, dass der Port LPortControl1 auf den PDO Mapping Index I-A580 Subcode 1 gemappt wurde und vom Datentyp WORD ist. In diesem Beispiel wurden 4 Ports gemappt was bedeutet, dass auch 4 Mapping Indizes vorhanden sind.

Dieses PDO Mapping der einzelnen Prozessdaten-objekte (TX und RX) MUSS bei der Projektierung des EtherCAT Masters 1:1 übernommen werden. Ist das PDO Mapping nicht auf beiden Seiten gleich, fährst das Lenze EtherCAT Modul nicht in den Operational State!

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 12 von 41

AC

Applikationsbericht Nr. 200.4.12

8 Indizes in diesem Beispiel:

LPortControl1 => I-A580 Subcode, 1 Datentyp Word LPort32In1 => I-A640 Subcode 1, Datentyp DINT LPortStatus1 => I-A100 Subcode 1, Datentyp Word LPort32Out1 => I-A1C0 Subcode 1, 1 Datentyp DINT

9 Im nächsten Schritt müssen Sie nun eine Signalverknüpfung der einzelnen Applikationsvariablen, der zugewiesenen Ports, zu der TA Stellantrieb Drehzahl vornehmen. Dies können Sie größtenteils über die Eingabedialoge der TA.

Sie sehen in der Auswahl die verschiedenen Eingangsports. Mit der Auswahl 171 Eingangsports-Port 1 (32 Bit) verknüpfen Sie den LPort32in1 mit dem Drehzahlsollwert.

9a Diese Signalverknüpfung können Sie auch in der Codetabelle Alle Parameter => Stellantrieb Drehzahl => Multiplexer in Codestelle L-C3000 vornehmen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 13 von 41

AC

Applikationsbericht Nr. 200.4.12

10 Bei dem ersten Prozessdatenwort, welches wir auf den

LPortControl1 verknüpft haben, sind nur 3 Bits vorbelegt.

Sie haben die Möglichkeit, alle Bits des Steuerwortes frei zu konfigurieren. Dies können Sie über den FB Editor oder die jeweiligen Codestellen (z.B. L-C03009 Festsollwert 1) vornehmen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 14 von 41

AC

Applikationsbericht Nr. 200.4.12

11 In diesem Beispiel wurde folgende sinnvolle Belegung des

Steuerwortes vorgenommen.

Bit Signal Codestelle Bedeutung 0 DI_bSwitchOn L-C3130/6

Wert 130 Einschaltbereit

1 SF_Enable.bIn1 L-C3003/0 Wert 131

Drehzahlfolger freigeben

2 QSP_bActivate2 L-C3135/2 Wert 132

Quick Stopp

3 DI_bSetCinh L-C3130/1 Wert 133

Reglersperre

4 SpeedRamp.bJog1

L-C3009/4 Wert 134

Festsollwert 1

5 Frei - - 6 Frei - - 7 DI_bErrorReset2 L-C3130/3

Wert 137 Fehler zurück setzen

8 Frei - - 9 SpeedRamp.bInv

ertSetpoint L-C3009/1 Wert 139

Sollwertinvertierung

10 -15 frei - -

12 Danach sieht der Port LPortControl1 im FB Editor wie folgt aus.

13 Das Statuswort und der Drehzahlistwert (LPortStatus1 und LPort32Out1) können über die Codestelle L-C03121 Subcode 1 -32 und L-C03125 /1 oder den FB Editor verknüpft werden.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 15 von 41

AC

Applikationsbericht Nr. 200.4.12

14 Beim Statuswort wurde folgende sinnvolle Belegung

vorgenommen.

Bit Signal Codestelle Bedeutung 0 DI_bReadyToSwitch

On L-C3121/1 Wert 209

Gerät einschaltbereit

1 DI_bReady L-C3121/2 Wert 201

Antrieb betriebsbereit

2 DI_bOperationEnable

L-C3121/3 Wert 210

Antrieb fahrbereit

3 DI_bFailActive L-C3121/4 Wert 202

Fehler aktiv

4 Frei - - 5 QSP_bActive L-C3121/6

Wert 222 Schnellhalt aktiv

6 Frei - - 7 DI_bWarningActive L-C3121/8

Wert 205 Warnung aktiv

8 Frei - - 9 Frei - - 10 Frei - - 11 MI_bLimitationActi

ve L-C3121/11 Wert 241

Drehzahlfolger in Begrenzung

12 Frei - - 13 MI_bMotorOverloa

dWarning L-C3121/13 Wert 245

Motorüberlast

14 MI_bSpeedBelowThresholdC19

L-C3121/14 Wert 246

Motordrehzahl < C00019

15 Frei - -

15 Danach sieht der Port LPortControl1 im FB Editor wie folgt aus.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 16 von 41

AC

Applikationsbericht Nr. 200.4.12

16 Alle vordefinierten Ports finden Sie im FB Editor wieder.

Eingangsports auf der linken und Ausgangsports auf der rechten Seite.

Der 94xx arbeitet intern immer mit 32 Bit Sollwerten bzw. Istwerten. Wenn Sie mit 16 Bits Ports arbeiten, werden die Signale intern auf 32 hoch normiert. Bei den Ausgangsports erfolgt die Normierung in umgekehrter Reihenfolge.

17 Wenn Ihnen die vordefinierten Lenze Ports nicht ausreichen, können Sie auch eigene Ports anlegen. Dazu müssen Sie vorher den FB Editor freischalten und anschließend können Sie unter der Reiterkarte Ports neue Ein- und Ausgangsports anlegen. Des Weiteren müssen Sie in diesen neuen Ports eigene Applikationsvariablen anlegen.

Hinweis: Wenn Sie den FB Editor freischalten gehen Ihnen die Applikationsdialoge der TA verloren.

18 Wenn Sie mit der Portzuweisung und der entsprechenden Signalverknüpfungen fertig sind, müssen Sie das Projekt kompilieren.

Portzuweisung können nicht Online durchgeführt werden!

19 Anschliessend müssen diese Änderungen in die Achse übertragen werden.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 17 von 41

AC

Applikationsbericht Nr. 200.4.12

4.3. Überwachungsreaktionen Nr. Aktion Bemerkung 1 Die Kommunikationsüberwachungszeit, welche vom verlassen des

Zustandes Operational abläuft, wird in Codestelle L-C13881 bzw. 14881 eingestellt.

Der Wert 65535 deaktiviert die Überwachungs-reaktion

2 Eine Reaktion bei abgelaufener Kommunikations-überwachungszeit in Codestelle 13881 bzw. 14881, kann mittels der Codestellen L-C13880 bzw. L-C14880 eingestellt werden.

.

3 Zusätzlich zur eingestellten Überwachungsreaktion kann in Codestelle L-C13855 / 14855 eingestellt werden, ob im Fehlerfall die letzten gültigen Prozessdaten eingefroren werden sollen (default Einstellung der Codestelle Wert 0) oder ob im Fehlerfall alle Prozessdaten auf den Wert Null gesetzt werden (Wert 1).

4 Die Überwachung der geräteinternen Kommunikation zwischen dem 94xx und dem Modul kann in Codestelle L-C1501 (MX1) und L-C1502 (MX2) eingestellt werden

MX1 = Slot 1 MX2 = Slot 2

4.4. Diagnosemöglichkeiten

Das Lenze EtherCAT verfügt über eine Reihe von Displaycodestellen, die zu Diagnosezwecken genutzt werden können. Nachfolgend werden die wichtigsten beschrieben. Codestelle Aktion Bemerkung L-C13861 / 14861 Aktueller Buszustand Anzeige des aktuellen Busstatus L-C13879 / 14879 Aktueller Busfehler Bit codierte Anzeige des Busfehlers L-C13850 / L-C14850 Subcode 1-32

Anzeige aller Wörter zum EtherCAT Master

Es werden alle Prozessdatenwörter (1-32) angezeigt, die vom Modul zum Master gesendet werden.

L-C13851 / L-C14851 Subcode 1-32

Anzeige aller Wörter vom EtherCAT Master

Es werden alle Prozessdatenwörter (1-32) angezeigt, die vom Modul empfangen werden.

L-C13852 / L-C14852 Subcode 1-32

Anzeige aller Wörter zum Grundgerät

Es werden alle Prozessdatenwörter (1-32) angezeigt, die vom Modul zum Grundgerät (94xx) gesendet werden.

L-C13853 / L-C14853 Subcode 1-32

Anzeige aller Wörter vom Grundgerät

Es werden alle Prozessdatenwörter (1-32) angezeigt, die vom Grundgerät (94xx) zum Modul gesendet werden.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 18 von 41

AC

Applikationsbericht Nr. 200.4.12

An folgenden Bildern können Sie schematisch erkennen, welche Konfiguration in den vorangegangenen Schritten 1-13 Kapitel 4.2 gerade vorgenommen wurden. Im Antriebsregler wurden 3 Prozessdatenworte vom EtherCAT mittels Portzuweisung verknüpft. Signalfluss von der SPS zum Antriebsregler

Prozessdatenwort SPS 1 2 3 Port LPortControl1 LPort32In1 Verknüpfung Applikation ControlWord1 Drehzahlsollwert Signalfluss vom Antriebsregler zur SPS

Verknüpfung Applikation StatusWord1 Motordrehzahl Port LPortStatus1 LPort32Out1 Prozessdatenwort SPS 1 2 3

Kommunikationsüberwachung EtherCAT L-C1x880 / 1 bzw. L-C1x880 /1 Überwachung Wackelkontakt Stecker / Leitung L-C1x881 bzw. L-C1x881

Überwachung der geräteinternen Kommunikation L-C1501 bzw. L-C1502

Kommunikationsüberwachung EtherCAT L-C1x880 / 1 bzw. L-C1x880 /1 Überwachung Wackelkontakt Stecker / Leitung L-C1x881 bzw. L-C1x881

Überwachung der geräteinternen Kommunikation L-C1501 bzw. L-C1502

x = 3 Slot1 (MX1) x = 4 Slot2 (MX2)

x = 3 Slot1 (MX1) x = 4 Slot2 (MX2)

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 19 von 41

AC

Applikationsbericht Nr. 200.4.12

Im PC integrierte PCI-Express Ethernet Karte

5. Projektierungshinweise Beckhof 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 xxx.tsm). Zusätzlich dazu wird mit der Software TWIN CAT Control ein PLC Projekt programmier welches dann anschließend im System Manager importiert werden kann.

PC mit Beckhof Twin CAT V 2.10.0 Build 1328 System Manager V 2.10.0 Build 1362

EtherCAT

94xx Highline mit EtherCAT Modul

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 20 von 41

AC

Applikationsbericht Nr. 200.4.12

5.1. Projektierung des Beckhof IPC mit Lenze EtherCAT Modul E94AYCER Nr. Aktion Bemerkung 1 Importieren Sie die benötigten EtherCAT xml

Gerätebeschreibungsdatei ‚Lenze_E94AYCET-V100-080508.xml’ für das 94xx Kommunikationsmodul EtherCAT E94AYCET FW 1.01. Diese xml Datei kopieren Sie bitte händisch in das folgende Verzeichnis unter TwinCAT: C:\..\TwinCAT\Io\EtherCAT

Die Lenze xml Datei finden Sie im Downloadbereich der Lenze Homepage www.Lenze.com

2 Starten sie den Beckhoff System Manager

In diesem Beispiel wurde mit der Version V2.10.0 Build 1362 gearbeitet.

3 Legen Sie im Beckhoff System Manager ein neues Projekt an. Menü => Datei => Neu

4 Fügen Sie unter E/A Geräte einen EtherCAT Master ein.

5 In diesem Beispiel wurde ein EtherCAT Master im Direct Mode eingefügt, da dieser den onboard Ethernetanschluss des Computers nutzten soll.

Bestätigen sie Ihre Auswahl mit OK.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 21 von 41

AC

Applikationsbericht Nr. 200.4.12

6 Welche Ethernet Schnittstelle als EtherCAT Master genutzt werden kann, finden sie unter der Reiterkarte Adapter => kompatible Geräte.

7 Im folgenden Dialog sind die verfügbaren und kompatiblen Ethernet Schnittstellen aufgelistet.

In diesem Beispiel wurde die markierte Schnittstelle ausgewählt und mittels Install installiert.

8 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.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 22 von 41

AC

Applikationsbericht Nr. 200.4.12

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.

Hinweis: Da EtherCAT eine Ringtopologie aufweist, muss auf die richtige Reihenfolge der Slaves am Bus bei der Offline Konfiguration geachtet werden!

11 Beim Online Scan wurde ein Lenze EtherCAT Teilnehmer gefunden. Dieser wird als Box 1 (Lenze 9400 Highline E94AYCET) eingefügt.

Alle Informationen in den verschiedenen Reiterkarte des Lenze Teilnehmers sind default Werte aus der xml Datei!

12 Als nächste muss die Prozessdatenkonfiguration an die 94xx Highline Achse angepasst werden. Dazu wechseln Sie bitte auf die Reiterkarte Prozessdaten.

Diese Konfiguration muss angepasst werden. In diesem Beispiel auf das Steuer- und Statuswort und den 32 Bit Soll- und Istwert.

Index I 0x1A00 steht für die Input Prozessdaten aus Sicht der Beckhof PLC. Index I 0x1600 steht für die Input Prozessdaten aus Sicht der Beckhof PLC.

Aus der xml Datei werden default je 32 Prozessdatenworte angelegt (64 Byte)

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 23 von 41

AC

Applikationsbericht Nr. 200.4.12

13 Wie das PDO Mapping beim Lenze EtherCAT Slaves aktuellen

eingestellt ist, können sie auch aus der Reiterkarte CoE unter den Indizes I - 0x1600 und I - 0x1A00 entnehmen.

Das blau markierte ist das 1 Output Objekt aus PLC Sicht. Hier ist der Index 0xA580 Sub 1 als 16 Bit Wert gemappt.

14 Löschen sie von den 32 Input und Output Prozessdatenobjekten jeweils 30 Objekte.

15 Es bleiben je 2 Objekte für 0x1A00 und 0x1600 übrig.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 24 von 41

AC

Applikationsbericht Nr. 200.4.12

16 Durch einen Doppelklick auf die beiden Einträge gelangen Sie in

deren Eigenschaften. Nun passen Sie den Eintrag auf die Konfiguration des 94xx Highline an (Schritt 7 Kapitel 4.2)

Indizes in diesem Beispiel:

Bezeichnung Lenze Port Index Datentyp Controlword LPortControl1 I-A580 Subcode 1 WORD Speedstepoint LPort32In1 I-A640 Subcode 1 DINT Statusword LPortStatus1 I-A100 Subcode 1 WORD Actual_Speed LPort32Out1 I-A1C0 Subcode 1 DINT

17 Nach der Anpassung muss ihre Konfiguration wie folgt aussehen. Output Prozessdaten PLC Index 0x1600

Imput Prozessdaten PLC Index 0x1A00

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 25 von 41

AC

Applikationsbericht Nr. 200.4.12

18 Die beiden Download Einstellungen sollten aktiviert sein. Damit

wird das vorgenommene PDO Mapping im TwinCAT beim Start des EtherCAT Masters zu den einzelnen Slaves übertragen.

19 Die angelegten Variablen tauchen nun auch namentlich richtig im TwinCAT Projektbaum auf.

20 In der Reiterkarte Startup sehen Sie die Anfangsparameter die der EtherCAT Master beim Start an den Slaves sendet.

Zusätzlich dazu können Sie auch weitere Codestellen hinzufügen die Sie beim EtherCAT Master Start an den Slave übertragen möchten. Mit der rechten Maustaste => Kontexmenü => Einfügen können Sie neue Codestellen hinzufügen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 26 von 41

AC

Applikationsbericht Nr. 200.4.12

21 Es öffnet sich der Dialog CANopen Startup Eintrag Bearbeiten. Hier müssen Sie mit der Lenze Formel 24575 – Lenze Codestelle und Umwandlung in Hex den Index eintragen. Der Subindex wird auch vergeben und die Daten die Sie schreiben möchten tragen sie in binärer Formel in das Datenfeld ein. In diesem Fall wurde auf die Lenze Codestelle L-C0011 der Wert 256 dec (0x00000100) geschrieben.

22 In der Reiterkarte CoE (Parameterkanal CAN over EtherCAT) werden die genormten Indizes Online dargestellt.

23 Der aktuelle Zustand des EtherCAT Slaves wird in der Reiterkarte Online dargestellt.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 27 von 41

AC

Applikationsbericht Nr. 200.4.12

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übernahme gewährleistet. Die Uhren werden zyklisch im laufenden Busbetrieb nachgestellt. Nr. Aktion Bemerkung 1 Im Beckhoff System Manager kann unter der Reiterkarte DC für

jeden einzelnen EtherCAT Teilnehmer die Synchronisation aktiviert werden, DC for synchronization.

Diese Änderungen werden erst nach einer Neukonfiguration und Neustarts des EtherCAT Masters aktive!

2 Wenn DC beim EtherCAT Modul aktive ist, wird dies in Codestelle L-C13883 / 14883, Wert 1 angezeigt.

4 Zusätzlich zur Synchronen Prozessdatenübernahme auf dem EtherCAT mittels DC, kann auch der Reglertakt des 94xx synchronisiert werden. Dazu muss die Sync-Quelle des Reglers, Codestelle L-C1120, auf den Slot gestellt werden, in dem das EtherCAT Modul sitzt. Sie können diese Einstellung auch über die Applikationsoberfläche des EtherCAT Moduls vornehmen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 28 von 41

AC

Applikationsbericht Nr. 200.4.12

5.3. TwinCAT Projekt in den EtherCAT Master laden Nr. Aktion Bemerkung 1 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 , aktivieren die

Konfiguration und machen einen Neustart der Konfiguration

im Konfig Modus .

2 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. Aktion Bemerkung 1 Starten Sie den Beckhoff Software TwinCAT PLC Control und legen

sie ein neues Projekt an.

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.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 29 von 41

AC

Applikationsbericht Nr. 200.4.12

4 Der MAIN (PRG) Programmbaustein wird geöffnet. Im oberen Teil

des Bausteins ist die Variablendeklaration und im unteren Fenster die IEC 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 muß VAR_GLOBAL gewählt werden. Danach erscheint in der Variablen_Liste der Wert Globale_Varaiablen.

Sie müssen einen Namen, einen Datentyp, einen Initialwert (Wert 0 sinnvoll) und eine Adresse vergeben.

7 Die Adressvergabe beginnt immer mit %. Dann folgt für Eingang ein I (Imput) 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.

8 Für alle EtherCAT Variablen des Lenze Slave legen Sie nun globalen Variablen an (Controlword, Speedstepoint, Statusword, Actual_Speed).

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 30 von 41

AC

Applikationsbericht Nr. 200.4.12

9 Im Fenster Globale Variablen müssen nun alle 4 Variablen

auftauchen.

10 Im System Manager können sie über die rechte Maustaste ein SPS Programm anfügen.

11 Als Beispiel wurde hier das SPS Programm mit den 4 Globalen Variablen gewählt.

12 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.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 31 von 41

AC

Applikationsbericht Nr. 200.4.12

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.

Mit OK wird die Auswahl bestätigt.

14 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)

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 32 von 41

AC

Applikationsbericht Nr. 200.4.12

6. Programmbeispiel TwinCAT mit 94xx Highline Das Programmbeispiel Lenze_94xxHighlineV10.zip kann mittels der Dearchivierungsfunktion von WinZIP entpackt werden. Das Beispielprogramm teilt sich in zwei Bereiche. Zum einen gibt es eine Beispielkonfiguration Lenze_94xxHighline.tsm für den TwinCAT System Manager. Die andere Datei Lenze_94xxHighline.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 (PRG)

In diesem Programmbaustein wird die Prozessdatenkommunikation mit den globalen Variablen bearbeitet. Dazu wird der FB Lenze9400ProcessdataTAactuatorSpeed aufgerufen. Desweiteren 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 (PRG)

In diesem Programmbaustein sind Singelcodestellenzugriffe programmiert. Zum einen wird lesend auf die Codestellen L-C00011 (Max. Drehzahl) und L-C00166 (aktueller Fehler) zugegriffen. Desweiteren wird auf die Codestelle L-C00011 schreibend zugegriffen. Für die Parameterkommunikation wird mit den CoE Funktionsblöcken aus der TwinCAT EtherCAT Bibliothek gearbeitet.

LenzeBlockOfCodes (PRG)

In diesem Programmbaustein sind Lese- und Schreib-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.

Hinweis Für eine Parameterkommunikation CoE (CAN over EtherCAT) aus dem PLC Programm ist die Beckhoff Bibliothek TcEtherCAT.lib in die Bibliotheksverwaltung einzubinden. Hier finden sie die benötigten Bausteine für eine CoE Kommunikation.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 33 von 41

AC

Applikationsbericht Nr. 200.4.12

6.1. Aufrufbaum TwinCAT PLC Control

6.2. zyklisches Mainprogramm MAIN (PRG) Nr. Aktion Bemerkung 1 Im MAIN (PRG) werden die drei nachfolgen Programme aufgerufen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 34 von 41

AC

Applikationsbericht Nr. 200.4.12

6.3. PLC Konstanten Nr. Aktion Bemerkung 1 Es sind im Beispielprogramm 3 Konstanten definiert.

2 Die Konstante sNetIDEtherCATMaster gibt die Net ID des EtherCAT Masters an.

In diesem Beispiel 5.1.180.75.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 Codestellen die mit den FB’s Initialisierungs-Funktionsblöcken LenzeInitializeBlockOfCodesRd und LenzeInitializeBlockOfCodesWr verarbeiten werden können.

In diesem Beispiel Wert 10

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 35 von 41

AC

Applikationsbericht Nr. 200.4.12

6.4. Prozessdatenkommunikation LenzeProcessdata (PRG) Nr. Aktion Bemerkung 1 Im Netzwerk 1 wird der FB EcGetSlaveState aus der TwinCAT

EtherCAT Bibliothek aufgerufen. Der Ausgang state liefert den aktuellen State des EtherCAT Slaves.

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 Lenze9400ProcessdataTAactuatorSpeed aufgerufen. Der FB realisiert die Prozessdatenkommunikation mit 3 Prozessdatenwörtern. Dabei ist das 1. Prozessdatenwort das Steuer- und Statuswort. Die Prozessdatenwörter 2 & 3 der 32 Bit Speedsetpoint und Actual Speed.

Dieser FB ist angepasst an die vorgenommen Verknüpfungen des Steuer- und Statuswortes aus Kapitel 4.2 Schritt 11 und 14.

4 Die Verbindung zum EtherCAT Master, und somit zur Konfiguration mit dem TwinCAT System Manager, wird über die Globalen Variablen hergestellt.

Siehe Kapitel 5.4 Schritt 12 und 13

5 Hinweis: Es gibt noch einen weiteren FB für die Prozessdatenkommunikation, der aber nicht im Programm eingebunden ist. Der FB Lenze9400ProcessdataGeneral ist von den Variablenbezeichnungen allgemein gehalten. Auch dieser FB setzt eine Prozessdatenkommunikation mit 3 Worten voraus.

6 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.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 36 von 41

AC

Applikationsbericht Nr. 200.4.12

6.5. Parameterkommunikation LenzeSingelCode (PRG) Nr. Aktion Bemerkung 1 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.

Wenn die Codestelle keinen Subcode hat, muss der Wert für den Subcode auf 0 gesetzt werden!

2 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

In dem Beispiel wurde die Codestelle 166 (aktueller Fehler), Subcode 0 ausgelesen. Der gelesene Wert wird in der Variable dnReadString abgelegt.

Da der FB nur Stringcodestellen auslesen kann, muss kein Format der Codestelle angegeben werden. Die maximale Stringlänge beträgt 255 Zeichen.

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 37 von 41

AC

Applikationsbericht Nr. 200.4.12

3 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)

In dem Beispiel wurde die Codestelle 11, Subcode 0 mit Datenformat 4 Byte beschrieben. Der zu schreibende Wert von 3000 wird in der Variable dnWriteValue abgelegt.

Wenn die Codestelle keinen Subcode hat, muss der Wert für den Subcode auf 0 gesetzt werden!

4 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!

5 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!

6 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 Bedeutung 0x703 Codestelle nicht vorhanden 0x703 Subcode nicht vorhanden 0x70D Parameterwert außerhalb der Grenzen 0x70D Falsche Codestellendatenlänge 0x704 Nur Leseberechtigung

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 38 von 41

AC

Applikationsbericht Nr. 200.4.12

6.6. Parameterkommunikation LenzeBlockOfCodes (PRG) Nr. Aktion Bemerkung 1 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.

2 Im Netzwerk 2 wird der FB LenzeReadBlockOfCodes aufgerufen. Dem Baustein sind direkt die Ausgänge vom FB LenzeInitializeBlockOfCodesRd als Eingänge zugewiesen.

Die gelesenen Werte werden in dem Array adnDataRd abgelegt.

Der Baustein darf vom Anwender nicht verändert werden!

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 39 von 41

AC

Applikationsbericht Nr. 200.4.12

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 2 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.

Die zu schreibenden Werte werden in dem FB LenzeInitializeBlockOfCodesWr direkt abgelegt.

Der Baustein darf vom Anwender nicht verändert werden!

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 40 von 41

AC

Applikationsbericht Nr. 200.4.12

5 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!

6 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!

6 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 Codestellenzugirff der Fehler aufgetreten ist. CoE_Error_ADS_Read CoE_Error_ADS_Write CoE_Error_ADS_String_Read

ADS Fehlercode Bedeutung 0x703 Codestelle nicht vorhanden 0x703 Subcode nicht vorhanden 0x70D Parameterwert außerhalb der Grenzen 0x70D Falsche Codestellendatenlänge 0x704 Nur Leseberechtigung

7. Busanalyser Wireshark mit TwinCAT Nr. Aktion Bemerkung 1 Der Twin CAT System Manager bietet eine Möglichkeit beim

EtherCAT Master einen Betrieb mit Busanalyser zu aktivieren.

Etherreal ist ein älterer Name der Software Wireshark!

200.4.12_Inbetriebnahme_9400_EtherCAT_BeckhoffTwinCAT_SW.doc Seite 41 von 41

AC

Applikationsbericht Nr. 200.4.12

2 Die Wireshark Analysersoftware steht kostenfrei im Internet unter

http://www.wireshark.org/ zur Verfügung.

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 169.254.143.191. Mit dem Start Button wird die Messung gestartet.

7 Nach beenden der Messung wird die Aufzeichnung der Telegramme angezeigt. In diesem Beispiel sind nur die Telegramme von der Source dell_9F:ab:4c interessant.

In den Nutzdaten sind die 6 Prozessdatenbytes in beide Richtungen zu sehen.

LWR = Write Daten Vom master zum Slave LRD= Read Daten vom Slave zum Master Mit Wireshark können nur Daten aufgezeichnet werden. Das eigenhändige Senden von Daten auf dem Bus ist nicht möglich!

8 Hinweis: Genaue EtherCAT Busmessungen können nur mit einer zusätzlichen Hardwarekomponente von Beckhoff (ET2000) durchgeführt werden.

6 Bytes Prozessdaten

0x0040 aktuelle Statuswort