Welcome to Ars-Informatica  


If you want to build a ship don't herd people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea. (Antoine-Marie-Roger de Saint-Exupéry)

Event driven

The event driven or change-of-state transmission method simply transmits a TPDO message if the process data in it changes. What exactly is defined as an "event" is typically specified by the Device Profile.

It could be any change to the data as well as specific change to the data (like reaching a certain limit or reaching a minimum difference). If a TPDO contains a set of digital inputs and the event is "any" change then the TPDO gets transmitted as soon as the data in it changes. If there is no change in the data there will be no transmission until the data actually changes.

There is one worst-case scenario for event driven communication that needs to be handled properly: if one of the inputs changes constantly the TPDO would be transmitted back-to-back (as soon as a TPDO is transmitted the data will have changed again). Such a behavior would occupy 100% of the available bandwidth.

CANOPEN handles this worst-case scenario by introducing the "Inhibit Timer" (see TPDO communication parameters). This is a configurable timeout in multiples of hundreds of microseconds. After starting the transmission of the TPDO the Inhibit Timer must expire before the TPDO may be transmitted again. So the maximum frequency with which a TPDO could occur is directly specified by the Inhibit Time.

According to some

The Inhibit Timer always affects the entire TPDO and all process variables contained in it.

This design implies that different multiple process variables pertaining to different physical magnitudes may vary at different speed making the event change detection a complex process. In such situations CANOPEN nodes try to simplify by either not allowing such mixing or by only implementing simple event change detection (values changed) without the extended detection mechanisms.