LabWindows/CVI Idea Exchange

Community Browser
About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea

I realize that there may be open source solutions for this but I would love a robust easy to use email function on completion. Essentially, I am gearing up to run some larger batched analysis routines on a remote workstation for our user group. The analysis time and queue length will vary from minutes to hours (hopefully not days yet). I would love the option to email the user on completion, failure, or email me if something really goes crazy.


The problem with the current simple email solution (unless authentication was really recently implemented) is that almost every SMTP server requires additional  authentication to combat spammers I suppose.

I know we used to have this web server feature 6-7 years ago.

I would request a function where we can export designated panel which user can control from web. Also provides an option to have read only or read/write access. Also password options.


Something like this.


ExportPanelToWebServer (panelHandle, READ_ONLY_FLAG, PASSWORD_FLAG, PASSWORD);

//This starts web server automatically and ready for connection on port 80.


This opens door to lots of applications which requires web control. I think LabVIEW has similar feature. (Web publishing tool)

IPv6 is becoming more ubiquitous each year.  More and more the US government is requiring it for defense designs.  Microsoft has supported it in Visual Studio since 2008.  Even Agilent Vee supports it. It should strongly be considered for both LabWindows CVI and Labview.  There are workarounds using dlls, but a company like NI shouldn't expect users to have to do that.  I am off to start my workaround.  Please give this not so new idea some serious consideration.  Thanks.

  • Networking

+ Implement Modbus RTU master/TCP client protocol support in CVI

Implement HTTP Requests into a CVI Library that can perform get, head, put and post functions for connectivity to devices that are wireless or connected to an ethernet cable. Also provoide a mechanism for the body and header from the HTTP Request message. Currently LabView has this capability for HTTP Requests but Lab Windows CVI does not. The work around solution is to use .Net Controllers for HTTP Requests for Lab Windows CVI. See example:

  • Networking

In previous applications, we would talk to our product using a telnet session.
CVI has libraries to do this, such as...


ConnectToTCPServer ((unsigned int *)&g_ShelfHandle[iSocketNumber], 23, sAddress, com_ClientTCPCB, NULL, 0);                                                                   

In one of our new products, it only supports "ssh" which is similar to telnet, but is a "secured shell" connection.
One option is to use putty:




It is not the most straightforward way of doing things, but at the moment, it is what we have to deal with.

Since the ssh protocol is becoming the new standard in communications (used in all Linux machines, and windows), and most
of the new telnet programs (supporting ssh), I would like to request that a CVI library be created to support this protocol.








  • Networking

How about Ethernet/IP or EtherCAT support.  It exists in Labview.  It has been around for over a decade.

As already mention in its help documentation, ClientTCPRead function may return without reading all data you want.

So an example code is provided so one can do the read operation as expected.


But I think this behaviour is not intuitive and I am sure many people (including me) have struggled to much before finding the cure.


I suggest to add a second function to the TCP library like ClientTCPReadExact which does this workaround for us and returns with all the data we have asked for.

  • Networking

It seems to me that it would be really neat if CVI were able to support publishing/acceptance of XML data in the format required by LabVIEW UI Builder. The idea of LabVIEW UI Builder thin clients with a CVI server is quite appealing.

This issue has been explained in this thread.

As explained in some documents on the NI web site

the Network Variable Library can be used to develop an OPC Server (and a Client too).

While developing an OPC Client, the function CNVGetDataQuality( ) can be used to read the data quality, but there isn't a way to set this parameters while developing an OPC Server.

For this reason a way to set the data quality status and substatus should be added to the Network Variable Library functions that generate OPC data.

I suggest these new prototypes:

  • CNVSetScalarDataValue (data, type, value, quality)
  • CNVSetArrayDataValue (data, type, &array, NofDims, dims[], quality)
  • ...

  • Networking

This topic has been discussed insome threads:

Unfortunately CVI doesn't support this feature, but LabVIEW probably does.

I think that CVI should implement this feature too, because grouping scalar variables into folders and subfolders is an approach commonly used by OPC Servers, and the Network Variables are a simple way to create an OPC Server with a CVI application.

  • Networking

Include a function to programmatically re-start the NI Variable Engine if it is found to be stopped.

Although the NV libraries include a function to detect whether the NI Varible Engine service is running, there is no function included in the library to facilitate re-starting the NI Variable Engine service. 

For those The method that I am aware of to restart this service is to use the ANSI C system() function with an embedded command line:



Index = 0;                                           


while((!running) && (index++ < 5))


System(“net start \"NI Variable Engine\"");




if(!running) return -1;


Learning this required some time spent on the web, looking through old posts on how to solve the same problem in LabView.  Rather than spending that time, it would have been more productive to just pull it out of the library.

Please consider the possibility to enable the use of CVI application as web server so that the application will accessible to the web.

Its open one new world (wide  web..).


Consider the opportunity to ope to all smartphone device....

The NI-488.2 driver contains a utility called EthernetConfig.exe which displays all Ethernet devices on the subnet. The information displayed is the IP address/hostname, ethernet address, serial number and model for each ethernet device. It would be useful for users to be able to use this utility in their text-based programming languages, instead of having to open a separate application. 

  • Networking



Due to more and more applications using ipv6 as the network communication address, e.g. in the internet of things application,  and in many SCADA field , there also need the asynchronous connect by socket, so hope  CVI developers can provide these support.