LabVIEW Idea Exchange

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

Using 2023 for the first time (skipped 2021 and 2022)

 

QuickDrop used to be quick.

It was very convenient.

 

Now it takes a second to load.

 

That's pretty inconvenient if you're trying to... do much of anything.

 

Best example: If you're trying to remove code (Quickdrop's Control-R), now instead of quickly removing the selected code, you get to deal with accidentally RUNNING your VI (Menu's Control-R)

 

Please make it Quick again

One of the most over-looked LabVIEW VI Properties, mentioned in all of the "Good LabVIEW Coding Practices", is the one called "Documentation", where you describe what the VI does, and its Inputs and Outputs (at a minimum).  [NI Examples are certainly guilty of this].

 

I've been trying (and mostly succeeding) to ensure that every VI I write has such Documentation.  Sometimes I make a mis-type, highlight "bad" parts, and hit the "Delete" (or backspace), then say "Oops, erased too much, let's undo that with ^Z".  Except there is no Undo, or at least it isn't bound to ^Z here.

 

I can find no other place in LabVIEW that doesn't allow ^Z to replace deleted text.  It works in String Constants, in Labels (whether Free Labels or names for Controls/Indicators), and other places.

 

To encourage LabVIEW Developers to use the Documentation property, can you please allow us to "undo a boo-boo" with ^Z?

 

Bob "Imperfect" Schor

Idea/bug-report:

If you have a multicolumn listbox with column headers and you want to delete one of the columns you can right-click on the column and select delete column, but if there are no items in that column LabVIEW will not actually do anything(!):

 

This also applies to empty rows with headers. This is non-intuitive and makes it cumbersome to remove a header and keep the width/height of the ones you want to keep...

Seems to me 75% of the time when I create a local variable, I need to read it, not write to it.  Seems like that would be a time saver...

LabVIEW crashes randomly when network functions are used on Linux. This problem appears especially when many connections or files are open.

R&D has identified the issue but is evaluating wheter or not the issue will be resolved in future releases.

 

All the details are here : 

https://forums.ni.com/t5/LabVIEW/TCP-Allow-files-descriptors-gt-1024/m-p/4297433#M1255356

 

An example is attached.

 

 

 

 

Download All

My goal is to reduce palette bloat!

 

Let's look at the conversion palette. Certainly looks impressive, but why do we need so many different bullets??? They are basically all the same function:  A universal input and an output type.

 

I suggest that the 16 marked bullets on the image, plus some others (e.g. "to variant"), be combined into a single universal bullet where we can select the desired output type by a simple right-click. Whatever we select will determine the actual icon, so once things are in place, everything will look exactly as before.

 

When we first drop the universal icon on the diagram (or insert it into a wire), the context menu appears and we must select the desired output.

I would be nice if the Clear Error primative was modified so that it's icon was not the full subVI size, but rather smaller which would help to keep the block diagram neat and clean.

 

Proposed Clear Error Modification.png

The most common icon that I use in LabVIEW has a "title" section at the top.  It is so common, that when this is used, LabVIEW moves the Text Entries below it.  BUT, they don't allow for automatic entry INTO the title field.  Instead they allow 4 lines of text that all gets compressed when you use 4 lines of text.

 

Instead of the 4th line of text, how about an entry for the Title, it will appear in the small window at the top of the icon.

 

IconEditor_TitleEntry

When I want to select a given index of an Enum (Index, not String value) then it can be cumbersome.

I can make the digital display visible for the constant or control, but when the drop-down list appears.... yeah.

Enum drop-down.png

Can't we include the Index on the left side of the drop-down list (Spot my numbering error)?

Enum drop-down with index.png

It's not too hard here because they're sequentially ordered (more or less) but we have some enums with over 100 elements which are not so nicely ordered. Sometimes we just need to find out which element corresponds to a given index, or to select a given index directly. This is not so easy manually. I know we can enter the value for a constant in the DigitalDisplay area to select that element, but I still feel it would be nice to include the index when showing the selection list.

 

This is useful anywhere there is an Integer to Enum conversion (or the opposite).

I have created NI MAX custom scales to use in a data acquisition system with a cRIO and LabVIEW.  As part of the Quality Management system at my company, I regularly calibrate instrumentation, and update these calibrations as custom scales in NI MAX.  My issue is that these calibrations/custom scales are a very important part of overall data integrity. The concern is multiple test users can gain access to NI MAX and randomly change the custom scales without knowledge of the Quality System manager, thereby compromising data integrity. Perhaps NI could look into allowing password protections of Custom Scales like they password protect the configuration of the cRIO system I am using.  This would help greatly to protect data integrity. Thanks for your consideration.

We've all seen it: The annoying 1-pixel bend when wiring between VIs with mismatched connector panes. Many ideas have been proposed to address this on a small scale... But I think it can easily be improved on a much larger scale.

 

IDEA:

Modify the way the 5335 connector pane is rendered so that the top and bottom terminals line up with those of the standard 4224 connector pane.

connectorpanes.png

 

In case the image doesn't say it all, all I'm proposing is that the top-left terminal of the 5335 connector is made 1-pixel larger by stealing 1-pixel from the terminal below. Likewise for the top-right, bottom-left and bottom-right.

 

The obvious benefit is that it becomes much neater to wire errors and references between mismatched VIs. Goodbye OCD! Smiley Very Happy

When I try to select a word or more words I currently have two options. The first one is to hold down shift and select on letter by letter basis which is slow. The second one is to select with help of mouse, which is error prone.

 

Normally all text editors have options to move for 1 word left or right by ctrl + left arrow or ctrl + right arrow. The same goes for selecting a word (ctrl + shift + arrow). I would like this functionality to be supported by LabVIEW at least on block diagram, VI documentation, enum editing.

When creating a SubVI by selecting a piece of code from your block diagram, the "error out" indicator created is not the standard indicator with grey background as available in the controls palette.

On the contrary, it is similar to the standard "error in" control with white background controls.

To me it results  on a poor style and readability, and I use to replace it manually with the palette indicator.

 

I suggest using the default error indicator when creating a new subVI (and anywhere else if possible).Capture.PNG

NI has a private method for returning the hWnd of a VI but there is no "publicly" available method for this. The private method is already shared around forums and used extensively as interacting with the Win32 APIs is a common need for advanced UIs. The appearance configs for VIs only work relative to other VIs and trying to develop LabVIEW based applications that are used alongside other applications presents many roadblocks, even with other NI software such as TestStand. (TestStand has an API method for getting the hWnd!)

 

The other method commonly used is to also use the Win32 FindWindow call however this presents issues if there are multiple windows with the same captions (easy enough with Cloned VIs) and is not a robust approach.

For reasons outlined in detail in this idea, the the expression node should be redesigned. These vertical lines are too thick and the end arrows are pointless and too busy.

 

After all, the expression node is basically a [single line|single variable] formula node and for this reason it should look more similar to a formula node.

 

Here is my suggestion for the redesigned expression node (on the right). The current design is shown on the left for comparison.

 

 

 

Note that the grey left and right borders are exactly matched to the border design of the formula node, making things consistent and intuitive. (Top and bottom should remain single pixel to save diagram space). 

 

Sometimes, it can be useful to know the last event handled by an event structure.

 

LastEvent.png

 

While I have many, one of my major gripes with LabVIEW is that it's very easy to have dozens of open windows.  This would normally not be a terrible burden, but LabVIEW has a bad habit of raising ALL open LabVIEW Windows when any single one is given focus.

 

For example, if I have both the front panel and block diagram windows of 3 VIs, a project window, the VI palettes, and a ctrl+h help window open, then clicking any one brings all 10 windows to the front.  This is a problem if, for example, I'm trying to draw an icon based on some source image from Google image search.  I am forced to maneuver all LabVIEW windows and the browser window such that the two things I actually want are both visible at the same time.

 

To get around this, and other difficulties introduced by the huge numbers of windows that labview is fond of creating, I propose this idea based on the relatively recent addition of a "Single Window Mode" to the open source photo editor Gimp (http://www.gimp.org).

 

In the original Gimp UI, each open image occupies a unique window.  Additionally, the toolbox and other dialog windows (layers, brushes, etc.) occupy unique windows as well.  This, to me, is remarkably similar to the LabVIEW UI.

 

gimp multi window.jpg

 

In Gimp's Single Window Mode, the toolbox and any open dialogs can be locked to one side of the screen and each open image is in a tab.  (Note that this is strongly influenced by Photoshop's UI.)

 

gimp single window.jpg

 

I would like to see something very similar to this for labview.  In this concept, each open VI would occupy a tab (perhaps split vertically into front panel and block diagram) and open dialogs (such as VI palette, ctrl+h help window, navigation window, project explorer, etc.) could be docked to the screen edges.  Here is a rendering of such a concept.

 

labview single window.jpg

 

I would note that most text IDEs (such as Eclipse, Visual Studio, etc.) use a very similar paradigm (ie lots of source files open in tabs, project viewer, find+replace, etc locked to screen edges).  Clearly more thought would have to be given to how front panels are displayed, e.g. outside of a labview development environment, but I feel that this concept would be a dramatic improvement for the development task.

 

1. Allow for "Tabbed Browsing" of VI's to better manage windows.

2. Allow for the BD to be open independent of the FP.

3. Allow dockable palettes... dock to either the edge of the screen, or to the top bar (pictured below) of LabVIEW.

4. As a bonus, consider being able to open PDF's, txt's, and html's in tabs also for Help and documentation.

5. Finally, allow the project tree to be docked into the IDE.

 

Please, add your own IDE upgrade ideas in this discussion - illustrations will be especially helpful here. If it's a major enough idea, create a new idea!

 

LabVIEW2010.png

Originally suggested by RavensFan.

 

LabVIEW scripting makes it possible to automate repetitive tasks in LabVIEW, but it is often difficult to find the properties and invoke nodes to accomplish the task. It would be great to have a recording feature that watches what you do in LabVIEW, and then generates the corresponding code for it. I'm sure the engineers at NI could design it much better than any more specific ideas I could throw out, so I will leave the rest up to them. 

Edit >> Create SubVI:  I almost never use this function... but it could be so nice!

Imagine being able to develop code on some diagram, check functionality in line, and quickly generate a subVI.  We're so close with "Create SubVI", but in 7+ years, I've never really used it.

 

Suggested Tweaks:


1) Use default connector pane (12 terminals)
2) If there are error clusters, wire them to the bottom terminals.
3) If there are error clusters, auto create a case structure and put the code in the No Error case.  Wire the error cluster through the Error case.
4) If there are in and out references (e.g. File In, File Out), wire these to the top terminals.
5) Run Clean Up Diagram.