Campbell Scientific CR1000 Measurement and Control System User Manual

Page 138

Advertising
background image

Section 7. Installation

138 

 

 

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 CR1000 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. 289)

) 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. 465).

Main scans with measurements have priority to acquire the

semaphore before measurements in a calibration or slow-sequence scan. The
semaphore is taken by the main scan at its beginning if there are measurements
included in the scan. The semaphore is released only after the last instruction in
the main scan is executed.

Slow-Sequence Scans

Slow-sequence scans begin after a SlowSequence instruction. They start
processing tasks prior to a measurement but stop to wait when a measurement
semaphore is needed. Slow sequences release the semaphore

(p. 465)

after complete

execution of each measurement instruction to allow the main scan to acquire the
semaphore when it needs to start. If the measurement semaphore is set by a slow-
sequence scan and the beginning of a main scan gets to the top of the queue, the
main scan will not start until it can get the semaphore; it waits for the slow
sequence to release the semaphore. A slow-sequence scan does not hold the
semaphore for the whole of its scan. It releases the semaphore after each use of
the hardware.

WaitDigTrig Scans

Read More! See Synchronizing Measurements

(p. 325).

Main scans and slow sequences usually trigger at intervals defined by the Scan()
instruction. Some applications, however, require the main- or slow-sequence scan
to be started by an external digital trigger such as a 5-Vdc pulse on a control port.
The WaitDigTrig() instruction activates a program when an external trigger is
detected. WaitDigTrig() gives priority to begin a scan, but the scan will execute
and acquire the semaphore

(p. 465)

according to the rules stated in Main Scans

(p. 138)

and Slow-Sequence Scans

(p. 138).

Any processing will be time sliced with

processing from other sequences. Every time the program encounters
WaitDigTrig(), it will stop and wait to be triggered.

Note WaitDigTrig() allows one CR1000 to exert control over another CR1000.

Advertising