Das TwinCAT EAP Gerät online konfigurieren

Das CANopen OD bietet den großen Vorteil, ein TwinCAT EAP Gerät online über eine standardisierte Schnittstelle nahezu uneingeschränkt konfigurieren zu können. Eine Online-Konfiguration vorzunehmen bedeutet, dass das TwinCAT EAP Gerät bereits aktiv ist und nur in einen sicheren Zustand geschaltet werden muss, ehe eine Änderung der Konfiguration erfolgt. Im sicheren Zustand findet keine Prozessdatenkommunikation statt.

Das Ändern der Konfiguration erfolgt durch Setzen von Parametern und geschieht

  • per TwinCAT:
    Die Werte werden dann direkt im online Objektverzeichnis geändert.
    Dies bietet sich bei der Inbetriebnahme der Anlage an. Per Klicken auf die entsprechende Zeile des zu parametrierenden Index und durch Eingabe eines entsprechenden Wertes im Dialog Set Value, wird der neue Wert beim entsprechenden Parameter gesetzt.
  • oder aus einer Anwendung heraus über ADS oder AoE:
    Dies wird für Änderungen während des Betriebs der Anlage empfohlen oder wenn kein TwinCAT bzw. Bedienpersonal zur Verfügung steht.

Zum einen kann eine Änderung ausschließlich die Einträge bereits existierender Objekte des OD betreffen. Zum anderen kann eine Änderung die Erzeugung neuer oder das Löschen bestehender Objekte zur Folge haben.

Existierende Objekte ändern

Eine Änderung, die nur existierende Objekte betrifft, dient der Anpassung des aktuellen Betriebsverhaltens (z.B. Sendezyklus, Zieladresse etc.) oder auch um einzelnen Objekten zweckgebundene Namen für ein besseres Verständnis zuzuweisen. Welche Schritte für solch eine Änderung notwendig sind, wird am besten deutlich durch ein Beispiel:

Das Ändern des Zeitintervalls, mit dem eine Publisher Variable übertragen wird.

Angenommen das EAP Gerät ist mit einem TxPD (0xD000) konfiguriert, bei dem als Cycle Time ein Intervall von 10000 µs konfiguriert ist und dieses Intervall soll nun auf 30000 µs vergrößert werden. Dann sind folgende Schritte durchzuführen:

1. Das EAP Gerät in einen sicheren Zustand versetzen.
Objekteintrag 0xF200:01 (Control Word) auf den Wert 2 (=PreOperational) setzen
Objekteintrag 0xF100:01 prüfen, ob der Zustand auf Wert 2 (=PreOperational) steht
Diese Prüfung mehrfach (pollend) durchführen mit einem Timeout von z.B. 200ms
2. Das Zeitintervall des TxPD auf den neuen Wert ändern
Den Objekteintrag Cycle Time des TxPD (0xD000:07) auf den Wert 30000 setzen
3. Das EAP Gerät wieder in seinen operativen Zustand versetzten.
Objekteintrag 0xF200:01 (Control Word) auf den Wert 4 (=SafeOperational) setzen
Objekteintrag 0xF100:01 prüfen, ob der Zustand auf Wert 4 (=SafeOperational) steht
Diese Prüfung mehrfach (pollend) durchführen mit einem Timeout von z.B. 200ms
Objekteintrag 0xF200:01 (Control Word) auf den Wert 8 (=Operational) setzen
Objekteintrag 0xF100:01 prüfen, ob der Zustand auf Wert 8 (=Operational) steht
Diese Prüfung mehrfach (pollend) durchführen mit einem Timeout von z.B. 200ms

Erzeugen und Löschen von Objekten

Das Erzeugen neuer Objekte dient der Erweiterung bestehender Kommunikationsverbindungen bzw. dem Hinzufügen neuer Kommunikationsverbindungen. Diese Funktion ermöglicht es z.B. eine temporäre Kommunikationsverbindung zwischen zwei Steuerungen zu etablieren. Dabei wird nur das Senden und Empfangen des EAP Gerätes kurzzeitig während der Konfigurationsphase unterbrochen. Die Prozesse anderer Komponenten und Module der Steuerung bleiben davon unberührt und können durchgehend aktiv bleiben.

