INT
环形计数器10,24ms或10,67ms,如果计数不需要精确值。
数据寄存器充当环形计数器。寄存器值每10,24ms或10,67ms增加一(计数范围:0–32767和-32768–0)。比较两个不同时间(v1和v2)的寄存器值(v)以确定经过时间(t):t = (v2-v1) x 10,24ms或10,67ms。
寄存器值在每次扫描开始时更新。 在使用F0_MV进行读取访问期间也会更新,以允许要使用的数据寄存器来测量程序块的执行时间。
#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;