RapidCodeRT API (C++)
RapidCode for use in real-time applications.
RapidCodeRT is a C++ library that provides the same classes and methods for interfacing with the RMP as RapidCode but is compiled for the INtime real-time operating system (RTOS) provided by Tenasys. Thus, the RapidCodeRT API can only be used in user applications built for INtime.

RapidCodeRT vs. RapidCode

The main difference between RapidCode and RapidCodeRT is the operating system (OS) each library is compiled for. RapidCode is compiled for Windows while RapidCodeRT is compiled for INtime. Both libraries will interact with the same RMP instance.
Windows is not an RTOS and there is no upper limit on how long an application running on Windows will take to perform an action. If there are other demanding applications running (e.g. an internet browser or a Microsoft background process), a line of RapidCode in the application could possibly take hundreds of milliseconds to be called.
On INtime, every line of RapidCodeRT has an upper bound on how long it will take to be called, regardless of the other programs that are running. Programs that need to interface with the RMP at specific intervals, perhaps to read an I/O value and command a new motion every millisecond, should use RapidCodeRT.
RapidCodeRT developers should be familiar with creating real-time applications. and must use the INtime SDK.
The API documentation for RapidCodeRT is the same as the documentation for RapidCode.

RMP+ Configuration

RMP+ Configuration
For applications using RapidCodeRT, there are three components:
  • The RMP acts as the EtherCAT master and motion controller, commanding motion on the EtherCAT drives and reading their statuses. The RMP runs on the first RTOS core.
  • The User Program runs on the Windows OS and provides ways for the user to interact with the program. This is usually referred to as a Graphical User Interface (GUI) or a Human-Machine Interface (HMI). Items in the GUI (such as clickable buttons) issue commands to the RMP using the RapidCodeAPI.
  • The User Firmware runs on the second RTOS core, does real-time processing of data, and performs time-sensitive actions using the RapidCodeRT API. It is often used to respond to I/O or run real-time subroutines requested by the User Program.
    • If the data processing is light and only a few real-time actions are needed, it may be better to use RapidSequencerRT.
User Firmware applications using RapidCodeRT must run on a separate RTOS core from the RMP. For example, if the RMP is running on NodeA, the application must be running on NodeB.

RapidCodeRT Use Cases

Some potential uses for RapidCodeRT include (but are not limited to):
  • Platform stabilization using inertial measurement units (IMU)
  • Safety vision systems
  • High-speed sorting
Export as PDF
Copy link
On this page
RapidCodeRT vs. RapidCode
RMP+ Configuration
RapidCodeRT Use Cases