Материал: m083700d

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

CANopen • 131

Netzwerkkommunikation

5.3.1.2 Service Data Object - SDO

Mittels SDOs können Einträge im Objektverzeichnis gelesen bzw. beschrieben werden. Somit kann ein CANopen Teilnehmer vollständig konfiguriert werden. Die default SDO ist mit einem niederprioren Identifier vorbelegt. Die übertragenen Daten müssen auf mehrere Telegramme verteilt werden, wenn sie 4 Byte überschreiten.

5.3.1.2.1 SDO Protokoll

Zur Übertragung ist ein gewisser Protokolloverhead notwendig, welcher den Command-specifier, Index und Sub-Index des zu Lesenden / schreibenden Eintrags beinhaltet.

5.3.1.2.1.1Allgemeiner Aufbau

Receive Service Data Object (RxSDO)

Client

 

 

 

 

 

Server

 

 

 

 

COB-ID = 1536 + Module ID

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Command

Index

Index

Sub

 

Data

 

 

 

 

 

 

specifier

Low Byte

High Byte

Index

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Transmit Service Data Object (TxSDO)

Client

 

 

 

 

 

Server

 

 

 

 

COB-ID = 1408 + Module ID

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Command

Index

Index

Sub

 

Data

 

 

 

 

 

 

specifier

Low Byte

High Byte

Index

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-3: SDO Protokoll

 

 

 

 

 

 

 

g012405x

5.3.1.2.1.2Download SDO Protokoll

Dieses Protokoll wird benutzt, um Daten vom Master in den Controller zu schreiben.

5.3.1.2.1.2.1Initiate SDO Download

Mit diesem Protokoll wird die Datenübertragung vom Master zum Controller eingeleitet. Bei einer Übertragung von max. 4 Byte Daten, werden diese innerhalb des Protokolls mit übertragen.

WAGO-I/O-SYSTEM 750

CANopen

132 • CANopen

Netzwerkkommunikation

 

Initiate SDO Download

Client

Server

 

 

0

 

 

 

1

4

8

 

 

 

 

 

 

 

 

 

 

 

request

 

 

 

 

 

 

 

 

 

 

 

 

 

indication

 

 

.7 .6 .5

.4

.3 .2

.1

.0

 

 

 

Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ccs = 1

x

n

e

s

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Initiate SDO Download

Client

Server

 

 

0

 

 

 

 

1

4

8

 

 

 

 

 

 

 

 

 

 

 

 

confirm

 

 

 

 

 

 

 

 

 

 

 

 

 

response

 

.7 .6 .5

.4

.3

.2

.1

.0

 

 

 

Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

scs = 3

x

x

x

e

s

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-4:

Initiate SDO

g012406x

ccs:

Client command specifier

1: initiate download request

scs:

Server command specifier

3: initiate download response

n:ist nur gültig, wenn e = 1 Wenn n gültig ist, zeigt es die Anzahl der Bytes an,

und s = 1, sonst 0. die keine Daten enthalten. Beispiel:

3 Datenbytes, e = 1 und s = 1, n = 4 - 3 = 1

e:

transfer type

0: normal transfer, Anzahl der zu schreibenden

 

 

Bytes >= 5 Byte

 

 

1: expedited transfer, Anzahl der zu schreibenden

 

 

Bytes < 5 Byte

s:

size indicator

0: data set size wird nicht angezeigt

 

 

1: data set size wird angezeigt

 

 

s ist immer 1

m:

multiplexor

Index und Sub-Index des Objektverzeichnisses:

 

 

Index, Low Byte : Byte #1

 

 

Index, High Byte: Byte #2

 

 

Sub-Index: Byte #3

d:

data

e = 0, s = 0: d ist für weitere Nutzung vom CiA

 

 

reserviert

 

 

e = 0, s = 1: d enthält die Anzahl Bytes für den

 

 

Download

 

 

Byte 4 enthält das LSB und Byte 7 enthält das MSB.

 

 

e = 1: d enthält die Daten

X:

 

nicht genutzt, immer 0

reserved:

 

Reserviert für weitere Nutzung durch die CiA

 

 

 

 

 

 

WAGO-I/O-SYSTEM 750

 

 

CANopen

CANopen • 133

Netzwerkkommunikation

5.3.1.2.1.2.2Download SDO Segment

Dieses Protokoll wird benutzt, wenn mehr als 4 Daten übertragen werden. D.h. nach dem Abarbeiten des „Initiate SDO Download Protocol“, welches die Datenübertragung initiiert, schließt sich diese an.

 

Download SDO Segment

Client

Server

 

0

 

 

 

1

8

 

 

 

request

 

 

 

 

 

 

 

 

 

 

 

indication

 

.7 .6 .5

.4

.3

.2

.1

.0

 

Segment data

 

 

 

 

 

 

 

 

 

 

ccs = 0

t

 

n

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Download SDO Segment

Client

Server

 

 

0

 

 

1

8

 

 

 

confirm

 

 

 

 

 

 

 

 

 

response

 

.7 .6 .5

.4

.3

.2 .1 .0

 

reserved

 

 

 

 

 

 

 

 

 

 

 

 

scs = 1

t

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-5: Download SDO Segment

g012409x

ccs:

Client command specifier

0: download segment request

scs:

Server command specifier

1: download segment response

seg-data

Enthält die zu übertragen-

Die Bedeutung der Daten wird durch die Appli-

 

