CANopen is a high-level protocol based on the CAN (Controller Area Network) serial bus system and CAL (CAN Application Layer). CANopen assumes that connected devices have hardware with a CAN transceiver and a CAN controller that comply with the ISO 11898 standard.
The CANopen communication protocol CiA DS-301 includes periodic and event-driven communication, which not only minimizes bus load but also ensures extremely short response times. It can achieve high communication performance at lower baud rates, thereby reducing electromagnetic compatibility issues and lowering cable costs.
The CANopen device protocol defines mechanisms for direct access to inverter parameters and time-critical process data communication. NCAN-02 complies with the CiA (CAN in Automation) standard DSP-402 (Inverters and Motion Control), supporting only the “manufacturer-specific” operating mode.
The physical medium used by CANopen complies with the ISO 11898 standard and employs a dual-wire bus with split drive mechanisms and common feedback. The maximum length of the bus depends on the communication speed, as specified below:
Communication Baud Rate |
Maximum Bus Length |
1M bit/s |
25 m |
500K bit/s |
100 m |
250K bit/s |
250 m |
125K bit/s |
500 m |
100K bit/s |
600 m |
50K bit/s |
800 m |
Theoretically, up to 127 nodes can be connected. However, in practical applications, the maximum number of nodes depends on the performance of the CAN transceiver used.
1. External Circuit Wiring and Connections
The terminal arrangement of the communication connector (CN3)
The terminal arrangement of the communication connector (CN4)
Connector CN3 is always used as the communication cable input terminal, while CN4 is always used as the communication cable output terminal (if a slave needs to be connected, the cable is connected from this terminal to the next slave device; if no other slaves need to be connected, a terminating resistor can be added at this terminal). When connecting multiple PRONET drives, direct connection of any two drives’ CN3 terminals is strictly prohibited.
For example, the network consists of one PLC and three PRONET drives A, B, and C, with the cable wiring as follows:
PLC → Drive A’s CN3, A’s CN4 → Drive B’s CN3, B’s CN4 → Drive C’s CN3, C’s CN4 → 120 ohm terminating resistor.
The CAN bus lines must be terminated with 120 ohm (1%, 1/4W) resistors connected at each end between the CAN_L and CAN_H lines, as shown below.
Please use a shielded cable with two pairs of twisted wires for the bus cable: one pair connects to CAN-L and CAN-H, and the other pair connects directly to DGND.
2. CANopen Communication
CAL provides all network management services and message transmission protocols, but does not define the content of objects or the types of objects being communicated (it only defines how, not what), which is the entry point for CANopen.
CANopen is developed based on CAL, using a subset of CAL communication and service protocols, providing a solution for distributed control systems. CANopen allows for functional expansion of nodes while ensuring interoperability of network nodes: either simple or complex.
The core concept of CANopen is the Object Dictionary (OD), which is also used in other field bus systems (such as Profibus and Interbus-S). CANopen communication accesses all parameters of the drive through the object dictionary (OD). Note: The object dictionary is not part of CAL but is implemented in CANopen.
The CANopen communication model defines several types of messages (communication objects):
CAN transmits data frames between the host (controller) and bus nodes. The following diagram illustrates the structure of a data frame.
This drive currently does not support remote frames. The allocation of COB-ID (Communication Object Identifier) is as follows:
This article is reproduced from the network sharing of the Estun ProNet servo drive manual from Nanjing. This manual is very well written and contains a lot of practical knowledge about CANopen, so I take this opportunity to share it with everyone! Thanks to the engineers at Nanjing Estun!