TC_SysLatency

TC_SysLatency 1:

Mit dem Funktionsbaustein "TC_SysLatency" kann die aktuelle und maximale Latenzzeit eines TwinCAT-Systems ermittelt werden. Die Funktion entspricht der Anzeige der  TwinCAT-Latenzzeit im TwinCAT-System Menü unter den Echtzeiteinstellungen. Intern wird eine Instanz des ADSREAD-Funktionsbausteins aufgerufen.

 VAR_INPUT

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

NETID: Hier kann die AmsNetId des TwinCAT-Rechners angegeben werden, dessen Latenzzeit ermittelt werden soll. Für den lokalen Rechner kann auch ein Leerstring angegeben werden.

START: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.

TMOUT: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf.

VAR_OUTPUT

VAR_OUTPUT
    BUSY         :BOOL;
    ERR          :BOOL;
    ERRID        :UDINT;
    ACTUAL       :UDINT;
    MAXIMUM      :UDINT;
END_VAR

BUSY: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

ERR: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der BUSY-Ausgang zurückgesetzt wurde.

ERRID: Liefert bei einem gesetzten ERR-Ausgang die ADS-Fehlernummer.

ACTUAL: Die aktuelle Latenzzeit eines TwinCAT-Systems in µs.

MAXIMUM: Die maximale Latenzzeit eines TwinCAT-Systems in µs (Maximale Latenzzeit, die seit dem letzten TwinCAT System-Start aufgetreten ist).

 

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8.0, Build > 732

PC or CX (x86)

TcUtilities.Lib

TwinCAT v2.10.0 Build >= 1301

CX (ARM)