Section 7. Installation
all tasks are given equal processing time by the CR1000.
All tasks are given the same general priority. However, when a conflict arises
between tasks, program execution adheres to the priority schedule in table
Pipeline Mode Task Priorities
(p. 153).
Table 18.
Pipeline Mode Task Priorities
1. Measurements in main program
2. Background calibration
3. Measurements in slow sequences
4. Processing tasks
7.8.4.11.2 Sequential Mode
Sequential mode executes instructions in the sequence in which they are written in
the program. Sequential mode may be slower than pipeline mode since it executes
only one line of code at a time. After a measurement is made, the result is
converted to a value determined by processing arguments that are included in the
measurement command, 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
communication activity, or if other interrupts, such as accessing a Campbell
Scientific mass storage device or memory card, occur.
When running in sequential mode, the datalogger uses a queuing system for
processing tasks similar to the one used in pipeline mode. The main difference
when running a program in sequential mode is that there is no pre-scheduling of
measurements; instead, all instructions are executed in the programmed order.
A priority scheme is used to avoid conflicting use of measurement hardware. The
main scan has the highest priority and prevents other sequences from using
measurement hardware until the main scan, including processing, is complete.
Other tasks, such as processing from other sequences and communications, can
occur while the main sequence is running. Once the main scan has finished, other
sequences have access to measurement hardware with the order of priority being
the background calibration sequence followed by the slow sequences in the order
they are declared in the program.
Note
Measurement tasks have priority over other tasks such as processing and
communication to allow accurate timing needed within most measurement
instructions.
Care must be taken when initializing variables when multiple sequences are used
in a program. If any sequence relies on something (variable, port, etc.) that is
initialized in another sequence, there must be a handshaking scheme placed in the
CRBasic program to make sure that the initializing sequence has completed
before the dependent task can proceed. This can be done with a simple variable or
even a delay, but understand that the CR1000 operating system will not do this
handshaking between independent tasks.
153
Summary of Contents for CR1000
Page 2: ......
Page 4: ......
Page 6: ......
Page 32: ......
Page 36: ......
Page 38: ......
Page 40: ......
Page 60: ...Section 4 System Quickstart Figure 16 PC200W View Line Graph 60 ...
Page 96: ......
Page 98: ...98 ...
Page 302: ......
Page 453: ...Section 8 Operation Figure 115 Using the Keyboard Display 453 ...
Page 456: ...Section 8 Operation Figure 118 Real Time Custom 456 ...
Page 457: ...Section 8 Operation 8 8 1 3 Final Memory Tables Figure 119 Final Memory Tables 457 ...
Page 458: ...Section 8 Operation 8 8 2 Run Stop Program Figure 120 Run Stop Program 458 ...
Page 460: ...Section 8 Operation Figure 122 File Edit 460 ...
Page 461: ...Section 8 Operation 8 8 4 PCCard Memory Card Display Figure 123 PCCard CF Card Display 461 ...
Page 478: ......
Page 506: ......
Page 536: ......
Page 636: ......
Page 642: ......
Page 644: ......
Page 676: ......
Page 677: ......