CANopen is a communication protocol and device profile specification for embedded systems used in automation. In terms of the OSI model, CANopen implements the layers above and including the network layer.

CANopen is a high-level communication protocol and device profile specification built atop the Controller Area Network (CAN) technology. Designed primarily for embedded control applications, CANopen offers a standardized and efficient means of data exchange between various devices and controllers.

Each device on a CANopen network is designated a unique node ID, which allows it to be distinctly addressed on the network. Moreover, to ensure real-time coordination of operations, CANopen devices can be synchronized using SYNC messages.

One of the foundational elements of CANopen is the Objects Dictionary. This is a standardized table present within each device, listing all data items that can be accessed from the network. The dictionary is neatly structured around indices and sub-indices, which ensures precise data addressing.

Communication within CANopen is facilitated through specific objects. Process Data Objects (PDOs) are employed for real-time data transfer, Service Data Objects (SDOs) manage access to the Objects Dictionary and are ideal for tasks like configuration, Network Management (NMT) Objects control device states, and Emergency (EMCY) Messages alert the network about specific device errors.

A notable feature of CANopen is its standardized device profiles. These profiles, set for a variety of devices like I/O modules, encoders, and drives, ensure devices can easily interoperate. Additionally, CANopen’s design permits dynamic PDO mapping, offering flexibility in real-time data communication. The protocol also champions event-driven communication, where data is transmitted only when values alter or specific events take place, optimizing network bandwidth usage.

CANOpen logo

Over the years, CANopen has found applications across a spectrum of industries including industrial automation, medical equipment, building automation, maritime technology, and agricultural machinery, among others. Its robustness, coupled with inherent flexibility and scalability, makes it a preferred choice for many seeking efficient and reliable communication in complex environments.

RT-Labs’ C-Open is a CANopen network stack that supports multiple instances and can be run on bare-metal hardware, an RTOS such as RT-Kernel, or on Linux or Windows.

Add support or development partner services

Get a team of experts to assist you! Support is provided by engineers with extensive knowledge of embedded realtime systems. Wan’t more assistance? Get a resident engineer or let RT-Labs take on a role as a complete solution provider. Our customers can be divided into three categories depending on how much one wants RT-Labs to be engaged in the project at hand.

Software Support

Get your own support person! Many times it is a bad move to address support issues as a generic service. Available with all licensed purchases.

Cooperative team

Work with us as a team member. RT-Labs is often invited to be a part of the team, together with in- house technicians or consultants contracted by the customer

Development partner

Do you need to rapidly deploy a complete solution? Do you have a set budget and want better cost control? Do you find it difficult to staff your project? Give us a call.

Call an expert

We don’t do gatekeeping! Call us to get in contact with a skilled person with several control system projects under the belt.

Hans-Erik Floryd

Hans-Erik Floryd

CTO, Software platform, CANopen, EtherCAT

+46 709 68 38 93

Daniel Udd

Daniel Udd

Software platform, EtherCAT, CANOpen, Group Manager

+46 768 50 74 55