EK9500-CoE-Datenzugriff über CIP

CoE bedeutet „CAN over EtherCAT“. Dieses Protokoll erlaubt den Zugriff auf alle Parameter eines EtherCAT-Teilnehmers. Das CoE-Datenmodell basiert auf den Grundlagen von CANopen und verwendet Index und Subindex um Parameter zu lesen oder zu beschreiben wenn diese es erlauben. Die Parameter eines EtherCAT-Slaves können in der Regel über den DeviceManager eingesehen und angepasst werden. In manchen Applikationen ist es aber notwendig, bestimmte Parameter zur Laufzeit zu verändern oder im laufenden Betrieb Optimierungen durchzuführen. Ab der Firmware-Version v1.23 besteht die Möglichkeit, CoE-Daten azyklisch über das CIP-Protokoll und ADS einzusehen und anzupassen.

Voraussetzung:

Class/Instance/Attribute Festlegungen für CoE

  1. Klemmenposition → Class Code
    (Class Code Range: 0x300-0x3FF, 0x400-0x4FF ist reserviert)
    • 0x300     →     EK9500
    • 0x301     →     1. Klemme
    • 0x302     →     2. Klemme
    • 0x3FF     →     255.Klemme
  2. CoE-Index → CIP Object Instance
    • Index 0x1000     →      “CoE over CIP” Object Instance 0x1000
    • Index 0x1008     →      “CoE over CIP” Object Instance 0x1008
    • Index 0x8000     →      “CoE over CIP” Object Instance 0x8000
    • Index 0xFFFF     →      “CoE over CIP” Object Instance 0xFFFF
  3. CoE-SubIndex → CIP Object Instance Attribute
    (offener und Herstellerspezifischer Bereich für Attribute: ids 0x100-0xCFF, max 3071)
    • SubIndex 0         →     Instance Attribute 0x100
    • SubIndex 1         →     Instance Attribute 0x101
    • SubIndex 2         →     Instance Attribute 0x102
    • SubIndex 3         →     Instance Attribute 0x103
    • SubIndex 248     →     Instance Attribute 0x1F8
                                           Instance Attribute 0x000-0x0FF (reserviert)
                                           Instance Attribute 0x1F9-0xCFF (reserviert)
  4. CoE Service → CIP Service
    • OBJ_Read     →     GetAttributeSingle
    • OBJ_Write      →     SetAttributeSingle

Beispiele für CoE over CIP
(EK9500+EL4134+EL3104+EL2004+EL2024+EL3061+EL6090)

  1. Device Name, EK9500
    • Index 0x1008, SubIndex 0x0 vom EK9500 an Slot 0      →       Ergebnis: „EK9500“
      GetAttributeSingle (Class: 0x300, Intance: 0x1008, Attribute: 0x100)
  2. Device Name, EL3104
    • Index 0x1008, SubIndex 0x0 von EL3104 an Slot 3      →       Ergebnis: „EL3104-0000“
      GetAttributeSingle (Class: 0x302, Intance: 0x1008, Attribute: 0x100)
  3. AO settings Ch.1 → Offset
    • Index 0x8010, SubIndex 0x11 von EL4134 an Slot 2
      SetAttributeSingle (Class: 0x302, Intance: 0x8010, Attribute: 0x111)
  4. DIS CHR settings → Row 1
    • Index 0x8008, SubIndex 0x11 von EL6090 an Slot 7
      GetAttributeSingle (Class: 0x307, Intance: 0x8008, Attribute: 0x111)

Der folgende Screenshot zeigt die Zuordnungen IP-Adresse, Class Code, Instance und Attribute am Funktionsbaustein FB_GET_ATTRIBUTE_SINGLE in TwinCAT 3. In diesem Beispiel wird das CoE-Objekt „8008:11 Row 1“, welches der ersten Zeile der Displayklemme EL6090 entspricht, ausgelesen.

EK9500-CoE-Datenzugriff über CIP 1:
Beispiel TwinCAT, 4. DIS CHR settings → Row 1 (EL6090)

In dem Screenshot “Beispiel Allen Bradley (Studio5000), 4. DIS CHR settings → Row 1 (EL6090)” wird gezeigt, wie und wo die Zuordnungen „IP-Adresse, Class Code, Instance und Attribute“ in der Steuerungssoftware „Studio5000“ von Allen Bradley zu setzen sind.

EK9500-CoE-Datenzugriff über CIP 2:
Beispiel Allen Bradley (Studio5000), 4. DIS CHR settings → Row 1 (EL6090)