CANopen Introduction
CANopen is a widely used CAN application layer, developed by the CAN in Automation association, and which has meanwhile been adopted for international standardization.
Device Model
CANopen consists of the protocol definitions (communication profile) and of the device profiles that standardize the data contents for the various device classes. Process data objects (PDO) are used for fast communication of input and output data. The CANopen device parameters and process data are stored in a structured object directory. Any data in this object directory is accessed via service data objects (SDO). There are, additionally, a few special objects (such as telegram types) for network management (NMT), synchronisation, error messages and so on.
Communication Types
CANopen defines several communication classes for the input and output data (process data objects):
- Event driven: Telegrams are sent as soon as their contents have changed. This means that the process image is not continuously transmitted, only its changes.
- Cyclic synchronous: A SYNC telegram causes the modules to accept the output data that was previously received, and to send new input data.
- Requested: A CAN data request telegram causes the modules to send their input data.
The desired communication type is set by the "Transmission Type" parameter.
Device Profile
The Beckhoff CANopen devices support all types of I/O communication and correspond to the device profile for digital and analog input/output modules (DS401).
Transmission Rates
Nine transmission rates from 10 kbaud up to 1 Mbaud are available for different bus lengths. The effective utilization of the bus bandwidth allows CANopen to achieve short system reaction times at relatively low data rates.
Topology
CAN is based on a linear topology. The number of devices participating in each network is logically limited by CANopen to 128, but physically the present generation of drivers allows up to 64 nodes in one network segment. The maximum possible size of the network for any data rate is limited by the signal transit time required on the bus medium. For 1 Mbaud, for instance, the network may extend 25 m, whereas at 50 kbaud the network may reach up to 1000 m. At low data rates the size of the network can be increased by repeaters, which also allow the construction of tree structures.
Bus access procedures
CAN utilizes the Carrier Sense Multiple Access (CSMA) procedure, i.e. all participating devices have the same right of access to the bus and may access it as soon as it is free (multi-master bus access). The exchange of messages is thus not device-oriented but message-oriented. This means that every message is unambiguously marked with a prioritized identifier. To avoid collisions on the bus when messages are sent by different devices, a bit-wise bus arbitration is carried out at the start of the data transmission. The bus arbitration assigns bus bandwidth to the messages in the sequence of their priority. At the end of the prioritization phase only one bus device occupies the bus, collisions are avoided, and the bandwidth is optimally exploited.
Configuration and parameterization
The TwinCAT System Manager allows all the CANopen parameters to be set conveniently. An "eds" file (an electronic data sheet) is available on the Beckhoff website for the parameterization of Beckhoff CANopen devices using configuration tools from other manufacturers.
Certification
The Beckhoff CANopen devices have a powerful implementation of the protocol, and are certified by CiA, the CAN in Automation association.