LabVIEW Idea Exchange

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

I would like to have that in place element structure specific operations can be added on a tunnel. This would integrate especially well with drag-a-box-then-Ctrl-Space an ipe.

ipe.gif

 So basically to have this menu when right clicking a ipe tunnel:

 
 

Unbenannt.png

 
Screenshot 2026-02-24 100929.png

Add an entry to the Find menu for controls/indicators that can highlight statically linked event frames for that control. This item should only appear if there is at least one linked event frame.

Proposing adding right-click menu option for bundle and unbundle cluster elements, which allows the user to rearrange the order of elements with wiring automatically updated.  This is a frequent and tedious task when cleaning block diagrams that currently involves many steps and introduces risk of mis-wiring - this change would leverage existing behaviors to reduce time spent cleaning block diagrams.

Robzilla_0-1762462236224.png

 

DVRs are extremely powerful, yet tedious to work with. Much of the coding is just a matter of following the exact same pattern over and over again, while making the code uglier. And I have yet to come up with a good way to reduce that coding overhead...

 

What if there was a built-in DVR call wrapper that allowed direct access to VIs?

 

_carl_0-1763139909538.png

The UI experience could be a hybrid of the Static VI Reference and Call by Reference functions: drop the "DVR Call Wrapper" on the block diagram, drag your VI into it, then wire it up directly.

 

It could have options for write and read-only.  And it could have right-click options for changing default error behavior.

 

My standard use case would be class calls specifically, but I don't see a reason this couldn't be applied to any data type -- although some serious thought would have to go into expected behavior in terms of which terminal to treat as the DVR (although this could be dynamic based on which terminal a DVR is wired into, or maybe even settable on the wrapper).

 

A tool like this would likely save me countless hours of development time, and make it less likely that I'd make coding mistakes while writing routine code.

 

Currently if you draw a diagram disable structure around a section of code any wire coming out of it will be set to "Use Default if Unwired". This is almost never the desired behavior, and can easily lead to bugs if people forget to connect wires through on the Enabled case. The VI should be broken until the developer makes any necessary changes in the Enabled case. Diagram Disable Idea.png

It'd be quite helpful if you could have several search result windows (or tabs) since it's not that uncommon that you e.g. search for some text and want to keep that list of VIs while searching for something else. Especially when the projects get into several thousand VIs it takes a while to do the search, thus i prefer to not do it again ...

Suppose that in the scenario seen below we would like to merge the error out terminal of VI 2.vi back into the main error wire. This is, of course, a common programming pattern.

1.png

 

 

 

 

 

 

 

 

 

Currently we would need to insert a Merge Errors node into the existing wire (Pressing Ctrl + Space, typing "erg", then Ctrl + I is probably the quickest way to do this), then wire the error wire as desired. Currently creating a wire from the error out terminal and ending that wire onto the existing error wire results in broken wires, as seen below.

2.png

 

 

 

 

 

 

 

 

 

It would be useful to have an option that specifies that a Merge Errors node would automatically be inserted in this case. That option could be named something like "Automatically insert the Merge Errors node when suitable", and could be located in the Tools >> Options... menu alongside options such as "Place structures with Auto Grow enabled" or "Auto-insert Feedback Node in cycles".

 

When the "Automatically insert the Merge Errors node when suitable" option is ticked, a Merge Errors node would automatically be inserted in the scenario described earlier, as seen below. This would save the few seconds required to execute the Ctrl + Space, "erg", Ctrl + I sequence.

3.png

 

 

 

 

 

 

 

 

 

 

Notes

  • I would be happy if the default value of the "Automatically insert the Merge Errors node when suitable" option would be unticked, which would maintain the current default behaviour.
  • Even if the option would be ticked (enabled) by default, I think it would still make sense from a usability point of view. I suspect that the number of times people intentionally use this feature would be greater than the number of times that people wire error wires together by mistake and would wish for the wires to be broken.

Thanks!

When we create an input from an output and vice versa, the original name of the control/indicator is copied and a number appended. This usually results in a manual edit of the automatically generated name.

It would be nice to have a customizable list for input to output naming schemes where we can specify keywords and their substitutes...

 

For example in the form of "Control name" "Direction" "Indicator name"
In <> Out
in <> out
input <> output

