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. Internally, an instance of the ADSREAD function block is called.
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 If it is to be run on the local computer, an empty string can be entered.
START: The function 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 and acknowledgement is received.
ERR: If an ADS error should occur during the transfer of the command, then this output is set once the BUSY output is reset.
ERRID: Supplies the ADS error number when the ERR output is set.
USAGE: The current CPU loading of a TwinCAT system in %.
Example of a call in FBD
TC_CpuUsage1 : TC_CpuUsage;
Start_TC_CpuUsage : BOOL;
TC_CpuUsage_Busy : BOOL;
TC_CpuUsage_Err : BOOL;
TC_CpuUsage_ErrId : UDINT;
CpuUsage : UDINT;
In the example the TwinCAT system is using 35% of the total available CPU computing time.
Requirements
Development environment | Target system type | PLC libraries to include |
---|---|---|
TwinCAT v2.7.0 | PC or CX (x86) | Standard.Lib; PLCSystem.Lib; TcPLCAds.Lib; PLCHelper.Lib; TcPlcUtilities.Lib |
TwinCAT v2.8.0 | PC or CX (x86) | TcUtilities.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib are included automatically ) |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) |