Use Remote Front Panels without LabVIEW Development System

Updated Aug 2, 2023

Environment

Software

  • LabVIEW Application Builder Module
  • LabVIEW

I want to view and control my LabVIEW built stand-alone application remotely. How can I use remote front panels to manipulate a LabVIEW built stand-alone application on a computer that does not have a LabVIEW Development System installed?

The implementation of this solution uses web technologies that rely on a browser plugin mechanism called Netscape Plugin Application Programming Interface (NPAPI). To enhance browser security, NPAPI was deprecated from Google Chrome beginning in version 42, Mozilla Firefox beginning in version 52, and Safari 12.1 in macOS Mojave 10.14. Internet Explorer is the supported browser for using remote front panels.

Remote front panels allow client computers to view and control the front panel of a VI running on a server computer. If the VI is built into an executable, though, the steps below must be completed for remote front panels to function correctly:
  1. Create a LabVIEW project.
  2. Enable the Web Server by selecting Tools»Options»Web Server (or Web Server: Configuration). 
  • LabVIEW 2010 and later:
    • Select Enable Remote Panel Server and click OK.
    • Select Remote front panels under Remote Panel Server.
    • Note that the default HTTP port  is 8000.
  • LabVIEW 2009 and earlier:
    • Select Enable Web Server and click OK.
    • Allow access for Remote front panels under Advanced Settings.
    • Note that the default HTTP port is 80.
    1. Add your source code to the project.
    2. Build the web page for your VI: 
    • Select Tools»Web Publishing Tool...
    • Select the VI to publish from the VI name drop down menu.
    • Configure the Viewing Mode as either Embedded, Snapshot, or Monitor and click Next.
    • Edit the Document title, Header, and Footer and click Next.
    • Ensure that the HTML document is saved in your \LabVIEW\www directory and click Save to Disk.
    • Note the Document URL for use in step 10.
    1. Add the HTML document from step 3 to Project Explorer by right-clicking My Computer and selecting Add»File and then select the HTML file from your \LabVIEW\www directory.

     
    1. Save your project and build your executable by right-clicking Build Specifications and selecting New»Application (EXE). Select the Source Files category. Then, place your top level VI under Startup VIs and your HTML file under Always Included. Click Build and then click Done when the build is complete.

     
    1. Copy the executable and all of the generated files to your target computer. Note: The target computer must have the LabVIEW Run-Time Engine installed and it must match the version of LabVIEW used to develop the executable.
    2. On the target computer, browse to the directory where you just copied your executable. Open the .ini file in a text editor. On a Mac OS, this will be the .app x.x Preferences file, where x.x is the LabVIEW version. Perform the following: 
    • Verify the token WebServer.Enabled=True exists. If you cannot find it, add it to the end of the file.

     
    • Versions of LabVIEW released prior to 8.6:
    1. Add or modify the WebServer.RootPath so that its value is set to the directory where the HTML page currently resides (it should be located in the application's data directory).

     
    1. Save the changes to the .ini file and close it.
    • LabVIEW 8.6 and later:
    1. Close the .ini file and open niwebserver.conf in a text editor. This file was created to handle the new functionality provided by the LabVIEW web server in LabVIEW 8.6.
    2. If you do not have niwebserver.conf file in your application directory launch your executable once and it should be created. After the .conf file is created shut down your executable.
    3. In the second section labeled Directives that apply to the default server there is a DocumentRoot tag. Replace the default LabVIEW\www with the directory where the HTML page currently resides (it should be located in the application's data directory).  Do not include the name of the html file.

     
    1. Run the executable on the target computer.
    2. Replace the name of the development computer in the URL from step 4 with the IP address of the target computer and navigate to this address in a web browser on a different computer than the one running the executable. You can now view and control the LabVIEW executable remotely.
     

    Troubleshooting:

    Q. I am receiving a 404 Webpage Cannot Be Found message.
    A. There are several steps to try and solve this error.
    • Make sure you are using the IP address of the computer rather than the computer name. Instructions for this are in the Q/A below.
    • Use a different port for your program. You will want to make sure the new port is already being used. Port 8010 is often a good choice. There are two ways to change the port.
    1. You can create the program again and select the new port in the settings.
    2. Open the niwebserver.conf file that you edited in step 8 in setting up the Remote Front Panel. In that file, it says Listen towards the top with port 8000 (or whatever port you have selected currently) next to it. Try changing that to 8010 or whatever other port you have decided to use.
    In the link with the format http://TargetComputerIPAddress:Port/VIname.html you will need to change the 'Port' part to whatever number you have chosen as the new port.
    • ​Right click on your executable and select 'Run as Administrator'. 
    • Open up your Firewall settings to allow your executable access through the firewall. If you are using windows firewall, you can do this by opening up Windows Firewall. Then select 'Allow an app or feature through Windows Firewall'. Then click Allow Another App. Then browse to the location of your Executable and select your program to allow it through the firewall. 
    • Temporarily disable any antivirus to see if it is preventing you program from getting through the firewall. 
    • If this error occurs after modifying the Main VI and rebuilding the executable, you need to rebuild the executable from a new project to use the Remote Front Panel.
    Q. There is an empty box in the browser where the Front Panel should be.
    A. The VI is displayed using ActiveX controls. There are two ways to use ActiveX to see your Front Panel.
    1. Open the link in Internet Explorer. If you see a button at the bottom of the screen prompting you to enable ActiveX, click allow for it to run.
    2. Open Google Chrome and find IE Tab in the chrome Appstore. Follow the instructions to properly install that extension. Open the link to your Remote Front Panel using the IE Tab extension.
    A. You are missing the appropriate Run-Time Engine. The target computer must have the LabVIEW Run-Time Engine installed and it must match the version of LabVIEW used to develop the executable.
    Q. I developed a VI with a Remote Front Panel in LabVIEW (64-bit). I built it into an application (EXE). I am hosting this Remote Front Panel on the development machine. On the client machine, I have LabVIEW Run-Time Engine (64-bit, same version as the development system). When I try to connect to the Remote Front Panel using Internet Explorer, the background of the VI is displayed. However, all the controls are missing.
    A. Internet Explorer runs as a 64-bit program by default. However, each of the tabs run as 32-bit processes. Therefore, download and install the corresponding 32-bit LabVIEW Run-time Engine.
    Q. What steps can I take to resolve the This page cannot be displayed error? 
    A. Try changing the URL from http://TargetComputerName:Port/VIname.html to http://TargetComputerIPAddress:Port/VIname.html. Also, verify that your firewall allows access to the port that the LabVIEW web server is using.  For LabVIEW 2009 and earlier, the default port is 80.  For LabVIEW 2010 and later, the default port is 8000.
    Q. Why do I receive an error stating Remote Panel Connection Refused by Specified Server?
    A. Typically, this message results from a mismatch in LabVIEW versions. Ensure that the version of the LabVIEW Run-Time Engine on the target computer matches the version of LabVIEW used on the development machine. 
    Q. Do any other programs use the same default ports as LabVIEW?
    A. Port 80 is the default port for many Web servers. Ensure other programs on your system have not already reserved this port.


    Use Remote Panels with Installers: 

    To enable remote front panels for an installer, the same ideas apply. Create a web page. Include the web page in your project. Build your executable and include your web page in the support files. Create an installer and include your executable in the installer under the source files setting of the installer. Build and deploy the installer. Lastly, change the .ini and niwebserver.conf files.


    Licensing:

    By default, versions of LabVIEW prior to 2011 include one remote front panel license. This means that one connection at a time can be made to the remote front panel of your executable. If you have LabVIEW Professional Edition you are entitled to five licenses for remote panels. In order to have access to these additional licenses (or any others that you may have purchased), you need to build an installer that contains your executable along with the LabVIEW Deployable License under Additional Installer.  To purchase additional licenses for versions of LabVIEW prior to 2011, use part number 781841-3599.  Versions of LabVIEW 2011 and later do not require any licenses for remote front panels, so there is no need to include licenses in the installer.

    Note: A LabVIEW web server cannot permit more than one connection if Volume License Manager is in use on the same computer. This is due to the fact that remote front panel licenses share components with the Volume License Manager.