Skip to main content

Elevator Core Reference Guide

CANopen Message Tutorials

CANopen - How to Read Drive Fault Codes

When a fault code occurs the drive will send out a CAN message with the COB-ID 081h which will contain the fault code in it's message.

All emergency messages will show the fault code value in the telegram which can then be matched against the fault code table to give the active fault code. The fault code table containing the fault code numbers can be found in the topic Troubleshooting - Fault Messages.

An example message when the drive trips is: 081 8 39 10 01 39 00 00 00 00.

Lets decode this message to find out what it means:

Part of Message

Description

Value in Hex (Decimal)

Drive Description

081

COB-ID

0x81 (129)

Value is 80h + Drive Address in this case 80+1 = 81h

8

Length

0x08 (8)

Message Length

39 10

Emergency Error Code

0x1039 (0)

First 2 bytes (0 & 1) make up the EEC (Emergency Error Code)

The first byte gives the type of error. In this case it is a generic error 1000h

01

CANopen Error Register

0x01 (1)

CANopen Error Register

39 00 00 00 00

Fault Code

0x39 (57)

Manufacture specific error code.

The last 5 bytes is the part of the message that gives the error code.

In this message the value is 39h which is 57 in decimal indicating the fault code is F-ty

A full list of fault code numbers can be found in the topic Troubleshooting - Fault Messages

This is the standard message format when using CANopen for all fault codes.

Note

When the drive trips the error message is only sent once.

CANopen - Mapping Parameters to Process Data Objects

Example 1 - Map One Drive Parameter to PDO2 Entry 1

Below is a step by step guide to map Parameter P1-01 to Tx PDO2 Entry 1.

Note

In this example it is assumed the drive is set to Address 1 (P2-07 = 1).

  1. First switch the drive to Pre-operational State.

    To do this send the Message:

    00 2 80 00

    Part of Message

    Description

    Value in Hex (Decimal)

    Drive Description

    00

    COB-ID

    0x00 (00)

    COB-ID for NMT commands is always 0.

    2

    Length

    0x02 (2)

    Data length being sent is 2 bytes

    80 00

    Data

    0x80 (128)

    0x80 is the NMT command to put the drive in Pre-Operational State

  2. Now the drive is in the correct state to be parameterised.

    We need to disable PDO2 so it can be mapped to. Send the Message:

    601 8 23 01 18 01 01 28 00 C0

    Part of Message

    Description

    Value in Hex (Decimal)

    Drive Description

    601

    COB-ID

    0x00 (00)

    COB-ID for Drive Address 1 (SDO Rx)

    Will get a message back with COB-ID 581h (SDO Tx)

    8

    Length

    0x02 (2)

    Data length being sent is 8 bytes

    23

    Control Byte - Write Request

    0x80 (128)

    0x23h is the Control Byte write request for 4 bytes of data.

    01 18

    Object Address

    0x1801 (6145)

    Writes to Object Address 1801h

    01

    Object Address Sub Index

    0x01 (1)

    Sub Index for Object Address 1801h

    So we are writing to 1801h Sub Index 1 (TX PDO2 COB-ID)

    01 28 00 C0

    Data

    0xC0000281

    The data written is 281 (280h + Drive Address) & C0.