A Brief Introduction To CANopen®
CANopen is a network technology optimized for the usage in industrial control environments, in machine internal networks and in embedded systems (any control unit deeply "embedded" in a device with electronics). Lately CANopen also moved into the automotive market, where CiA 447 is used as a dedicated network for add-on electronics in emergency response vehicles, taxis and other special purpose vehicles. The lower-layer implementation of CANopen is based upon CAN (Controller Area Network) which is implemented on microcontrollers of more than 30 chip manufacturers.
In industrial control terms CANopen is a "Fieldbus", such as DeviceNet, Smart Distributed Systems, InterBus-S and others. Some applications use derivations from RS485 for similar embedded networks. However, with RS485 the network designer / developer needs to invent many communication routines whereas CANopen features a pre-defined set of network communication functionality.
As the basis technology is included in so many low-cost and low to medium-performance components, it is well suited for cost-sensitive / high-volume applications, other applications using 8-bit to 16-bit microcontrollers and low-power applications. Some typical applications are shown in our listing of application examples
The functionality provided by CANopen allows the configuration of each network node by a network master or configuration tool. The configuration parameters set the communication behavior of a device and allow to set which process data is stuffed where (data field) into which message (message identifier) and when this message is triggered. Typical message trigger events can be a detection in the change-of-state of the process data or a repetitive timer (e.g. transmit every 100ms).
If all nodes know their configuration upon startup, a "full-blown" master / configurator is not required to be present in the network, allowing for minimized implementations.
In addition, most of the communication functions in CANopen are specified as "optional". This means that a specific device does only need to implement the functions it utilizes, greatly contributing to an application-optimized implementation.
In order to be able to easily exchange nodes from different manufacturers, CANopen nodes need to be further standardized. So called Device Profiles specify the expected communication behavior for a particular application. A number of Device Profiles are available and new ones are constantly added. Existing Device Profiles cover generic I/O modules, encoders, inclinometer, drives and many other devices.
To get some hands-on experience, simply download the CANopen simulation environment CANopen Magic from www.CANopenMagic.com