Mit Hilfe der Objekte Frame List (Index 0xF020 – 0xF022) und Bitmap (Index 0xF801) werden Objekte erzeugt oder gelöscht.
In den Objekten Frame List gibt es insgesamt 512 Einträge, genauso viele wie es maximal TxFrame Objekte geben kann (vgl. Index 0xF020 in Das EAP Objektverzeichnis (Subprofil 1000)). Jedem Eintrag ist also genau ein TxFrame Objekt zugeordnet. Für jedes existierende TxFrame Objekt ist bei dem entsprechenden Eintrag dann der Wert 1000 gespeichert (Sub-Profil Nummer), alle anderen Einträge haben den Wert 0. Angenommen es gibt drei TxFrames mit den Indizes 0x8000, 0x8008 und 0x87F0. Dann ist die Zuordnung folgendermaßen zu verstehen:

Nr.

Frame List Einträge

Wert

Zugeordnetes TxFrame Objekt

1

0xF020:01

1000

0x8000

2

0xF020:02

1000

0x8008

0

254

0xF020:254

0

0x87E8

255

0xF021:01

1000

0x87F0

0

512

0xF022:04

0

0x8FF8

Sobald der Wert eines Eintrags auf den Wert 1000 gesetzt wird, wird das entsprechende TxFrame Objekte erzeugt. Beim Zurücksetzten auf den Wert 0 wird das Objekt wieder gelöscht.

Im Objekt Bitmap ist für jeden dynamischen Objektetyp außer TxFrames ein separater Eintrag vorhanden. Ent­sprechend sind sechs Einträge zu finden (ohne den Eintrag 0 – vgl. Index 0xF801 in Das EAP Objektverzeichnis (Subprofil 1000)). Ein Eintrag enthält ein Bit-Feld ausreichender Länge, um die maximale Anzahl von Objekten des entsprechenden Objekttypen in unärer Darstellung speichern zu können.

Angenommen es gibt drei TxPD Objekte mit den Indizes 0xD000, 0xD00C und 0xD014. Dann ist im Eintrag 0xF801:03 die Bitfolge 10010100000000…0 mit der Gesamtlänge von 1024 Bits gespeichert. Die Folge ist folgendermaßen zu interpretieren:

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

Bit 8

 

Bit 1024

1

0

0

1

0

1

0

0

0

0xD000

0x D004

0x D008

0x D00C

0x D010

0x D014

0x D018

0x D01C

0x DFFC


Sobald ein Bit auf 1 gesetzt wird, wird das entsprechende Objekt erzeugt. Beim Zurücksetzen wird das Objekt wieder gelöscht.

Hinweis
Löschen von offline konfigurierten Objekten

Es können auch Objekte gelöscht werden, die vor der Inbetriebnahme mittels TwinCAT konfiguriert worden sind (offline Konfiguration) und dadurch bereits bei der Aktivierung der Steuerung erzeugt werden. Dabei ist jedoch folgendes zu beachten:

Einige Objekte verwalten Variablen (wie z.B. CycleIndex, Quality, Status Word, Control Word etc.), die im Prozessabbild des EAP Gerätes liegen. TwinCAT greift bei der Anzeige von Online-Werten per ADS auf das Prozessabbild zu. Dabei berechnen sich die Adressen zu den jeweiligen Variablen im Prozessabbild nach der Konfiguration, die mit Hilfe von TwinCAT erzeugt und aktiviert worden sind.

Wenn nun ein offline konfiguriertes Objekt bei einer online Konfiguration gelöscht wird, bleibt diese Änderung vor TwinCAT verborgen. Er greift also nach wie vor auf die berechneten Adressen zu, um deren Inhalt in der Online-Ansicht anzuzeigen. An dieser Stelle soll deutlich werden, dass dann die angezeigten Online-Werte nicht mehr zu der in TwinCAT erzeugten Konfiguration passen.

Die Online-Ansicht bzw. die Adressen des Prozessabbildes sind in diesem Fall also keine gültige Bezugsquelle mehr, um die Werte des Prozessabbildes zu beobachten oder sogar auszuwerten.

Es wird empfohlen offline konfigurierte Objekte zu deaktivieren statt zu löschen.

Wenn das Löschen oder Hinzufügen von Objekten mit Hilfe von TwinCAT durchgeführt wird, werden neue Objekte nicht direkt im Objektverzeichnis angezeigt. Gelöschte Objekte verbleiben im OD und für deren Einträge wird kein Wert mehr angezeigt. Damit neue Objekte angezeigt und gelöschte Objekte nicht mehr angezeigt werden, muss in TwinCAT die Struktur des OD erneut gelesen werden. Dies kann mit Hilfe des Dialogs Advanced Settings vorgenommen werden (siehe Abb. CoEOnline in Kapitel Das TwinCAT EAP Gerät).

