Diagnostics¶
Memory usage and execution time of a processing block can be monitored. The related settings, signals and events are stated in this section.
Memory usage¶
The memory usage of a processing block can be monitored via the Memory usage signal.
Timing measurements¶
The Execution budget property can be specified when creating a processing block. If the controller has support for timing measurements, the Timing measurement signals are by default present in the processing block to monitor the execution time. The Timing measurement events indicate whether the budget or period is exceeded.
Execution budget¶
The execution budget is the maximum amount of time required by the processing block for each process step. This budget is specified when creating a processing block. The default value is set to infinite. Exceeding the budget does not necessarily have impact, and its main purpose is diagnostics.
The budget should be substantially smaller than the sample period since much more processing has to be performed by the platform. Exceeding the budget does not have impact, as long as the sample period and I/O critical task budget are not exceeded.
No execution budget is specified for built-in processing blocks. These processing blocks will return -1 when the budget is retrieved and throw NotSupportedException when set.
Signals¶
Name |
Data type |
R/W |
Unit |
Description |
|---|---|---|---|---|
ExecutionTime |
Double |
R |
seconds |
Time that the last execution of this processing block took in seconds. |
RemainingBudget |
Double |
R |
seconds |
Amount of remaining time budget available for the execution of this processing block in seconds. |
Events¶
Name |
Description |
|---|---|
BudgetExceeded |
This event is triggered when the Execution budget of the processing block is exceeded. In simulation this event will never trigger. |
PeriodExceeded (reserved) |
This event will never trigger for processingblocks. |