CANopen supports a variety of devices and nodes in a form of centralised control via the master-slave model, which is particularly useful in production environments:
Masters
Controllers like PLCs, which acts as the central intelligence hub of the network, are responsible for orchestrating the flow of data and commands, ensuring seamless operation of the industrial processes it oversees.
Slaves
Field devices such as sensors and actuators act as slaves that record process data and pass it on to the controller or execute commands.
The protocol spans multiple layers of the OSI model, including:
Physical Layer
The Physical Layer defines critical electrical and mechanical aspects of the underlying CAN bus, including voltage levels and signalling rates, crucial for device compatibility and interoperability. It facilitates the transmission of binary data signals across the bus, employing differential signalling to combat electromagnetic interference and noise, ensuring reliable communication in harsh industrial environments.
Data Link Layer
The Data Link Layer handles message framing, error detection, and acknowledgment. It breaks data into frames for transmission over the CAN bus, including header information with addressing and error detection mechanisms like CRC. This layer ensures reliability by allowing nodes to detect and discard corrupted frames and facilitates acknowledgment for validating data integrity.
The Application Layer is characterised by the integration of CANopen-specific communication objects and protocols for data exchange. It defines the structure and semantics of the messages that are exchanged between the nodes in the network and adapts the communication to the specific requirements of the various industrial applications.
CANopen primarily utilizes a bus topology, enabling straightforward and efficient connection of multiple devices within the network. The standard supports up to 128 devices logically. Despite its predominant linear network topology, CANopen demonstrates flexibility by supporting other configurations like star topologies. This adaptability allows for versatile network design and implementation, catering to diverse industrial application needs.
CANopen enables both cyclic and acyclic data transmission, primarily facilitated through Process Data Objects (PDOs) and Service Data Objects (SDOs). PDOs are designed for real-time data transmission, crucial for control and status broadcasting within a network. These objects can be transmitted both synchronously and asynchronously, depending on internal device events or the elapsing of an event timer. SDOs, on the other hand, serve a different purpose. They are used for reading from or writing to a device's object dictionary, which is essentially a database of configurable parameters and process data. This form of communication is not exchanged every cycle but is vital for configuring devices and querying their state.