CANopen can be defined in basic terms as the communication language used when transferring data on the CAN bus. The definition of data information by the sender and the receiver needs to follow a common standard.
Compared with the CAN bus underlying protocol, which includes the physical layer and the data link layer, CANopen is a high-level protocol including five layers: the network layer, the transport layer, the session layer, the presentation layer, and the application layer.
The functions of these protocols on the CAN bus are described as follows:
Hierarchical definition | Function |
Network layer | Routing and Addressing |
transport layer | Reliable end-to-end transmission |
session layer | Synchronize |
presentation layer | Encoding and Representation |
application layer | Describe how to configure, transfer and synchronize |
CANopen device |
Although the CAN bus has been successfully applied in many industries, CANopen was designed in order to allow it to be applied in more fields. Originally designed for motion-oriented machine control systems, CANopen is now used in various fields, such as:
● Robotics
● Medical equipment
● Stepper and servo motors
● Food processing
● Automation
CANopen’s internal device structure has three main logical parts:
Protocol stack | ● Handling communication via CAN n/w |
Application | ● Support internal control function
● Provide interface for hardware |
Object dictionary | ● Configuration and diagnosis of CANopen devices are the most important
● Interface protocol and application software ● Covers all usage data types ● Store all communication parameters and application parameters |
CANopen message frame format: The message frame format of CANopen is similar to that of CAN bus. It contains the COB-ID and control bits, in order to avoid the COB-ID conflict with the CAN bus, all
The COB-IDs are all different.
Looking for a PLC I/O Coupler? Click to learn more!