TwinCAT 3 PLC Lib: Tc2_Utilities

TC_CpuUsage

 tc_cpuusage

The "TC_CpuUsage" function block allows the current CPU loading of a TwinCAT system to be determined. This function corresponds to the display of CPU loading in the TwinCAT system menu under the real-time settings.

 

VAR_INPUT

VAR_INPUT
    NETID : T_AmsNetId;
    START : BOOL;
    TMOUT : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

NETID: It is possible here to provide the AmsNetId of the TwinCAT computer whose CPU loading is to be determined (type: T_AmsNetID). If it is to be run on the local computer, an empty string can be entered.

START: the block is activated by a positive edge at this input.

TMOUT: States the length of the timeout that may not be exceeded by execution of the ADS command.

 
 

VAR_OUTPUT

VAR_OUTPUT
    BUSY  : BOOL;
    ERR   : BOOL;
    ERRID : UDINT;
    USAGE : UDINT;
END_VAR

BUSY: When the function block is activated this output is set. It remains set until a feedback is received.

ERR: If an error should occur during the transfer of the command, then this output is set once the BUSY output was reset.

ERRID: Supplies the ADS error number when the ERR output is set.

USAGE: The current CPU loading 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)