Блог

Introduction and Applications of CANopen Protocol
2025-09-29

I. Protocol Structure

CANopen Network Architecture Diagram@1x

1. Physical Layer

The CANopen protocol is based on CAN bus technology. Its physical layer defines how signals are transmitted on the bus, including electrical characteristics and transmission media. The commonly used transmission medium is twisted-pair cable, which effectively resists electromagnetic interference and ensures stable signal transmission.


In terms of electrical characteristics, the CAN bus uses differential signal transmission. The logic signal is represented by the voltage difference between two lines (CAN_H and CAN_L). For example, when CAN_H is approximately 2V higher than CAN_L, it represents a logical “1” (recessive); when CAN_H is approximately 2V lower than CAN_L, it represents a logical “0” (dominant). This differential transmission greatly enhances anti-interference capability, making it suitable for industrial environments.


2. Data Link Layer

a. Frame Types:

The data link layer of CANopen is responsible for framing, error detection, and handling. It defines four types of frames: data frame, remote frame, error frame, and overload frame. Data frames carry actual data and consist of an arbitration field, control field, data field, CRC field, ACK field, and end-of-frame field. The arbitration field determines bus access priority; a lower identifier corresponds to higher priority. When multiple nodes attempt to send data simultaneously, the arbitration mechanism ensures that the node with higher priority can occupy the bus first.


b. Error Detection and Handling:

The data link layer of CANopen has strong error detection capability. Cyclic Redundancy Check (CRC) is used to verify the integrity of the data field. If an error is detected, the receiving node sends an error frame. Upon receiving the error frame, the sending node retransmits the data frame to ensure reliable transmission.


3. Application Layer

a. Object Dictionary:

The object dictionary is the core of the CANopen application layer. It is an organized collection of objects, each with a unique index and sub-index. It contains all communicable parameters, configuration information, and operating status of the device. For example, in a motor drive, the object dictionary may include motor speed, torque limits, and operating modes. Accessing and manipulating the object dictionary allows different devices to exchange data and coordinate functions.


b. Communication Objects:

CANopen defines several communication objects, such as Process Data Objects (PDOs) and Service Data Objects (SDOs). PDOs are used for rapid transmission of real-time data. By mapping data from the object dictionary to PDOs, data can be transmitted over the bus without complex protocol parsing, improving efficiency. For instance, in robot joint control, PDOs can quickly transmit motor position and speed data. SDOs are used for reading/writing the object dictionary, allowing device configuration and parameter adjustment. For example, SDOs can remotely set motor speed or acceleration.


II. Communication Overview

Standard CANopen Node Diagram@1x(1)

1. Communication Methods

a. Master-Slave Communication:

In a CANopen network, there is usually one master node (e.g., PLC) and multiple slave nodes (e.g., sensors, actuators). The master node manages network communication, sending commands and querying data. Slave nodes respond according to the master’s instructions. For example, a master node may send a command to read temperature from a sensor, and the sensor returns the current temperature via the CAN bus.


b. Multi-Master Communication:

CANopen also supports multi-master communication, where multiple master nodes can compete for bus control simultaneously. In this mode, each master node can actively send data. When multiple nodes transmit at the same time, the arbitration mechanism determines which node has priority to occupy the bus. For example, in a distributed control system, several controllers can act as master nodes and independently send control commands to slave nodes based on actual requirements.


c. Communication Speed:

CANopen supports various communication speeds, including 10 Kbps, 20 Kbps, 50 Kbps, 100 Kbps, 125 Kbps, 250 Kbps, 500 Kbps, and 1 Mbps. Users can select an appropriate speed according to application scenarios. Typically, higher speeds (e.g., 500 Kbps or 1 Mbps) are chosen for short-distance, high-real-time applications like high-speed robotic motion control, while lower speeds (e.g., 100 Kbps or 125 Kbps) are preferred for long-distance or heavily loaded networks to ensure stability.


2. PDO Communication Mechanism

a. PDO Mapping:

PDOs transmit object dictionary data over the bus through mapping. Users can configure PDO mapping to select which object dictionary data to transmit. For example, in a motion control system, motor position, speed, and torque can be mapped to PDOs for rapid real-time data transmission.


b. Synchronous and Asynchronous Transmission:

PDOs can be transmitted synchronously or asynchronously. In synchronous transmission, all nodes send or receive PDOs upon receiving a sync signal, suitable for coordinated multi-node operations such as multi-axis motion control. Asynchronous transmission allows nodes to send or receive PDOs independently, providing flexibility for less time-critical applications.


3. SDO Communication Mechanism

a. Read Operation:

When a master node needs to read a parameter from a slave’s object dictionary, it sends an SDO read request containing the index and sub-index of the object. The slave responds with the requested data. For example, to read a frequency setting from a drive, the master sends an SDO read request, and the drive returns the current frequency.


b. Write Operation:

The master node sends an SDO write request with the index, sub-index, and data to write. The slave writes the data to the corresponding object dictionary location and responds to confirm success. For instance, the master can set a valve’s opening via an SDO write request.


III. Application Scenarios


1. Automated Manufacturing Lines:

In automotive, electronics, and other automated production lines, CANopen connects robots, sensors, and actuators. Precise communication control enables efficient assembly, quality inspection, and other processes, improving production efficiency and product quality.


2. Intelligent Logistics and Warehousing:

In smart warehouses, shuttles, stackers, and conveyors use CANopen for coordinated operation. The system can schedule transport, storage, and sorting in real time, improving space utilization, reducing costs, and enhancing operational intelligence.


3. Elevator Control Systems:

CANopen ensures safe operation and efficient dispatch of elevators. Cabin controllers, door controllers, and floor display units exchange information in real time via CANopen, enabling smooth operation, precise stopping, and fault diagnosis, providing a safe and comfortable experience for passengers.