Clipboard_01-14-2025_03.jpg

 

Maybe we could even use it for unidirectional naming...
Control > Indicator
Input < Indicator

 

... or even more complex schemes with the help of regex... But a simple list which looks at the last word and generates a corresponding name would be really nice...

 

Thanks, Tobi

 

LabVIEW needs native SSH and SFTP connection support. 

 

In the past, LabVIEW users have had to rely on third party applications like PuTTY or ExtraPuTTY to do very basic Linux/Unix secure shell operationsNot only does it add an extra layer of complexity to the code but it is also quite inflexibleIncreasing interoperability requirements of present day (and future) computer systems rely heavily on terminal services with a vast percentage of those being SSH basedIn the past 5 years I have needed to use SSH type connections more and more inside of LabVIEW, I do not see it ending anytime soon and I know I am not alone.

 

An SSH connection could be managed in much the same manor as the current VISA and TelNet connection are managedAn example of some of the tools could look something like the below image and could come standard or part of the Internet Connectivity Toolkit.

 

2010-06-03_LVIE_SSH.png

"Despite the awesomeness of LabVIEW classes, the class constant icon size takes up too much space on the block diagram. Reducing the size of this box would be a helpful improvement.

I suggest minimizing the white space around the icon and reducing the depth of the box:

 

Quiztus2_1-1741874481209.png

 

Quiztus2_2-1741874846447.png

 

If you have an event that contains a cluster typedef, then the event structure automatically unbundles the data:_carl_0-1633037893996.png

I generally want to work with the entire typdef though. Why not expose the entire typdef to improve code maintainability?

 

