PROFINET IO Timing¶
In the current implementation per device 2 Communication Relations (CR) between the controller and the device are defined. One CR describes the IO telegram from the controller to the device (outputs) and the other the IO telegram from the device to the controller (inputs).
The timing of the corresponding IO telegrams can be defined separately for each device.
The editable timing parameters are:
- Send clock
- Reduction ratio
- Phase
- FrameSendOffset.
The relation between these parameters is shown in the following drawing.
For each device a SendCycle must be configured, which determines the sending interval of IO frames.
It is based on a time base of 31.25 µs und is calculated as:
SendClock [ms] = SendClockFactor * 31.25 µs / 1000.
The cycle time of an IO telegram is defined by the SendCyle. It’s calculated as:
SendCyle [ms] = SendClock [ms] * Reduction Ratio.
The values of the individual parameters are limited by the maximum value 512 ms of the SendCycle.
The following table summarizes the relation of the timing parameters.
Parameter | Meaning | Relation | Range |
---|---|---|---|
SendCycle | Is the cycle time of a RT telegrams. | SendCyle = SendClock * Reduction ratio. | 1ms ..512 ms |
SendClock | The SendCycle is divided into several time slots. The SendClock defines the size of a time slot within the SendCyle. | SendClock = SendClock factor * 31.25 µs; | SendClock * Reduction ratio <= 512 ms |
SendClock factor | Is multiplied with the time base 31.25 µs to calculate the SendClock. | SendClock factor = SendClock / 31.25 µs | 1..128 |
Reduction ratio | The reduction ratio defines the number of time slots within the SendCyle. | SendClock * Reduction factor <= 512 ms | 1..16384 |
Phase | The time slot in which the IO frame is sent. | A integer value of the range 1 … Reduction ratio | 1..16384 |
FrameSendOffset | It’s an offset value relative to the beginning of a time slot. For all RT_Classes the value 0xFFFFFFFF means sending as soon as possible. | Only for RT_CLASS_3 it is neseccary to support this parameter. | 0x0 …0xFFFFFFFF |