Материал: m083700d

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

136 • CANopen

Netzwerkkommunikation

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. Bytes [8-n, 7] enthalten keine Daten.

 

 

n ist 0, wenn keine Segmentgröße angezeigt

 

 

wird.

X:

 

nicht genutzt, immer 0

reserved:

 

Reserviert für weitere Nutzung durch die CiA

5.3.1.2.1.4Abort SDO Transfer

Dieses Protokoll wird benutzt, wenn Fehler während der Übertragung auftauchen.

 

Abord SDO Transfer

Client

Server

 

0

 

1

4

8

 

 

 

request

 

 

 

 

 

 

 

 

 

 

indication

 

.7 .6 .5

.4 .3 .2

.1 .0

 

 

 

Data

 

 

 

 

 

 

 

 

 

 

 

 

cs = 4

x

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-8: Abort SDO Transfer

g012412x

cs:

command specifier

4: abort domain transfer

m:

multiplexor

Index und Sub-Index des Objektverzeichnisses:

X:

 

nicht genutzt, immer 0

Data

4 Byte Errror Code

Applikationsspezifische Daten über die Gründe

 

 

des Abbruchs.

Unterstützte Abort Domain Transfer Meldungen

Aufbau:

 

Byte

 

 

Bedeutung

 

 

0

 

Command Specifier; 0x80

 

 

1

 

 

Index

 

 

2

 

 

 

 

 

 

 

 

 

3

 

 

SubIdx

 

 

4

 

 

Additional Code

 

 

5

 

 

 

 

 

 

 

 

6Error Code

7Error Class

WAGO-I/O-SYSTEM 750

CANopen

CANopen • 137

Netzwerkkommunikation

Über Additional-Code, Error-Code und Error-Class sind folgende Fehler als UNSIGNED32 kodiert:

Byte 4

5

Byte 6

Byte 7

 

 

 

Additional

Error

Error

 

Bedeutung

 

Code

 

Code

Class

 

 

 

05

03

00

00

Toggle bit not alternated

05

04

00

00

SDO protocol timed out

05

04

00

01

Client/server command specifier not valid or unknown

05

04

00

02

Invalid block size (block mode only)

05

04

00

03

Invalid sequence number (block mode only)

05

04

00

04

CRC error (block mode only)

05

04

00

05

Out of memory

06

01

00

00

Unsupported access to an object

06

01

00

01

Attempt to read a write only object

06

01

00

02

Attempt to write a read only object

06

02

00

00

Object does not exist in the object dictionary

06

04

00

41

Object cannot be mapped to the PDO

06

04

00

42

The number and length of the objects to be mapped would exceed

 

 

 

 

 

PDO length

06

04

00

43

General parameter incompatibility reason

06

04

00

47

General internal incompatibility in the device

06

06

00

00

Access failed due to an hardware error

06

07

00

10

Data type does not match, length of service parameter does not

 

 

 

 

 

match

06

07

00

12

Data type does not match, length of service parameter too high

06

07

00

13

Data type does not match, length of service parameter too low

06

09

00

11

Sub-index does not exist

06

09

00

30

Value range of parameter exceeded (only for write access)

06

09

00

31

Value of parameter written too high

06

09

00

32

Value of parameter written too low

06

09

00

36

Maximum value is less than minimum value

08

00

00

00

general error

08

00

00

20

Data cannot be transferred or stored to the application

08

00

00

21

Data cannot be transferred or stored to the application because of

 

 

 

 

 

local control

08

00

00

22

Data cannot be transferred or stored to the application because of

 

 

 

 

 

the present device state

08

00

00

23

Object dictionary dynamic generation fails or no object dictionary is

 

 

 

 

 

present (e.g. object dictionary is generated from file and generation

 

 

 

 

 

fails because of an file error)

5.3.1.2.2 SDO Beispiele

Im folgenden sind 4 SDO Beispiele aufgeführt. Die Daten sind hexadezimal dargestellt. Diese Beispiele zeigen die Handhabung von SDOs auf CANTelegramm Ebene und können zur Hilfe genommen werden, wenn das SDO Protokoll auf einer CAN-Karte implementiert werden soll.

Ein Telegramme ist in 4 Spalten aufgeteilt:

1. Spalte

Richtung

M->BK = Telegramm wird vom Master an den

 

 

Controller gesendet.

 

 

BK->M = Telegramm wird vom Controller an

 

 

den Master gesendet.

2. Spalte

CAN Identifier

 

3. Spalte

Frame Typ

D = Datenframe

 

 

R = RTR Frame

WAGO-I/O-SYSTEM 750

CANopen

138 • CANopen

Netzwerkkommunikation

4. Spalte

Daten

Datenbytes des CAN Telegramms

 

 

Es können bis zu 8 Datenbytes in einem CAN Telegramm

 

 

übertragen werden. Die einzelnen Bytes sind durch Leerstellen

 

 

voneinander getrennt. Einträge mit dem Wert XX haben keine

 

 

Bedeutung, müssen aber vorhanden sein. Zum besseren Ver-

 

 

ständnis sollten die Werte auf 0 gesetzt werden.

 

 

Einträge in der Antwort vom Controller mit dem Wert DD

 

 

enthalten Daten, die Abhängig von der Konfiguration sind.

5.3.1.2.2.1Beispiel 1:

Lese Index 0x1000 Sub-Index 0; Device Type

Index 0x1000 liefert 4 Byte zurück. Zur Übertragung wird der expedited

Transfer Mode benutzt

Richtung

CAN Id

Frame Typ

Datenbytes 0-7

M->BK

0x601

D

0x40

00 10 00 XX XX XX XX

 

 

 

 

 

