6.7.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 data logger 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
data logger.
6.7.3 Slow Sequences
Priority of a slow sequence (SlowSequence)in the data logger will vary, depending upon
whether the data logger is executing its program in pipeline mode or sequential mode. With the
important exception of measurements, when running in pipeline mode all sequences in the
program have the same priority. When running in sequential mode, the main scan has the
highest priority for measurements, followed by background calibration (which is automatically
run in a slow sequence), then the first slow sequence, the second slow sequence, and so on. The
effects of this priority are negligible; however, since, once the tasks begin running, each task is
allotted a 10 msec time slice, after which, the next task in the queue runs for 10 msec. The data
logger cycles through the queue until all instructions for all sequences are complete.
6. Measurements 89