Conditional moves – ProSoft Technology PS-QS-1x10-0781 User Manual
Page 31

FieldServer Configuration Manual
Page 31 of 90
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Tel: (408) 262-2299 Fax: (408) 262-2269 Toll Free: (888) 509-1970 email: [email protected]
5.2.10 Conditional Moves
A move can be defined so that it is executed conditionally based on the status of a bit in a predefined Data Array
location (conditional Data Array).
A useful feature of the conditional move is that data is able to be moved to the same target offset as defined by
another conditional move. The user is thus able to move data from different sources into the same target based
on the status of a bit in a Data Array.
The conditional bit can be placed in any Data Array and can also be in the source or destination Data Array. It
simply needs to be declared in the Move instruction parameters.
A conditional move needs to be scheduled by the kernel for processing and therefore requires a task name and
scan interval. The Parameters for a Conditional move are as follows:
Conditional Move Parameters
Source_Data_Array
The name of the Data Array from which data is to be copied.
Source_Offset
The offset within the Data Array from which data is to be copied
Target_Data_Array
The name of the Data Array to which data is to be copied
Target_Offset
The offset within the Data Array to which data is to be copied
Length
The number of consecutive source Data Array values to be moved to consecutive
target locations, starting at the respective offsets
Conditional_Data_Array
The name of a Data Array to be used for conditional moves. See Section 5.1.1.3 for
more information.
Conditional_Offset
The offset into the Conditional_Data_Array where the conditional bits for the move
are defined. The value found at this specified location must be non-zero for the move
to be executed. If the value is zero, the move is inhibited.
Task_Name
If a task name is specified, the move operation becomes a continuous task on the
FieldServer that is executed at the scan interval specified.
Scan_Interval
The time interval at which the task will be repeated. A task name must be specified if a
scan interval is specified.