Campbell Scientific CR3000 CR3000 Micrologger - Page 143
Main Scans, Slow-Sequence Scans, WaitDigTrig Scans
View all Campbell Scientific CR3000 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 143 highlights
Section 7. Installation 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 CR3000 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 SelfCalibration (p. 295) ) has priority and uses some interstitial scan time. If selfcalibration 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. 467). 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. 467) 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 slowsequence 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. 330). 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. 467) according to the rules stated in Main Scans (p. 143) and Slow-Sequence Scans (p. 143). 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 CR3000 to exert control over another CR3000. 143