Aktivieren/Deaktivieren von Objekten

Für den Fall, dass bestimmte Prozess Data/PDOs oder vollständige Frames evtl. nur temporär aus der bestehenden EAP Kommunikation herausgenommen werden sollen, ist es sinnvoll die betreffenden Objekte zu deaktivieren statt zu löschen.

Es können die Objekte TxFrame (0x8000), TxPD Assignment (0x8001), TxPD (0xD000), TxPDO (0x1A00), RxPD (0xE000) und RxPDO (0x1600) deaktiviert und wieder aktiviert werden, indem ihr Subindex 0 auf den Wert 0 gesetzt wird. Das Aktivieren erfolgt dann durch das Setzen des ursprünglichen Wertes, oder einen beliebigen Wert größer 0.

Listenbasierte Objekte

Bei den listenbasierten Objekten TxPD Assignment und Rx/TxPDOs ist zu beachten, dass deren Einträge stets Referenzen auf andere Objekte enthalten. Das Ändern des Subindex 0 hat daher Einfluss darauf, welche bzw. wie viel andere Objekte tatsächlich referenziert werden.

Verknüpfung einer Variablen aus dem EAP Prozessabbild mit einer SPS Variable

Die Verknüpfung von Variablen aus der TwinCAT I/O-Ebene mit Variablen eines SPS Programms erfolgt standardgemäß in TwinCAT. Wenn eine Input/Output Variable aus einem SPS Programm mit einer Publisher oder Subscriber Variablen des EAP Gerätes verknüpft wird, wird der Symbolname dieser Variablen beim entsprechenden CANopen Objekt des EAP Gerätes eingetragen (siehe nächste Abbildung).

Das TwinCAT EAP Gerät online konfigurieren 1:
Das TwinCAT EAP Gerät online konfigurieren 2:

Wie die vorhergehende Abbildung zeigt, setzt sich der Symbolname aus der Object ID (OID) der PLC Instance und dem eindeutigen Namen der SPS Programmvariablen zusammen, getrennt durch einen Doppelpunkt. Unter Verwendung der gleichen Syntax kann ein Symbolname auch während der online Konfiguration bei einem EAP Objekt eingetragen werden. Die SPS Variable wird dann entsprechend mit der Rx/TxVariable verknüpft.

Online Konfiguration von offline Verknüpfungen

Bei Verknüpfungen, die bereits während der offline Konfiguration erzeugt worden sind, können diese bei der online Konfiguration weder verändert noch gelöscht werden. Diese Symbolnamen sind daher mit dem Flag Read-Only (RO) gekennzeichnet.

Grund:
Die Verknüpfung der Variablen wird mit Hilfe eines Mapping-Objekts beim Anlegen einer Konfiguration von TwinCAT festgelegt. Dieses Mapping-Objekt kann jedoch nicht während des Betriebs verändert werden.

Zugriff auf das CANopen Object Dictionary per Single Access/Complete Access

Das ADS Interface mit der Unterstützung des Kommunikationskanals CANopen SDO (siehe Das TwinCAT ADS Interface zum EAP Gerät) erlaubt es, sowohl die Werte einzelner Objekteinträge als auch die Daten eines kompletten Objektes zu lesen bzw. zu schreiben. Der Zugriff auf einen einzelnen Objekteintrag (Single Access) wird im Abschnitt Existierende Objekte Ändern in Kapitel Das TwinCAT EAP Gerät online konfigurieren erläutert.
Ein Complete Access ist der Zugriff auf das komplette Objekt. Dabei werden die Werte aller Objekteinträge aufeinanderfolgend in einem Block binär übertragen. Zur Sicherheit wird bei einem Schreibzugriff die Übereinstimmung der Blocklänge mit der Größe des Objekts geprüft, ehe der Zugriff gewährt wird. Zur Ermittlung der erforderlichen Blocklänge kann die Dokumentation des Objektverzeichnisses herangezogen oder auch eine offline Konfiguration in ein EAP Device Configuration (EDC) File exportiert werden (vgl. Absatz Protocol in Kapitel Das TwinCAT EAP Gerät). Letzteres ist eine Datei im XML-Format, in der u.a. das Objektverzeichnis der aktuellen Konfiguration vollständig enthalten ist (siehe Kapitel Das EAP Device Configuration (EDC) File).