Wait for Move Complete

NI-Motion VI

Wait for Move Complete

Waits up to the specified period of time for a move to be completed on an axis, vector space, group of axes, or group of 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
Poll Interval (20 ms) is the amount of time, in milliseconds, to wait between successive queries to the controller to determine if the blend is complete.
Timeout (10,000 ms) is the amount of time, in milliseconds, to wait for the blend to become complete.
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 can select an axis (1 through 15), vector space (0x11 through 0x14), multiple axes (Axis Control), or multiple vector spaces (Vector Space Control). When simultaneously acting on multiple axes or vector spaces, the Axis/VS Map parameter indicates which axes or vector spaces are involved.
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.
Axis/VS Map is the bitmap of axes or vector spaces to wait for. It is only required when multiple axes or vector spaces are selected with the Axis or Vector Space parameter. Otherwise, this parameter is ignored.

When waiting for multiple axes (Axis or Vector Space = Axis Control):

Axis 1—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 2—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 3—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 4—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 5—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 6—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 7—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).
Axis 8—If true, move must be complete on the specified axis. If false, move can be either complete or not complete on the specified axis (do not care).

When waiting for multiple vector spaces (Axis or Vector Space = Vector Space Control):

Vector Space 1—If true, move must be complete on the specified vector space. If false, move can be either complete or not complete on the specified vector space (don't care).
Vector Space 2—If true, move must be complete on the specified vector space. If false, move can be either complete or not complete on the specified vector space (don't care).
Vector Space 3—If true, move must be complete on the specified vector space. If false, move can be either complete or not complete on the specified vector space (don't care).
Vector Space 4—If true, move must be complete on the specified vector space. If false, move can be either complete or not complete on the specified vector space (don't care).

To wait for move complete on a single axis or vector space, set the Axis or Vector Space selector to the appropriate axis or vector space. The Axis/VS Map parameter is ignored.

To wait for move complete on multiple axes, the Axis or Vector Space selector is set to Axis Control and the Axis/VS Map bitmap defines the axes to wait for. They must all be move complete, for the
Move Complete output to be true. Similarly, to wait for move complete on multiple vector spaces, the Axis or Vector Space selector is set to Vector Space Control and the Axis/VS Map bitmap defines the vector spaces to wait for.

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.
Move Complete indicates whether or not the move is complete on the axes or vector spaces specified.

True (On) = Move complete
False (Off) = Move not complete

Using This VI

This utility VI is built on top of the Check Move Complete Status VI, and is provided for your programming convenience. This VI compares the axes or vector spaces specified in the Axis or Vector Space and Axis/VS Map input parameters with the move complete status for the appropriate axes or vector spaces. It does this repeatedly, with the Poll Interval time determining the frequency that the controller is queried. When the move is complete, this VI returns with Move Complete set to True, otherwise it waits for the amount of time specified by the Timeout parameter. If the VI waits longer than the specified timeout, it returns NIMC_eventTimeoutError and Move Complete is set to false.

The output is a single true/false value indicating whether or not the specified move or moves are complete.

This VI does not check for following error status or axis off status. Checking for faults during moves is recommended. To do this, use Read per Axis Status, which returns following error and axis off status in addition to the move complete status. Refer to the NI-Motion Help for more information and example code.

For more information about move complete status, refer to the Read Trajectory Status and Configure Move Complete Criteria VIs.

Note to LabVIEW RT users  If this VI is used with LabVIEW RT in a time-critical priority thread, the entire thread is put to sleep until the next multiple of Poll Interval. For more information refer to the LabVIEW RT documentation