Read Blend Status

NI-Motion VI

Read Blend Status

Reads the Blend Complete status for all axes or vector spaces.

Details

Device Compatibility

DeviceCompatibility
7330
Y
7340
Y
7344
Y
7350
Y
7390
Y
NI SoftMotion Controller for CANopen—Accelnet
Y
NI SoftMotion Controller for CANopen—Xenus
Y
Board ID is a unique number assigned by Measurement & Automation Explorer (MAX) used to send and receive commands and data to or from a specific NI motion controller.
Axis or Vector Space selects axis, axis control, vector space, or vector space control for move complete, or axis or axis control for all other types.
Ret Vect indicates the destination for the return data generated by this VI. Available return vectors include return data to the host (0xFF), return data to a variable (0x01 through 0x78), return data to an indirect variable (0x81 through 0xF8), and do not return data (0). Refer to Input and Return Vectors for more detailed information.
error in (no error) describes error conditions that occur before this VI runs. The default input of this cluster is no error. If an error already occurred, this VI returns the value of error in in error out. The VI runs normally only if no incoming error exists. Otherwise, the VI passes the error in value to error out. The error in cluster contains the following parameters:
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code.
code is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message.
source is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred.
Blend Status is a bitmap of blend complete status for all axes or all vector spaces.

When reading blend status for axes (Axis or Vector Space = Axis Control):

Axis/VS 1—If true, blend is complete on axis. If false, blend is pending.
Axis/VS 2—If true, blend is complete on axis. If false, blend is pending.
Axis/VS 3—If true, blend is complete on axis. If false, blend is pending.
Axis/VS 4—If true, blend is complete on axis. If false, blend is pending.
Axis 5—If true, blend is complete on axis. If false, blend is pending.
Axis 6—If true, blend is complete on axis. If false, blend is pending.
Axis 7—If true, blend is complete on axis. If false, blend is pending.
Axis 8—If true, blend is complete on axis. If false, blend is pending.

When reading blend status for vector spaces (Axis or Vector Space = Vector Space Control):

Axis/VS 1—If true, blend is complete on vector space. If false, blend is pending.
Axis/VS 2—If true, blend is complete on vector space. If false, blend is pending.
Axis/VS 3—If true, blend is complete on vector space. If false, blend is pending.
Axis/VS 4—If true, blend is complete on vector space. If false, blend is pending.
Bd ID Out is provided for flow control. You can string together NI-Motion VIs by wiring the Bd ID Out terminal of one VI to the Board ID terminal of the next VI.
Resource Output is the Axis, Vector Space, ADC, or Encoder you wired into the VI. Use Resource Output to pass the resource to another VI and/or to display information about the device.
error out contains error information. If error in indicates an error, error out contains the same error information. Otherwise, it describes the error status that this VI produces.
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code.
code is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message.
source is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred.

Using This VI

Blending smoothly combines two move segments on an axis, axes, or vector space(s). When continuously blending move segments into each other, it is necessary to wait until the blend is complete between the previous two moves before you load the trajectory parameters for the next move to blend.

The status information returned by the Read Blend Status VI indicates that the previous blend is complete and the axis, axes, or vector space(s) are ready to receive the next blend move trajectory data.

Note  Attempting to execute a Blend Motion VI before the previous blend is complete on the axes involved generates a modal error. Refer to Errors and Error Handling for information about errors and error handling.

Example

While blending a 2D vector straight-line move, you call the Read Blend Status VI with Axis or Vector Space = Vector Space Control to select vector space status. If the blend on vector space 1 is still pending, this VI returns a Blend Status, which corresponds to the following bitmap.

Axis/VS 1  Axis/VS 2  Axis/VS 3  Axis/VS 4  Axis 5  Axis 6 Axis 7  Axis 8 
False  True  True  False  False  False False  False 

The blend is complete (1) on vector spaces 2 and 3 (or they do not exist), but the blend is still pending (0) on vector space 1.

For your programming convenience, two utility VIs—Check Blend Complete Status and Wait for Blend Complete—are provided, which allow you to specify an axis, vector space, group of axes, or group of vector spaces, and find out if a blend is complete, or wait until a blend is complete. These VIs return a simple true/false value indicating whether or not a blend is complete.