LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea
 

It would be helpful if we could display a nice looking cluster array on the front panel with column titles. I mean something like a multicolumn listbox, but without having to extract data and from the cluster array to fill a multicolumn listbox for display. The cluster element names should be displayed only once, as column titles.

drag.gif

Dragging block diagram objects across structure boundaries preserves wiring correctly when tunnels are involved, but it fails when shift registers are used. It should be feasible to adjust this.

Currently each error in terminal contains the following description: "<B>error in</B> can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the <B>error in</B> control on the front panel and select <B>Explain Error</B> or <B>Explain Warning</B> from the shortcut menu for more information about the error." This occupies 367 characters (bytes).

 

Currently each error out terminal contains the following description: "<B>error out</B> passes error or warning information out of a VI to be used by other VIs. Right-click the <B>error out</B> indicator on the front panel and select <B>Explain Error</B> or <B>Explain Warning</B> from the shortcut menu for more information about the error." This occupies 271 characters (bytes).

 

This applies to terminals of all styles: Classic, Modern, Silver, Fuse Design System.

 

This adds a total of 638 characters (0.62 KB) to each and every VI that uses a pair of error in/out terminals, which is probably a majority of VIs in LabVIEW.

 

The descriptions appear in the Context Help window and can be useful to beginners. But this benefit is not worth 638 bytes of space in so many VIs. The contents of the descriptions should be mentioned in training material such as LabVIEW Core 1 or the LabVIEW Help.


This proposal is to remove (clear) the error in and error out descriptions, such that VIs are "slimmer" and codebases are smaller.

 

Combined.png

For the "OS" and "CPU" symbols, the documentation states: "The VI must be in a LabVIEW project to access this symbol."

 

The documentation is correct and reflects the current behavior of LabVIEW. Instead, the condition should reflect the operating system where LabVIEW is running, like the "TARGET_BITNESS" and "TARGET_TYPE" symbols.

Replacing a cluster constant should not alter its 'View Cluster As Icon' setting.

 

Combined Image.png

 

The bug manifests itself regardless of the method used to replace the constant: via QuickDrop Ctrl + P tool or via right-click >> Replace menu.

When working with classes and interfaces, I often use the right-click option on classes to navigate to their parent class.  I regularly find myself trying to do this with classes that inherit from interfaces too, but...this isn't made easy.  It'd be nice if there was a right-click menu option on classes to navigate to their parent interface(s):

 

Untitled.jpg

1.png

 

 

 

 

 

 

 

 

 

 

 

 

2.png

 

Idea: The "Text Color" and "Background Color" fields of LVTextColorsTypeDef.ctl should be replaced with a Color Box

 

This suggestion is very similar to the following idea, which was kindly implemented in LabVIEW 2025 Q1: The "Color" field of LvFontTypeDef.ctl should be replaced with a Color Box

The Build status window should display the amount of time that has elapsed since the build started. The two screenshots below show a possible implementation.

1 (edited).png

 

2 (edited).png

The QuickDrop insert shortcut (Ctrl + I) is extremely useful already. The following enhancements would make it even more so.

Enhancement 1.png

 

 

Enhancement 2.png

 

 

 

Enhancement 3.png

The Rearrange Cases window (which appears when clicking the Rearrange Cases... menu item on Case Structures and Event Structures) would benefit from having "Move Up" and "Move Down" buttons, just like the "Edit Enum Items..." window.

 

Rearranging cases currently requires dragging and dropping. Using Move Up/Move Down buttons can be more precise and easier on the hand.

 

1 (edited).png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.png

For pass-through values like errors, classes, visa sessions, etc. it's a hassle to insert a vi into existing wires.    It would be intuitive and very efficient if you could "pick up" the wire, hover over the vi terminals, and have the connections made automatically.

The window for selecting interface inheritance isn't resizable -- and is rather painful to use as a result since interface names from dependency libraries are almost always going to be long. Allowing this window to be resizable would be a simple way to make this more pleasant.

 

_carl_0-1771513150988.png

 

 

(Adding a search/filter option would also be great, along with just generally making all windows resizable, but that's a bigger ask, and has been requested elsewhere.) 

Occasionally, we want to defer panel updates and most often it is just the current front panel. Unfortunately, the defer property node absolutely requires a wired reference to the panel.

altenbach_2-1770235627004.png

 

 

 

In the past it always took me quite a while with many dead ends to get it right. For example, one might try to do the obvious and "right-click...link to..Panel", but that does not work! I challenge anyone to get that panel reference in under 60 seconds starting with a generic property node from the palette. Just try! (Hint. After selecting the right class (VI Server...VI...VI), the drop down lists it as "Front Panel" and not "Panel".)

 

The idea would be to allow defer nodes without a wired panel reference and they would just act on the current front panel and not break the VI.

 

Note that the panel reference defaults to the current VI and does not require a reference, so why can't the defer node do the same?

 

(Note that we also have this old idea, which would simplify things...)

 

Sometimes I want to have global static constants which I can read in multiple different places and update in only one.

 

I either have to do this in some clunky fashion with an in-lined VI that just has a constant on the block diagram which gets wired out, or I use a global variable with default values set and just never write to it.

 

The global variable option is a way cleaner implementation but has the disadvantage that there isn't technically anything preventing it from being written I just have to rely on/promise that I (or anyone else) won't write it.

 

I would be awesome if there was a property which could be set on a global which allowed it to only function in the read direction.

It would be useful to improve the supported data types in the Toolkit (e.g. including the array[] column data type and other widely used data types and data structures in recent databases). 

In our application, a Select Query executed in LabView through the DB Toolkit in an a integer[] column, and the fetch all data .vi, returns only a fixed portion of the database stored array data (with data cut at 255), not the entire array. Only using of varchar or text column type solves the limtation.

This occurs without any warning to the user, so user does not notice the problem.

At least a user warning should be given.

Option to automatically generate Set or Maps on the outpout tunnel of a loop would be nice.

 

setmap.jpg

The Class Browser (Ctrl-Shift-B) is a little-known LabVIEW feature that makes it much easier to work with property-based class hierarchies in LabVIEW (VI Server, DAQmx, VISA, Sys Config, your own .lvclasses, etc.). The Class Browser search function is particularly helpful when you aren't exactly sure what property or method you need, or if it even exists. Unfortunately, the search results are often very difficult to navigate, as in this example:

Darren_0-1767913475591.png


I was looking for a property or method relating to locking controls on the front panel, so I searched for "lock". Over 1000 results were returned. But the results include a tremendous number of duplicates. If there is a property of a parent class (like the Is On Block Diagram? property of the Generic class in the screenshot above), then that property will be duplicated for all child classes of that parent class... in this case, there are hundreds of children of the Generic class! It took me a few minutes just to scroll through all these duplicate results to finally find what I was looking for (the "Lock Objects" method of the Pane class).

Idea: Only show the parent class property/method in the search results of the Class Browser window. Do not show child class entries for that same property/method.

In the example above, if duplicates had been removed, then my "lock" search would have returned 49 results, which is a much more reasonably sized list of results to dig through.

I am missing a tool to clear the revision history of all VI's, classes, controls, ... in the current project.
I find this useful since when building, some of the revision history is still checked and causes longer build times and even build errors due to this revision history still referencing old missing VI's which are not even part of the repo anymore.
To extend this: Why is there still a revision history in every VI, control, ...? Everybody uses a version control system like GiT or any other one, so it is even better to just switch off revision history tagging in the LabVIEW options for a project (just like separate compiled code checkbox)!
This would be a nice feature and will clear all my errors, pain and time consumption..