Section 7. Installation
Note
A program can be forced to run in sequential or pipeline mode by placing
the
SequentialMode
or
PipelineMode
instruction in the declarations section of
the program.
Some tasks in a program may have higher priorities than others. Measurement
tasks generally take precedence over all others. Task priorities are different for
pipeline mode and sequential mode.
Table 17.
Program Tasks
Measurement Task
Digital Task
Processing Task
•
Analog
measurements
•
Excitation
•
Read pulse
counters
•
Read control ports
(
GetPort()
)
•
Set control ports
(
SetPort()
)
•
VibratingWire()
•
PeriodAvg()
•
CS616()
•
Calibrate()
•
SDM instructions,
except
SDMSI04()
and
SDMI016()
•
CDM instructions /
CPI devices.
•
Processing
•
Output
•
Serial I/O
•
SDMSIO4()
•
SDMIO16()
•
ReadIO()
•
WriteIO()
•
Expression evaluation and
variable setting in
measurement and SDM
instructions
7.8.4.11.1 Pipeline Mode
Pipeline mode handles measurement, most digital, and processing tasks
separately, and possibly simultaneously. Measurements are scheduled to execute
at exact times and with the highest priority, resulting in more precise timing of
measurement, and usually more efficient processing and power consumption.
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 update of 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 10 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,
152
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: ......