LabVIEW Idea Exchange

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

Software development has moved on since a similar idea was declined in 2016

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Make-LVdiff-and-LVMerge-available-for-all-labview-vers...

I would like to suggest just LVCompare is made available in all versions of LabVIEW.

If LVMerge was also available that would be great, but leaving in just in the Professional version would also work.

As a lone developer I use GIT even on very simple projects to give me the ability to rewind and see what changes I have made. Projects are often put down and picked up weeks later. LVCompare lets me see how far I had got. Its also very useful for picking up debugging that should have been removed. In short Software Version Control just make my life easier.

 

Quite often I find myself running a new bit of code which contains an untested modal subvi somewhere in it's bowels, to find that the when called the modal subvi doesn't exit. Clearly there's a little bug in my code, but now I'm stuck. The modal vi has all the focus of LabVIEW, I can't close the vi, I can't abort the vi. Nothing is accessible, including the Project Explorer window.

 

Now what I need here is a LabVIEW Running VIs Task Manager, which allows me to simply scroll down a list of open and running vis, and abort the one that's stealing my focus.

It would probably have to operate outside the development environment to avoid being supressed itself, but presumably a standalone executable can link into LabVIEW through the server port and access the list of running vis with server calls.

 

This would save me from having to use Windows Task Manager and killing LabVIEW (and potentially any unsaved work)

When do I use the Run Continuously button?

 

Almost Never. And most times I hit it, it's an accident and it's a pain.

 

PLEASE hide it by default on all new VIs.

 

Untitled.jpg

Suppose a front panel contains the three elements seen below, with the first one being selected.

1 (edited).png

 

 

 

 

 

 

 

 

 

 

 

 

In the situation above currently pressing Tab does nothing. It would be useful if, instead, pressing Tab would cycle the element selection to the next element in the tabbing order, as seen below.

2 (edited).png

 

 

 

 

 

 

 

 

 

 

 

 

If Tab was pressed again, it would cycle to the next element in the tabbing order, as seen below. And so on.

3 (edited).png

 

 

 

 

 

 

 

 

 

 

 

 

Notes

  • This idea would speed up development by enabling us to cycle through element selection without using the mouse.
  • When used in conjunction with the F2 idea, this would enable us to use Tab + F2 combinations to quickly cycle through elements and rename their labels and/or captions.
  • This idea could be extended to terminals on the block diagram. Suppose a terminal is selected on the block diagram, pressing tab would navigate to another terminal on the block diagram.
  • I'm aware that currently it is possible to use Tab or Shift+Tab to cycle between elements forwards or backwards when the VI is in Run Mode (Ctrl + M). While that is useful, this idea asks for more.

Thanks!

Tired of resizing an event structure and having to relocate the timeout constant?... Simply double-click on the hourglass and type the timeout value!

 

Of course, the option of wiring to the event structure timeout input should still exist. Just like the timed loop, where you can double click and set the period, etc.

 

 

 Untitled.png

 

It would be great if the invert option is given for all possible Boolean terminals like input and output of Boolean functions, controls, indicators like what we have in compound arithmetic function.

 

 

Invert option in boolean terminal

When I print a front panel containing a graph (who ever does that?) I get a stunningly beautiful publication-quality render of my data (overlooking the poorly done vertical y-axis label). However, all the many options of directly exporting a graph image (detailed here) ultimately provide only a screen-resolution image. See the contrast in image quality below:

 

Printed front panel vs exported graph image.Printed front panel vs exported graph image.

This idea has been discussed ad infinitum on the forum (see, for example, here, here, herehere, and here), but has never been adequately resolved. (Enlarging the graph for export does not work since graph elements do not scale, so lines, points and labels end up being far too small.) High time to implement a feature that has been in demand since (at least) 2002!

I find the process of initializing Maps in LabVIEW to be unintuitive and inconsistent with the initialization process for other similar concepts (such as, say, arrays).  After some initial trial and error, the process I've settled into for creating maps is to drop a map constant, and then to drag and drop the appropriate data types onto it for my key and value. I first looked for an Initialize Map VI (which doesn't exist) and then tried to create the constant by wiring up appropriate types to an "Insert Into Map" and creating the constant from there -- but this doesn't work as expected because the terminals don't update appropriately.

 

What drove me to coming to the forum today though, was that in creating a malleable VI with a map inside of it, I found a breaking point for the "drop constant and drag values into it" approach. Since the map data types need to be dynamic to support malleable VIs, I've had to get creative to get around that...

 

_carl_1-1613065330054.png

 

 

 

 

Unlike building a Packed Project Library, source distribution builds will succeed even if a contained VI is broken. For my use case this is undesirable - a broken VI being included in the source distribution is always user error, and I would like to be notified during the build process.

 

It would be helpful if the build specification for a source distribution could be configured to fail if an included VI was broken. By defaulting to false this could be added in a backwards-compatible way without breaking any existing build specifications or workflows.

 

RyanZoeller_0-1646668674035.png

 

I could write a post-build step that validates the VIs are not broken, but this wouldn't provide feedback until the build is complete. A native solution could abort the build early if VIs are broken.

I am taking advantage of the recent FileVersionInfo to pull up the Version Number of the Executable at Run Time and display it for the User (who can then call me and say "Version 2.1.3.4634 crashed", and I can figure out which source this was).  I take advantage of the Pre-Build Action to create the Version Number, taking the "Build" part from the Revision Number of the Project itself (since the Pre-Build Action gives me the path to the Project, this is fairly straight-forward).

 

