F_CXSubTimeStamp
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.