CoE

Einige Ein- und Ausgangskomponenten von Steuerungssystemen sind parametrierbar. Bei EtherCAT Komponenten wird die Parametrierung an den Can-Application-protocoll-over-EtherCAT (CoE) Standard angelehnt, siehe Informationen zum CoE-Interface. Im Folgenden werden VIs beschrieben, die Ihnen das Lesen und Schreiben der CoE-Objekte von LabVIEW™ aus ermöglichen. Hierbei wird die AMS-Adresse des EtherCAT Teilnehmers genutzt. Die Adresse setzt sich zusammen aus Master AMS NetId und AMS Port des Clients. Der Ordner enthält die folgenden VIs:

Das Beispiel CoE Lesen oder Schreiben beschreibt die Nutzung der CoE Blöcke.

Read CoE List

Das VI Read CoE List liest ein CoE-Verzeichnis eines Teilnehmers aus und listet alle Objekte in einem Array auf, die für das ausgewählte Gerät verfügbar sind. Die Objekte werden über Indizes identifiziert, die von nachfolgenden CoE VIs für den Zugriff verwendet werden.

CoE 1:

Eingang/Ausgang

Bedeutung

[0][4] Handle

Handle auf den ADS-Client

[5][6] DeviceAddress

AMS-Adresse des Teilnehmers bestehend aus:

  • AMS NetId des Master
  • AMS Port des Clients

[7] ListType

LabVIEW™ Enum

Beschreibt, welche Indizes aus dem Verzeichnis aufgelistet werden sollen:

  • TotalNumberOfLists: Listet die Anzahl der Elemente in den Verzeichnissen AllCoEObjects, RxPDOs, TxPDOs, StoredForDevice und StartUp auf.
  • AllCoEObjects: Liste aller CoE-Objekte
  • RxPDOs: Liste aller RxPDO-Objekte
  • TxPDOs: Liste aller TxPDO-Objekte
  • SettingObjects: Liste aller Objekte, die bei einem Austausch des Geräts relevant sind.
  • StartUp: Liste der Objekte, die als StartUp-Parameter genutzt werden können.

[8] List

1D-Array der Indizes der Objekte

Read CoE Description

Das VI Read CoE Description ruft die CoE-Objektbeschreibung des Teilnehmers auf und sendet diese an LabVIEW™. Die Beschreibung beinhaltet unter anderem den Objektnamen und die Anzahl der Einträge bzw. Subindizes des Objekts.

CoE 2:

Eingang/Ausgang

Bedeutung

[0][4] Handle

Handle auf den ADS-Client

[5][6] DeviceAddress

AMS Adresse des Teilnehmers bestehend aus:

  • AMS NetId des Masters
  • AMS Port des Clients

[7] Index

Index des Objekts

[8] ObjectName

Name des Objekts

[10] ObjectDescription

LabVIEW™ Cluster bestehend aus folgenden Elementen:

  • Index: Index des Objekts
  • DataType: Datentyp des Objekts
  • MaxSubIndex: Anzahl von Subindizes des Objekts

Read CoE Entry

Das VI Read CoE Entry liest einen CoE-Eintrag eines Objekts aus. Das Objekts wird über den Index und Subindex referenziert. Zurückgegeben werden Informationen, wie z. B. der Name des Eintrags und der Zugriff.

CoE 3:

Eingang/Ausgang

Bedeutung

[0][4] Handle

Handle auf den ADS-Client

[5][6] DeviceAddress

AMS Adresse des Teilnehmers bestehend aus:

  • AMS NetId des Masters
  • AMS Port des Slaves

[7] Index

Index des Objekts

[8] Entry Name

Name des Eintrags

[9] SubIndex

Subindex des Eintrags

[10] CoE Entry

LabVIEW™ Cluster bestehend aus folgenden Elementen:

  • Index: Index des Objekts
  • SubIndex: Subindex des Eintrags
  • DataType: Datentyp des Eintrags
  • BitLength: Die Länge des Eintrags in Bits
  • ObjectAccess: Angaben zur Veränderbarkeit, z. B., ob nur gelesen oder auch geschrieben werden kann.

