EasyManua.ls Logo

Campbell CR1000X - 6.8.1 Sequential Mode

Campbell CR1000X
238 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
6.8.1 Sequential mode
Sequential mode executes instructions in the sequence in which they are written in the program.
After a measurement is made, the result is converted to a value determined by processing
arguments that are included in the measurement instruction, and then program execution
proceeds to the next instruction. This line-by-line execution allows writing conditional
measurements into the program.
NOTE:
The exact time at which measurements are made in sequential mode may vary if other
measurements or processing are made conditionally, if there is heavy communications
activity, or if other interrupts occur (such as accessing a Campbell Scientific memory card).
6.8.2 Pipeline mode
Pipeline mode handles measurement, most digital, and processing tasks separately, and, in many
cases, simultaneously. Measurements are scheduled to execute at exact times and with the
highest priority, resulting in more precise timing of measurements, and usually more efficient
processing and power consumption.
In pipeline mode, it will take less time for the datalogger to execute each scan of the program.
However, because processing can lag behind measurements, there could be instances, such as
when turning on a sensor using the SW12() instruction, that the sensor might not be on at the
correct time to make the measurement.
Pipeline scheduling requires that the program be written such that measurements are executed
every scan. Because multiple tasks are taking place at the same time, the sequence in which the
instructions are executed may not be in the order in which they appear in the program.
Therefore, conditional measurements are not allowed in pipeline mode. Because of the precise
execution of measurement instructions, processing in the current scan (including updating public
variables and data storage) is delayed until all measurements are complete. Some processing,
such as transferring variables to control instructions, like PortSet() and ExciteV(), may
not be completed until the next scan.
When a condition is true for a task to start, it is put in a queue. Because all tasks are given the
same priority, the task is put at the back of the queue. Every 1 ms (or faster if a new task is
triggered) the task currently running is paused and put at the back of the queue, and the next
task in the queue begins running. In this way, all tasks are given equal processing time by the
datalogger.
6. Measurements 79

Table of Contents

Related product manuals