Load All PID Parameters

NI-Motion VI

Load All PID Parameters

Loads all 8 PID control loop parameters for an axis.

Details

Device Compatibility

DeviceCompatibility
7330
N
7340
Y
7344
Y
7350
Y
7390
N
NI SoftMotion Controller for CANopen—Accelnet
N
NI SoftMotion Controller for CANopen—Xenus
N
PID Parameters data structure contains all eight PID parameters in the following structure:
Kp—Proportional Gain
Ki—Integral Gain
IL—Integration Limit
Kd—Derivative Gain
Td—Derivative Sample Period
Kv—Velocity Feedback Gain
Aff—Acceleration Feedforward Gain
Vff—Velocity Feedforward Gain
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 is the axis for which to load PID parameters. Valid axis numbers are 1 through 15 for all NI motion controllers. On controllers with less than eight axes, configuring non-existent axes has no effect.
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 All PID Parameters VI allows you to set all 8 PID parameters at the same time for a given axis. You can call this VI at any time. However, it is typically used during initialization to configure and tune an axis. NI-Motion also offers a Load Single PID Parameter VI, which you can use to change an individual value on-the-fly without having to worry about the other unchanged values.

Refer to the motion controller documentation for an overview of the PID control loop on the NI motion controller and to the Load Single PID Parameter VI for descriptions on the individual PID parameters and their ranges.

Note  If you are doing onboard programming and are using Inp Vect to get the data this VI needs, this VI reads the variables starting at the memory address pointed to by Inp Vect in the following order: Kp, Ki, IL, Kd, Td, Kv, Aff, Vff.

Loading a Second Set of PID Parameters

To load a second set of PID parameters, use the Load All PID Parameters and Load Single PID Parameter VIs to load the second set of PID values. Instead of using regular axis resource IDs, such as axis 1 = 0x1 (1), axis 2 = 0x2 (2), and so on, use the following alternate resource IDs: axis 1 = 0xA1 (161), axis 2 = 0xA2 (162).

Use the Load Advanced Control Parameter VI to enable the new set of PID parameters based on the condition specified in the value parameter.

Refer to the Remarks section of the Load Advanced Control Parameter topic for more information about how to change feedback while the axis is enabled.