EtherCAT Master

Sie können auf einfache Weise Datenpunkte aus einem EtherCAT-Master-Abbild veröffentlichen. Ein SPS-Zwischenprojekt ist nicht erforderlich, kann aber hinzugefügt werden, falls Sie eine Datenkonvertierung oder -umwandlung benötigen. Die folgende Dokumentation beschreibt alle notwendigen Schritte, um diesen Anwendungsfall einzurichten. Diese Schritte bestehen aus:

  1. Aktivierung des ADS Symbol Server auf dem EtherCAT Master
  2. Einrichten eines OPC UA RT Device
  3. Konfiguration eines Publishers mit einem DataSet
  4. Hinzufügen von Datenpunkten aus dem EtherCAT-Master zum Publisher-DataSet
  5. [optional] Einrichten eines TwinCAT Subscriber
  6. [optional] Einrichten eines generischen MQTT-Client-Subscriber

Dieses Beispiel demonstriert diesen Aufbau anhand eines Anwendungsfalls, in dem I/O-Datenpunkte vom EtherCAT-Master an einen Message Broker in der Cloud veröffentlicht werden sollen. Eine Anwendung von Drittherstellern sollte sich dann mit demselben Broker verbinden und die Daten abonnieren. Dieses Beispiel kann an verschiedene Varianten dieses Anwendungsfalls angepasst werden, je nach Bedarf der Anwendung.

EtherCAT Master 1:

Aktivierung des ADS Symbol Server auf dem EtherCAT Master

Der TwinCAT EtherCAT Master bietet die Funktionalitäten eines ADS Symbol Servers. Alle Klemmen und Variablen des EtherCAT-Masters werden dann über ADS zur Verfügung gestellt. ADS-Clients können sich mit dem ADS Symbol Server verbinden, um dessen Namensraum zu durchsuchen und Daten zu lesen/schreiben. Sie können diese Funktion auf der ADS-Einstellungsseite des EtherCAT Master Image aktivieren.

EtherCAT Master 2:

Einrichten eines OPC UA RT Device

Richten Sie ein OPC UA RT Device ein, wie in unseren Quick Start Tutorials beschrieben. In diesem Beispiel wird das OPC UA RT Device für eine sichere MQTT Verbindung zu einem entfernten Message Broker konfiguriert, der in der Cloud läuft, aber Sie können dieses Beispiel auch lokal ausführen. Bitte geben Sie die MQTT-Verbindungsdaten entsprechend Ihrer Umgebung ein.

EtherCAT Master 3:

Konfiguration eines Publishers mit einem DataSet

Als Nächstes möchten Sie einen Publisher erstellen, der einen DataSet mit Variablen enthält, die mit den Datenpunkten des EtherCAT Master Image verknüpft sind. Rechtsklicken Sie auf das OPC UA RT Device und wählen Sie Add New Item und dann OPC UA Publisher. Rechtsklicken Sie dann auf den hinzugefügten Publisher und wählen Sie Add New Item und dann Published DataSet. Beachten Sie, dass der DataSet noch keine Felder enthält, wie im folgenden Screenshot zu sehen ist.

EtherCAT Master 4:

Sie können nun mit dem TwinCAT Target Browser Datenpunkte aus dem EtherCAT Master hinzufügen.

Hinzufügen von Datenpunkten aus dem EtherCAT-Master zum Publisher-DataSet

Öffnen Sie den TwinCAT Target Browser und navigieren Sie zu dem ADS Symbol Server des EtherCAT Masters. Wenn dieser ADS Server noch nicht angezeigt wird, können Sie seinen Port über den Dialog ADS Port Selection hinzufügen, wie im folgenden Screenshot gezeigt.

EtherCAT Master 5:

Den ADS Port des EtherCAT Master Image finden Sie auf der Einstellungsseite in Schritt 1.

