Documentation Home Page RT-LAB Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Page Content

Overview


The MetaController is a small program that runs in the background of RT-LAB on the host computer. It is usually launched automatically when the main RT-LAB UI is started but can also be started manually or programmatically. It is visible in the list of processes on the operating system and can be accessed on Windows in the tray icons toolbar with this specific icon (circled in red):

image-20240903-191416.png


The role of the MetaController is to manage other background processes of RT-LAB, especially the Controller.exe applications that are spawned when projects are opened. The MetaController also manages the OpalDLoader executable which is automatically launched when the MetaController starts and closed when the MetaController exits.

The MetaController is an essential process for the proper operation of RT-LAB and its API. The MetaController should always be running whenever RT-LAB, or its API, are in use. Also, the MetaController should not be stopped or restarted while other RT-LAB processes (RT-LAB.exe, Controller.exe) are running.

The MetaController executable is typically located in <RT-LAB Installation path>\common\bin\MetaController.exe, unless a different path was specified during the installation of RT-LAB.

Only one MetaController instance, regardless of the version, may be running on a given computer at a given time.

Starting the MetaController

There are two ways the MetaController can be started:

  1. Automatically launched whenever the main RT-LAB UI (RT-LAB.exe) is started. This will be the most common workflow for most users.

    When the RT-LAB UI starts up, if it detects the MetaController is not currently running, it will automatically launch a MetaController and the MetaController tray icon will become visible in the tray icons toolbar. However, if a MetaController from the same RT-LAB version was already running when the UI is launched, the already running MetaController will be used. If the running MetaController is from another RT-LAB version, it will automatically be closed and the correct MetaController will be launched.

  2. If the user does not intend to use the UI and relies on the API to control simulations, the MetaController must first be started manually, programmatically or by scripting. This must be done before any calls to the API are to be made.

Whenever the MetaController is started manually or programmatically, it is primordial to ensure the MetaController executable from the correct RT-LAB version is used.

Closing the MetaController

If the MetaController was automatically launched by the RT-LAB UI, the UI will also close it automatically in the process, unless a project remains active. However, if the MetaController was already running when RT-LAB was launched, the MetaController will remain running even after the UI closes.

If the MetaController was started manually or programmatically, the MetaController process can be closed either by:

  • Right-click on the MetaController tray icon and selecting Exit:

    image-20240903-193152.png

  • Invoking the (Opal)CloseMetaController API call

Terminating brutally the MetaController through system calls or the operating system is not recommended and should be kept as a last resort solution.

Tray icon menu

When right-clicking on the MetaController tray icon, a small menu will appear offering the following options:

RT-LAB

Launch RT-LAB. The same effect can be achieved by double-clicking on the MetaController tray icon.

ScopeView

Launch ScopeView

Help

Open the RT-LAB help.

Exit

Close the MetaController

Beware: This will close only the MetaController and should be performed only when all other RT-LAB processes (RT-LAB.exe, Controller.exe) are closed. Unpredictable behavior may occur otherwise.

Command line options

When launching the MetaController through command line or programmatically, the following options can be passed as arguments:

-noUI

Windows only. Disables the creation of a tray icon and GUI for the MetaController.

IMPORTANT: Using this option is essential when RT-LAB is to be used in a fully automated context, such as continuous integration, where RT-LAB executes in a OS environment without graphical interface. Not using this option in this context may result in unpredictable behavior.

-launchUI

Windows only. After completing its launch, the MetaController will automatically launch the main RT-LAB UI. Should not be combined with the -noUI option.

  • No labels