3 subscan() / nextsubscan, 4 scan priorities in sequential mode, Table 17. program timing instructions – Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual
Page 137

Section 7. Installation
137
splicing, measurements in a slow sequence may span across multiple-scan 
intervals in the main program. When no measurements need to be spliced, the 
slow-sequence scan will run independent of the main scan, so slow sequences 
with no measurements can run at intervals 
≤ main-scan interval (still in 10-ms
increments) without skipping scans. When measurements are spliced, checking 
for skipped slow scans is done after the first splice is complete rather than 
immediately after the interval comes true. 
In sequential mode, all instructions in slow sequences are executed as they occur 
in the program according to task priority. 
Background calibration is an automatic, slow-sequence scan.
Read More! Self-Calibration
(p. 285)
7.7.3.7.3 SubScan() / NextSubScan
SubScan() / NextSubScan are used in the control of analog multiplexers (see the 
appendix Analog Multiplexers
(p. 538)
for information on available analog
multiplexers) or to measure analog inputs at a faster rate than the program scan. 
SubScan() / NextSubScan can be used in a SlowSequenc / EndSequence with 
an interval of 0. SubScan cannot be nested. PulseCount or SDM measurement 
cannot be used within a sub scan. 
7.7.3.7.4 Scan Priorities in Sequential Mode
Note Measurement tasks have priority over other tasks such as processing and 
communication to allow accurate timing needed within most measurement 
instructions. 
A priority scheme is used in sequential mode to avoid conflicting use of 
measurement hardware. As illustrated in figure Sequential-Mode Scan Priority 
Flow Diagrams
(p. 139),
the main scan sequence has the highest priority. Other
sequences, such as slow sequences and calibration scans, must wait to access 
measurement hardware until the main scan, including measurements and 
processing, is complete. 
Main Scans
Execution of the main scan usually occurs quickly, so the processor may be idle 
much of the time. For example, a weather-measurement program may scan once 
per second, but program execution may only occupy 250 ms, leaving 75% of 
available scan time unused. The CR800 can make efficient use of this interstitial 
scan time to optimize program execution and communications control. Unless 
disabled, or crowded out by a too-demanding schedule, self-calibration (see Self-
Calibration
(p. 285)
) has priority and uses some interstitial scan time. If self-
calibration is crowded out, a warning message is issued by the CRBasic 
precompiler. Remaining priorities include slow-sequence scans in the order they 
are programmed and digital triggers. Following is a brief introduction to the rules 
and priorities that govern use of interstitial scan time in sequential mode. Rules 
and priorities governing pipeline mode are somewhat more complex and are not 
expanded upon. 
Permission to proceed with a measurement is granted by the measurement 
semaphore
(p. 442).
Main scans with measurements have priority to acquire the
