CANopen Communication
FC5101 and FC5102
38
Version: 2.0
State Transitions
The network management messages have a very simple structure: CAN identifier
0
, with two bytes of data
content. The first data byte contains what is known as the command specifier (cs), and the second data byte
contains the node address, the node address
0
applying to all nodes (broadcast).
11 bit identifier 2 byte user data
0x00
cs
Node ID
The following table gives an overview of all the CANopen state transitions and the associated commands
(command specifier in the NMT master telegram):
Status transition Command Specifier
cs
Explanation
(1)
-
The initialization state is reached automatically at power-up
(2)
-
After initialization the pre-operational state is reached
automatically - this involves sending the boot-up message.
(3), (6)
cs = 1 = 0x01
Start_Remote_Node.
Starts the module, enables outputs, starts transmission of
PDOs.
(4), (7)
cs = 128 = 0x80
Enter_Pre-Operational. Stops PDO transmission, SDO still
active.
(5), (8)
cs = 2 = 0x02
Stop_Remote_Node.
Outputs go into the fault state, SDO and PDO switched off.
(9), (10), (11)
cs = 129 = 0x81
Reset_Node. Carries out a reset. All objects are reset to their
power-on defaults.
(12), (13), (14)
cs = 130 = 0x82
Reset_Communication. Carries out a reset of the
communication functions. Objects 0x1000 - 0x1FFF are reset to
their power-on defaults.
Sample 1
The following telegram puts all the modules in the network into the error state (outputs in a safe state):
11 bit identifier 2 byte of user data
0x00
0x02
0x00
Sample 2
The following telegram resets node 17:
11 bit identifier 2 byte of user data
0x00
0x81
0x11
Boot-up message
After the initialization phase and the self-test the Bus Coupler sends the boot-up message, which is a CAN
message with a data byte (0) on the identifier of the guarding or heartbeat message: CAN-ID = 0x700 + node
ID. In this way temporary failure of a module during operation (e.g. due to a voltage drop), or a module that is
switched on at a later stage, can be reliably detected, even without Node Guarding. The sender can be
determined from the message identifier (see default identifier allocation).
It is also possible, with the aid of the boot-up message, to recognize the nodes present in the network at
start-up with a simple CAN monitor, without having to make write access to the bus (such as a scan of the
network by reading out parameter 0x1000).
Finally, the boot-up message communicates the end of the initialization phase; the Bus Coupler signals that
it can now be configured or started.