Home 9 Service 9 Basics 9 CANopen

Introduction to CANopen

CANopen has been developed by the members of the international user and manufacturer assosiation CAN in Automation (CiA). The CANopen application layer defines different communication services and protocols (e.g. process and service data) as well as a network management.

CANopen is mainly used as an embedded network in machinery, but also as a general industrial communications system. It is based on the international standards ISO 11898-1 (CAN protocol) and ISO 11898-2 (fast physical layer). The CANopen application layer has been standardized by the CENELEC and is defined in the European standard EN 50325-4.

What is CANopen?

The CANopen protocol is a standardized layer 7 protocol for the CAN bus. On the one hand, the CANopen protocol defines “how” communication is realized, this meams which telegrams (or identifiers) can be used to address the devices. CANopen implements mechanisms for the exchange of process data in real time as well as the transmission of large amounts of data or the sending of alarm telegrams. On the other hand, CANopen defines “what” is communicated, i.e. a parameter for setting a device is addressed via a defined interface (device profile or application profile).

These so-called CANopen profiles are organized in tabular form (object dictionary). Common to all device profiles is the so-called “communication profile” which used to query or set basic device data. This data includes, for example, the device name, hardware and software version, error status, CAN identifiers used and many other parameters. The device profiles describe the special capabilities or parameters of a “class” of devices. So far, device profiles have been defined for digital and analogue I/O devices, drives, sensors and controllers, programmable controllers, encoders, medical technology, public transport, batteries and extrusion systems, to name but a few.

The device profiles are based on the CiA 301 communication profile. The modular structure and the standardized format have two advantages for the user: firstly, when designing the system, the user only has to deal with the profiles that are relevant to the application (e.g. digital I/O modules). Secondly, a selection can be made from a large number of devices available on the market, all of which are addressed and provide process information in the same way.

Object dictionary

The object dictionary describes the complete range of functions (parameters) of a CANopen device and is organized in tabular form. The object dictionary contains not only the standardized data types and objects of the CANopen communication profile and the device profiles, but also manufacturer-specific objects and data types where applicable. The entries are addressed using a 16-bit index (row address of the table, maximum 65536 entries) and an 8-bit subindex (column address of the table, maximum 256 entries). This facilitates grouping of objects that belong together. The structure of this CANopen object dictionary is shown in the following figure.

0001h - 009Fh
00A0h - 0FFFh
1000h - 1FFFh
2000h - 5FFFh
6000h - 9FFFh
A000h - AFFFh
B000h - FFFFh
data types
communication profile (CiA 301, CiA 1301, CiA 302)
manufacturer-specific parameters
parameters defined by device and application profiles (CiA 4xx)
network variables (CiA 302-4)
Structure object dictionary

CANopen Protocol Stacks from MicroControl

MicroControl’s modular CANopen / CANopen FD protocol stacks are used throughout the world by numerous companies. They have particularly been designed to combine low storage requirements with an optimum performance. By simply changing the CAN driver CANpie FD all protocol stacks can easily be adapted to a target hardware.

CANopen Protokollstacks MicroControl, Symbolbild Lego-Duplosteine mit Beschriftung

Secure, effective and efficient

Our CANopen Master protocol stack is ideally suitable for complex control systems and offers the functionality of the CANopen® standards CiA 301, CiA 302 and CiA 305.

Our CANopen / CANopen FD Slave protocol stack facilitates development of intelligent sensors and actuators according to CANopen® specification CiA 301 or 1301 (FD).

Our CANopen Bootloader protocol stack can be used to develop a bootloader for flashing sensors and actuators with CAN interface.


Application Note 1201 (English) – Introduction to CANopen
Explains the basic communication mechanisms and usage of identifiers
PDF [376 KB]

Application Note 1202 (English) 
Identifier Usage in CANopen Networks
PDF [118 KB]

Application Note 1203 (English) – Automatic start of CANopen slave devices
Explains setting of cyclic PDO and the Autostart function
PDF [291 KB]

Application Note 1204 (English) – Configuration of CANopen devices via LSS
Explaning setting of bitrates and Node-IDs via Layer-Setting-Services
PDF [208 KB]

You would like to get more information?

+49 2241 – 25 65 9 – 0

Write an email or give us a call.