Enable Axes

NI-Motion VI

Enable Axes

Enables the operating axes and defines the PID and trajectory update rate.

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
Axis Bitmap is the bitmap of enabled axes.
Axis 1—If true, axis is enabled. If false, axis is disabled (default).
Axis 2—If true, axis is enabled. If false, axis is disabled (default).
Axis 3—If true, axis is enabled. If false, axis is disabled (default).
Axis 4—If true, axis is enabled. If false, axis is disabled (default).
Axis 5—If true, axis is enabled. If false, axis is disabled (default).
Axis 6—If true, axis is enabled. If false, axis is disabled (default).
Axis 7—If true, axis is enabled. If false, axis is disabled (default).
Axis 8—If true, axis is enabled. If false, axis is disabled (default).
Sample PID Rate is the PID control loop and trajectory generator update rate, for NI 73xx motion controllers. For stepper axes, this parameter also determines how often the step generator is updated. The range for this parameter is 0 to 7, with a default of 3 (250 µs).

Update Rate = (Sample PID Rate + 1) x 62.5 µs

Sample PID Rate Update Rate
0 62.5 µs
1 125 µs
2 188 µs
3 250 µs (default)
4 312 µs
5 375 µs
6 438 µs
7 500 µs
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.
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.
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 Enable Axes VI is used to enable the specific axes required for the application and set the servo (and stepper) update or sample rate. An axis is enabled for operation by a True in the corresponding location in the bitmap. Only enabled axes are updated and there is a direct correspondence between the number of enabled axes and the fastest update rate allowed.

The fastest update rate is only achievable when all axes are single-feedback servo axes and no extra encoders are enabled.

Caution  Update rates that are too fast for the number of axes, stepper outputs, and/or encoders enabled generate an error and the previous setting remains in effect. Refer to Errors and Error Handling for information about errors and error handling.

The Enable Axes VI automatically enables the feedback devices mapped to the enabled axes. It is not necessary to explicitly enable the encoders or ADC channels before enabling the axes. Axes must be killed before they are disabled or the error NIMC_wrongModeError is generated. Refer to the Enable Encoders and Enable ADCs VIs for more information about enabling and disabling these resources when you are using them not mapped to an axis.

Note  ADC channel scan rate is affected by the number of channels enabled. This could limit the effective update rate (for axes with analog feedback). Refer to the Enable ADCs VI for more information.
Caution  Illegally configured axes cannot be enabled, and attempting to do so generates an error. For example, an attempt to enable a servo axis that does not at least have its Primary Feedback device mapped generates an error.

You also can set the update rate slower than the maximum. This is useful in many applications to scale the effective range of the PID control loop parameters and/or to improve stability. Refer to the Load Single PID Parameter VI for more information about the PID parameters affected by the update rate.

You cannot change the PID rate when axes are enabled. To change the PID rate from the default (250 µs) while not changing the number of axes enabled, you must disable all axes and then re-enable them with the new PID rate.

Caution  If an axis is configured for onboard commutation, the axis attempts to initialize the current phase. Depending on the phase initialization type, this may cause the axis to move. If you disable the axis, the current phase information and the phase initialization occur when you enable the axis. 
Note  To reduce the PID rate further, set the PID Rate Multiplier attribute in the Control Parameter parameter of the Load Advanced Control Parameter VI.

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:

  • The ADC channel scan rate is affected by the number of channels enabled. This could limit the effective update rate (for axes with analog feedback). Refer to the Enable ADCs VI for more information.
  • This VI is used to enable the specific axes required for the application and set the servo (and stepper) update or sample rate. An axis is enabled for operation by a True in the corresponding location in the bitmap. Only enabled axes are updated and there is a direct correspondence between the number of enabled axes and the fastest update rate allowed.

    Number of
    Enabled Axes
           
    (7330/40/90)       
    Fastest
    Update Rate
     
    Number of
    Enabled Axes
           
    (7350)       
    Fastest
    Update Rate
     
    1 62 µs 1–2 62 µs
    2 125 µs 3–4 125 µs
    3 188 µs 5–6 188 µs
    4 250 µs 7–8 250 µs
  • The fastest update rate is achievable only when all axes are single-feedback servo axes and no extra encoders are enabled.
    Caution  Update rates that are too fast for the number of axes, stepper outputs, and/or encoders enabled generates an error and the previous setting remains in effect. Refer to Errors and Error Handling for information about errors and error handling.
  • The Enable Axes VI automatically enables the feedback devices mapped to the enabled axes. It is not necessary to explicitly enable the encoders or ADC channels before enabling the axes. Axes must be killed before they are disabled or the error NIMC_wrongModeError is generated. Refer to the Enable Encoders and Enable ADCs VIs for more information about enabling and disabling these resources when you are using them not mapped to an axis.

NI SoftMotion Controller Considerations

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

  • Use the Load Axis Configuration Parameter function to enable axes nine through fifteen.
  • It is not necessary to kill, or deactivate, an axis before disabling it.
  • When you are using this VI with the NI SoftMotion Controller, you can enable axes, but you cannot change the PID rates. To configure the axes on these drives, use the configuration utility that is included with the Copley Controls drive.
  • The NI SoftMotion Controller host loop update rates depend on the number of axes in the system as follows:
    • 10 ms for a motion control system that uses 1 to 8 axes
    • 20 ms for a motion control system that uses 9 to 15 axes