Follow our public account for updates! Don’t miss any news!
This tutorial was originally published by the author strongerHuang in October 2018.
Tags: CAN, CANOpen, CanFestival
Copyright: Commercial use prohibited
Disclaimer:This document is for personal study only. Please contact the author for authorization if you wish to reprint.
1Introduction
The previous article provided an overview of the CANOpen protocol model, which means that the content of the CANOpen protocol is contained within this model, and the contents of the model can be subdivided into many areas of knowledge.
However, for beginners, it is not necessary to master all the detailed knowledge. It is sufficient to grasp some essential basic knowledge to write application code for CANOpen.
This article will help you understand some of the fundamental concepts of the CANOpen protocol (to provide a preliminary understanding for later comprehensive understanding).
2
Key Contents of the Communication Interface
I have extracted the main content of the communication interface according to the CANOpen CiA 301 protocol document and presented it in a mind map format, as shown in the figure below:
Beginners need to master four main topics related to the communication interface: Network Management (NMT), Service Data Objects (SDO), Process Data Objects (PDO), and Special Protocols.
These four topics have relatively few subdivided knowledge points, but they can be difficult for beginners to understand. The difficulty lies in the many abstract concepts and the strong interrelation of knowledge points.
For example: What is a message? What are CAN-ID, COB-ID, and Node-ID, and what are their differences? Is there a correlation between COB-ID and the object dictionary index?
3
Easy Entry into CANopen
I believe that friends learning CANOpen have seen an electronic book online titled “Easy Entry into CANopen” by Zhou Ligong.
I originally planned to reinvent the wheel and rewrite it based on the CANOpen CiA 301 standard. However, I realized through planning that it would be too time-consuming, and the outcome would not be as good as “Easy Entry into CANopen”. After much thought, I decided it was unnecessary.
Therefore, the main purpose of this article is to guide beginners to download the electronic book “Easy Entry into CANopen” and study it thoroughly. The directory of the main content of the communication interface is shown in the figure below:
“Easy Entry into CANopen” is considered suitable for beginners from my perspective, and it is not an advertisement for Zhou Ligong. Once you master all the content in this electronic book, I believe you will have a solid foundation.
Download link for “Easy Entry into CANopen” (available on Baidu and Google):
https://pan.baidu.com/s/15Or8ox3LgXKR6Z7ul7Zt1g
Extraction code: 9ja0
4
CiA 301
After getting started, if you want to delve deeper, I recommend referring to the official document of the “CANOpen CiA 301” standard. Why the CiA 301 standard? Because most of the introductory knowledge is contained within the CiA 301 standard.
The CiA 301 standard has multiple versions, and it is advisable to download the publicly available V4.2.0 version:
CiA technical documents download link (login required):
https://www.can-cia.org/standardization/specifications
Download link for CiA 301 (includes Chinese and English versions):
https://pan.baidu.com/s/1efnJAmB7tkSsMwIf39p8sg
Extraction code: x1m0
Tip:
CiA (CAN in Automation) 301 is also referred to as DS301, which is the basic protocol for CANopen.
We often see similar protocols like CiA 401 and 402, which are actually sub-protocols that continuously introduce device protocols for various industries based on CiA 301.
A sub-protocol refers to redefining the meaning of internal data in CANopen or adding new control logic for different industry applications.
5
Key Points of the Communication Interface
Here, I will briefly list some basic knowledge about the communication interface for the convenience of beginners to understand.
5.1 Network Management (NMT)
1.CANOpen networks generally consist of one master station and multiple slave stations;
2.NMT nodes have six states: Initialization, Application Layer Reset, Communication Reset, Pre-Operational State, Operational State, and Stopped State. States can be switched by themselves or by the master station;
3.Any CANopen slave station that comes online sends a node online message (boot-up);
5.2 Process Data Object (PDO)
1.PDO is used to transmit real-time data and belongs to the “producer-consumer” model;
2.COB-ID definitions are predefined, and TPDO5, 6, and 7 can also exist. The COB-ID of PDO has no inherent correlation with Node-ID;
3.There are two transmission modes for PDO: synchronous and asynchronous;
4.PDO communication parameters can be configured using the object dictionary tool;
5.The mapping parameters of PDO are relatively difficult to understand; please refer to the illustrations in “Easy Entry into CANopen” (pay attention to the colors) for understanding;
5.3 Service Data Object (SDO)
1.SDO uses a request-response mechanism;
2.Sender (client) and receiver (server);
3.Typically, the slave node acts as the SDO server, while the master node acts as the client;
4.Two protocols: fast and standard SDO protocols;
5.The meanings of CS command symbols must be memorized (refer to the table);
5.4 Special Protocols
1.The three common types listed are: synchronous protocol, timestamp protocol, and emergency message protocol;
2.Special protocol CAN-ID definitions (refer to the table);
3.Classification and meaning of emergency message error codes;
Many of the above contents have corresponding tables that can be found by searching for “CANopen Memo” on Baidu or Google, which detail the corresponding contents.
6
Notes
1. Some contents of this document are sourced from the internet and are for personal study use only; all rights reserved, commercial use prohibited.
2. This article is edited and organized by me alone, and some errors may be inevitable.
3. This article is included in the public account “strongerHuang”; follow the public account and reply with [CANOpen Series Tutorial] to view the entire series of tutorials.
7Conclusion
If you find this article helpful, please remember to like and share it. (Giving a thumbs up is also a great support for me)
Scan the QR code below and follow our public account for more exciting content in the bottom menu!
Long press to recognize the QR code in the image and follow us

Appreciation is recognition and support for the author!