LabVIEW Idea Exchange

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

We all (should) check if an array is empty before passing through a For Loop, if we are indexing it and any references or values pass through the For Loop so that we pass null references or default values for the data type.

 

Most people use either an "Array Size" primitive for selecting "0" or "Default" or an "Empty Array?" primitive for selecting "True" or "False" in a case structure around the For Loop.

18049i62E217D020F17D5C18051i254696F87AD8D82F

If we could just wire the array to the Case Selector and have it automatically create two cases "Empty" and "Has Data" or something, it will make the diagram cleaner and easier to read, while saving a few second for every instance of use. 

18053i19D01296C2C082C8

A lot of the vi icons I make only have text inside a box. It would be neat if the text could be inserted in the icon from the name of the vi, without me having to type it in. Of course you have to name the vi in such a way that it all fits in the icon.

 

Also, this function should be optional, so if you wanted to make a glitzy icon, you could, just as we can now.

Using the LabVIEW 2009 Build Spec (as an example) allows you to add a Destination to a Library which is very handy, as it means you can namespace VIs at build-time.

 

I would like to take this a step forward and then be able to set that new Library as a Sub-Library of another Library that already exists in the Project.

I would then want to be able to set the scope of this Sub-Library as well (relative to its now, Parent).

 

This combined with my Locking State Idea would allow be create a Distribution that would hide and protect a Support VI Library

As the Sub-Library would be Private Scoped (from above) and the Parent Library would be set Locked (does not show Private Members).

 

I currently can implement this using Scripting but it would be nice to have it native.

 

Cheers

-JG

 

 

17619iFB1C3A1375DBE39317621i6935DFDFCA489040

Hello!

 

What I really would like to se implemented as a future feature is a 'Search 1D Array.vi' with the option to do a case insensitive search.

 

Usually I just plug a "to upper case" vi on both array and search string inputs. It would be nice to be able to select it right on the vi instead.

 

The functionality should work as with the case insensitive match in the case structure.

 

 

Cheers!

//Beckman

It would be beneficial if nodes had the ability to retain data from their previous execution. Along with "Use Default If Unwired" it would save memory allocation and coding time if there was a "Use Current Value If Unwired" selection which would retain the node's value and pass the last executed value. 

 

 Use Current Value If Unwired.PNG

This figure illustrates one application where "Use Current Value If Unwired" would save memory and increase performance instead of using multiple property nodes or local variables for retaining the output data. It would also eliminate extra wiring in every case this node is not used.

Hi,

 

in LV2009 a new set of VIs have been published for working with configuration VIs. They are now part of config.lvlib. But some VIs of config.lvlib are marked private, therefore I cannot use these VIs as Sub-VIs, if the calling VI is not part of config.lvlib. This is bad (at least for me), since I have written some tools to load a configuration directly from a string and not from a file. To do this in LV2009, I need these private VIs, which I cannot use without changing config.lvlib.

 

Therefore I suggest to make all VIs of config.lvlib public. In fact, is there a good reason, why these are private in the first place?

 

Regards,

Marc

When developing LabVIEW automation tools, I miss a way to list the controls connected to a VI's connector pane. That would make it possible for the user to better select which controls to set before calling a VI (dynamic VI call).

 

An "IsOnConnector" property on a control reference would be very useful. Or better; a property returning an enum with one of the four values: "NotConnected", "Optional", "Recommended" and "Required".

 

Another solution could be a property like the Controls property on a Panel reference, but only listing the controls on the connector.

 

When browsing data in MAX (Historical Data Viewer) via the cursors function the time shell be added although after an full minute, hour or day. At the moment when incrementing from 19:59:59 by one second the time will be 19:59:00. Shouldn't the expected result be 20:00:00?
In the LabVIEW development environment it is possible to separate the shared variables via virtual folders. In cases with more than 100 variables it is very difficult to keep a structure at runtime. Therefore it would be a great improvement for us to implement a new hierarchical level (name of the virtual folder) to ensure a well-arranged structure also in the runtime. This structure should be kept in the Shared Variable Engine and also in the Citadel Database.

