> For the complete documentation index, see [llms.txt](https://docs.workersforlabview.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.workersforlabview.io/workers-tools/workers-tools-menu/rt-worker-convert.md).

# RT Worker Convert

The RT Worker Convert tool allows you to convert a Worker's Main VI between its reentrant (Main.vi) and non-reentrant (Main NR.vi) forms.&#x20;

By default (for non-RT targets), a Worker's Main VI is reentrant, allowing you to load and run multiple instances of a Worker within the same application. However, for development on NI real-time (RT) targets such as a Compact RIO, it is often preferred to develop using non-reentrant Worker Main VIs (Main NR.vi) so that debugging of the Workers Main VI is possible in LabVIEW.

The RT Worker Convert tool allows you to convert a *Main.vi* to and from *Main NR.vi.*

![RT Worker Convert tool](/files/XlinHzpqwjuGfADb3iB6)

When you open this tool, you will see the left list show Workers on your target with *Main.vi*'s. The right list will show Workers on your target with *Main NR.vi*'s.

Selecting one or more Workers in either list (mutually exclusive) and then pressing the **Convert to (Main VI)** button will replace the Worker's *Main.vi* with a *Main NR.vi* (or vice versa).

{% hint style="warning" %}
You can use a Worker with a *Main NR.vi* the same way you would a Worker with a *Main.vi* but note that because the VI is non-reentrant, you cannot run multiple instances of a Worker with a *Main NR.vi*.
{% endhint %}
