Operating guide
Wire position sensor
CANopen output
DST X800
ia.danfoss.com.
Operation guide | DST 800 Wire position sensor
Table of Contents |
1. |
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 |
|||||
|
1.1 |
Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 |
|||||
|
1.2 |
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 |
|||||
|
1.3 |
Abbreviations and terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 |
|||||
|
2. |
Electrical connections . . . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . |
. . . . . 4 |
|||
|
2.1 |
M12 x 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . |
. |
. . . .4 |
||
|
3. |
Network Management (NMT) . . . . . . . . . . . . . . . . |
. . . . . . . . . |
. |
. . . .5 |
||
|
4. |
Baud rate . . . . . . . . . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . . . . . . .6 |
||||
|
5. |
Node-ID and resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 |
|||||
|
6. |
Parameter settings . . . . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . . . . . . .6 |
||||
|
7. |
Restore default parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 |
|||||
|
8. |
Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 |
|||||
|
9 |
Error handling . . . . . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . |
. . |
. . |
. |
7 |
|
10. |
SDO communication and read/write commands . . . . . . |
. . . . . . . . . |
. . |
. . |
. |
8 |
|
11. |
PDO communication and Length calculation . . . . . . . . . |
. . . . . . . . . |
. . |
. . . .9 |
||
|
11.1 |
Example 1 : TPDO #0 length 0.0 mm . . . . . . . . . . . . . |
. . . . . . . . . |
. |
. . . .9 |
||
|
11.2 |
Example 2 : TPDO #0 length 2000.0 mm . . . . . . . . . . . |
. . . . . . . . . |
. . . . 10 |
|||
|
11.3 |
Example 1 : TPDO #0 length 4800.0 mm . . . . . . . . . . . |
. . . . . . . . . |
. . . . 11 |
|||
|
12. |
CANopen features summary . . . . . . . . . . . . . . . . |
. . . . . . . . . . . . . .12 |
||||
|
13. |
Status LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 |
|||||
|
14. |
Communication examples . . . . . . . . . . . . . . . . . . . |
. . . . . . . . . |
. . |
. . |
.19 |
1. General Information |
1.1 |
Contact |
|
||
|
Danfoss A/S |
|
|
Industrial Automation |
|
|
DK-6430 Nordborg |
|
|
Denmark |
|
|
www.ia.danfoss.com |
|
|
E-mail: IA-Sensorglobaltechnicalsupport@danfoss.com |
|
|
|
|
|
1.2 |
General |
|
The document describes the standard CANopen |
|
|
implementations created. It is addressed to |
|
|
CANopen system integrators and to CANopen |
device designers who already know the content of standards designed by C.i.A. (CAN in Automation).
2 | © Danfoss | DCS (im) | 2019.04 |
AQ304245527436en-000101 | IC.PS.P21.M1.02 |
Operation guide | DST X800 Wire position sensor
1.3 Abbreviations and terms
Abbreviation/term |
Definition |
|
|
CAN |
Controller Area Network |
|
Describes a serial communication bys that implements the “physical” level 1 and the |
|
“data link” level 2 of the ISO/OSI reference model. |
|
|
CAL |
CAN Application Layer |
|
Describes implementation of the CAN in level 7 “application” of the ISO/OSI reference |
|
model form which CANopen derives. |
|
|
CMS |
CAN Message Specification |
|
CAL service element. Defines the CAN Apllication Layer for the various industrial |
|
applications. |
|
|
COB |
Communication Object |
|
Unit of transport of data in a CAN network (aCAN message). A maximum of 2,048 COBs |
|
may be present i a CAN network, each of which may transport from 0 to a maximum of |
|
8 bytes. |
|
|
COB-ID |
COB Identifier |
|
Identifying element of a CAN message. The identifier determines the priority of a COB |
|
in case of multiple messages in the network. |
|
|
D1 - D8 |
Data from 1 to 8 |
|
Number of data bytes in the data field of a CAN message. |
|
|
DLC |
Data Length Code |
|
Number of data bytes transmitted in a single frame. |
|
|
ISO |
International Standard Organization |
|
International authority providing standards for various merchandise sectors. |
|
|
NMT |
Network Management |
|
CAL service element. Describes how to configure, initialize, manage errors in a CAN |
|
network. |
|
|
PDO |
Process Data Object |
|
Process data communication objects (with high priority). |
|
|
RXSDO |
Receive SDO |
|
SDO objects received from the remote device. |
|
|
SDO |
Service Data Object |
|
Service data communication objects (with low priority). The value of this data is |
|
contained in the “Objects Dictionary” of each device in the CAN network. |
|
|
TXPDO |
Transmit PDO |
|
PDO objects transmitted by the remote device. |
|
|
TXSDO |
Transmit SDO |
|
SDO objects transmitted by the remote device. |
|
|
NOTE:
The numbers followed by the suffix “h” represent a hexadecimal value, with suffix “b” a binary value, and with suffix “d” a decimal value. The value is decimal unless specified otherwise.
© Danfoss | DCS (im) | 2019.04 |
I AQ304245527436en-000101 | IC.PS.P21.M1.02 | 3 |
Operation guide | DST 800 Wire position sensor
2. Electrical connections |
2.1 M12 x 1 |
Single version
CONNECTIONS |
CONEC M12 x1; 4-pin |
|
43-01088 connector |
||
1: + SUPPLY |
|
|
2: GROUND |
CONNECTIONS |
|
3: OUPUT |
||
1: + SUPPLY |
||
4: n.c.: |
||
2: GROUND |
||
|
||
|
3: CAN-H |
|
|
4: CAN-L |
|
Redundant version |
|
|
|
CONEC M12 x1; 8-pin |
|
CONNECTIONS |
43-01100 connector |
|
1: + SUPPLY |
CONNECTIONS |
|
2: GROUND |
1: + SUPPLY |
|
3: OUPUT1 |
2: GROUND |
|
4: n.c.: |
3: CAN-H 1 |
|
5: + SUPPLY |
4: CAN-L 1 |
|
6: GROUND |
5: + SUPPLY |
|
7: OUTPUT 2 |
6: GROUND |
|
8: n.c. |
7: CAN-H 2 |
|
|
8: CAN-L 2 |
|
|
|
NOTE: |
|
|
Please make sure that the CANbus is terminated. |
|
|
The impedance measured between CAN-H and |
|
|
CAN-L must be 60 ohm that means the cable |
|
|
must be connected to a 120 ohm resistor on each |
|
|
ends of the bus line. Internally the tranducer is |
|
|
not terminated with the resistor of 120 ohm. |
|
|
Do not confuse the signal lines of the CAN bus, |
|
|
otherwise communication with the transducer is |
|
|
impossible. |
|
|
|
|
|
4 | © Danfoss | DCS (im) | 2019.04 |
AQ304245527436en-000101 | IC.PS.P21.M1.02 |
Operation guide | DST X800 Wire position sensor
3. Network Management |
The device supports CANopen network |
(NMT) |
management functionality NMT Slave (Minimum |
|
Boot Up). |
8. Restore default parameter
Every CANopen device contains an international Network Management server that communicates with an external NMT master. One device in a network, generally the host, may act as the NMT master.
Through NMT messages, each CANopen device’s network management server controls state changes within its built-in Communication
State Machine.
This is independent from each node’s operational state machine, which is device dependant and described in Control State
Machine.
It is important to distinguish a CANopen device’s operational state machine from its Communication State Machine.
CANopen sensors and I/O modules, for example, have completely different operational state machines than servo drives. The “Communication State Machine” in all CANopen devices, however, is identical as specified by the DS301.
NMT messages have the highest priority. The 5 NMT messages that control the Communication State Machine each contain 2 date bytes that identify the node number and a command to that node’s state machine.
Table 1 shows the 5 NMT messages surpported, and Table 2 shows the correct message for sending these messages.
NMT Message |
COB-ID |
Data Byte 1 |
Data Byte 2 |
|
|
|
|
Start Remote Node |
0 |
01h |
Node-ID’ |
|
|
|
|
Stop Remote Node |
0 |
02h |
Node-ID’ |
|
|
|
|
Pre-operational State |
0 |
80h |
Node-ID’ |
|
|
|
|
Reset Node |
0 |
81h |
Node-ID’ |
|
|
|
|
Reset Communication |
0 |
82h |
Node-ID’ |
|
|
|
|
|
* Node-ID = Drive address (from 1 to 7Fh) |
|
|
|
|
|
|
Table 1
© Danfoss | DCS (im) | 2019.04 |
I AQ304245527436en-000101 | IC.PS.P21.M1.02 | 5 |
Operation guide | DST 800 Wire position sensor
Arbitration |
|
|
|
|
Data Field |
|
|
|
|
Field |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COB-ID |
RTR |
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
Byte 8 |
|
|
|
|
|
|
|
|
|
|
000h |
0 |
See table 1 |
See table 2 |
|
|
These bytes are not sent |
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 2
4. Baud rate |
Node-ID can be configurable via SDO |
|
communication object =x20F2 and 020F3 (see |
|
communication examples at the end of this |
|
coument). |
|
The default Baud rate is 250kbit/s. |
Important Note:
Changing this parameter can disturb the network! Use the service only if one device is connected to the network!
5.Node-ID and resolution Node-ID can be configurable via SDO
communication object 0x20F0 and 0x20F1 (see communication examples at the end of this documentation).
The default Node-ID is 7F.
Important note:
Changing this parameter can disturb the network! Use the service only if one device is connected to the network!
6. Parameter settings |
All object dictionary parameters (object with |
|
marking PARA) can be saved in a special |
|
section of the internal EEPROM and secured by |
|
checksum calculation. |
|
The special LSS parameters (objects with |
|
marking LL-PARA), also part of the objec |
|
dictionary, will be also saved in a special |
|
section of the internal EEPROM and secured by |
|
checksum calculation. |
Due to the internal architecture of the microcontroller the parameter write cycles are limited to 100,000 cycles.
7. |
Restore default |
All object dictionary parameters (objects with |
|
parameters |
marking PARA) can be restored to factory default |
|
|
values via SDO communication (index 0x1011). |
|
|
|
8. Heartbeat |
The heartbeat mechanism for this device |
|
isestablished through cyclic transmission of |
|
the heartbeat message done by the heartbeat |
|
producer. |
|
One or more devices in the network are aware |
|
of this heartbeat message. If the herartbeat |
|
cycle fails from the heartbeat producer the local |
|
application on the heartbeat consumer will be |
|
informed about that event. |
|
Heartbeat Message |
The implementation of either guarding or heartbeat is mandatory.
The device supports Heartbeat Producer functionality.
The producer heartbeat time is defined in object 0x1017.
COB-ID |
Byte |
0 |
|
|
|
700+Node-ID |
Content |
NMT State |
|
|
|
6 | © Danfoss | DCS (im) | 2019.04 |
AQ304245527436en-000101 | IC.PS.P21.M1.02 |
Operation guide | DST X800 Wire position sensor
9 Error handling Principle
Emergency messages (EMCY) shall be triggered by internal errors on device and they are assigned the highest possible priority to ensure that they get access to the bus without delay (EMCY Producer). By default, the EMCY contains the error field with pre-defined error numbers and additional information.
Error Behavior (object 0x4000)
If a serious device failure is detected the object 0x4000 specifies, to which state the module shall be set:
0:Pre-operational
1:Mo state change (default)
2:Stopped
EMCY Message
The EMCY COB-ID is defined in object 0x1014. The EMCY message consists of 8 bytes. It contains an emergency error code, the contents of object 0x1001 and 5 byte of manufacturer specific
error code. The device uses only the 1st byte as manufacturer specific error code.
Byte |
Byte 1 |
Byte 3 |
|
|
Byte 4 |
|
Byte 5 |
Byte 6 |
|
|
Byte 2 |
|
|
|
|
|
|
Byte 7 |
|
|
|
|
|
|
|
|
|
|
Byte 8 |
|
|
|
|
|
|
|
|
|
|
Description |
Emergency |
Error Register |
|
Manufacturer |
|
Manufacturer |
Manufacturer |
||
|
Error code 1) |
(object 0x1001 2)) |
|
specific error code |
|
specific error code |
specific error code |
||
|
|
|
|
|
(always 0x00) |
|
(object 0x4001) |
NOT IMPLEMENTED |
|
|
|
|
|
|
|
|
|
|
(always 0x00) |
|
|
|
|
|
|
|
|
|
|
1) Error code |
|
|
|
0x0000 Error Reset on no ERrror (Error Register = 0) |
|||||
|
|
|
|
|
|
0x1000 Generic error |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
2) Always 0 |
|
|
|
|||
|
Supported Manufacturer Specific Error Codes (object 0x4001) |
|
|||||||
|
|
|
|
|
|
|
|||
|
|
Manufacturer Specific Error Code |
|
|
Description |
|
|||
|
|
(bit field) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
0bxxxxxxx1 |
|
|
(e.g. potentiometric signal under/above limits, temperature |
|||
|
|
|
|
|
|
|
|
under/above limits) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0bxxx1xxxx |
|
|
|
|
Program checksum error |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0bxxx1xxxx |
|
|
|
|
Program checksum error |
|
|
|
|
|
|
|
|
|
||
|
|
|
0bxx1xxxxx |
|
|
|
Flash limit reached - error |
||
|
|
|
|
|
|
|
|
||
|
|
|
0bx1xxxxxx |
|
|
|
LSS Parameter checksum error |
||
|
|
|
|
|
|
|
|
|
|
© Danfoss | DCS (im) | 2019.04 |
I AQ304245527436en-000101 | IC.PS.P21.M1.02 | 7 |
Operation guide | DST 800 Wire position sensor
10.SDO communication and read/write commands
The device fulfils the SDO Server functionality. With Service Data Object (S.D.O.) the access to entries of a device Object Dictionary is provided. As these entries may contain data of arbitrary size and data typ SDOs can be used to transfer multiple data sets from a client to a server and vice versa.
Structure of SDO-request by the Master
COB-ID |
DLC |
Byte 1 |
Byte 2 |
|
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
Byte 8 |
|
|
|
|
|
|
|
|
|
|
|
600+Node-ID |
8 |
CMD |
|
Index |
Sub-Index |
Data |
Data |
Data |
Data |
|
|
|
Structure of SDO-answer by the Slave |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
COB-ID |
DLC |
Byte 1 |
Byte 2 |
|
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
Byte 8 |
|
|
|
|
|
|
|
|
|
|
|
580+Node-ID |
8 |
RES |
|
Index |
Sub-Index |
Data |
Data |
Data |
Data |
|
|
|
Write Access, Data Transfer from Host to Slave |
Read Access, Data Transfer form Slave to Host |
Each access to object dictionary is checked by the slave for validity. Any write access to nonexistent objects, to read - only objects or with a non-corresponding data format are rejected and answered with a corresponding error message.
CMD determines the direction of data transfer and the size of the data object:
23 hex Sending of 4-byte data (bytes 5 - 8 contian a 32 bit value) 2B hex Sending of 2-byte data (bytes 5, 6 contain a 16-bit value 2F hex Sending of 1-byte data (byte 5 contians an 8-bit value)
The Slave answers:
RES response of the slave: 60 hex Data sent successfully 80 hex Error
Any read access to non-existing objects is answered with an error message.
CMD determines the direction of data transfer:
40 hex read access (in any case)
The Slave answers:
RES Response of the slave:
42 hex Bytes used by node when replying to read command with 4 or less data
43 hex Bytes 5 - 8 contain a 32-bit value 4B hex Bytes 5, 6 contain a 16-bit value 4F hex Byte 5 contains an 8-bit value 80 hex Error
8 | © Danfoss | DCS (im) | 2019.04 |
AQ304245527436en-000101 | IC.PS.P21.M1.02 |
Operation guide | DST X800 Wire position sensor
11. PDO communication |
Transmit PDO #0 |
|
|
|
|
|
||
and Length calculation |
This PDO transmits length value of the position |
|
|
|||||
|
|
sensor.The Tx PDO#0 shall be transmitted |
|
|
|
|||
|
|
cyclically, if the cyclic timer (object 0x1800.5) |
|
|
|
|||
|
|
is programmed > 0. Values between 4 ms and |
|
|
||||
|
|
65535 ms shall be selectable by parameter |
|
|
|
|||
|
|
settings. The Tx PDO#0 will be transmitted by |
|
|
|
|||
|
|
entering the “Operational” state. |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Byte 5 |
|
Byte |
|
Byte 1 |
Byte 2 |
|
Byte 3 |
Byte 4 |
Byte 6 |
|
|
|
Byte 7 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Byte 8 |
|
|
|
|
|
|
|
|
|
|
|
|
Position value |
Posxition value |
|
Posxition value |
Position value |
|
|
Description |
|
object |
object |
|
object |
object |
(0x00) |
|
|
(0x6004) |
(0x6004) |
|
(0x6004) |
(0x6004) |
||
|
|
|
|
|
||||
|
|
|
Low-Byte LSB |
|
|
|
High-Byte MSB |
|
|
|
|
|
|
|
|
|
|
11.1 Example 1 : TPDO #0 length 0.0 mm
Below an example of PDO mapping is reported in the case of:
•Node-ID = 7Fh
•Baud rate = 250 kBaud
Linear-encoder Cia406 setting as follow:
1.Total measuring range (object 0x6002.0) = 8000 mm (800 steps x 10 mm)
2.Preset value (object 0x6003.0) = 0 mm (0 steps x 10³ nm)
3.Measuring step (object 0x6005.0) = 1 mm (500 steps x 10³ nm)
4.Position value (object 0x6004.0)
0.00% |
100.00% |
|
|
|
|
|
|
|
|
0.0 mm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
8000.0 mm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ID |
Byte 1 |
Byte 2 |
|
|
Byte 3 |
Byte 4 |
Byte 5 |
|
Byte 6 |
|
Byte 7 |
Byte 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1FFh |
00h |
00h |
|
|
00h |
00h |
00h |
|
00h |
|
00h |
00h |
|
|
|
|
|
|
|
|
|
|
|||
|
|
Position value: |
|
|
Position value = 00000000h to decimal 0d |
|||||||
|
|
Byte 1 LSB (00h) = 00h |
|
|
(resolution 1 mm) = 0 mm |
|
||||||
|
|
Byte 2 = 00h |
|
|
|
|
|
|
|
|||
|
|
Byte 3 |
= 00h |
|
|
|
|
|
|
|
||
|
|
Byte 4 |
(MSB) = 00h |
|
|
|
|
|
|
|
© Danfoss | DCS (im) | 2019.04 |
I AQ304245527436en-000101 | IC.PS.P21.M1.02 | 9 |
Operation guide | DST 800 Wire position sensor
11.2Example 2 : TPDO #0 length 2000.0 mm
Below an example of PDO mapping is reported in the case of:
•Node-ID = 7Fh
•Baud rate = 250 kBaud
Linear-encoder Cia406 setting as follow:
1.Total measuring range (object 0x6002.0) = 8000 mm (800 steps x 10 mm)
2.Preset value (object 0x6003.0) = 0 mm (0 steps x 10³ nm)
3.Measuring step (object 0x6005.0) = 1 mm (500 steps x 10³ nm)
4.Position value (object 0x6004.0)
0.00% |
25.00% |
100.00% |
2000.0 mm 0.0 mm
8000.0 mm
ID |
Byte 1 |
Byte 2 |
|
Byte 3 |
Byte 4 |
Byte 5 |
|
Byte 6 |
Byte 7 |
Byte 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1FFh |
A0h |
0Fh |
|
|
00h |
00h |
00h |
|
00h |
00h |
00h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Position value: |
|
|
|
Position value = 00000FA0h to decimal 4000d |
|||||
|
|
Byte 1 LSB) = A0h |
|
|
(resolution 1 mm) = 2000.0 |
|
|||||
|
|
Byte 2 |
= 0Fh |
|
|
|
|
|
|
|
|
|
|
Byte 3 |
= 00h |
|
|
|
|
|
|
|
|
|
|
Byte 4 |
(MSB) = 00h |
|
|
|
|
|
|
10 | © Danfoss | DCS (im) | 2019.04 |
AQ304245527436en-000101 | IC.PS.P21.M1.02 |