Trajectory Control
This functions group contains detailed descriptions of functions used to set up and control motion trajectories on the NI motion controller. It includes functions to load double-buffered trajectory parameters, read back instantaneous velocity, position and trajectory status, as well as functions to configure blending, gearing, and other advanced trajectory features.
Double buffered parameters for axes and vector spaces include acceleration, deceleration, velocity, s-curve, operation mode, target position, and circular, helical, and spherical arc parameters. You can send these parameters to the controller at any time, but they do not take effect until you execute the next Start Motion or Blend Motion function. This double buffering allows you to set up moves ahead of time, synchronizing them with a single Start Motion or Blend Motion call.
Other trajectory functions allow you to configure the operation of trajectory generators and set status thresholds. These parameters include following error, blend factor, gear master, ratio and enable, position modulus, velocity threshold, torque limit, torque offset, and software limit positions. Unlike double-buffered parameters, if you change these parameters on the fly, they take effect immediately. Also in this category are functions to reset position to zero or another value and to force a velocity override.
During a move, you can read the instantaneous values of position, velocity, following error, and DAC output (torque). There are also functions to read the following trajectory status: move complete, profile complete, blend complete, motor off, following error trip, velocity threshold, and DAC limit status. These trajectory values and status are used for move sequencing, system coordination, and overall monitoring purposes.
Finally, NI-Motion offers a set of functions to acquire time-sampled position and velocity data into a large onboard buffer and then later read it out for analysis and display. These functions implement a digital oscilloscope that is useful during system set up, PID tuning, and general motion with data acquisition synchronization.