Read CoE Value

Das VI Read CoE Value liest den Wert eines CoE-Eintrags. Zurückgegeben wird ein Array der Länge BitLength in Bytes. Das Array gibt den Wert in hexadezimalen Zahlen im Format Little-Endian an.

CoE 4:

Eingang/Ausgang

Bedeutung

[1] Convert?

Schaltet die Konvertierung des gelesenen CoE-Eintrags in den zugehörigen LabVIEW™-Datentyp ein/aus. Falls eingeschaltet, befinden sich die konvertierten Daten in „LabVIEW™ Converted Data [10]“.

[0][4] Handle

Handle auf den ADS-Client

[5][6] Device Address

AMS Adresse des Teilnehmers bestehend aus:

  • AMS NetId des Masters
  • AMS Port des Slaves

[7] CoE Entry

LabVIEW™ Cluster bestehend aus folgenden Elementen:

  • Index: Index des Objekts
  • SubIndex: Subindex des Eintrags
  • DataType: Datentyp des Eintrags
  • BitLength: Die Länge des Wertes des Eintrags in Bits
  • ObjectAccess: Beschreibt, in welchem EtherCAT-Zustand auf das Objekt zugegriffen werden kann.

[8] Data

1D Byte Array mit dem Wert des CoE-Eintrags

[10] LabVIEW™ Converted Data

Nur verfügbar, wenn „[1] Convert?“ auf True gesetzt ist.

LabVIEW™ Cluster, welches die nach LabVIEW™ konvertierten CoE-Daten enthält, bestehend aus:

  • Data as string: Daten als String (z. B. numerischer Wert 42 wird zu „42“)
  • Data as variant: Daten als LabVIEW™ Variant, welche mittels „Variant To Data“ in den originalen LabVIEW™-Datentyp konvertiert werden können.

Der Wert des CoE-Eintrags wird hexadezimal dargestellt und die Bytes in der little-endian Reihenfolge übertragen. Zeichenketten und Arrays werden von links nach rechts übertragen, wobei die Elemente des Arrays im little-endian gespeichert sind.

Write CoE Value

Der Block Write CoE Value schreibt den Wert des CoE-Eintrags. Der zu schreibende Wert ist ein Array aus Bytes der Größe BitLength. Die Werte müssen in hexadezimalen Zahlen im Format Little-Endian angegeben werden.

CoE 5:

Eingang/Ausgang

Bedeutung

[1] Write Format

LabVIEW™ Enum

Wählt das Format der zu schreibenden Daten (CoE-Eintrag), welche über den Eingang „[9] Data“ bereitgestellt werden:

  • Byte Array
  • String
  • Variant

[0][4] Handle

Handle auf den ADS-Client

[5][6] Device Address

AMS Adresse des Teilnehmers bestehend aus:

  • AMS NetId des Masters
  • AMS Port des Slaves

[7] CoE Entry

LabVIEW™ Cluster bestehend aus folgenden Elementen:

  • Index: Index des Objekts
  • SubIndex: SubIndex des Eintrags
  • DataType: Datentyp des Eintrags
  • BitLength: Die Länge des Wertes des Eintrags in Bits
  • ObjectAccess: Beschreibt, in welchem EtherCAT-Zustand auf das Objekt zugegriffen werden kann.

[9] Data

LabVIEW™ Variant, der die zu schreibenden Daten (CoE-Eintrag) enthält. Die Daten können in folgenden Formaten vorliegen:

  • Byte Array: 1D Byte Array der Länge „CoE Entry.BitLength”. Werte müssen in hexadezimalen Zahlen im Little-Endian Format angegeben werden.
  • String: Wert wird als String angegeben und intern nach „CoE Entry.DataType“ konvertiert.
  • Variant: Wert wird als LabVIEW™ Variant übergeben und intern nach „CoE Entry.DataType“ konvertiert.