NI Home > Community > NI Discussion Forums

LabVIEW Idea Exchange

Showing results for 
Search instead for 
Do you mean 
We've turned on a search before post feature in the LabVIEW Idea Exchange. This new feature will help cut down on the number of duplicate ideas in this space!

The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea

LabVIEW sort, ability to edit comparison.

Status: Duplicate
by Member WG- on ‎01-12-2012 10:47 AM

I assume that the LabVIEW sort algorithm is a comparison based sorting algorithm (and my guess is that they use a form of mergesort & insertionsort, and maybe better, timsort). Anyway, for arrays of integers, string this works perfectly. For clusters and classes the implementation does not work that smooth since the sorting algorithm will always sort on the first parameter in the cluster, respectivily class. For this reason it is in my opinion that the sort VI should have some kind of ability to edit the comparison on how the sort VI actually sorts. In many languages you have the ability to do this but not in LabVIEW. This would be very usefull for when sorting classes and clusters. 


A example of how this should be implemented is as followed. When the sort VI has a non-standard LabVIEW datatype as input, one should be able to add a reference to a VI (or add by a menu), with 2 inputs and 1 output. In this VI the user needs to define the rules which apply to the datatype of the input. In the end the VI will output a boolean, telling if input 1 is greater (depending on which sorting algorithm LabVIEW uses) then input 2.


Popup Help for Tools -> Options dialog settings

Status: New
by Member PatSpring on ‎09-10-2012 12:15 PM

To better understand the settings in the LabVIEW Options dialog, show popup help when hovering the mouse pointer over a setting.


As of LabVIEW 2012 the user has to open the help and look for the setting in question. Not an issue. Just an idea to help keep NI developers employed.  :smileyhappy:

Ctrl+Shift+A is currrently designated for Align Items.  Is Ctrl+Shift+C used yet?


When I try to add the keyboard shortcut myself, it doesn't take.  I opened the Control Editor and navigated to Tools » Options, typed desired shortcut, pressed Set, clicked OK:


Control Editor Menu Shortcuts - Edited.png



But again, the shortcut doesn't take.  I called NI years ago about this, and the AE duplicated the behavior and filed a CAR.  Nothing happened.  I currently get this error:


Control Editor Menu Shortcuts - Error.png



Even if there are no resources available to fix the root issue, could we get a permanent keyboard shortcut for Apply Changes?  (Thanks.)



It would be nice to add a new menu item in Labview IDE, which could close all executing VI's.


This could solve the problem of "running Modal VI's" which can "block" an execution.


This could also be helpfull to "clear" the execution context when you have bad closed "detached and assynchonous executing VI's".


The top, would be to get a report (a list of VI's in a window) of the forced closed VI's ... It would be helpfull for analysis.



Often, when I open a code that calls libraries that are not installed, I get prompted dozens of times to "Please find the VI named ..."


. clip_image002.jpg


It would really be nice to be able to prevent or minimize this.



Default Representation for Enum should be U8

Status: New
by Member hfettig on ‎06-09-2009 05:13 PM
In the spirit of using as little memory as possible I think the default representation for Enums should be U8. Currently when you create a new Enum its representation is set to U16. Since I assume most people rarely have Enums with more than 256 items I would really appreciate it if the default representation were U8 so I don't have to always change it from U16 to U8.
It'd be great to be able to use the "Set current values to default" invoke method while the program is running to grab the current values that a program has.  As it is now, you have to stop your program and open another program that references the first program to set the values to default.  This almost completely defeats the purpose of setting those values programmatically (I might as well go to the File menu).  I'd like to effectively "grab" front panel values and keep them for the next time the program runs.  I know I could do this with file writing- but it'd be nice to use the invoke node as it seems it should be used. 

Multi Select Quik Drop

Status: New
by Member RigilKumar on ‎06-08-2011 01:44 AM



Currently in Quik drop pallette only one function can be selected. I would like to have multi select functions by clicking Cntrl button from the Quick drop pallette like this




Currently in Quik drop pallette only one function can be selected. I would like to have multi select functions by clicking Cntrl button from the Quick drop pallette like this


Multi select Quick drop






Improved interface for OO programming

Status: New
by Member Synaesthete on ‎06-07-2011 08:10 PM

As I continue to use LVOOP in my LabVIEW code, I'm beginning to question the value of the graphical programming concept as a whole.  I think that it's a very interesting concept for non-programmers and for educational or entertainment purposes.  When it comes to professional hardware integration and product development, I feel the graphical environment becomes a hindrance.  I understand that LabVIEW is a powerful programming tool and can cut down on the time to build a product.  What I question is whether this is due to the graphical programming environment, or due to the plethora of reusable functions NI has provided that are useful for hardware integration.


What I propose is to provide a text-based, object-oriented programming environment, perhaps a flavor of C++ or Java, such that applications could be optionally written and compiled in Eclipse or Visual Studio.  I understand CVI/LabWindows is similar, but I feel it's not as full-featured an environment as other text-based IDEs.


An even more clever environment might allow for both text-based and graphical programming to be used simultaneously wherever they are the most appropriate (e.g., Keep the "front panel" as it is and allow for a graphical representation of data flow and code parallelism)


I feel that providing such an environment will also invite more programmers to the National Instruments community.  Unfortunately, this might hurt the traditional LV developers who have benefitted from a scarcity of professionals who work with such an esoteric programming language.  In the long run, I think that it would be a good direction to go for the overall health of the community and the betterment of the craft.

A polymorphic VI always displays input/output labels, captions and tips from the instance VI (makes sense, these aren't defined within the poly-VI). You get a choice of where to get the VI icon from though:




The VI description also follows this selection, which I sometimes find unfortunate. I generally make two kinds of poly-VIs:


1) API or Lib-type poly-VIs, where each function can have very different IO on the con-pane.

2) Type overloading poly-VIs, which contain a bunch of almost identical VIs that only differ in the data type of some "Value" input or output.


