NI Motion to SoftMotion Migration

Publish Date: Oct 17, 2017 | 0 Ratings | 0.00 out of 5 | Print


NI motion controllers provided PCI- and PXI-based motion control through hardware drive interface connections to motor drives. Each NI motion controller provided two to eight axes of stepper or servo motor drive control depending on model. Users could assign up to three axes to a vector space allowing for multiaxis, synchronized motion control.

The LabVIEW SoftMotion Module delivers software-defined motion control to the NI platform, from simple motion control to synchronized servo drives on real-time controllers to advanced FPGA-based servo drive algorithms on CompactRIO. This guide specifically covers hardware and software combinations that provide motor drive interface options similar to NI motion controllers.

Table of Contents

  1. NI Motion Hardware Connections to Stepper and Servo Drives
  2. SoftMotion Connections to EtherCAT Stepper and Servo Drives
  3. SoftMotion API improvements over the NI-Motion API
  4. Related Links

1. NI Motion Hardware Connections to Stepper and Servo Drives

Figure 1: NI-Motion Controller Hardware Connections

NI motion controllers can interface to stepper motor drives or P-command servo drives using digital pulses in Step and Direction or CW/CCW mode. Additional drive control signals such as Enable and Fault are provided for each axis, as well as feedback inputs for quadrature encoders and limit switches.

Similarly, NI motion controllers can interface to traditional servo motor drives using an analog voltage. The motion controller closes the position, velocity, and current control loops, and then commands the drive using an analog voltage torque command. Unlike stepper motors, servo motor control requires position feedback in the form of a quadrature encoder signal. Servo drives such as the Kollmorgen AKD may support other types of feedback and emulate a quadrature encoder signal output to the motion controller.

For all drive types, a Universal Motion Interface (UMI) is connected to the 68-pin connector on the controller to access the signals from an NI motion controller. NI offers UMI options with both screw terminal and D-SUB connectivity.

Back to Top

2. SoftMotion Connections to EtherCAT Stepper and Servo Drives

To minimize wiring complexity, configuration effort, and feedback compatibility concerns, NI recommends using compatible EtherCAT motor drives for new applications. EtherCAT motor drives allow for greatly simplified wiring and system expandability, as each drive requires a single Ethernet cable to extend the motion control network. NI provides several different form factors of real-time controllers supporting EtherCAT, including CompactRIO, Industrial Controllers, and PXI.

Figure 2: SoftMotion EtherCAT Hardware Connections

Rather than wiring some signals to the drive and others to a motion controller, the EtherCAT drive is the end-point for all motion-related I/O. All compatible EtherCAT drives support limit and home switch inputs and a range of feedback options, while some may additionally support high-speed position capture, general-purpose DIO, and safety-rated emergency stop signals.

NI has partnered with several leading EtherCAT drive vendors to provide SoftMotion support for their drives. This support is installed through a SoftMotion Drive Interface (SDI) Plug-In through the LabVIEW Tools Network. For a full list of currently supported EtherCAT drives and to learn more about SDI, visit the SDI web page.

Using compatible EtherCAT motor drives with the SDI Plug-In allows access to the SoftMotion API with the same user code as other SoftMotion hardware. SoftMotion performs multiaxis trajectory generation, and then sends cyclic position commands to each drive on the EtherCAT network. This allows for multiaxis synchronization beyond the three-axis limit of NI motion controllers. The maximum number of drives and EtherCAT update rate of the system depend on the performance of the LabVIEW Real-Time controller.

Back to Top

3. SoftMotion API improvements over the NI-Motion API

NI motion controllers are configured and tested using Measurement & Automation Explorer (MAX). Each axis configuration setting is exposed in MAX for the number of axes currently accessible on the motion controller. These properties can be overwritten in LabVIEW using the NI-Motion API. The NI-Motion API uses a legacy interface with external error handling, no properties and methods, and hard-coded enums for controller IDs and axis numbers.

Because the NI-Motion API is a hardware driver to an external motion controller, API access to the controller is limited by the amount of commands being sent. This results in most NI-Motion code being executed in parallel, as is found in most NI-Motion examples.

Figure 4: NI-Motion API Straight Line Move Example

SoftMotion uses the LabVIEW project to create, define, and configure virtual axes that are bound to either simulated axes for testing or hardware axes present in the system. All SoftMotion configuration properties are accessible in LabVIEW. The SoftMotion API is accessible using either Express VIs for quick configuration or Property and Invoke nodes for programmatic access. Resource names for axes and coordinate spaces autopopulate from the project, and each data type is dynamically updated appropriately.

Because SoftMotion is built for real-time controllers, the SoftMotion engine is deterministically accessible by user code. This allows for precise software timing in commanding and reading data from the motion controller. Additionally, the SoftMotion API is natively parallel, so moves can be commanded in parallel from reading the axis position or commanding a stop move.

Figure 5: SoftMotion API Straight Line Move Example

SoftMotion's intuitive API, axis configuration, and flexible hardware options create a software-defined motion controller that allows code reuse for different axis types and controllers. Easily move an application designed for CompactRIO with stepper drives to a real-time Industrial Controller with EtherCAT servo drives with only axis configuration changes. SoftMotion can scale with your application from simple single axis positioning stages to multiaxis, coordinated motion control systems.

Back to Top

4. Related Links

Building an NI Motion Control System

Using EtherCAT Motion Drives with NI Real-Time Controllers

Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No