Definition der Speicherobjekte über die StartUp-Liste

Die gewünschte Struktur der Speicherobjekte ist einmalig im Status PREOP im CoE-Verzeichnis in CoE-Objekt 0x2F00 anzulegen. Dies ist auch offline (ohne angeschlossenes Modul) im System Manager möglich. Beim Start prüft das EtherCAT-Steckmodul EJ6080, ob sich die Speicherstruktur verändert hat und legt die Objekte ggf. entsprechend im Speicher an.

Hinweis

Definition der Speicherobjekte über die StartUp-Liste 1:

Datenverlust bei Veränderung der Datenstruktur

Wird die Datenstruktur bzw. das Objekt 0x2F00 geändert, werden alle vorhandenen Daten des Moduls EJ6080 gelöscht.

  • Die Datenstruktur kann gegen Veränderung gesperrt werden, indem der Wert in Index 0xF200:01 = 2 gesetzt wird.

Vorgehensweise Kurzform:

  1. Objekt 0x2F00 für Änderungen der Struktur entsperren
    Setzen Sie Index 0xF200:01 = 4 „Unlock Novram objects“ (manuell im System Manager oder per PLC).
  2. Eintragen des StartUp-Kommandos für das CoE-Objekt 0x2F00
    Inhalt: Anzahl der Objekte + jeweilige Länge in Byte.
    Zu beachten: complete access, Byte alignment, kein Leerobjekt möglich, nur im P -> S Übergang möglich, 16 bit Einträge, max. 127 Speicherobjekte.
  3. Neuladen der Konfiguration.
  4. Zur Kontrolle: Neuladen des CoE-Verzeichnisses.
  5. Objekt 0x2F00 für Änderungen der Struktur sperren
    Setzen Sie Index 0xF200:01 = 2 „Lock Novram objects“ (manuell im System Manager oder per PLC).

Vorgehensweise ausführlich:

Um die gewünschte Struktur der Speicherobjekte festzulegen, ist wie folgt vorzugehen:

Das EtherCAT-Steckmodul EJ6080 beinhaltet nach dem Einschalten eine bereits geänderte oder die Default-Speicherstruktur. Wichtig sind im Folgenden die CoE-Objekte ab 0x2000 und 0x2F00. In folgender Abb. ist in EJ6080 bereits ein Objekt der Größe 1 Byte angelegt:

Definition der Speicherobjekte über die StartUp-Liste 2:
Beliebiger Startzustand des Moduls EJ6080

Nun soll das EtherCAT-Steckmodul EJ6080 umkonfiguriert werden auf die Speicherstruktur:

also insgesamt 270 Byte in vier Speicherobjekten, auf die jeweils einzeln azyklisch über das CoE zugegriffen werden kann.

Eintrag in die StartUp-Liste

Dazu ist ein entsprechender Eintrag in der StartUp-Liste des Moduls EJ6080 vorzunehmen. Diese Liste ist bei dem Modul EJ6080 im Default-Zustand leer.

1. Ein neuer Eintrag wird im Reiter StartUp über den Button New hinzugefügt.
Es öffnet sich das Fenster „Edit CANopen Startup Entry“, in dem der neue StartUp-Eintrag definiert werden kann.
Definition der Speicherobjekte über die StartUp-Liste 3:
Definition eines neuen StartUP-Eintrags
Definition der Speicherobjekte über die StartUp-Liste 4:

Auswahldialog StartUp-Liste

Wenn bei Ihnen keine CoE-Einträge (s. Abb. Definition des StartUp-Eintrages) zur Auswahl angeboten werden, hat das folgenden Grund: Sie arbeiten offline (also ohne live angeschlossenes Modul) und in der von Ihnen benutzten ESI (EtherCAT Slave Information, XML Beschreibung) des EtherCAT-Steckmoduls EJ6080 ist kein Dictionary enthalten.

  • In diesem Fall können Sie StartUp-Einträge auch vollständig manuell definieren, d. h. Index und Subindex manuell eintragen.
