LabVIEW Idea Exchange

Community Browser
About LabVIEW Idea Exchange

Have a LabVIEW Idea?

  1. Browse by label or search in the LabVIEW 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 Post New Idea to submit a product idea to the LabVIEW Idea Exchange. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see in a future version of LabVIEW!
Showing results for 
Search instead for 
Did you mean: 

Do you have an idea for LabVIEW NXG?

Use the in-product feedback feature to tell us what we’re doing well and what we can improve. NI R&D monitors feedback submissions and evaluates them for upcoming LabVIEW NXG releases. Tell us what you think!

Post an idea

Enable a Sub VI to launch as a daemon without having to open a reference to it using its path.  The VI Properties page would look like this:



Wait until done would be checked by default, and auto dispose reference would be left false be default.  So instead of parsing the path to the VI on disk and using a method to run it:


I just set the correct properties in the VI Properties page and drop the subVI on the block diagram of the calling VI.

In their current form, Auto-Indexing tunnels only operate on a single dimension of an array.  For example.  If you input a 2D array, through an auto indexing tunnel into a for loop, and display the resulting 1D array in an indicator inside the for loop as below, you will always get the last row.


I'd like to see a feature where you can right-click on the tunnel or something, and set it to auto-index by column, instead of by row, and get the last column instead.20773i86B483107F51CD3820775i651136B201680B64


It could be as simple as an option in the context menu for the auto-indexing tunnel to say "Index by rows" or "Index by columns"  It gets more complex with 3D 4D and moreD arrays, but you could do something like a submenu flyout that says "Index By Dimension" > "1", "2", "3" etc


I often use strict type definitions to change data between SubVIs. The wires of the type definitions are always pink and this is sometimes a little color chaos.

Strings are pink, clusters are pink, ...


It would be nice to have the feature like in the LabVIEW classes. There you can definie the look of the private variables wire (form and color).



A lot of the vi icons I make only have text inside a box. It would be neat if the text could be inserted in the icon from the name of the vi, without me having to type it in. Of course you have to name the vi in such a way that it all fits in the icon.


Also, this function should be optional, so if you wanted to make a glitzy icon, you could, just as we can now.



What I really would like to se implemented as a future feature is a 'Search 1D' with the option to do a case insensitive search.


Usually I just plug a "to upper case" vi on both array and search string inputs. It would be nice to be able to select it right on the vi instead.


The functionality should work as with the case insensitive match in the case structure.





It would be beneficial if nodes had the ability to retain data from their previous execution. Along with "Use Default If Unwired" it would save memory allocation and coding time if there was a "Use Current Value If Unwired" selection which would retain the node's value and pass the last executed value. 


 Use Current Value If Unwired.PNG

This figure illustrates one application where "Use Current Value If Unwired" would save memory and increase performance instead of using multiple property nodes or local variables for retaining the output data. It would also eliminate extra wiring in every case this node is not used.

I think there should be a way to reinitialize a stacked shift register to the originally initialized value so you can clear out the contents of every iteration all at once.  For example, the code below, implemented with 4 individual shift registers:


 multiple shift registers.PNG


Could be implemented with 1 stacked shift register with a reinitialize terminal:


stacked shift register with reinitialize.PNG 

I use a number of file and libraries common to all my applications.
To lighten the display would be nice to exclude certain folder from VI Hierarchy

Populating values to the "enum" control is not possible by using the "strings" property node and hence to populate a large data to a "enum" one has to create a "Ring" control use the "strings" property and replace that "ring" with the enum (or if you have enough time enter them manually) .


So why not use the "Strings" property of "Enum" to write values to it directly..See the image attached



I miss the possibility to 


- add COM compatibility to .NET Interop Assembly builds

- add COM  compatibility to Shared DLL builds



I missed LV help information about the need to add a key file (*.snk) to the project first, before you can select it for signing the assembly. Unless you do that the file filter (*.snk) seems to fail when browsing.


In large application there are huge amount of parameters. If there is a lot of parameters usually there is also lot of parameter handling code in block diagram. This code can be moved to away if there is ready mayde parameter handling system. Here are my basic needs\ideas to this kind of system: 


- Parameter values are read from e.g. CSV-file when there is a first call 

- Parameter value must be changeable during code execution

- When value is changed new value must be updated to e.g. CSV-file

- User can change parameter name from project view. The new name is updated to all block diagrams (compare to shared variables)

- New parameters can be created from project view

- All parameter values can be changed and read from block diagram by using proper VIs

- Parameter library settings e.g CSV-file format and name can be set in project view


Is there any one else who needs this kind of system?



Certainly, every body tries to evaluate a vi in terms of performance. This includes the time which a particular code takes to run. We have to use the tick cout vi in order to determine the time of execution.

How about adding an additional button in the  toolbar itself which measures the time taken by a particular code to execute? Smiley Happy

This can certainly be a good feature in LabVIEW!!!

I've had case statements with 50 items.


It needs better tools


1. Delete cases in popup


2. Rearrange more than one case in the popup before it closes

In text based language, define some constants with meaningful names are very common task. For example, you typically define constant in C like this: 


#define RED          1

#define GREEN      2

#define BLUE         3


In LabVIEW, you can use ring to define them: 

color ring.PNG 


and then you can use the constant very simple: 

 use color ring.PNG


But the following definition can not be implemented with ring:

#define RED          1

#define GREEN      2

#define BLUE         3

#define DEFAULT   1

Here, DEFAULT is the same with RED.  But this is not permitted by ring, it will popup a warning if you try to do this: "Waring: Identical values in the Values list are not permitted. The oblject cannot be updated until you assign new values or remove items with identical values. "


I know you can use local or global varibles to define constant as a work around, but variables have performance overhead, it is not the best solution as a result. 


I propose to create a "const" that allow different items share the same value, and the other behaviours will be the same as a ring. You can also add "picture const" and "text & picture const". 



The following topic on NI discussion forums inspires me to propose this idea.