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) |
|
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