Beispiel: Parameter lesen

Mit dem SDO‑Dienst READ können Parameter gelesen werden. Dazu müssen der Index und Subindex des Parameters, der gelesen werden soll, bekannt sein.

Der SDO‑Dienst wird an einem Beispiel näher erläutert. Im Beispiel wird der Dienst in einem EtherCAT®-Master der Firma Beckoff Automation GmbH in dem Engineering-Tool TwinCAT 3 ausgeführt.

Gehen Sie folgendermaßen vor:

  • Sie haben die erforderlichen Bibliotheken und Funktionsbausteine des Dienstes für den EtherCAT®-Master im TwinCAT-Projekt integriert (siehe SDO‑Dienste READ und WRITE).
  1. Öffnen Sie die Engineering-Software MOVISUITE® und suchen Sie den Parameter.
  2. Fahren Sie mit dem Mauszeiger über das Eingabefeld oder Anzeigefeld des Parameters und notieren Sie sich aus dem Tooltip den Index des Parameters. Der Subindex ist durch einen Punkt von der Indexnummer getrennt.
  3. Legen Sie eine Instanz des Funktionsbausteins FB_EcCoeSdoRead an.
  4. Belegen der Eingänge des Funktionsbausteins:

Eingang

Wert

sNetID

Net‑ID des EtherCAT®-Masters

nSlaveAddr

EtherCAT®-Adresse des Geräts, aus dem die Daten gelesen werden sollen.

nIndex

Index des Parameters, der gelesen werden soll.

Wenn Sie ein Doppelachsmodul verwenden, ist der Index der zweiten Achse mit einem Offset von 0x1000 (4096 dez) belegt.

nSubIndex

Subindex des Parameters, der gelesen werden soll.

pDstBuf

Zeiger auf den Datenbereich, in dem die gelesenen Parameter abgelegt werden sollen.

cbBufLen

Maximale Speichergröße in Byte, die der Parameter belegt, der gelesen werden soll.

Für die Umrichter des Automatisierungsbaukastens MOVI‑C® ist die maximale Speichergöße der Parameter immer 4 Byte.

bExecute

Positive Flanke, die den Lesevorgang startet.

tTimeout

Timeout-Zeit des Funktionsbausteins

  1. Um den Vorgang zu starten, muss der Eingang bExecute eine "Rising Edge" (positive Flanke) erkennen.
    • Der aktuelle Wert des Parameters wird in der entsprechenden Variable angezeigt. Die Variable muss noch entsprechend skaliert werden, damit der tatsächliche nicht skalierte Wert in den richtigen Anwendereinheiten angezeigt wird.
    • In diesem Beispiel wurde der Wert der Zwischenkreisspannung ausgelesen. Den Wert müssen Sie mit 1000 skalieren.
    • Die Ausgänge bBusy und bError signalisieren den Zustand des SDO‑Dienstes. Wenn bei der Ausführung des SDO‑Dienstes ein Fehler auftritt und Sie den Ausgang bError gesetzt haben, zeigt der Ausgang nErrId die Fehlernummer.