sys_iRingCounter_10usXX

Gruppe

SPS-Statusinformationen

Datentyp

INT

Name

Ringzähler 10,24ms oder 10,67ms (nicht für exakte Messungen geeignet)

Das Datenregister verhält sich wie ein Ringzähler. Der Registerwert wird alle 10,24ms oder 10,67ms um eins erhöht (Zählbereich: 0–32767 und -32768–0). Vergleicht man die Registerwerte (v) zu zwei verschiedenen Zeitpunkten (v1 und v2), lässt sich die Zeitdauer (t) bestimmen: t = (v2-v1) x 10,24ms oder 10,67ms.

Der Registerwert wird jeweils zu Beginn eines Zyklus aktualisiert. Da er auch bei jedem Lesezugriff mit F0_MV aktualisiert wird, lässt sich die Ausführungszeit von Programmblöcken bestimmen.

Beispiel
#if (IsSystemVariableSupported('sys_iRingCounter_10usXX')) #then
    if (NOT bIsInitialized) then
        bIsInitialized:=TRUE;
        iRingCounter_Old:=sys_iRingCounter_10usXX;
    else
        iRingCounter_New:=sys_iRingCounter_10usXX;
        iRingCounterDiff:=iRingCounter_New-iRingCounter_Old;        
        diScanTime_ns:=INT_TO_DINT(iRingCounterDiff)*SYS_RINGCOUNTER_10us_RESOLUTION_ns;
        iRingCounter_Old:=iRingCounter_New;
    end_if;
#end_if;

Letzte Änderung: 2020-07-06Feedback zu dieser Seite:Panasonic Hotline