Introduction to CANopen

The Controller Area Network (CAN) protocol, developed by Robert Bosch GmbH in February 1986, marked a significant milestone in the evolution of network protocols, particularly for industrial applications. This innovation was introduced at the Society of Automotive Engineers (SAE) congress, laying the groundwork for what would become one of the most successful network protocols globally.

Logo CANopen in green.

In parallel with the advancements in CAN technology, the CAN in Automation (CiA) association was established in 1992. This organization played a pivotal role in promoting CAN technology across various applications, including industrial automation. Recognizing the need for a standardized communication protocol tailored to industrial automation, the CiA spearheaded the development of the CANopen protocol. This effort culminated in the publication of the CiA 301 standard in November 1994, which laid the foundation for CANopen communication by defining essential aspects such as device profiles, network management, and communication services.

The late 1990s and early 2000s witnessed the rapid adoption of CANopen in industrial automation, attributed to its flexibility, scalability, and interoperability. This period saw a surge in manufacturers integrating CANopen interfaces into a wide array of industrial devices, from Programmable Logic Controllers (PLCs) and Human-Machine Interfaces (HMIs) to sensors, actuators, and drives. As the protocol evolved, new device profiles were developed to support advanced functionalities and meet the communication needs of applications requiring functional safety.

Entering the 2010s, CANopen adapted to the emerging trends of Industry 4.0 and the Industrial Internet of Things (IIoT), incorporating features for enhanced operation, security, and connectivity. This adaptation included integration with Ethernet-based networks, facilitating seamless communication between CANopen devices and higher-level systems. Today, CANopen remains a cornerstone of industrial communication networks in manufacturing plants, process industries, and other industrial settings, offering a mature and reliable solution for real-time communication and control in complex systems. The CiA continues to maintain and evolve the CANopen standard, ensuring its compatibility with the latest hardware and software developments.

Essential Principles of CANopen

Over the years, CANopen has significantly addressed and resolved numerous challenges in the realm of industrial automation. Initially, industries grappled with issues such as a lack of standardization, making operation between devices from different manufacturers a complex task. CANopen introduced a level of standardization crucial for ensuring off-the-shelf operation between devices in various applications, including industrial machinery. Another major challenge was limited scalability due to existing communication protocol constraints. CANopen's message structure, with a 7-bit node ID, allows for up to 127 devices on a network, facilitating system expansion without communication protocol barriers. Complex configuration and commissioning were streamlined by CANopen, offering standardized methods for configuring devices, simplifying setup processes and reducing time and expertise required. Diagnostic capabilities were enhanced through standardized communication objects for network management data, including diagnostics, allowing for quicker issue identification and resolution, minimizing downtime, and improving system reliability. Lastly, CANopen's implementation in the OSI model ensures efficient data exchange through an organized addressing scheme and communication protocols, critical for real-time applications where delays can disrupt operations.

Communication Elements

Communication within CANopen follows a message-based approach, with devices utilizing the following elements for transmitting and receiving messages over the CAN bus:

Object Dictionary (OD)

The Object Dictionary (OD) defines device data structure and functionality, encompassing a range of objects for data storage. These objects can be accessed and manipulated using the Service Data Object (SDO) protocol over the CAN bus, using specific object indexes and sub-indexes. They are also accessible locally within the application on the CANopen node. It also facilitates communication between the device's application layer and its communication mechanisms. Each object within the dictionary is uniquely identified by a 24-bit address, which is divided into a 16-bit index and an 8-bit sub-index, ensuring precise and efficient data management.

Process Data Objects (PDOs)

Process Data Objects (PDOs) efficiently broadcast high-priority control and status information, including sensor readings and actuator commands, across the network. They're optimized to carry up to 8 bytes of application data per CAN frame, streamlining information exchange without protocol overhead. 

Service Data Objects (SDOs)

Service Data Objects (SDOs) are vital for configuring and managing devices in CANopen networks, allowing access, modification, and real-time updates of parameters stored in the Object Dictionary (OD) of remote nodes via the CAN bus. This functionality ensures effective communication among devices from various manufacturers, promoting interoperability across different equipment. SDOs support both read and write operations, enabling bidirectional data exchange between devices through a request-response protocol, ensuring reliable data transfer between client and server nodes.

The Network Management (NMT)

The Network Management (NMT) service manages device states, transitioning them between Initialization, Pre-operational, Operational, and Stopped states. The NMT Manager ensures proper initialization and synchronization of nodes. In case of errors, it can reset nodes or isolate faulty segments to restore normal operations. Dynamic node ID assignment is supported via CANopen Layer Setting Services (LSS), enabling efficient plug-and-play functionality. Unconfigured nodes can be detected and configured in real-time.

Aspects of the CANopen Communication Mechanism

CANopen supports a variety of devices and nodes in a form of centralised control via the master-slave model, which is particularly useful in production environments:

  • Masters

    Controllers like PLCs, which acts as the central intelligence hub of the network, are responsible for orchestrating the flow of data and commands, ensuring seamless operation of the industrial processes it oversees.

  • Slaves

    Field devices such as sensors and actuators act as slaves that record process data and pass it on to the controller or execute commands.

The protocol spans multiple layers of the OSI model, including: 

Physical Layer 

The Physical Layer defines critical electrical and mechanical aspects of the underlying CAN bus, including voltage levels and signalling rates, crucial for device compatibility and interoperability. It facilitates the transmission of binary data signals across the bus, employing differential signalling to combat electromagnetic interference and noise, ensuring reliable communication in harsh industrial environments.

