# Guaranteed Windows computing time (P-RTCF-00004)

P-RTCF-00004 | Guaranteed Windows computing time within one NC cycle
Description | The windows_time must be an integer multiple of the time_slice. If this is not the case, it is rounded down to the next lower integer multiple. If the predecessor thread is prematurely complete, the remaining time period up to the end of the cycle time is made available to Windows as computing time.

If the guaranteed computing time of Windows is truncated by the predecessor thread, it is stopped by the timer ISR.

Furthermore, the selected windows_time must not be so large, otherwise the threads that can be stopped by Windows (all threads except the GEO task) will not receive sufficient computing time (or none at all). If windows_time is selected smaller then P-RTCF-00003 (time_slice), an error message is output.

Parameter | windows_time
Data type | UNS16
Data range | 0 < windows_time < MAX(UNS16)
Dimension | µs
Default value | -
Remarks | In the case of windows_time = 0, suspension of the predecessor process is dispensed with completely. As a result Windows no longer receives any guaranteed computing time. Such a parameter definition only makes sense if steps are taken to ensure that all threads regularly become "ready" before expiry of the NC cycle time. This presumes that all threads behave cooperatively.

Suitable setting of the windows_time in relation to time_slice (P-RTCF-00003):

windows_time = time_slice = 500µs

Shorter time periods (e.g. 100 - 200µs) are less favourable because a context change between Windows and the real-time operating system is relatively time-intensive.

Choosing a windows_time that is too short (e.g. 100µs) causes instability in real-time operation (RTX problem)