DOCA0132DE-01

Verwenden von SDOs

Einführung

SDO-Telegramme dienen zum aperiodischen Zugriff auf ein beliebiges CANopen-Objekt per Anforderungsprogrammierung. Der SDO-Dienst besteht aus einem Anforderungs- und einem Antworttelegramm.

SDO-Anforderungstelegramm

Informationsanforderung vom Client an den LTMR -Controller:

COB-ID

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Byte 6

Byte 7

0x600 + Node-ID

Anforderungscode

Objektindex

Objekt-Teilindex

Anforderungsdaten

LSB

MSB

Bits 7–0

Bits 15–8

Bits 23–16

Bits 31–24

SDO-Antworttelegramm

Informationsanforderung vom Client an den LTMR -Controller:

COB-ID

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Byte 6

Byte 7

0x580 + Node-ID

Antwortcode

Objektindex

Objekt-Teilindex

Antwortdaten

LSB

MSB

Bits 7–0

Bits 15–8

Bits 23–16

Bits 31–24

Anforderung- und Antwortcodes

Je nach Anforderungs- und Antwortcode kann der Inhalt der Anforderungs- und Antwortdaten variieren. In der folgenden Tabelle sind die Anforderungsdaten für die verschiedenen Anforderungscodes aufgeführt:

Antwortcode

Beschreibung des Befehls

Byte 4

Byte 5

Byte 6

Byte 7

0x23

4-Byte-Daten schreiben

Bits 7–0

Bits 15–8

Bits 23–16

Bits 31–24

0x2B

2-Byte-Daten schreiben

Bits 7–0

Bits 15–8

0x00

0x00

0x2F

1-Byte-Daten schreiben

Bits 7–0

0x00

0x00

0x00

0x40

Daten lesen

0x00

0x00

0x00

0x00

0x80

Abbrechen des aktuellen SDO-Befehls* 1

Bits 7–0

Bits 15–8

Bits 23–16

Bits 31–24

In der folgenden Tabelle sind die Antwortdaten für die verschiedenen Antwortcodes aufgeführt:

Anforderungscode

Befehlsbeschreibung

Byte 4

Byte 5

Byte 6

Byte 7

0x23

Daten lesen: 4-Byte-Daten

Bits 7–0

Bits 15–8

Bits 23–16

Bits 31–24

0x2B

Daten lesen: 2-Byte-Daten

Bits 7–0

Bits 15–8

0x00

0x00

0x2F

Daten lesen: 1-Byte-Daten

Bits 7–0

0x00

0x00

0x00

0x40

1/2/4-Byte-Datenantwort schreiben

0x00

0x00

0x00

0x00

0x80

Antwort auf erkannten Fehler: Abbruchcode zurückgegeben*.

0x00

0x00

0x00

0x00

SDO-Abbruchcodes

Folgende Abbruchcodes werden unterstützt:

Abbruchcode

Beschreibung

0x 0503 0000

Segmentierte Übertragung: Das Umschaltbit wurde nicht geändert.

0x 0504 0000

Zeitüberschreitung des SDO-Protokolls

0x 0504 0001

Ungültiger oder unbekannter Anforderungscode

0x 0601 0000

Beim Zugriff auf den Parameter ist eine Zugriffsauslösung aufgetreten (z. B. eine Schreibanforderung für einen schreibgeschützten Parameter).

0x 0601 0001

Versuchtes Lesen eines Parameters, der nur den Schreibzugriff erlaubt.

0x 0601 0002

Versuchter Schreibzugriff auf einen Parameter, der nur den Lesezugriff erlaubt.

0x 0602 0000

Der mit der Anforderung gesendete Index bezieht sich auf ein Objekt, das sich nicht im Objektverzeichnis befindet.

0x 0604 0041

PDO-Objekt-Zuordnung: Der Parameter kann nicht auf das PDO abgebildet werden. Dieser erkannte Fehler tritt beim Schreiben auf die Parameter 0x1600, 0x1A00, 0x1605 und 0x1A05 auf (PDO-Zuordnungen).

0x 0604 0042

PDO-Objekt-Zuordnung: Die Anzahl oder Länge der abzubildenden Parameter würde die maximale PDO-Länge überschreiten.

0x 0609 0011

Der mit der Anforderung gesendete Teilindex ist nicht vorhanden.

0x 0609 0030

Wertebereich des Parameters überschritten (nur für Schreibzugriff).

0x 0609 0031

Geschriebener Wert des Parameters zu groß.

0x 0609 0032

Geschriebener Wert des Parameters zu klein.

0x 0609 0036

Der Höchstwert des Parameters ist kleiner als der Mindestwert.

0x 0800 0000

Ein allgemeiner erkannter Fehler ist aufgetreten

Beispiel für ein Schreibe-SDO

Nachfolgend ist ein Beispiel für die Programmierung eines Schreibe-SDO für eine Premium-SPS in strukturierter Textsprache dargestellt.

Beispiel für ein Lese-SDO

Nachfolgend ist ein Beispiel für die Programmierung eines Lese-SDO für eine Premium-SPS in strukturierter Textsprache dargestellt.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

War das hilfreich für Sie?