In the former case I prefer both VI icon and VI description to come from the instances, but in the latter case I'd like to get the VI icon from the instances and the VI description from the poly-VI (the VI description can be long, only differing maybe in a single sentence, easy to make into a common description for all data types). So in polymorphic VIs I suggest splitting the selection of VI icon and VI description source into two:






The title says it all.


"Probe Watch Window - Intelligent Movement Out of the Way!"


It would be very helpful if the probe watch window automatically moved away from the mouse cursor, and intelligently repositioned itself to a different area of the monitos, "out of the way"!

Unless I am missing it, I do not currently see IMAQ Spoke in Vision Assistant (under Machine Vision).  IMAQ Spoke is an extremely useful function for cylindrical parts with multiple internal features.


Vision Assistant has proven to be an invaluable tool for me over the years for prototyping code and creating VIs.  The more that can be integrated into it, the better.


Block Diagram zoom

Status: Duplicate
by Member Ale914 on ‎06-03-2009 03:00 AM

In the latest years the monitors and the graphics card became more and more advanced supporting very high pixel resolution.

Using a 1600x1200 is common now but this could create problem whit labview due to the absence of a zoom function.

The VI connector at that resolution are too little and near so could be difficult to work with and more in general all the block diagram of a VI could be diffucult to edit.

So i suggest to implement a zoom in\out (maybe using the mause wheel) function also in labview like in a common CAD sw

Status: Duplicate

I would like to have some kind of compiler optimalisation options.

The save time is often to long, Editing is annoying

Editing in LV2010 often halts for 10-20 seconds because it it recompiling the code for some reason.

If we had some option to turn off "advanced optimalisation" things might go fluently, like in the old days.


When replacing a normal Add (of a Timestamp and a value) with the compound arithmetic, the Timestamp input gets broken, this should not be the case.



Multiple file/folder memory

Status: New
by Member Gerwim_G on ‎09-03-2012 07:50 AM

LabVIEW remembers the folder from which it retrieved a VI or project or whatever in a buffer.

If a VI has been running (using file-IO) the folder buffer is set to the folder from which the last file was retrieved or written to.

If you want to open a new VI or whatever, the browser opens in the most recently opened folder.

It would be nice to remember the VI-folder and data folder separately. This means two buffers in stead of one.


Bundle by name cluster should automatically inherit the names of the inputs

Status: New
by Active Participant MimiKLM on ‎06-21-2013 05:29 PM - last edited on ‎07-01-2013 03:09 PM by Active Participant JordanG



I think that it would be useful if the Bundle by name (cluster creation function) could automatically pick up the names of the inputs as the default names of the members of the cluster being created (if other are not specified)





Chris V

Multiple Instances of an Executable

Status: Duplicate
by Member Chris V on ‎05-27-2011 01:37 PM

LabVIEW does currently allow you to run mutliple instances of your LabVIEW executable, but it requires editing the *.ini file:


Run Multiple Instances of a LabVIEW Executable Simultaneously 


Is there any reason this shouldn't be an option/checkbox in the Build Specifications?


Chris V



When you want to use an array of simple types or clusters ... the uninitialized array elements are viewed as shadow elements.


It should be nice to have the ability to modify this behavior thru the array configuration.


  • Show unitialized elements as shadow : Is the default behaviour of control arrays
  • Dont't show unitialized elements : Should be the default behaviour of indicator arrays. The shadow elements have no real utility
  • Show only one uninitialized element as shadow, at the end of the array : Would be nice in case of a control array : A new element can be added at the end of the array. The other insertions are made using the array context menu.


My customer is using LabVIEW 2009 with SIT, MATLAB R2007B and he was able to transfer more than 97 elements of array data with his Simulink .mdl file with the following configuration:

- Configuration parameter of MATLAB model: solve complete time: inf, type: fixed step, solver: discrete, fixed step sample time: 0.01
- Default LabVIEW array reading rate defined by auto generated VI: 50ms >> changed to 5ms
- Executed in Windows local host

However, when the .mdl file is converted to DLL, it seems as though that an array size of over 97 cannot be transferred.

The issue seems to be able to be produced even with multiple arrays or multiple scalar controls so I believe it seems to be an issue of how much data it can handle and not a data type issue. As I mentioned previously, data is able to be passed up till a certain amount but after this "threshold", data does not seem to be passed and the default value of 0 is displayed on the indicator. (In an array, the specific array size is initialized but after the threshold, 0s are shown)


I was also able to reproduce the issue on my end with the attached files.

Status: Duplicate
Dupe: Already in CAR 330623
Latest LabVIEW Idea Exchange Blog Posts
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!
Top Kudoed Authors
User Kudos Count
Idea Statuses