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