BK->M

0x581

D

0x43

00 10 00 91 01 DD 00

 

 

 

 

 

Ergebnis:

Datenbyte 4 und 5: 91 01 Reihenfolge Low Byte, High Byte drehen: 0x0191 = 401 Device Profile Number

Datenbyte 6 und 7: DD 00 Reihenfolge Low Byte, High Byte drehen

5.3.1.2.2.2Beispiel 2:

Lese Index 0x1008 Sub-Index 0; Manufactor Device Name

Index 0x1008 liefert mehr als 4 Byte zurück. Zur Übertragung wird der normal- Transfer Mode benutzt. In diesem Fall werden pro Knoten 2 Telegramme gesendet.

Richtung

CAN Id

Frame Typ

Datenbytes 0-7

M->BK

0x601

D

0x40

08 10 00 XX XX XX XX

 

 

 

 

 

 

BK->M

0x581

D

0x41

08 10 00

07 00 00 00

 

 

 

 

M->BK

0x601

D

0x60 XX XX XX XX XX XX XX

 

 

 

 

 

 

BK->M

0x581

D

0x01

37 35 30

2D 33 38 37

 

 

 

 

 

 

Ergebnis:

In der ersten Antwort vom Controller wird die zu übertragende Anzahl von Daten dem Master mitgeteilt (0x00000007 Byte). Im zweiten Telegramm liefert der Controller die Artikelnummer im ASCII-Format (Hex-Darstellung) „750-837“.

WAGO-I/O-SYSTEM 750

CANopen

CANopen • 139

Netzwerkkommunikation

5.3.1.2.2.3Beispiel 3:

Lese Index 0x6000 Sub-Index 1; Erster 8-Bit digitaler Eingangsblock

Im Index 0x6000 sind die Signale der digitalen Eingangsklemmen hinterlegt. Jeweils 8 Bit sind einer Gruppe zugeordnet und können ab Sub-Index 1 gelesen werden. In diesem Beispiel wird der Eingangswert der ersten 8 Bit Gruppe über ein SDO Telegramm gelesen.

Richtung

CAN Id

Frame Typ

 

 

M->BK

0x601

D

 

0x40 00 60 01 XX XX XX XX

 

 

 

 

 

BK->M

0x581

D

 

0x4F 00 60 01 02 XX XX XX

 

 

 

 

 

Ergebnis:

Der Controller liefert im 5. Byte des CAN Telegramms den Zustand der ersten 8 Bit Gruppe zurück. In diesem Fall ist das 2 Bit gesetzt. Die Bytes 5-7 haben keine Bedeutung.

5.3.1.2.2.4Beispiel 4:

Beschreibe Index 0x6200 Sub-Index 1; Erster 8-Bit digitaler Ausgangsblock

Im Index 0x6200 sind die Ausgangswerte der digitalen Ausgangsklemmen hinterlegt. Jeweils 8 Bit sind einer Gruppe zugeordnet und können ab SubIndex 1 gelesen und geschrieben werden. In diesem Beispiel wird der Wert 0xFF in die Ausgänge der ersten 8 Bit digitalen Ausgangsgruppe geschrieben.

Richtung

CAN Id

Frame Typ

 

 

M->BK

0x601

D

0x2F 00 62 01 FF XX XX XX

 

 

 

 

 

BK->M

0x581

D

 

0x60 00 62 01 XX XX XX XX

 

 

 

 

 

Ergebnis:

Die Ausgänge der ersten 8 Bit digitalen Ausgangsklemmen sind gesetzt.

5.3.1.3 Synchronisations Objekt - SYNC

Mit diesem Objekt ist es möglich, alle Netzwerkteilnehmer zu synchronisieren. Durch entsprechende Konfiguration der PDOs können die Netzwerkteilnehmer veranlaßt werden, nach dem Eintreffen eines SYNC-Objektes, ihre Eingangsdaten zu bearbeiten bzw. die Ausgänge zu aktualisieren.

Somit ist durch zyklisches Senden des SYNC-Objektes sichergestellt, dass alle Netzwerkteilnehmer zeitgleich ihre Prozessdaten bearbeiten.

WAGO-I/O-SYSTEM 750

CANopen

140 • CANopen

Netzwerkkommunikation

5.3.1.3.1 SYNC Protokoll

 

 

 

Sync Protokoll

Sync Producer

Sync Consumer(s)

request

 

COB-ID = 128

 

 

indication(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-9: SYNC Protokoll

g012413x

5.3.1.4 Emergency Objekt (EMCY)

Emergency Objekte werden durch eine interne Fehlersituation, wie z. B. im laufenden Betrieb wird eine Klemme gezogen oder eine Klemme meldet einen Fehler, ausgelöst. Dann wird ein Emergency Object vom Controller an alle angeschlossenen Geräte gesendet (Broadcast), um diesen den aufgetretenen Fehler mitzuteilen. Die informierten Busteilnehmer können dann ihrerseits entsprechende Fehlerkorrekturmaßnahmen treffen.

5.3.1.4.1 EMCY Protokoll

 

 

 

 

 

 

EMCY Protokoll

 

 

 

 

 

 

EMCY Producer

 

 

 

 

 

EMCY Consumer(s)

 

0

2

3

8

 

 

 

 

indication(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

request

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EEC

 

ER

 

MER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 5-10:EMCY Protokoll

g012414x

Weitere Informationen

Eine detaillierte Beschreibung zu den Emergency Nachrichten entnehmen Sie bitte dem Kapitel 5.3.9 "Fehlermeldungen (Emergency)".

WAGO-I/O-SYSTEM 750

CANopen