Communication Mechanisms¶
CANopen® distinguishes two basic mechanisms for data transmission: The fast exchange of short process data via Process Data Objects (PDOs) and the access to entries of the Object Directory using Service Data Objects (SDOs). Service Data Objects are primarily used to transmit parameters during device configuration. The transmission of Process Data Objects is normally performed event oriented, cyclic or on request as broadcast objects.
Service Data Objects
Service Data Objects (SDOs) are used to modify Object Directory entries as well as for status requests. Transmission of SDOs is performed as a confirmed data transfer with two CAN objects in the form of a peer-to-peer connection between two network nodes. The corresponding Object Directory entry is addressed by specifying the index and the sub-index of the entry. It is possible to transmit messages of unlimited length. If necessary, the data are segmented into several CAN messages.
Process Data Objects
For the transmission of process data, the Process Data Object (PDO) mechanism is available. A PDO is transmitted unconfirmed because, in the end, the CAN link layer ensures the error-free transmission. According to the CAN specification, a maximum of 8 data bytes can be transmitted within one PDO. In conjunction with a synchronization message, the transmission as well as the take over of PDOs can be synchronized over the entire network (synchronous PDOs). The assignment of application objects to a PDO can be set using a structural description (PDO mapping) that is stored in the object directory. Thus, an adaptation according to the requirements of the individual applications is possible. The transmission of process data can be performed by various methods.
Event
The PDO transmission is controlled by an internal event, e.g. by a changing level of a digital input or by an expiring device-internal timer.
Request
In this case, another bus subscriber is requesting the process data by sending a remote transmission request (RTR) message.
Synchronous
In case of synchronous transmission, synchronization telegrams are sent by a bus subscriber. These telegrams are received by a PDO producer which in turn transmits the process data.