TC_CpuUsage

The function block TC_CpuUsage allows the current CPU usage of a TwinCAT system to be determined. This function corresponds to the display of CPU usage in the TwinCAT system menu under the real-time settings.
 Inputs
VAR_INPUT
    NETID  : T_AmsNetId;
    START  : BOOL;
    TMOUT  : TIME := DEFAULT_ADS_TIMEOUT;
END_VARName  | Type  | Description  | 
|---|---|---|
NETID  | T_AmsNetID  | Network address of the TwinCAT computer on which the ADS command is to be executed. An empty string can be entered for the local computer  | 
START  | BOOL  | The function block is enabled by a positive edge at this input.  | 
TMOUT  | TIME  | Time-out period that may not be exceeded when executing the ADS command.  | 
 Outputs
VAR_OUTPUT
    BUSY  : BOOL;
    ERR   : BOOL;
    ERRID : UDINT;
    USAGE : UDINT;
END_VARName  | Type  | Description  | 
|---|---|---|
BUSY  | BOOL  | When the function block is enabled, this output is set and remains set until a feedback is received.  | 
ERR  | BOOL  | If an ADS error should occur during the transfer of the command, then this output is set once the BUSY output is reset.  | 
ERRID  | UDINT  | Returns the ADS error number when the ERR output is set.  | 
USAGE  | UDINT  | The current CPU usage of a TwinCAT system in %.  | 
Example:
PROGRAM MAIN
VAR
    TC_CpuUsage1       : TC_CpuUsage;
    Start_TC_CpuUsage  : BOOL;
    TC_CpuUsage_Busy   : BOOL;
    TC_CpuUsage_Err    : BOOL;
    TC_CpuUsage_ErrId  : UDINT;
    CpuUsage           : UDINT;
END_VAR
In the example the TwinCAT system is using 35% of the total available CPU computing time.
Requirements
Development environment  | Target platform  | PLC libraries to be integrated (category group)  | 
|---|---|---|
TwinCAT v3.1.0  | PC or CX (x86, x64, Arm®)  | Tc2_Utilities (System)  |