Reboot LabVIEW Real-Time Controller Programmatically

Updated Mar 16, 2023

Environment

Hardware

  • CompactRIO Controller
  • CompactDAQ Controller

Software

  • LabVIEW Real-Time Module

Can my LabVIEW Real-Time controller programmatically reboot itself?

Yes, starting in version 7.0 LabVIEW Real-Time contains a VI used for rebooting/restarting a controller. These VI's can be used to restart another RT system over the network or the local RT system that it is running on.


For LabVIEW Real-Time 2012 and later:

In order to restart a controller, you need Restart VI, which can be found by navigating to Real-Time VIs»RT Utilities»System Configuration»Software.
  1. Open LabVIEW and create a New VI. Place the Restart VI on the block diagram.
image.png
  1. You must provide an adequate session in input for Restart VI. The session can be obtained using the Initialize Session VI, found in the System Configuration palette, and a reference to your Real-Time device.
Untitled.png
  1. Once we have obtained the session information for our Real-Time target we can pass it to the Restart VI to restart our target.
image.png

For LabVIEW Real-Time Versions 2009 to 2011:

Use RT Restart Target VI polymorphic VI to restart your Real-Time target. It is found in the Real-Time»RT Utilities palette. 
  1. Open LabVIEW and create a New VI. Place the RT Restart Target VI on the block diagram. 
  1. The polymorphic inputs for target address can be the IP address, MAC address, or Self (restarts its Self). 
  1. You can then directly wire the corresponding address to the required target address input. 

For LabVIEW Real-Time Versions 7.0 and 8.x:

Use the RT Reboot Controller VI located in the Real-Time»RT Utilities palette. It is important to note that for the RT Reboot Controller VI the MAC address is required, as well as, the IP address when rebooting a target across a network.
  1. Open LabVIEW and create a New VI. Place the RT Reboot Controller VI on the block diagram.
  1. Wire a string constant to the MAC Address terminal of the RT Reboot Controller VI.  The MAC address must be specified in hexadecimal.  To do this, right-click the string constant and select Hex Display from the context menu.
  1. Enter only the alphanumeric MAC address of the real-time system into the string constant (do not include colons).   The MAC address should appear similar to the following figure. See Additional Information for instructions on how to determine the MAC address of your cRIO using NI-MAX.
  1. If you are rebooting a remote real-time system, wire a constant to the System location (local subnet) terminal of the RT Reboot Controller VI and enter the real-time system's IP address.

Additional Information

Find the MAC and IP address: 

To determine the MAC address and IP address of the system, you should:
  1. Open Measurement & Automation Explorer
  2. Expand Remote Systems, select the Real-Time system you are trying to restart, and switch to the Network Settings Tab
  3. The network settings tab will display the IP and MAC address for the different ethernet ports of your Real-Time Target. Make sure that you get the address information of the correct port you are using to communicate with your target as some controllers have multiple ports.

Notes: If you are unable to find your Real-Time target in MAX, please refer to Why Does My Networked Device Not Show up in Measurement & Automation Explorer (MAX)?