Sie können nun durch den Namensraum des EtherCAT Master Image navigieren und die Datenpunkte auswählen, die Sie veröffentlichen möchten. Beim Hinzufügen von Datenpunkten haben Sie vier Möglichkeiten:

  1. Wählen Sie jeden Datenpunkt einzeln aus und fügen Sie ihn per Drag&Drop dem DataSet hinzu.
  2. Wählen Sie das gesamte Prozessabbild aus und fügen Sie es per Drag&Drop dem DataSet hinzu. In diesem Fall wird jede Klemme auf dem Bild als strukturierter Datentyp zum DataSet hinzugefügt.
  3. Wählen Sie das gesamte Prozessabbild aus und fügen Sie es mit SHIFT + Drag&Drop dem DataSet hinzu. In diesem Fall werden nur die Variablen auf jeder Klemme zum DataSet hinzugefügt (als einfache Datentypen). Diese Option kann erforderlich sein, wenn der OPC UA Pub/Sub Subscriber keine strukturierten Typen unterstützt.
  4. Wählen Sie die Klemmen aus und fügen Sie sie per Drag&Drop dem DataSet hinzu.

Der folgende Screenshot zeigt das Ergebnis einer Drag&Drop-Operation wie in Option 1 beschrieben für zwei Klemmen (EL3403 und EL3318).

EtherCAT Master 6:

Der folgende Screenshot zeigt das Ergebnis einer Drag&Drop-Operation wie in Option 4 beschrieben für zwei Klemmen (EL3403 und EL3318).

EtherCAT Master 7:

[optional] Einrichten eines TwinCAT Subscriber

Sie können ganz einfach einen Subscriber für die veröffentlichten Datenpunkte einrichten, indem Sie die Konfiguration in eine OPC UA Binäraustauschdatei exportieren. Diese Datei kann dann auf der anderen Seite importiert werden, um automatisch einen Subscriber zu erstellen, der der Konfiguration des Publishers entspricht.

Um die Konfiguration zu exportieren, doppelklicken Sie auf das OPC UA RT Device und wählen Sie Settings. Klicken Sie auf die Schaltfläche Export und speichern Sie die Konfiguration in einer Datei.

EtherCAT Master 8:

Importieren Sie diese Konfigurationsdatei auf das Gerät, das den Subscriber aufnehmen soll. Wenn das Gerät auch ein System ist, auf dem TwinCAT läuft, können Sie die Datei in das entsprechende TwinCAT-Projekt importieren, indem Sie die Schaltfläche Import auf dem OPC UA RT Device verwenden.

Sie können auch einen Subscriber in demselben Projekt erstellen, in dem auch der Publisher läuft. Die Steuerung fungiert also als Publisher UND Subscriber.

Nach dem Importieren der Konfigurationsdatei wird der Subscriber automatisch mit einem DataSet konfiguriert, der die Felder des Publishers enthält.

EtherCAT Master 9:

Sie können dann ein Mapping mit Variablen z. B. aus einer SPS-Anwendung erstellen oder über die Schaltfläche Create PLC code in der DataSet-Konfiguration automatisch SPS-Code generieren.

EtherCAT Master 10:

Mit dieser Operation wird eine GVL erstellt, die Variablen enthält, die über das Attribut "TcLinkTo" mit den Prozessabbildvariablen verknüpft sind, z. B.:

EtherCAT Master 11:

[optional] Einrichten eines generischen MQTT-Client-Subscriber

Sie können jeden MQTT-Client für die Daten abonnieren, die im MQTT Message Broker veröffentlicht werden. In diesem Beispiel haben wir das MQTT/JSON-Datenformat verwendet, das eine ASCII-basierte, einfache Interpretation der Daten ermöglicht. Der folgende Abschnitt zeigt, wie das resultierende JSON-Format aussehen kann.

{
  "DataSetWriterId": 1,
  "PublisherId": "1",
  "SequenceNumber": 5228,
  "MinorVersion": 771501780,
  "Timestamp": "2024-06-12T10:14:04.734Z",
  "Status": 0,
  "Payload": {
    "Term 3 (EL3318).TC Channel 1": {
      "Status": {
        "Underrange": false,
        "Overrange": false,
        "Error": false,
        "TxPDO State": false,
        "TxPDO Toggle": false
      },
      "Value": 233
    },
    "Term 3 (EL3318).TC Channel 2": {
      "Status": {
        "Underrange": true,
        "Overrange": false,
        "Error": false,
        "TxPDO State": false,
        "TxPDO Toggle": false
      },
      "Value": 13720
    },
...
...