Special function protocols
CANopen offers three specific protocols for generating a special network behavior:
- The SYNC protocol enables synchronous network behavior.
- The Time-stamp protocol is used for the adjustment of a unique network-time.
- The Emergency protocol can be used to inform other network participants about device-internal errors.
Synchronisation (SNYC) protocol
The SYNC protocol is transmitted periodically by the SYNC producer. The time period between two consecutive SYNC messages is the communication cycle period. The SYNC message is mapped to a single CAN frame with the identifier 80h according to the predefined connection set. By default, the SYNC message does not carry any data (DLC = 0). Devices that support CiA 301 Version 4.1 or higher may optionally offer a SYNC message, which provides a 1 byte SYNC counter value. Therefore synchronous behavior of several devices can be coordinated more comfortably.
The Emergency messages are triggered by a device-internal error. The Emergency message, transmitted by the Emergency producer, is mapped to one single CAN frame, which covers up to eight byte of data. The data content is defined as a 1 byte Error register (Index 1001h of the local object dictionary), a 16-bit Emergency error code, and up to 5 byte of manufacturer-specific error information. By default, a device that supports the Emergency producer functionality assigns the CAN-Identifier 80h + (node-ID) to the Emergency message. An Emergency message is transmitted only once per error event. As long as no new errors occur on a device, no further emergency messages are transmitted. Zero or more Emergency consumers may receive these messages and may initiate suitable, application-specific counter measures.
The Time-stamp protocol enables the user of CANopen systems to adjust a unique network time. The Time-stamp is mapped to one single CAN frame with a data length code of 6 byte. These six databytes provide the information "Time of Day". This information is given as milliseconds after midnight (Datatype: Unsigned28) and days since January 1, 1984 (Datatype: Unsigned16). The associated CAN frame has by default the CAN-Identifier 100h.