It is worth noting that with the introduction of CAN FD, CANopen FD, as the next generation CANopen standard, may play an increasingly important role.

Compared with the CAN bus and the J1939 protocol, the CANopen protocol adds the following six core concepts:
communication mode
There are 3 modes of device/node communication: master/slave, client/server and producer/consumer.
letter of agreement
Protocols used for communication, such as configuring nodes (SDO) or transmitting real-time data (PDO), etc.
device status
A single device supports different states. A “master” node can change a “slave” node, including operations such as reset.
object dictionary
Each device has an OD with entries specifying device configuration etc., which can be accessed via SDO.
spreadsheet
EDS is a standard file format for OD entries, which allows service tools to update devices.
device settings file
Describes vendor independence such as I/O modules (CiA 401) and motion control (CiA 402)

In a CANopen network, multiple devices need to communicate, for example in an industrial automation setup you might have a robotic arm with multiple servo motor nodes and a control interface/PC node. In order to facilitate communication, there are three modes in CANopen, each of which is closely connected with the CANopen protocol we are discussing. The three modes are briefly described below:

Three modes of CANopen communication
01 master/slave
One node (such as the control interface) acts as the application master or master controller. It requests data from slave devices such as servo motors. This process is used for diagnostics or status management. In standard applications, there can be 0 to 127 slaves. Please note: In a single CANopen network, there can be different host controllers sharing the same data link layer.Service example: NMT

02 Client/Server
The client sends a data request to the server, and the server replies with the requested data. For example, use this mode when the application master needs to get data from the OD of the slave. Reading from the server is an “upload” and “writing” is a “download” (the term is taken from a server-side perspective).Service example: SDO

03 Consumer/Producer
In this mode, producer nodes broadcast data to the network and are consumed by consumer nodes. Producers send this data on request (pull model) or without a specific request (push model).Service Example: Heartbeat

Looking for a PLC I/O Coupler? Click to learn more!