|
APIs, concepts, guides, and more
|
Why RMP for Windows runs on the INtime RTOS, and how the pieces fit.
INtime, from TenAsys, is a real-time operating system that runs side by side with Windows on the same PC. It gives RMP the deterministic timing motion control requires: the firmware closes the servo loops and runs the EtherCAT network every sample, on a schedule nothing on Windows can disturb.
Windows by itself cannot do this. Windows application code is never real-time, no matter how it is written or what priority it is given. RMP solves this by putting the real-time work on INtime and leaving your application on Windows. This is a Windows-only concern: on Linux, RMP runs natively and INtime is not involved at all. See API Comparison.
INtime does not share hardware with Windows. Once INtime is set up for RMP, it owns three things that Windows can no longer use:
| Resource | For RMP | Why INtime needs it |
|---|---|---|
| One CPU core | One core, running INtime node NodeA | Windows never schedules anything on it, so nothing Windows does can delay the firmware. |
| RAM | 512 MB reserved for the node | The firmware runs in memory set aside for INtime, so Windows memory use cannot affect it. |
| EtherCAT network card | The network card you pass to INtime during setup | The EtherCAT master drives the network directly, without the Windows network stack. |
On a typical 8-core PC, Windows keeps seven cores, the rest of the memory, and its other network cards for your application and everything else. INtime gets the eighth core, 512 MB of RAM, and the EtherCAT network card.
These parts of RMP run on INtime, on NodeA:
| On INtime | What it does |
|---|---|
| RMP motion firmware (RMP.rta) | Closes the servo loops every sample |
| EtherCAT master (RMPNetwork.rta) | Drives the EtherCAT network through the network card INtime owns |
| Real-time task manager (rttaskmanager.rta) | Runs your RTTasks in lockstep with the firmware |
Everything else stays on Windows:
| On Windows | What it does |
|---|---|
| Your application, using RapidCode from C++, C#, or Python | Configures the controller, commands motion, and reads status |
| GUI tools (RapidSetup, MotionScope, rsiconfig) | Configuration and diagnostics |
Your Windows application talks to the firmware through shared memory. A simple getter costs a few hundred nanoseconds, but your Windows code is still Windows code: the determinism belongs to the firmware, not to your process.
An .rta file is an INtime application, the INtime equivalent of an .exe. The RMP package installs all of them; see RMP Package Contents.
If a piece of your logic has to run every sample with guaranteed timing, it has to run on INtime too. There are two ways to get there:
| Path | Who manages the real-time thread | RMP license feature |
|---|---|---|
| RTTasks (recommended) | RTTaskManager, in lockstep with the sample clock | RTTasks |
| RapidCodeRT | You | RapidCodeRT |
RTTasks is RMP's managed real-time framework. You write plain C++ task functions, compile them into RTTaskFunctions.rsl, and the RTTaskManager loads and schedules them alongside the firmware. To target INtime, set RTTaskManagerCreationParameters::Platform to INtime and set RTTaskManagerCreationParameters::NodeName to your node. RTTasks is a separately licensed RMP feature.
RapidCodeRT is the INtime build of the RapidCode C++ library (RapidCodeRT.rsl, RapidCodeRT.lib). It is the same API, linked into an INtime process, which is always real-time. It is the expert path: you own the process, its priorities, and its memory. See Run a sample app in INtime in C++.
An .rsl file is an INtime shared library, the INtime equivalent of a .dll.
RSI provides everything a Windows system needs here: the INtime Runtime installer, the INtime runtime license, and the RMP license.
| What it is | Who needs it | |
|---|---|---|
| INtime Runtime | The RTOS itself, installed on the Windows PC. RSI provides the CDEV release on the Downloads page. | Every RMP for Windows user |
| INtime runtime license | Activates the runtime. Sold by RSI, usually as a USB hardware key with a 30-digit code, or as a .lic file. The key must stay plugged in. | Every RMP for Windows user |
| RMP license (rsi.lic) | Sold by RSI, hardware-locked to a USB dongle. RapidCodeRT and RTTasks are separately activated features. | Every RMP user, on any platform |
RapidCodeRT development additionally requires a Multi-Core INtime runtime key.
| To... | See |
|---|---|
| Install INtime and then RMP on a Windows PC | Install RMP for Windows |
| Check your PC's real-time performance | RMP PC hardware and performance requirements |
| Run deterministic user code on INtime | Real-Time Tasks |
| Write a C++ application that runs on INtime | Run a sample app in INtime in C++ |
| Add a second node | Add an extra Node (optional) |
| Decide which API to use | API Comparison |
Do I need INtime to run RMP on Windows?
Yes. RMP for Windows runs its motion and EtherCAT firmware inside the INtime real-time operating system. INtime must be installed and licensed before you install RMP. RMP for Linux does not use INtime at all.
RSI sells the INtime runtime license, usually as a USB hardware key, and provides the INtime installer on the Downloads page. To run RMP there is nothing to buy from TenAsys directly. See Install RMP for Windows.
Which PCs, CPUs, and network cards work with INtime?
Most Intel and AMD processors and most Intel and Realtek Ethernet chipsets. The EtherCAT network card is handed to INtime and needs an INtime driver with HPE support. TenAsys publishes a compatible CPU list, and the INtime Platform Assessment Tool (tpat.exe) checks a PC's BIOS and hardware for real-time suitability. See RMP PC hardware and performance requirements.
What is an INtime node?
A node is one CPU core taken away from Windows and given to the INtime kernel, along with a block of reserved memory. On an 8-core PC, Windows keeps seven cores for your application and everything else, and INtime NodeA owns the eighth. The RMP firmware, the EtherCAT master, and the RTTask manager all run on that one core. Windows never schedules anything on it, which is what keeps the firmware timing deterministic. See 🔹 What INtime Takes from Your PC.
Do I need to buy the INtime SDK?
No. RMP Windows users do not need to purchase an INtime SDK.
If your own logic must run in real-time, we recommend Real-Time Tasks first. They run on the INtime Runtime that RMP already installs. We also offer the capability to write your own INtime programs with the RapidCodeRT API, which does require the INtime SDK from TenAsys, but this is not typical for RMP customers. See API Comparison.
Is the INtime license the same as the RMP license?
No, but RSI sells both. The INtime runtime license activates the INtime kernel and is managed in the INtime License Manager, usually from a USB hardware key that must stay plugged in. The RMP license (rsi.lic) unlocks RMP and its features. RMP for Windows needs both. See License.
Can my Windows application code run in real-time?
No. Windows itself is not a real-time operating system, so nothing running on Windows is deterministic regardless of thread priority. That is fine for most applications because the RMP firmware on INtime is doing the time-critical work. If your own logic must run every sample, run it on INtime with Real-Time Tasks. See API Comparison.
Why are the INtime libraries 32-bit?
INtime is a 32-bit operating system, so RapidCodeRT.lib, RapidCodeRT.rsl, and RTTaskFunctions.rsl are 32-bit. Your Windows application is normally 64-bit and links the 64-bit RapidCode library; the two communicate through shared memory, so the mismatch does not matter.
Which INtime versions does RMP support?
INtime 7 is current and recommended. INtime 6 is still supported for existing installations. Both are covered in Install RMP for Windows.
I changed RMP versions and RapidSetup reports a firmware mismatch.
Restart the INtime node. The old firmware stays loaded on the node until it is restarted. See Troubleshooting.
RapidSetup shows a license serial number that does not match my INtime USB key.
This usually happens when an INtime trial license is still active on the PC. Purge the INtime licenses in the INtime License Manager and re-enter the key's license string. The full procedure is in the Troubleshooting FAQ.