INT
Contador cíclico 10,24ms o 10,67ms si no se necesita un valor exacto.
El registro de datos funciona como un contador en anillo. El valor de registro se incrementa en uno cada 10,24ms o 10,67ms (rango de contaje: 0–32767 y -32768–0). Compara los valores del registro (v) en dos momentos distintos (v1 y v2) para determinar el tiempo transcurrido (t): t = (v2-v1) x 10,24ms o 10,67ms.
El valor del registro se actualiza al principio de cada ciclo de scan. También se actualiza durante el acceso de lectura a través de la función F0_MV, permitiendo a los registros de datos medir el tiempo de ejecución de los bloques de programa.
#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;