STTest aa+,tttttt [D>=16]
(T=Z; Z=Y; Y=X;) X = ((aa + tttttt) >= now) ? TRUE : FALSE
Compares the current system time with the value stored in 3 bytes of RAM at address aa
. If the difference (elapsed time since the System Time was captured to aa
) is less than tttttt
x 10mS, pushes True into X. Otherwise pushes False into X. This instruction is not confined to use in a MultiTrack task. It is based on the assumption that there was a prior STStart instruction. tttttt
is a value between 0 and 16,777,215.
From dialect 20 some controllers allow you to program the 10mS basic "tick" interval over the range 1mS to 255mS via a setting in the CPU device. See the CPU device documentation for your controller, look for SPxCmd1 1,!CPU
The address argument aa will be jndexed when executed inside a MultiTrack task and will be indexed if the instruction is preceded by the IasJ:
precode.
SuperTimers are discussed in the MultiTrack tutorial
Dialect exclusions: Not available in dialects before 16.