I would like to see and option to use our development system that is enabled by a hardware key. That way, you can put it on any machine you want for development without worrying about licensing. A lot of LabVIEW applications are one of a kind systems, complex systems. The programmer does not always have time to add a lot of code for all the errors you can encounter. With the debugging tools in the development system, debugging would be much easier than trying to debug a built application. This would enable the owner of the software to load his system on a target machine and when he is done developing the application, he can build it as normal. It would be desirable to also be able to use you key for connecting to a remote site, using remote desktop, pachyderm, etc. This would greatly help for field support of application. It would also make it easier to support previous versions of LabVIEW, as the project and software would be on the target machine. Changes that could take days could now be done in minutes.

If you use the NI proposed way of creating Sub-VIs for functions (which is good), debugging soon becomes a nightmare with every VI opening two windows, one of which is mostly not needed (the front panel). It would be great if LV gave us an option saying "Do not open front panels when debugging", which would only open the block diagram. Instead of the front panel you could only offer a list of all input/output controls (and maybe their values), and you could put this list in the same window for all open VIs (in some organized way - maybe similar to probe window). That way all front panels would only take up one window instead of many.
I wasn't able to create a multi-line comment.  Is this possible?  If not introduce that structure...

I think there should be a way to reinitialize a stacked shift register to the originally initialized value so you can clear out the contents of every iteration all at once.  For example, the code below, implemented with 4 individual shift registers:

 

 multiple shift registers.PNG

 

Could be implemented with 1 stacked shift register with a reinitialize terminal:

 

stacked shift register with reinitialize.PNG 

I would like the maximize button removed from the FP & especially the BD.  I typically work with many VIs open at once and I find it very annoying to open a subVI that consumes my entire desktop with a lot of white space. This is true of the FP and the BD.

 

Lets be real - your code is not that important.  The one except might be the main GUI.

At least numeric controls and string controls loose focus after pressing enter. This is especially unpractically when navigating by key. The focus should be held on all controls as it is on boolean controls.

Classes in LabVIEW are a great step over (and finally, with LV 2009 them start to work...) but there are still two 'holes'

 

Abstract methods. 

It would be great to have the possibility to define abstract methods and interfaces. Now I'm forcing an error into the error out indicator to notify the usage of a method not yet defined but it would be better to make the compiler to recognize the usage of abstract methods during the design time. One way to define abstract methods could be the introduction of a new entry in the 'class menu' and allowing to define them just in term of front panel (block diagram not available).

 

Class duplication.

An object is duplicated on each node, so is not easy to work into parralel loops on the same instance. To use the same instance I have used references, but it is not so easy to use (not as the 'normal' wires) and it hasn't the same performance (working with reference is heavier than working with instances). It would be great to introduce a mechanism that implements the convertion from instance to object, something likes a standard 'getReference' and 'getInstance'.

Find and Replace should be expanded to sections of code.

Hi,

 

Append True/False String is a function in LV, and it allows you to append one of the two input strings to the initial string based on a boolean input.  I use it to append pass/fail to the initial string. 

 

I think this function should also allow us to select a couple of standard true/false string without needing a true/false string input.  I should be able to right click on the node and select pass/fail, true/false, yes/no, go/no go, etc.  By doing this, we can make our code even cleaner.  When you select these standard true/false string, the appearance of the icon should also change in order to reflect what standard true/false input is selected.

 

Yik

The Block Diagram should look more like a schematic capture tool.  It should have the ability to zoom in and out and pan.  Users should be able to draw their own Vis like ICs in a schematic capture program.  Parts and wires should be drawn on a grid.

Hi all,

 

Sometimes, a cluster constant is used in LV.  Due to the size of the constant, a lot of time, it is sized down, so that only part of the constant is shown.  What if you want to see all the values in the cluster?  You have to size it up. 

 

At the moment, if we do ctrl+h and hoover over the constant, we will get some information about the constant, but not the values are in the constants.  It will be nice if the values are shown in the help window as well. 

 

Yik