Company Logo Innovators in Control

X-Analyser Support

Network Technology FAQs CANopen FAQ
SAE J1939 FAQ
LIN FAQ
CAN Signals FAQ

CANOpen Frequently Asked Questions



What is CANopen?

CANopen is a CAN-based higher layer protocol originally developed for industrial control systems. The family of specifications includes also different device profiles as well as frameworks for specific applications. CANopen networks are also used in off-road vehicles, maritime electronics, medical equipment, and railways. The very flexible application layer and many optional features are well suited for designing tailored networks.

What are the main features of CANopen?

• Auto configuration of the network
• Easy access to all device parameters
• Device synchronisation
• Cyclic and event-driven data transfer
• Synchronous reading or setting of inputs, outputs or parameters

What are the advantages of CANopen?

• Open and vendor independent, and standardized in EN50325-4
• Supports interoperability of different devices
• High speed real-time capability
• Modular - covers simple to complex devices
• User-friendly - wide variety of support tools available

What Device profiles are available?

The CiA has published device profiles for such things as:
• Generic I/O modules,
• Drives and motion controllers,
• Measuring devices and closed-loop controllers,
• Encoders,
• Proportional hydraulic valves.
• Door control units, and
• Railway brakes.

For special application fields CiA has developed frameworks for:
• CANopen framework for safety-relevant communication,
• CANopen framework for programmable devices, and
• CANopen interface profile for IEC 61131-3 compliant devices.

What is the CANopen Device Model?

Any CANopen device can be seen as a generic device. This generic device is connected to CAN on one side and connected to application specific I/O data on the other side. The application is the key knowledge of the device manufacturer. The interface between the application and CAN is realized by an object dictionary. The object dictionary is unique for any CANopen device and represents the whole access to its implemented application in terms of data as well as in terms of configuration. To gain access to the object dictionary each CANopen device has to realize a CANopen protocol stack. This CANopen protocol stack is a piece of software, which normally is implemented on the same controller that is used by the application software.
The CANopen protocol stack consists of different functions for different purposes.

Process Data Object (PDO) is used to transmit the application data. The application data is transmitted without any protocol overhead in broadcast.

Service Data Object (SDO) is used to gain access to all device parameters. SDO is used for direct device-to-device communication.

Error Control is used to validate that any device is working proper in terms of CANopen communication.

Network Management is used to control the network in terms of CANopen communication and indirectly in terms of system behaviour.

What is the CANopen Object Dictionary?

The object dictionary represents the complete access to the application program of the device in terms of application data as well as in term of configuration parameters. The object dictionary gain access:
• to all data types used in the device,
• to the communication parameters (to configure the device in terms of communication), and
• to the application data and configuration parameters.

What is a Process Data Object (PDO)?

Process Data Objects are used to transmit any process data for the process control. The process data are transmitted without any protocol overhead and by use of the producer/consumer communication model. That means that any kind of input device, this includes devices with physical inputs like digital inputs and sensors, as well as devices with logical inputs such as control units, is transmitting its input data enveloped in a PDO. This PDO is being received by any CANopen device within the network, but only some specific devices are interested in, this depends on system configuration. These devices are called consumers. Such a consumer could be any kind of output device, this includes devices with physical outputs like digital outputs or drives, as well as devices with logical outputs such as control units.

In conclusion the PDOs are transmitted in broadcast and without any confirmation back to the transmitting device.

Within a device itself the PDO accessing scheme using an indirect addressing to compile the content of a PDO from the desired application objects or to recompile the application data from a received PDO.

PDOs are characterized in two ways according to
• its communication behaviour represented by the PDO communication parameters, and
• its content represented by the PDO mapping parameters.

What is a Service Data Object (SDO)?

Service Data Objects are used to establish a peer-to-peer connection between two CANopen devices. This kind of connection is based on a Client/Server based mechanism.

The SDO server is the device that is serving the object dictionary to which the access is required.

The SDO client is the device that wants to access the object dictionary of a specific device.

The SDO service is based on two CAN messages with different identifiers. One message is used by the SDO client and the second message is used by the SDO server.

One SDO client is able to have up to 127 SDO client channels, which is required as if the SDO client is able to access up to 127 different devices at the very same time.

One SDO server is able to have up to 127 SDO server channels, which is required as if the SDO server is able to serve up to 127 different clients at the very same time. In minimum one SDO server channel the so-called default SDO channel, is required.

There are three different methods for SDO down-/upload:
• expedited SDO transfer,
• normal (segmented) SDO transfer, and
• SDO Block transfer.

What is an Emergency Message?

Emergency objects are used to transmit information about the status of the application.

Today any application does have possibilities to detect faults and errors, such as overload at a digital output, short at a digital output, or something like this.

The emergency message can be produced by any device in the network and can be consumed by any device in the network as well. The message itself contains an emergency code that is divided into a standardized part and a manufacturer specific part. This opens the way to classify fault or an error in a standard way as well as to provide more specific information for service.

As any device is able to be consumer of this message, there is an immediate reaction on any fault or error possible without a specific action request from a controller device. This increases the system reaction time.

Where can I find out more information on CANopen?

Go to the CAN in Automation website www.can-cia.com









www.WarwickControl.com © 1999 - 2008 - All Rights Reserved