Data Link Layer

The Data Link Layer handles message framing, error detection, and acknowledgment. It breaks data into frames for transmission over the CAN bus, including header information with addressing and error detection mechanisms like CRC. This layer ensures reliability by allowing nodes to detect and discard corrupted frames and facilitates acknowledgment for validating data integrity.

The Application Layer is characterised by the integration of CANopen-specific communication objects and protocols for data exchange. It defines the structure and semantics of the messages that are exchanged between the nodes in the network and adapts the communication to the specific requirements of the various industrial applications. 

CANopen primarily utilizes a bus topology, enabling straightforward and efficient connection of multiple devices within the network. The standard supports up to 128 devices logically. Despite its predominant linear network topology, CANopen demonstrates flexibility by supporting other configurations like star topologies. This adaptability allows for versatile network design and implementation, catering to diverse industrial application needs.

CANopen enables both cyclic and acyclic data transmission, primarily facilitated through Process Data Objects (PDOs) and Service Data Objects (SDOs). PDOs are designed for real-time data transmission, crucial for control and status broadcasting within a network. These objects can be transmitted both synchronously and asynchronously, depending on internal device events or the elapsing of an event timer. SDOs, on the other hand, serve a different purpose. They are used for reading from or writing to a device's object dictionary, which is essentially a database of configurable parameters and process data. This form of communication is not exchanged every cycle but is vital for configuring devices and querying their state.

CANopen in the OSI model

Operating Mechanisms of CANopen Networks

The CANopen communication protocol is a sophisticated system that involves both hardware and software components to facilitate embedded systems used in automation.

Hardware 

CANopen operates on the Controller Area Network (CAN) protocol, which is a robust bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. The CAN Bus, developed by BOSCH, is a multi-master, message broadcast system that operates at a maximum signalling rate of 1 megabit per second. The transceivers play a crucial role in adapting signal levels for data sent and received by the node. They translate logic level messages from the controller into the CAN differential scheme on the CANH and CANL pins. The Controllers handle the data link layer of CAN communication, managing the framing of data in the protocol format. The difference between controllers and transceivers is that while controllers are incorporated within the microcontroller providing registers for configuration and use, transceivers are used to build a physical connection between two controllers.

Software

The protocol stack in CANopen facilitates seamless device communication across the network. Complemented by device firmware, it ensures internal control functionality and interfaces with hardware. Configuration tools, utilizing XML configuration files alongside Device Configuration Files (DCF) and Electronic Data Sheets (EDS), tailor node settings to specific network roles. The logging function aids in monitoring the setup process by creating detailed message logs. Device drivers act as translators between hardware devices and applications, enabling higher-level code independent of specific hardware.

Benefits of CANopen in Industry

CANopen, offers a multitude of advantages that make it an ideal choice for industrial communication.

Scalability

Evident in its flexible network configuration, supporting up to 128 nodes per segment and offering plug-and-play functionality for quick device integration.

Flexibility

Its standardized communication protocols, including PDOs and SDOs, ensure interoperability across devices, supported by each device's Object Dictionary for seamless interaction regardless of manufacturer. CANopen adapts to various network topologies, enhancing integration and communication within the network.

Adaptability

Standardized protocols like PDOs and SDOs ensure seamless data exchange. Object-oriented architecture boosts interoperability. International standards ensure uniformity. Vendor independence promotes device integration from various sources.

Real-time performance

achieved through deterministic message transmission, time-triggered communication, synchronization mechanisms, and priority-based message queuing.

Reliability

Ensured by robust error detection and handling mechanisms, fault tolerance, and data integrity maintenance.

Efficiency

optimized through bandwidth utilization, message compression, and dynamic data rate adjustment

Cost-Effective

As an international standard (EN 50325-4), CANopen provides a common framework that simplifies system integration and maintenance, contributing to the standardization of industrial communication. Moreover, the widespread availability of CAN hardware and software components makes CANopen a cost-effective solution compared to proprietary systems, offering economic benefits without compromising on functionality.

Hilscher's CANopen Solutions

As a market leader in the field of industrial communication and a member of CiA, Hilscher offers a broad product portfolio for CANopen networks.

In addition to various hardware interfaces in the form of netX SoCs developed in-house, PC cards in a wide range of form factors and various embedded modules, the Hattersheim-based automation specialist also offers the associated protocol stacks. Depending on requirements, highly integrated communication solutions can be developed and almost ready-to-use interfaces can be implemented in automation components.

In addition, Hilscher also has gateways for protocol conversions to other industrial communication networks.

Our products

Gateway CANopen nach Ethernet

Kostenoptimiertes Einsteiger-Gateway für einfache Konvertierungen

Gateway CANopen nach Modbus RTU, 3964R oder Seriell (ASCII / programmierbar)

High-End-Gateway für anspruchsvolle Konvertierungen

PC-Karte PC/104 mit abgesetzter Schnittstelle - CANopen

Kommunikation für die PC-basierte Automatisierung

PC-Karte für erw. Temperaturbereich Mini PCI Express - CANopen

Kommunikation für die PC-basierte Automatisierung

Gateway CANopen nach PROFIBUS DP

High-End-Gateway für anspruchsvolle Konvertierungen

PC-Karte PCI-104 - CANopen

Kommunikation für die PC-basierte Automatisierung