INT
Compteur annulaire 10,24ms ou 10,67ms si le comptage ne requiert pas de valeur exacte.
Le registre de données agit comme un compteur annulaire. La valeur du registre est incrémentée de 1 toutes les 10,24ms ou 10,67ms (plage de comptage : 0–32767 and -32768–0). Comparer les valeurs du registre (v) à deux instants différents (v1 et v2) permet de déterminer le temps écoulé (t): t = (v2-v1) x 10,24ms ou 10,67ms.
La valeur du registre est actualisée au début de chaque cycle. Elle est également actualisée en cas d’accès en lecture avec F0_MV pour permettre au registre de données d’être utilisé pour mesurer le temps d’exécution des blocs programmes.
#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;