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.
Components and 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.