This button brings you to the IXXAT WebpageThis button brings you to the canAnalyser WebpageThis is where you are at the moment IXXAT - Products, Services and Training for CAN, CANopen, DeviceNet, CAL, FlexRay, LIN, Embedded TCP/IP
Home
Introduction &
Network Structure
Object Dictionary & Electronic Data Sheet
Device Configuration (SDO)
Process Data Exchange (PDO)
Emergency
Messages
Network
Management (NMT)
Guarding & Heartbeat
Predefined
Connection Set
Layer Setting
Services (LSS)
Device and
Application Profiles
Implementation
of CANopen
Protocol Stacks
Tools / Interfaces
Books & Literature
Articles, News
Links
Downloads
Contact / Impressum


CANopen Solutions - Basics, Profiles, Protocol Stacks, Tools, Articles ...

About CANopen

CANopen network management (NMT)

In addition to providing services and protocols for the transmission of process data and the configuration of devices, the operation of a system distributed over a network requires functions for the command control of the communication state of the individual network nodes. As data transmission by CANopen devices is in many cases event-controlled, continual monitoring of the communication ability of the network nodes is also required.
 
CANopen provides so-called "network management" services and protocols for these tasks, namely
  • control of the communication state of network nodes and
  • node monitoring.

 
Status of a CANopen network node and state control via NMT messages
 
CANopen describes the communication state of a network node via a specific state diagram. Via specific CAN messages (NMT messages), a so-called "network management master" can control the communication state of the other nodes (the so-called "network management slaves") of a CANopen network, e.g. change the state of all nodes in a defined way from the "Pre-operational" state (in this state no transmission of process data is yet possible, only the configuration and parameterization of nodes) to the "Operational" state (in this state the exchange of process data is then also possible). In this way the release of the individual network nodes can be controlled in a well-defined way; therefore it cannot happen that a node already transmits process data while another node is still occupied with initialization or configuration.
 
NMT messages for these tasks ("module control services") are transmitted with the highest priority message identifier (0). The data field consists of only two bytes: the required target state is coded in the first data byte, the second data byte specifies the number of the node whose communication state is to be altered. All nodes of a network are jointly addressed with the virtual node-ID 0; in this way, for example, all nodes can be set to "Operational" state at the same time.
 

 
States and changes of state
 
Initialization
In order to enable even a partial reset of a certain node, this state is subdivided into three sub-states: "Reset-Application", "Reset-Communication" and "Initializing".
After an HW-Reset or Power-On, a node first goes into the "Initializing" state. After completion of the basic node initialization (e.g. host controller, CAN controller, application software, etc.), the node transmits the so-called "boot-up message" and goes into "Pre-operational" state.
In the sub-state "Reset-Application", the parameters of the manufacturer-specific and of the standard device profile are reset to their Power-On values (corresponds to the last values saved). Then the node goes into the sub-state "Reset-Communication".
In the sub-state "Reset-Communication", the parameters of the communication profile are reset to the Power-On values . Then the node goes into the "Initializing" state.
 
Pre-Operational
This state is primarily used for the configuration of CANopen devices. Therefore communication of process data is not yet possible in this state, but only access to the entries of the device object dictionaries via so-called "service data objects" (SDOs). SDOs are specific CAN messages that specify in the data part the source or destination of an object dictionary entry in the form of object dictionary index/subindex. By transmitting an SDO message, for example, the value of a parameter in the object dictionary of a certain device can be altered, i.e. configured, with a configuration tool. In addition to communication via SDO messages, emergency, synchronization, time stamp and of course NMT control messages can also be transmitted or received in the Pre-operational state. By transmitting a "Start-Remote-Node", a node goes into the "Operational" state.
 
Operational
In this state, is communication of process data via so-called "process data objects" (PDOs) is also possible.
 
Stopped
Except for node guarding or heartbeat messages, a node cannot transmit or receive any more messages in this state .
 
The most important state changes
(1) Power-on
(2) Initialization completed
(3) Reception Start-Remote-Node message
(4) Reception Enter-Preoperational-State message
(9) Reception Reset-Node message
(12) Reception Reset-Communication message