(No one wants to re-bundle that data just to send it to a subVI or new event...and then risk losing data when a new property is added later.  Workarounds include adding a typdef of a typdef, or going class-based...but that overhead/creativity shouldn't be necessary.)

 

I would like to have the possibility to "negate" some comparison functions such as "Empty String/Path?". This can avoid to add the "Not" operator.

The picture below is a possible implementation. The dot on the input (on the output ok also) is showing the negation.

Labview Idea.png

This might be good to be implemented for the following functions:

Labview Idea 2.png

Hi,

 

Sometimes we have to check the execution of just a part of a long VI and I use to do is:

- set a breakpoint just before the part,

- run the VI,

- wait for the breakpoint,

- set highlight

- and follow the execution.

 

I believe that would be nice to set the highlight just like breakpoint clicking over the wire and, when the execution reaches it, show the execution.

 

LV_Lamp.jpg

I quite often find myself wanting to change the look and feel of front panels items. You currently have to do one at a time. Would be great to be able to highlight all of the Booleans and change what they look like in one go ( Similar to how we can change the size of other properties).

Error wires can be passed into most boolean logic in LabVIEW.

 

Except...they can't be passed directly in as the condition for conditional tunnels:

_carl_0-1729004322300.png

For consistency, this should be allowed.

 

Problem: Currently it is impossible to know in advance what errors (what error codes) a node or native VI can produce. (Native VI = VI that ships with LabVIEW)

 

For example, I recently implemented a module that communicates with another endpoint using the LabVIEW TCP primitives we know and love: TCP Open Connection, TCP Read, TCP Write, TCP Close Connection. In order to create robust software I needed to understand what error codes each of these primitives can generate, and in what circumstances.

 

Through initial testing I discovered that TCP Open Connection can generate errors 56, 62, and 66. I then handled these errors locally in the code.

 

Around two weeks later, during further testing of what I thought was a fully complete and tested module, the module unexpectedly started experiencing error 60 many times per second. The module had never experienced error 60 before. The module was configured to broadcast an event each time an error was detected. This flooded the listener (the DQMH tester VI that was listening to all broadcast events) with thousands of error messages per second. The tester VI front panel buttons became unresponsive, because the tester was flooded with so many incoming broadcasts. The only way to break out of the cycle was to abort the tester, then close the project to shutdown the module.

 

This way I learned "the hard way" that that TCP Open Connection can generate error 60 in certain circumstances, in addition to the error codes I had handled already.

 

Solution: The detailed help of each node and each native VI should list all error codes that can be produced by that node or VI. For example, in the case of TCP Open Connection, the detailed help should contain a description similar to the below.

"

TCP Open Connection can generate the following errors:

  • Error 56
  • Error 60
  • Error 62
  • Error 66
  • and so on listing here any/all error codes that can be generated by the node.

"

 

This list would be extremely useful, as it would make us (professional LabVIEW programmers) aware of the various error codes a node or VI could occur generate. This would encourage the programmer to think of ways to handle all those possible errors, thus resulting in more robust code.

 

By reading the "Explain Error..." message of each error code the programmer could also understand the circumstances in which the node or VI generates each particular error.

 

Notes

  • In summary, this idea suggests an improvement to the detailed help documentation of each node and native VI.
  • It should be possible to automate the creation of the lists for each node and native VI.
    • For nodes whose source code is written in C++, a program could be created to scan the source code files and return the list of possible error codes generated by the function.
    • For native VIs, VI scripting could be used to achieve a similar purpose and output the list of errors that could be generated by that VI.

It would be nice if the format to string would support arrays.
Something like this:

MikaelH_0-1760513019416.png

 



One of the things that sometimes bugs me when using LabVIEW is that if you have a front panel or block diagram in a small window, many of the menu options and toolbar options are inaccessible without having to resize the window first. You have to have a minimum window size to be able to access all of the toolbar functions.

 

Still don't get it?

 

This is how big I want my SubVI window to be:

2014-10-01_13-24-54.jpg

 

Problems with the above:

  • A lot of the toolbar buttons and menu options are completely inaccessible
  • I'm sure it was for good reason (probably some other icons that appear there), but there's also a load of empty space to the left of the run button which would allow me to fit more of the toolbar on screen

To be able to access the entire toolbar, the windows has to be at least one of the following wide:

2014-10-01_13-25-13.jpg

 

 

Why is this a problem?

 

  • Normally my front panel windows are nicely sized according to the controls and indicators on the front panel (e.g. controls top left, indicators top right, error clusters bottom), for most SubVIs this usually means that the window is thinner than the minimum width to show all of the toolbar options.
  • If you have a fixed size UI panel (e.g. for dialogues) - if you want to align / space objects on the panel you have to make it larger, do the scaling and then resize back to the original size which isn't ideal (possibility for not resizing to the original size correctly)
  • Similar to the above but if you have a UI where you have fit/scale to pane you might want the initial size of the UI to be smaller than the minimum width

Existing workarounds:

 

  • Just before submitting this idea I realised you can shrink the 'search' bar from the toolbar to make it slightly better2014-10-01_13-25-38.jpg
  • Use the OpenG (?) VI for 'fit to largest decoration - this is OK for some UIs but not really suitable for the SubVI case above

Proposed solution:

Please make it so that the menu and toolbar are accessible regardless of window size. One solution would be to have a button that allows you to 'scroll' the toolbar or have a pop-up dialogue that shows the missing toolbar buttons as per the image below.

 

MS Paint skills (icon lifted from Chrome's bookmarks bar):

2014-10-01_13-24-54_fixed.jpg

 

As an aside, MS Word manages it fairly well (even though it isn't that readable), and it has a LOT of toolbar buttons:

2014-10-01_13-44-07.jpg

 

Please consider my idea (or Kudos it) for future versions of LabVIEW - it will improve usability of the IDE.

CTRL+Click on an input is a great little tool to switch the input.

 

However, it only works when both inputs are wired. Often (, I or QD connected a wire wrong,) I feel like switching the input, before wire-ing the 2nd. Only to find it doesn't work...

 

Having to connect the 2nd wire just seems to disrupt the flow, being focused on the first input. Being forced to make things worse (connect two wrong wires) before being able to make it right just feels itchy to me.

Switch one wire.png

 

It's a minor thing, but I never understood why it would be limited to 2 wires.

I am currently struggling with the issue that the shown knob permanently triggers "Value change" event as long as the user has not finished adjusting it yet (left mouse button is still pressed). This may be an intended behavior, but it is not in my case.

For boolean elements, there is the configuration option of "Mechanical Action". For strings, there is the option "Update value while typing". However, there is currently no such option for numerical elements.


Therefore, I would like to suggest the following:
Add an option "Update while adjustment" - true by default, so it acts as it do currently. If this option is set to false, the "Value change" event would only be triggered after the input is completed by the user.