den Daten.

kation bestimmt.

n:

 

Zeigt die Anzahl der Bytes an, die keine Daten

 

 

enthalten. n ist 0, wenn keine Segmentgröße

 

 

angezeigt wird.

c:Gibt an, ob für weitere Daten ein Download durchgeführt werden muss.

0:Es sind noch Daten für den Download vorhanden.

1:Es sind keine Daten für den Download mehr vorhanden.

t:

Toggle Bit

Dieses Bit muss für jedes Segment, für das ein

 

 

Download erfolgt, toggeln. Das erste Segment

 

 

setzt das Toggle Bit zu 0. Das Toggle Bit ist für

 

 

die Anfrageund die Antwort-Nachricht gleich.

X:

 

nicht genutzt, immer 0

reserved:

 

Reserviert für weitere Nutzung durch die CiA

WAGO-I/O-SYSTEM 750

CANopen

134 • CANopen

Netzwerkkommunikation

5.3.1.2.1.3Upload SDO Protokoll

Dieses Protokoll wird benutzt um Daten aus dem Controller auszulesen.

5.3.1.2.1.3.1Initiate SDO Upload

Mit diesem Protokoll wird die Datenübertragung vom Controller zum Master eingeleitet. Bei einer Übertragung von max. 4 Byte Daten, werden diese innerhalb des Protokolls mit übertragen.

 

Initiate SDO Upload

Client

Server

 

0

 

1

4

8

 

 

 

request

 

 

 

 

 

 

 

 

 

 

indication

 

.7 .6 .5

.4 .3 .2

.1 .0

 

 

 

reserved

 

 

 

 

 

 

 

 

 

 

 

 

ccs = 2

x

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Initiate SDO Upload

Client

Server

 

 

 

0

 

 

 

1

4

8

 

 

 

confirm

 

 

 

 

 

 

 

 

 

 

 

 

response

 

.7 .6 .5

.4

.3 .2

.1

.0

 

 

 

Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

scs = 2

x

n

e

s

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-6: Initiate SDO Upload

g012410x

ccs:

Client command specifier

2: initiate upload request

scs:

Server command specifier

2: initiate upload response

n:ist nur gültig, wenn e = 1 Wenn n gültig ist, zeigt es die Anzahl der Bytes und s = 1, sonst 0. in d ein, die keine Daten enthalten. Die Bytes

 

 

[8-n, 7] enthalten keine Segment Daten.

e:

transfer type

0: normal transfer, Anzahl der zu schreibenden

 

 

Bytes >= 5 Byte

 

 

1: expedited transfer, Anzahl der zu schreiben-

 

 

den Bytes < 5 Byte

s:

size indicator

0: die Anzahl der zu übertragenden Bytes wird

 

 

nicht angezeigt

 

 

1: die Anzahl der zu übertragenden Bytes wird

 

 

angezeigt (abhängig von der Anzahl der Bytes)

m:

multiplexor

Index und Sub-Index des Objektverzeichnisses:

 

 

Index, Low Byte : Byte #1

 

 

Index, High Byte: Byte #2

 

 

Sub-Index: Byte #3

 

 

 

 

 

WAGO-I/O-SYSTEM 750

 

 

CANopen

 

 

CANopen • 135

 

 

Netzwerkkommunikation

 

 

 

d:

data

e = 0, s = 0: d ist für weitere Nutzung vom CiA

 

 

reserviert

 

 

e = 0, s = 1: d enthält die Anzahl der Bytes, die

 

 

zum Upload bereitstehen

 

 

Byte 4 enthält das LSB und Byte 7 enthält das

 

 

MSB.

 

 

e = 1: d enthält die Daten

X:

 

nicht genutzt, immer 0

reserved:

 

Reserviert für weitere Nutzung durch die CiA

5.3.1.2.1.3.2Upload SDO Segment

Dieses Protokoll wird benutzt, wenn mehr als 4 Daten übertragen werden. D.h. nach dem Abarbeiten des „Initiate Upload Protocol“, welches die Datenübertragung initiiert, schließt sich diese an.

 

Upload SDO Segment

Client

Server

 

 

0

 

 

1

8

 

 

 

 

 

 

 

 

 

 

request

 

 

 

 

 

 

 

 

 

 

indication

 

 

.7 .6 .5

.4

.3

.2 .1 .0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ccs = 3

t

 

x

 

reserved

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Upload SDO Segment

Client

Server

 

 

0

 

 

 

1

8

 

 

 

 

 

 

 

 

 

 

 

confirm

 

 

 

 

 

 

 

 

 

 

 

 

response

 

 

.7 .6 .5

.4

.3

.2

.1

.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

scs = 0

t

 

x

 

c

 

Segment data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-7: Upload SDO Segment

g012411x

ccs:

Client command specifier

3: download segment request

scs:

Server command specifier

0: download segment response

t:

Toggle Bit

Dieses Bit muss sich für jedes Segment ändern,

 

 

für das ein Upload erfolgt. Für das erste Segment

 

 

muss das Toggle Bit zu 0 gesetzt werden. Das

Toggle Bit ist gleich für die Anfrage und die

Antwort.

c:Zeigt an, ob weitere Segmente für den Upload vorliegen

0: es liegen weitere Segmente für den Upload vor

1:es liegen keine weiteren Segmente für den Upload vor

WAGO-I/O-SYSTEM 750

CANopen