F_CXSubTimeStamp

F_CXSubTimeStamp 1:

Die Funktion F_CXSubTimeStamp führt eine 64bit-Subtraktion Zeitstempel A - Zeitstempel B durch und wandelt das Ergebnis in µs um. Die notwendigen 64bit-Zeitstempel mit einer 100ns-Auflösung können mit dem Funktionsbaustein GETCPUCOUNTER aus dem System ausgelesen werden.

Ist die Differenz zwischen dem Zeitstempel A und dem Zeitstempel B negativ oder größer als 4294967295us, dann wird der Maximalwert  4294967295us zurückgeliefert, das entspricht 71 Minuten, 34 Sekunden, 967 Millisekunden und 295 Mikrosekunden. In diesen Fällen kann die Funktion UInt64Sub64() der TcUtilities.lib verwendet werden, um eine vollständige 64-Bit-Subtraktion mit 64-Bit-Ergebnis in [100ns] durchzuführen.

FUNCTION F_CXSubTimeStamp : UDINT

VAR_INPUT
    nTimeStampLoDW_A : UDINT; (* 2*32 bit time stamp A: low DWORD  *)
    nTimeStampHiDW_A : UDINT; (* 2*32 bit time stamp A: high DWORD *)
    nTimeStampLoDW_B : UDINT; (* 2*32 bit time stamp B: low DWORD  *)
    nTimeStampHiDW_B : UDINT; (* 2*32 bit time stamp B: high DWORD *)
END_VAR

nTimeStampLoDW_A: Untere 32bit des Zeitstempels A.

nTimeStampHiDW_A: Obere 32bit des Zeitstempels A.

nTimeStampLoDW_B: Untere 32bit des Zeitstempels B.

nTimeStampHiDW_B: Obere 32bit des Zeitstempels B.