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