CANopen is a communication protocol for layer 7 (user layer in the ISO/OSI model), which features a high degree of flexibility for configuration and uses CAN as layer 2 transport medium. Originally developed for motion applications, it is now an established protocol in a wide range of application areas, such as medical engineering, naval navigation, railroading and even building automation.
X20 bus controllers
X67 bus controllers
X20 communication modules
X90 bus controller
PCI communication modules
CANopen is not a classic master-slave system; instead, it runs with client-server services and follows the producer-consumer principle.
It provides standardized communication objects: Service Data Objects (SDO) for configuring object directory entries, Process Data Objects (PDO) for transporting real-time data, Network Management objects (NMT) for controlling and monitoring nodes as well as other objects such as synchronization objects, timestamps and emergency telegrams.
- Message transfer according to the producer-consumer principle
- Multimaster-capable, event-oriented message transmission
- Lossless, bit-wise bus arbitration
- Priority-oriented message transmission
- Message length and maximum message rate
- Efficient error detection and troubleshooting
- Error signaling instead of message acknowledgement
- The format of a CAN message
- Availability of standardized higher protocols and profiles