Load Velocity

NI-Motion VI

Load Velocity

Loads the maximum velocity for an axis or vector space.

Details     Remarks

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
Velocity is the target or maximum velocity in counts/s (servo axes) or steps/s (stepper axes). The default is 10000.
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 is the axis or vector space to control.
Inp Vect indicates the source of the data for this VI. Available input vectors include immediate (0xFF), variable (0x01 through 0x78), or indirect variable (0x81 through 0xF8). 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.
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

The Load Velocity VI specifies the maximum trajectory velocity for individual axes or vector spaces. When executed on a vector space, the value controls the vector velocity along the vector move path. For velocity control applications, the sign of the loaded velocity specifies the move direction.

Velocity is a double-buffered parameter so you can load it on the fly without affecting the move in process, and it takes effect on the next Start or Blend Motion call. After it is loaded, this parameter remains in effect for all subsequent motion profiles until re-loaded by this VI. You do not need to load velocity before each move unless you want to change the velocity.

Note  Use Load Move Constraints to load a velocity of less than 1 count/sec.
Note  The velocity loaded with this VI is the maximum move velocity. Actual velocity attainable is determined by many factors including PID tuning, length of move, acceleration and deceleration values, and physical constraints of the amplifier/motor/mechanical system.
Note  Refer to VI Execution Times for benchmark timing information about your controller.

Remarks

This section includes information about how the behavior of this VI differs among the controllers that support it.

NI 73xx Controller Considerations

The following list includes considerations you must make when you are using this VI with a 73xx motion controller:

  • Velocity values in counts/s or steps/s are also converted to the internal 16.16 fixed-point format in units of counts or steps per sample (update) period before being used by the trajectory generator. Although the motion controller can control velocity to 1/65,536 of a count or step per sample, it is impossible to load a value that small with the Load Velocity VI, as shown in the following formula:

    Velocity in counts or step/s = Vmin × ()

    where:
    Vmin is 1/65,536 counts/sample or steps/sample, and
    Ts is the sample period in seconds per sample.

    Even at the fastest update rate,

    Ts = 625 × 10-6

    × 16,000 = 0.244 counts or steps/s

  • You can calculate the maximum velocity with the following equation:

    maximum velocity = Vmax

    where:
    Vmax = 20 MHz for servos,
    8 MHz for steppers on a 7350 controller,
    4 MHz for steppers on a 7330/40/90 controller,
    and is constrained by acceleration/deceleration according to the following equation:

    velocity (65536 × deceleration) – acceleration

    where velocity is in counts/sample and acceleration and deceleration are in counts/sample2.

  • NI 7350—For servo axes, the Velocity range is from ±1 to ±20,000,000 counts/s. For stepper axes it is ±1 to ±8,000,000 steps/s. The upper range limits are the physical limitations of the encoder inputs and stepper generator outputs.
  • NI 7340—For servo axes, the Velocity range is from ±1 to ±20,000,000 counts/s. For stepper axes it is ±1 to ±4,000,000 steps/s. The upper range limits are the physical limitations of the encoder inputs and stepper generator outputs.
  • NI 7330/7390—The Velocity range is ±1 to ±4,000,000 steps/s. The upper range limits are the physical limitations of the encoder inputs and stepper generator outputs.
  • NI-Motion firmware uses a 16.16 fixed-point format internally to represent velocity in counts/sample period or steps/sample period and acceleration/deceleration in counts/sample period2 or steps/sample period2. If you change counts or steps per revolution or change the update rate using Enable Axes, you must reload the velocity and acceleration/deceleration.

NI SoftMotion Controller Considerations

The following list includes considerations you must make when you are using this VI with the NI SoftMotion Controller:

  • The range of velocity values is not limited by the fixed 16.16 calculation, and full 64-bit precision is maintained.
  • Use Load Counts/Steps per Revolution to set the Counts(Steps)/Rev value to 1. Otherwise, NI-Motion returns an error.