However, in order to get the correct Build to appear in my Executable, I must build twice.  The reason for this is that LabVIEW apparently reads the Version information before executing the Pre-Build Action, so my attempt to set it to the "correct" value is ignored until the subsequent Build.

 

Personally, I think it is illogical to have a "build Action" that silently takes place before the user-specified "Pre-Build Action", though there may well be a hidden "good reason" for this.  I would like to request, therefore, that LabVIEW include a "Feature" that specifically allows the Pre-Build Action to include not only setting the Version Information (which it currently does) but allowing this updated Version Information to be used in the current Build.  True, the work-around of "Build Twice, Use Once" works for me, but why should we need to jump through this particular (unpublished and unexpected) hoop?

 

Bob Schor

The LabVIEW Viewer would be a stand-alone application that allows for the viewing on VIs for someone who doesn't have a full-blown LabVIEW installation.  It would function similar to how the development environment functions on a 'locked' VI.

 

I've used 'VI Documentation' in the past, but this viewer would allow for live navigation, context help, drilling-down into SubVIs, scrolling through case structures, etc.

 

  

 

 

 

Change the VI Properties Dialog to be able to reach the desired option with a single click, Instead of using the drop down menu.

 

It will be more clear and fast to access properties. 

 

VI Properties.png

 

So I'm going through a bunch of VIs and relinking them.  So I go to a folder and select say 100 VIs and drop them into a new blank VI.  A bunch of dialogs come up telling me VIs are missing and I ignore them all at the moment.  Then I go to the block diagram to find which ones are broken to review them one at a time.  The only problem is the error list window displays over 100 errors that aren't "SubVI is not Executable".  I have all kinds of errors about required inputs not being wired, and for "This VI cannot access the referenced item in private scope".  Well I don't really care I'm not trying to run these I'm just trying to find all broken VIs and fix them.

 

Which got me thinking, can we have a category view of some kind in the Error List Window?

 

Required input not wired.pngSubVI not executable.png

The mother of all diagrams, the Block Diagram, does not have a subdiagram label...

 

 

subdiagram label.png

 

Hi, I do a lot of UI work with LabVIEW, and I'm finding over and over that when you have an array of clusters, the appearance is still to "fat".

 

I'd like to see a very thin border for Arrays and Clusters.

 

If you look at the "Simple String" control, this is exactly what I mean. It's a single pixel border.

 

Maybe like this:

 ThinCluster.png

 

 

LabVIEW's case selector icon (?) is taller than tunnels, so it interrupts wiring flow whenever a standard VI (4-2-2-4 terminal configuration) uses one of the terminals as the selector and an adjacent terminal is also wired as a tunnel.  I'd like to see the case selector be the same height as a tunnel.

This is related to the Array to Cluster function which has a idea here as well: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Array-to-Cluster-Type/idi-p/1044021

 

This defaults to nine (9) (https://zone.ni.com/reference/en-XX/help/371361R-01/glang/array_to_cluster/) but to the new user this may get missed.  I suggest a set size dialog box to pop up when it is first placed on the block diagram.

I did a search for explain error - I did find this idea which is similar but for probes.

 

Explain Error is a feature I have been using more lately but its not available for an error that is in an array (LabVIEW 2010).

It would be great if it was!

 

Cheers

-JG

 

 

Explain Error In Error Array.png

If you install anything (anything!) from NI on a computer that runs windows 8 or newer, you will get bugged by a dialog to disable fast startup. The option is enabled by default, no matter what you install. It will popup with every single install, even minor patches, and even if this option has been intentionally unchecked in the original installation to be patched. If you don't want to disable fast startup, it is a never-ending whack-a-mole of these dialogs. (... but the need to disable fast startup for some scenarios is a more general problem that NI needs to address. It could be a new idea, but I think NI is aware of this problem. It might even be something that Microsoft could address such that devices don't get lost in the scenarios where fast startup causes problems)

 

This idea is centered around executables that we built and distribute via installers..

 

While this option (=disabling fast startup) can be useful when certain DAQ hardware is used, it makes absolutely no sense for other LabVIEW programs. Most of my programs don't use any DAQ hardware and it is not reasonable to globally cripple every single computer that has them installed. People tend to click [next] without reading, assuming that the defaults are typically reasonable.

 

Currently, this install query can be silenced by editing the setup.ini and changing the entry "WinFastStartup=1" to "WinFastStartup=0". I have built dozens of applications over the last few days and it is becoming seriously annoying to constantly remember to do that.

 

I suggest that the installer builder should get another checkbox that allows us to set that option permanently. Here is how it could look like.

 

 

  • Checking that box will give the current experience where the installer asks to disable fast startup. (it could even be checked by default to mimic the current default behavior)
  • Leaving the box unchecked will skip that dialog and will not disable fast startup.

 

IDEA SUMMARY: Allow us to configure the fast startup dialog from the installer builder tool.

 

 

Earlier, I posted this idea, suggesting that the error in control should not have the default value in parentheses.

 

Following another discussion, I now suggest an extension of that concept - No control should have the default value in parentheses. This clutters up the front panel and the diagram of the subVI.

 

Instead, when you hover over the input of a subVI, LabVIEW should look at it and if it's not required, should add the default value to the tip strip automatically:

 

Default_Value.PNG 

 

This change will require us to modify all our old code if we don't want to have the clutter, but I can personally live with that. Alternatively, LV can try to be clever and do something like: "If the control isn't required and has parentheses at the end, don't display the default value".