Reference Design Content

Showing results for 
Search instead for 
Did you mean: 

CVT Web Add-On and Thin Client Reference Design

These two packages provide a reusable way to provide a basic thin client to an application. They are based upon NI Current Value Table (CVT), which is available on the LabVIEW Tools Network. This community page is designed for feedback.


A thin client is a server-side client that is accessed through the web, and provides a seamless user experience across multiple platforms without the need to install any client-side software. The Tag Web Client included provides an example of this functionality using LabVIEW Web Services. Using these, a user can monitor the status of tags in the system, view a simple graph of their data, and write values back to a remote target.


An example application which uses version 1.6 of this reference design can be found here: Web-Based Thin Client for Embeded UI


Support and Licensing

This project can be discussed here:




1. Install the Tag Web Client package included

2. Install CVT Web Add-On


Steps to Run Example


There are existing examples an instructions in the Example Finder under Networking > Internet and Web > CVT Web Examples.


To add CVT Web to an existing project:

1. Open the target project.

2. Under 'Tools', select "Add CVT Web Service to Project"

3. Place the web service created under your desired target

4. Start the web service

5. Open a browser and navigate to





  • LabVIEW 2013 or greater


Known Issues


The script added to the tools menu incorrectly duplicates the web service. The workaround is to navigate to the sample web service in <vi.lib>/NI/CVT Web and drag the sample web service into your project.


Change Log


[11/14/14] Added version 1.5, a breaking change. Web service is now restful; Template HTML/Jscript has improvements to performance/scalability and a new page for setting values manually.

[4/16/15] Added version 1.6, which adds support for Web-Based Thin Client for Embeded UI

Tanner B.
Systems R&D Engineer - Aerospace, Defense, and Government
National Instruments
Trusted Enthusiast Trusted Enthusiast
Trusted Enthusiast



Why do you use "ReadPermissions" and "WritePermissions" Shared Variables to store permissions, rather than a Functional Global, like the CVT itself uses?  An FG would avoid an unnecessary copy, and would reduce the number of technologies one is using.

NI Employee (retired)

@drjdpowell, because I was an intern when I wrote this, and honestly haven't looked at it since. I think there are better tools for most of what this library does. If you've got a specific thing you're trying to do I can point you toward one.

Tanner B.
Systems R&D Engineer - Aerospace, Defense, and Government
National Instruments