The RMP Motion Controller

Open, powerful, and economical PC based EtherCAT soft motion controller for OEM machine builders

  • Create EtherCAT machine control applications in C++, C#, VB, RapidScript
    (proprietary language), Python, and all supported languages by GRPC.

  • Operating system agnostic.

  • 5 available APIs for real-time axis, robotic, or CNC motion control.

  • Up to 128 coordinated axes, 12,000 digital, and 1,000 analog I/O points.

  • Use any EtherCAT compatible servo, stepper, I/O, and sensors.

  • Integrated support for 43+ EtherCAT node manufacturers and counting.

  • 400+ happy customers and counting.

Programming Languages

10+

Software APIs

5

Coordinated Axes

64+

Supported EtherCAT Nodes

40+

Happy Customers

400+

logo_vb

Save Money

Cost effective for OEM machine builders.

Save Time

Use latest software tools to speed up development.

Save Headaches

RSI is here to support you and ensure your success.

Have Fun

Our feature rich controller makes development enjoyable.

Try Our Free Trial!

Sign up for a 60-day software evaluation.
An Engineer will assist you shortly.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Motion Controller Features

The RMP EtherCAT Motion Controller is packed with features and tools to help you build smart and powerful machines

Motion

Point-to-Point

Moves from current command position to a new position: Trapezoidal or S-Curve Move.

Streaming

Stream of raw data points which represent an entire motion profile. PT, PVT, PVAJT motion streaming types are available.

Path

Geometric path motion allows complex 2D and 3D paths to be specified using simple geometric elements (arcs and lines).

Velocity

Maintain constant velocity between points. An example is Conveyor axis. The ability to gradually ramp up or ramp down the velocity.

Modify

Point to Point and velocity motion trajectories can be modified on-the-fly, including positions, velocities, accelerations, deceleration, and jerk percent.

Hold

Motion Hold allows the user to command (and therefore load) a motion that should not execute immediately. The motion will be triggered by some real-time condition monitored by the RMP motion control firmware.

Gantry

Multiple control schemes are available including algorithms where separate PID’s control the linear and Yaw Axis.

Camming

The position of a slave axis is mathematically linked to the position of a master axis. Create a table and start with camming.

Electronic Gearing

Configure an axis’ commanded position to be geared off of another axis.

Capture (Probe)

Capture enables high accuracy position latching based on an external electrical input. Typical sources of external electrical inputs are home switches and encoder index pulses.

Dual Loop Feedback

Enable secondary feedback.

Feed Rate (Retrace)

Feed Rate (or Retrace) is a functionality that allows you to alter the speed of a loaded motion profile without affecting the motion profile (trajectory) itself.

Multi-Axis Control

The MultiAxis object allows you to map two or more axes together and command synchronized motion

Cartesian

This provides a unifying control interface in cartesian space for a diverse set of robots and machines.

G-Code

The RMP soft motion controller has the ability to parse and plan 3D coordinated motions based on the G-Code syntax. This allows for easy adoption of our controller if you are already familiar with G-Code.

IO

Real-Time Triggers

Configure input comparisons to trigger outputs or other events. Conditions are monitored at the firmware level. When the condition is true, the configured response is generated.

I/O Control

Control general purpose digital inputs or outputs and analog inputs or outputs.

Dedicated I/O

Dedicated I/O are motion controls signals designed for specific purposes, unlike User I/O which can be used for anything.

Configure

Tuning

Adjust (a motor/axis, for example) for maximum usability or performance. Calibrating something (a musical instrument or electronic circuit) to a standard frequency.

Homing

Execute pre-defined or custom homing routines.

Safety (FSoE)

Configure input comparisons to trigger outputs or other events. Conditions are monitored at the firmware level. When the condition is true, the configured response is generated.

Settling

Axis Settling is the process of the RMP firmware determining that all settling criteria for a move has been met.

Backlash Compensator

In mechanical engineering, backlash, sometimes called lash or play, is clearance or lost motion in a mechanism caused by gaps between the parts.

Position Compensator

A compensator can be used to add a delta offset on the position of one axis based on the position of one or two axis.

Data

Real-Time Recording

A Recorder object provides a mechanism to collect and buffer any data (positions, velocities, etc.) in the controller’s memory.

Error Logging

Error logs record motion control object errors that occur during the execution of code so you can target problems when debugging.

Supported Nodes

Many supported EtherCAT manufactures and counting

43

Manufacturers

90

Nodes

Operating Systems

Use the RMP with your preferred OS.

windows symbolintimo logowindows symbolwindows symbol

Software APIs

Our RMP controller offers different ways to program motion and IO

RapidCode API

RapidCode is the RMP's primary API. It is powerful and intuitive, and allows developers to quickly create machine control applications in C++, C#, VB.NET, RapidScript (proprietary), or any GRPC supported language.

Learn More

RapidRobot API

Easily deploy an EtherCAT robot using our UI and API. We handle all kinematics, collision, and singularity. Great option if you want to add robots to your existing EtherCAT machine.

Learn More

RapidSequencer API

Powerful script language to quickly deploy machine code. OEMs can load a program with motion, IO, and math blocks that is executed in a real-time deterministic manner.

Learn More

RapidCodeRT API

RapidCode Real-Time is the same as RapidCode but offered in C++ language. RapidCodeRT is compiled and runs inside the RTOS.

Learn More

RapidGCode API

