Execution rates
Overview of how execution rates are handled within Typhoon HIL Control Center software
Signal Processing components currently support only discrete time execution rates.
- Forward propagation: sample time is inherited from the components connected to the input terminals. Always performed first.
- Backward propagation: sample time is inherited from the components connected to the output terminals. Performed in cases when the execution rate could not be resolved using the forward propagation method.
Models can contain components with different execution rates. All execution rates have to be integer multiples of the fastest execution rate. The fastest component execution rate can be specified arbitrarily.
In real time simulation, if the specified fastest execution rate is not an integer multiple of the HIL device clock, it will be rounded to the nearest integer multiple of the HIL device clock. All other execution rates will be adjusted accordingly. More information about analog and digital IO voltage levels of different HIL devices can be found in their respective documentation pages in the Hardware Manual.
The maximum number of execution rates is limited to 4.
When the model is executed in real time, it is required that all execution-rate-related computations are completed within the defined simulation step. In case that the model takes longer to compute, an overrun condition will occur resulting in inaccurate simulation results. To detect such a situation, the workload on every execution rate is monitored by dedicated hardware logic. Time-slot-utilization information is visualized in the HIL SCADA application. Computing interval overrun conditions are explicitly signaled using the dedicated CIO flag. For more information, please refer to the HIL SCADA Status Bar documentation.
Setting execution rates for individual components
Type in the desired signal processing execution rate. This value must be compatible with other signal processing components of the same circuit: the value must be a multiple of the fastest execution rate in the circuit. There can be up to four different execution rates. To specify the execution rate, you can use either decimal (e.g. 0.001) or exponential values (e.g. 1e-3) in seconds. Alternatively, you can type in ‘inherit’ in which case the component will be assigned execution rate based on the execution rate of the components it is receiving input from.