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 | ||
![]() | Datenverlust bei Veränderung der Datenstruktur Wird die Datenstruktur bzw. das Objekt 0x2F00 geändert, werden alle vorhandenen Daten des Moduls EJ6080 gelöscht.
|
Vorgehensweise Kurzform:
- Objekt 0x2F00 für Änderungen der Struktur entsperren
Setzen Sie Index 0xF200:01 = 4 „Unlock Novram objects“ (manuell im System Manager oder per PLC). - 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. - Neuladen der Konfiguration.
- Zur Kontrolle: Neuladen des CoE-Verzeichnisses.
- 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:
- 0x2F00:0 (NOVRAM Size): "1" = es existiert ein Speicherobjekt.
- 0x2F00:01 (Subindex 001): "0x0001" = dieses eine Speicherobjekt ist mit 1 Byte Größe definiert.
- 0x2000 (NOVRAM Data): 00 - dieses eine Speicherobjekt trägt als Nutzdatum "00".
![Definition der Speicherobjekte über die StartUp-Liste 2:](Images/png/12769828491__Web.png)
Nun soll das EtherCAT-Steckmodul EJ6080 umkonfiguriert werden auf die Speicherstruktur:
- 1 Byte
- 10 Byte
- 256 Byte
- 3 Byte
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:](Images/png/12760264331__Web.png)
![]() | 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.
|
- 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: |
|
|
| 4 Speicherobjekte werden gewünscht. |
|
| 1. Speicherobjekt ist 1 Byte groß (00 01hex = 1dec). |
|
| 2. Speicherobjekt ist 10 Byte groß (00 0Ahex = 10dec). |
|
| 3. Speicherobjekt ist 256 Byte groß (01 00hex = 256dec). |
|
| 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:](Images/png/12775355147__Web.png)
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:](Images/png/12775358475__Web.png)
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):
- CoE-Online, Advanced...
- Doppelklick auf AllObjects
- anschließend OK
![Definition der Speicherobjekte über die StartUp-Liste 7:](Images/png/12776809995__Web.png)
Darstellung der neuen Speicherobjekte im CoE-Verzeichnis
Nun sind die neu definierten Speicherobjekte sichtbar und aktiviert, s. Abb. Geändertes CoE-Verzeichnis.
- die Strukturinformationen (Bytegröße) der Speicherobjekte 1 bis 4 sind in CoE-Objekt 0x2F00, Subindex 001 bis 004 definiert
- der aktuelle Speicherinhalt wird in den der Reihenfolge nach zugehörigen CoE-Objekte 0x2000, 0x2008, 0x2010 usw. dargestellt.
![]() | 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:](Images/png/12775364363__Web.png)
![]() | 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. |