2. Auswahl des Objektes
Online:
Wählen Sie das Objekt 0x2F00 aus der Liste, damit bei Index/SubIndex und Comment bereits die richtigen Werte stehen.
Offline:
Manueller Eintrag über die Felder Index (hex) und Sub-Index (dec)
3. Bei Transition muss "P->S" gewählt werden (der Wert wird beim Statusübergang PREOP->SAFEOP in das Modul EJ6080 geladen).
4. CompleteAccess muss aktiviert werden.
5. Tragen Sie in Data (hexbin) ihre gewünschte Struktur in hex und umgekehrter Byte-Reihenfolge (Byte alignment) ein, und zwar in der Form "aa aa bb bb cc cc ...".
aa aa: Anzahl der gewünschten Speicherobjekte
bb bb, cc cc, ...: jeweilige Größendefinition der Objekte

 

Beispiel:

 

 

  • aa aa = 04 00:

4 Speicherobjekte werden gewünscht.

 

  • bb bb = 01 00:

1. Speicherobjekt ist 1 Byte groß (00 01hex = 1dec).

 

  • cc cc = 0A 00:

2. Speicherobjekt ist 10 Byte groß (00 0Ahex = 10dec).

 

  • dd dd = 00 01:

3. Speicherobjekt ist 256 Byte groß (01 00hex = 256dec).

 

  • ee ee = 03 00:

4. Speicherobjekt ist 3 Byte groß (00 03hex = 3dec).

6. Bestätigen Sie mit OK. Der neue StartUp-Eintrag stellt sich nun wie folgt dar:
Definition der Speicherobjekte über die StartUp-Liste 5:
Neuer StartUp-Eintrag

Neuladen der Konfiguration

Nun muss diese Konfiguration zum Modul EJ6080 geladen und insbesondere der Statusübergang PREOP-->SAFEOP wie im StartUp-Eintrag definiert durchlaufen werden.
Klicken Sie den Reload-Button (Abb. Reload der Konfiguration):

Definition der Speicherobjekte über die StartUp-Liste 6:
Reload der Konfiguration

Neuladen des CoE-Verzeichnisses

In der Ansicht CoE-Online ist noch der alte Eintrag sichtbar.

Dies erklärt sich dadurch, dass TwinCAT primär nur die Werte von CoE-Objekten lädt, die dem System Manager bekannt sind. Verändert sich auf dem Gerät die CoE-Struktur, muss der System Manager gezielt angewiesen werden, die neue Struktur zu laden, die unter Umständen von der Default-Struktur laut XML/Dictionary abweicht.

Laden Sie dazu das umkonfigurierte CoE-Verzeichnis durch (Abb. Vollständiger Reload des CoE-Verzeichnisses):

Definition der Speicherobjekte über die StartUp-Liste 7:
Vollständiger Reload des CoE-Verzeichnisses

Darstellung der neuen Speicherobjekte im CoE-Verzeichnis

Nun sind die neu definierten Speicherobjekte sichtbar und aktiviert, s. Abb. Geändertes CoE-Verzeichnis.

Definition der Speicherobjekte über die StartUp-Liste 8:

Aktualisierung CoE-Verzeichnis

Zur Aktualisierung der Darstellung des CoE-Verzeichnisses benutzten Sie AutoUpdate, UpdateList oder die entsprechenden Dialoge unter Advanced.

Definition der Speicherobjekte über die StartUp-Liste 9:
Geändertes CoE-Verzeichnis
Definition der Speicherobjekte über die StartUp-Liste 10:

Darstellung großer CoE-Objekte

Bei dem hier gewählten Beispiel wird der Inhalt des 3. Speicherobjektes im CoE-Objekt 0x2010 in der TwinCAT-Anzeige nicht dargestellt, s. Abb. Geändertes CoE-Verzeichnis, weil der Inhalt für die Darstellung zu groß ist. Dessen ungeachtet ist der Inhalt natürlich vorhanden.