Connecting to running controller/network

Is it possible to have multiple clients (say one in python and in c++) that connect to a controller and can monitor/control it?

e.g. lets say we have one process that manages the network during normal operation and one process that supervises the machine. They both would connect to ethercat network + monitor signals + respond to IO in certain ways (e.g. a HW switch to bringup/bringdown normal operation process)

Hi @rickys,

Yes, multiple clients (e.g., one in Python and one in C++) can interact with the same controller. There can only be one active RMP firmware process on the machine, so all clients using the RapidCode API connect to the same controller instance.

Once the controller is initialized via MotionController::Create(), rsiconfig, or RapidSetupX, other processes can connect to it using MotionController::Get(). This allows monitoring signals and responding to I/O from multiple processes. Just ensure proper coordination between processes to avoid conflicts.

Let me know if you need further details!

1 Like

Hey there Lucas,

We’re finally getting back around to working on this. When I use the MotionController::Get() (10.6.7) I’m seeing a license error

Terminate called after throwing an instance of std::runtime_error: Error! Linux x64: RSI license file not found :: {platformOS.c, line 519} : Could not find license file /home/…/build/rsi.lic : FileOpen return: 4294967295 : Could not find license file: /home/…/build/rsi.lic. Contact RSI with serial #: 30948417 (0x1D83C41) (Error 5140) (MotionController::InitControl) (Object 0) (File motioncontroller.cpp) (Line 442) (Version 10.6.7.0)

Is there some way I should specify the location of the license?

Hi @rickys,

Unfortunately, there is currently no way to specify the license path when using MotionController::Get(). If you copy the license file to the same directory as your executable (in your case the build folder), then it should be able to find it.

Let me know if that doesn’t resolve your issue or if you have any other questions!