|
APIs, concepts, guides, and more
|
Common questions about the RMP.
How do I request a RMP evaluation license?
Please visit the following link: RMP evaluation license and follow all instructions.
The default evaluation period is 30 days. Please contact us at tech@roboticsys.com if you need to extend RMP evaluation by an additional 30 day period.
What type of Ethernet chipsets (NICs) does RMP support?
RMP for Windows/INtime supports most Intel and Realtek Ethernet chipsets. RMP for Linux works with any motherboard or PCIe NIC.
See RMP PC hardware and performance requirements for more information.
What type of CPUs and chipsets does RMP support?
RMP for Windows/INtime supports most Intel and AMD processors. RMP for Linux works with most Intel, AMD and ARM processors.
See RMP PC hardware and performance requirements for more information.
What is RapidCode?
A software API that allows you to rapidly develop applications to suit all your motion and I/O needs. See the RapidCode page for more details.
Is RapidCode offered in 32-bit and 64-bit?
Yes. A user can write an application using our 32-bit or 64-bit libraries.
What files do I need to setup my C++ project?
*Windows 32-bit:**
*rsi.h** Primary Header file. *RapidCode.lib** [32bit] - Import Library. *RapidCode.dll** [32bit] - C++ dll.
*Windows 64-bit:**
*rsi.h** Primary Header file. *RapidCode64.lib** [64bit] - Import Library. *RapidCode64.dll** [64bit] - C++ dll.
*Linux:**
*rsi.h** Primary Header file. *librapidcode.so** [64bit] - Shared Object Library.
*INtime:**
*rsi.h** Primary Header file. *RapidCodeRT.lib** [32bit] - Import Library. *RapidCodeRt.rsl** [32bit] - C++ Real-time Shared Library.
What files do I need to setup my C# project?
*32-bit:**
*RapidCode.NET.dll** [32bit] - .NET Standard 2.0 DLL
Note: RSI.System.dll is not needed, but some users might want to save Axis configurations that are not stored in the motion controller such as user units.
*64-bit:**
*RapidCode64.NET.dll** [64bit] - .NET Standard 2.0 DLL
What version of Visual Studio can I use?
2010, 2015, 2017, 2019, and/or 2022.
Which .NET frameworks can I use with RapidCode.NET.dll?
*RapidCode.NET.dll** is built for .NET Standard 2.0, making it compatible with applications built on the following frameworks:
— Windows —
.NET Standard
2.0β
2.1β
.NET Framework
4.5β 4.5.1β 4.5.2β
4.6β 4.6.1β
4.6.2β
4.7β
4.7.1β
4.7.2β
4.8β
.NET Core
2.0β
2.1β
2.2β
3.0β
3.1β
.NET (formerly .NET Core)
5β
6β
7β
8β
9β
10β
— Linux —
.NET
8β
9β
10β
Which MSVC runtime do I require to run my application?
The RapidCode API links to the runtime library which works for 2015, 2017, 2019, 2022. We offer both 32-bit (x86) and 64-bit (x64).
The 32-bit and/or 64-bit "Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022" can be downloaded from Microsoft's latest-supported-vc-redist site.
Which folder should I copy the RMP runtime license file?
Ensure this (rsi.lic) file is placed in your RapidCode folder C:\RSI\X.X.XX by default in Windows, \rsi\ in Linux.
How do I change RMP EtherCAT controller sample rate from 1KHz to 4KHz?
*For first time:**
*For future runs:**
*In code using** RapidCode :
Can we just move one Axis in a MultiAxis?
Yes by commanding other Axis objects to move to their current CommandPositionGet().
Can a MultiAxis work with one axis in CSP and another in CST?
There is no need to use different functions for a combination of CSP and CST. (Other than setting up Tuning parameters for your CST axis.) The firmware will handle the appropriate calculations and send the command in the required mode over EtherCAT to achieve the command on the MultiAxis.
What is the fastest possible period for which the recorder can record?
The Recorder records every RMP sample periodβit's limited by your RMP sample rate. In practice, rates above 4kHz are uncommon with servo drives, though using I/O nodes only might allow faster sampling.
What is RapidCodeRT?
Please navigate to: API Comparison
What are the INtime RapidCodeRT development requirements?
RapidSetup: I am seeing a firmware mismatch error/warning.
Between trying different versions of RMP you will need to restart the INtime node. This will clear out the old firmware.
RapidSetup: I am seeing this error popup "The type initializer for 'RapidSetup.ContainerHelper' threw an exception"
Please try deleting the following folder:
C:\Users\<YourUser>\AppData\Local\RSI
This may resolve the issue. It seems to be related to .NET and its installation and access.
INtime RapidSetup: I am seeing RapidSetup display a license serial number that does not match my INtime USB dongle.
We have seen that if the user's PC has an INtime trial license activated, sometimes the INtime dongle/USB serial number is not recognized.
When this happens you must manually delete all INtime licenses and re-enter a new license string.
Reset the License using a GUI as of INtime 7:
*OR:**
Manual INtime Lic Reset:
How does RMP compare to PLC-based motion platforms?
RMP is a motion-first controller that exposes full programming languages instead of a function-block sandbox. You can implement motion, I/O, and sequencing in a single codebase using RapidCode (C++, C#, VB.NET, Python) and offload deterministic logic to Real-Time Tasks 📖 . This makes it practical to replace PLC logic while gaining modern tooling, libraries, and software workflows.
See Motion 📖 , IO 📖 , Real-Time Tasks 📖 , and API Comparison.
Why is RMP more open and interoperable on EtherCAT?
RMP is the EtherCAT MainDevice and is designed to interoperate across mixed-vendor SubDevices (drives, I/O, sensors) without lock-in. Some platforms tie you to a single vendor's devices and toolchain; RMP keeps you open. You use standard ESI/ENI workflows and map devices through NodeInfo/CustomNodeInfo, while accessing each device through NetworkNode objects.
See ENI File (EtherCAT.xml), NodeInfo & CustomNodeInfo files, and Network.
How does RMP integrate with the rest of my software stack?
RMP integrates directly into your application via RapidCode or over the network through RapidCodeRemote and rapidserver. RapidCodeRemote exposes the same model over gRPC, so any gRPC-capable language can integrate cleanly. This lets you connect motion control to any HMI, vision, database, or factory system using the languages and tools your team already knows.
See RapidCode and RapidCodeRemote.
What makes RMP a strong choice for PC-based motion control?
RMP runs on standard PCs and gives you direct control over performance, networking, and deployment. Use Windows/INtime or Linux, select your hardware, and keep your motion logic in source control without proprietary languages.
See Install RMP for Windows, Install RMP for Linux (Ubuntu), and RapidSetupX.
What does commissioning and support look like?
RapidSetupX streamlines setup and diagnostics, while Recorder and Error Logging make it easy to validate performance and troubleshoot issues. RSI has delivered high-performance motion control since 1998, and our support team includes motion control experts who can help accelerate commissioning and optimization.
See RapidSetupX, Recorder 📖 , and Error Logging 📖 .
Why not just use a commercial EtherCAT master stack?
A standalone master stack still leaves you to build the motion layer, device models, diagnostics, commissioning tools, and lifecycle support around it. RMP delivers the full controller stack, so you can focus on the machine rather than recreating the infrastructure. Many teams try a raw stack first and switch after realizing the hidden engineering and maintenance cost.
See RapidCode, RapidSetupX, and API Comparison.
What about open-source EtherCAT stacks?
Open-source stacks can be useful for experiments, but production systems need predictable support, validated releases, and accountability when issues arise. RMP comes with responsive, experienced motion-control support and a product roadmap you can rely on.
See RapidSetupX and Error Logging 📖 .
How fast is the API?
RapidCode is designed for very low overhead, with most API calls completing in sub-microsecond timeframes and motion commands issued in just a few microseconds. That speed lets you keep control logic lean and deterministic without sacrificing application structure.
See RapidCode and Real-Time Tasks 📖 .
How does RSI ensure interoperability and reliability?
RMP is validated with extensive EtherCAT interoperability testing across drives, I/O, and sensors, and every build runs full hardware-in-the-loop (HIL) tests. This reduces integration risk and keeps regressions out of customer systems.
See Network and ENI File (EtherCAT.xml).
How does RMP save engineering time versus DIY stacks?
RMP provides configuration, diagnostics, logging, and motion abstractions out of the box. Instead of building tools and glue code, you can go straight to machine behavior, tuning, and commissioning.
See RapidSetupX, Recorder 📖 , and Motion 📖 .
How does RMP handle mixed-vendor EtherCAT networks without custom glue code?
RMP models drives as Axis objects and devices as NetworkNode objects, so your application code stays consistent regardless of vendor. Standard ENI workflows and NodeInfo/CustomNodeInfo mapping handle the device details.
See Axis, NetworkNode, ENI File (EtherCAT.xml), and NodeInfo & CustomNodeInfo files.
What makes RMP maintainable and upgrade-friendly?
RMP keeps motion logic in a clean, versioned API and isolates configuration in files, which reduces rework when you update firmware or add devices. A clear changelog and consistent tooling make upgrades predictable.
How quickly can I get an axis moving?
The spin-an-axis guides are designed to get you from hardware to motion in minutes, with step-by-step setup and verification.
See Spin an axis and Spin an axis.
Why is a motion-first controller better than a general automation runtime?
RMP is optimized for deterministic motion profiles, motion state handling, and real-time coordination. You get a motion-native API instead of adapting a general automation runtime to high-performance motion workloads.
See Motion 📖 and Point-to-Point Motion 📖 .
How does RMP simplify debugging?
Because you develop in full programming languages, standard debuggers just work with your application code. Built-in Recorder and Error Logging let you capture motion data and faults without adding custom diagnostics.
See Recorder 📖 and Error Logging 📖 .
How does RMP scale to multiple machines or robots?
RMP supports multiple motion groups in a single controller using MultiAxis, so you can run multiple machines or robots with synchronized or independent motion from one RMP instance.
See MultiAxis and Path Motion 📖 .
How does RMP support modern software workflows and testing?
RMP fits into CI and unit test pipelines because you can test logic in standard languages and run controller code without custom runtimes. Use Phantom Axes 📖 to validate motion logic without hardware or HIL systems.
See RapidCode and Phantom Axes 📖 .
How does licensing work for OEM deployment?
Licensing is managed through the RSI portal with a single license file per machine, and no internet connection is required after initial setup.
See License.
How does RMP support AI-driven visual servoing and VLA workflows?
AI pipelines can compute vision-driven setpoints or VLA (vision-language-action) commands, and RMP can execute them via RapidCode or RapidCodeRemote. VLA models map visual observations and language instructions into low-level robot actions, and visual servoing closes the loop with camera feedback to continually correct motion. In a VLA workflow, model outputs (target positions or velocity targets) can feed directly into MoveSCurve or MoveSCurve, and RMP updates the trajectory each control cycle for low-latency, on-the-fly adaptation.
AI inference and motion control stay connected in a deterministic loop, including on Linux systems such as NVIDIA Jetson.
See RapidCode, RapidCodeRemote, and Install RMP for Linux (Ubuntu).
Absolute Motion 📖 .Phantom Axes 📖 .Backlash Compensation 📖 .Cartesian Robot 📖 .Camming 📖 .Capture/Probe 📖 .Compensator 📖 .Configuration 📖 .Path Motion 📖 .Counts Per Unit (User Units) 📖 .Dedicated IO 📖 .Stopping Actions 📖 .Error Logging 📖 .Feed Rate 📖 .Real-Time Tasks 📖 ).Firmware Object Count 📖 .Position Error 📖 .Network 📖 .G-Code 📖 .Gantry 📖 .General Purpose IO 📖 .Gearing 📖 .Hardware Limits 📖 .Homing 📖 .IO 📖 .IOPoint 📖 .S-Curve Motion 📖 .Path Motion 📖 and Cartesian Robot 📖 .Hardware Limits 📖 .Math Blocks 📖 .Motion 📖 .Motion Hold 📖 .Path Motion 📖 .Point-to-Point Motion 📖 .Streaming Motion 📖 , PT Streaming Motion 📖 , PVT Streaming Motion 📖 , and PVAJT Streaming Motion 📖 .Multi-Axis Velocity 📖 .Monitoring 📖 and Processor Usage 📖 .Phantom Axes 📖 .Real-Time Tasks 📖 .Position Error 📖 .Post Trajectory Gearing 📖 .PT Streaming Motion 📖 , PVT Streaming Motion 📖 , and PVAJT Streaming Motion 📖 .Real-Time Tasks 📖 .Recorder 📖 .S-Curve Motion 📖 .Settling 📖 .User Limits 📖 .Status & Faults 📖 .Stopping Actions 📖 .Stopping Rates 📖 .Streaming Motion Sync Outputs 📖 .Sync Interrupts 📖 .Point-to-Point Motion 📖 .User Limits 📖 .Counts Per Unit (User Units) 📖 .Velocity Motion 📖 .