A G-Code interpolator and UI. The G-Code interpolator is also accessible through the RapidCode API. The RapidCode API enables OEMs to easily add to their custom UI. Simple applications can use the UI to reach production quickly. We use RMP Motion Controller in the back-end to guarantee real-time deterministic performance.

Learn More

RapidAnalytics API

Web based portal to analyze machine performance and throughput so an OEM’s support team and management are able to collect data from machines shipped worldwide.

Learn More

Software Tools

Our tools facilitate development and troubleshooting

RapidSetup

RapidSetup is an easy to use machine deployment tool to help with configuration, homing, tuning, commanding motion, and troubleshooting.

Learn More

MotionScope

Plots data from any address on the motion controller. It is similar in its presentation to an oscilloscope. Used when developing and troubleshooting motion control systems.

Learn More

VM3

The VM3 utility allows you to view and alter data stored in memory in either the RMP, QMP, or ZMP controllers. The VM3 is especially useful for locating memory addresses for plotting custom signals in MotionScope. When using VM3 to alter data on motion controllers, exercise extreme caution at all times.

Learn More

RsiConfig

Using the rsiconfig.exe utility will help guarantee that your RMP is correctly configured and ready to run before your RapidCode application starts. It also can help you generate XML configurations for your current settings.

Learn More

BodeTool

The Bode Tool is a utility that makes it easy to get frequency domain data from your system. The Bode Tool makes it easy to get the data a controls engineer needs to set up and tune the control system properly.

Configurations

The RMP can be configured in many ways

Overview
  • The most popular and default motion controller configuration.

  • Your application (UI or HMI) has been developed in Windows.

  • Need a high-performance machine for real-time and deterministic needs.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Overview
  • Your application (UI or HMI) has been developed in Windows but needs to load some user logic in the RTOS.

  • Required to leverage RapidCodeRT or RapidSequencer software products.

  • Need to load control logic (if/else, for/while) or instructions (RapidCodeRT, math, comparison, etc.) in the RTOS.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

Real-Time RapidCode API

The real-time RapidCode® API for the INtime® or INtime® Distributed RTOS.

IO (NIC or Serial)

Ethernet-based or serial connection (COMM: RS232, RS422, or RS485) to external devices.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

User Firmware

Low-level control and operation of the user’s custom program.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Overview
  • Your application (UI or HMI) has been developed in a non-Windows OS (ex: Linux, VxWorks, Unix, RTX/RTSS).

  • Your motion application will run inside the RTOS. Great for when every sub-microsecond matters.

  • You would like to program in C++.

  • Requires RTOS Development Kit.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

Real-Time RapidCode API

The real-time RapidCode® API for the INtime® or INtime® Distributed RTOS.

IO (NIC or Serial)

Ethernet-based or serial connection (COMM: RS232, RS422, or RS485) to external devices.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

Server Manager

Coordinate inputs and outputs between the Host System and Motion Controller over an Ethernet-based interface.

User Firmware

Low-level control and operation of the user’s custom program.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Hardware Options

Select which hardware to use with RMP

Software
License

Use the RMP in a PC of your choice. This USB is transferrable.

Industrial
PC

RMP comes pre-installed in a ruggedized fanless industrial PC customized to suit.

Ruggedized
Industrial PC

RMP comes pre-installed in a fanless industrial Panel PC customized to suit.

ready to start automating?

412 customers have already automated with help of our products and team

The RapidCode API

The RMP's powerful, intuitive, and multi-language Motion Control software API

Axis

The axis class represents a single axis of motion control. This class provides an interface for commanding motion, reading trajectory parameters, configuring filter (control law) parameters, homing, limit switch configuration, motor configuration, position capture, electronic gearing and node information.

Multi-Axis

The MultiAxis class provides an interface to a group or collection of axes. Use the MultiAxis class when coordinated, synchronized or path motion is required.

IO

The IO class provides an interface to an I/O Node. An I/O node can have various combinations of digital or analog inputs and outputs.

IO Point

The IOPoint class provides a common interface to any I/O point, regardless of where it resides in the network (Motion Controller, Axis, or I/O Node).

Motion Controller

The MotionController class Provides an interface to general controller configuration, firmware upload/download, network, and data recording.

RSI Error

The RSIError object is thrown as an exception by all RapidCode classes. It contains and error number, and a text message which describes the error. Throwing exceptions can be disabled on all RSI classes. If throwing exceptions is disabled, a log of RsiErrors can be accessed.

Success Stories

Successful companies rely on RSI to grow their business

“Our experience with RSI has been great on this project. The package developed by RSI, especially the GUI is extremely well done and very user friendly. The field support on a world wide basis has also been excellent and we are very thankful to have RSI as a partner.”

Hunt Valve

“Overall, it has been a good experience. From the upfront initial visits to the presentation to the final delivery, installation, and implementation into manufacturing, it has been a positive experience.”

Windy City Wire

“We tried a lot of different motion controllers in the past, but now we have found the RMP motion controller from RSI.”

IGEMS

“RSI makes a great team member for development of motion applications!”

MachAET

“The well documented API was easy to work with and had good support. Using RMP enables us to fully integrate hardware control in our application, making the user experience much smoother.”

Nortek Group

“Our finished product impressed our customer enough that upon accepting the machine and before taking it home they sent us more work. This wouldn’t have been possible without some great support from RSI!”

JT Automation

Try Our Free Trial!

Sign up for a 60-day software evaluation.
An Engineer will assist you shortly.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.