LabVIEW Idea Exchange

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

A lot of times I generate 1D arrays in each iteration of a for loop. Rather than concatenating the arrays inside the for loop I use and indexed output tunnel which gives me a 2D array. Using the Reshape Array function this can be reshaped into a 1D array essentially concatenating the 1D arrays together.

 

My problem is that the "dimension size 0" input of the Reshape Array function is required. I suggest that if this input is not wired to simply interpret the n-dim array as a 1D array.

 

ReshapeArray.png

 

Interestingly enough in the context help for Reshape Array "dimension size 0" is not shown in bold so it should not be required.

 

ReshapeHelp.PNG

When i create a file path control in say a read image.vi I have to manually right click and select view "Browse button". It will be helpful if this is made as a default thing.

 

id1.PNG id2.PNG

 

to get this

 

id3.PNG

I like to have my project window open, nice and skinny, on the left of my screen.  I have some extra stuff installed into my environment, which means more buttons, and that means that I can't see all the buttons unless I expand it out a lot:

 

Good.jpg

 

I'd prefer to be able to have more than just one row of buttons:

 

Better.jpg

The vast majority of times I place a property node onto a block diagram it is to write to the property.  Having the default direction of property nodes being "write" would save much time having to change them from their default "read" direction.

I have become a huge fan of the compound arithmetic node, and there are a growing list of good ideas on this Idea Exchange that involve adding invert capability to more boolean inputs/outputs.  Unfortunately, the circles used to show that an input/output is inverted are too small for my taste which makes them easily missed by the untrained eye.  Filling the circles black is one possibility, but there is room between the terminals to at least double the size.  With a more prominent indicator that a node is inverted, I will easily support adding invert capability anywhere it makes sense.  

 

I know that most of the wildly popular ideas here involve making things smaller, hopefully with some of that reclaimed real estate we can make room for some slightly larger circles.  

After selecting an entry from the quick drop list I have to re-open it again for each item I want to place. Why not adding the possibility to keep it open showing the last selection? E.g. if I select the TCP Open item most likely I will use a TCP read or write in the next step. I think this could be easily done by copying the behaviour of the Control-/Function palettes which have a Pin to make them sticky.

QuickDrop.png

As we look at the Comparison Palette, there are three functions that offer negative logic, but fail to offer the positive logic alternative:

 

NotLogic.png

 

I commonly find myself placing a Boolean "not" right after these functions (e.g., if I want to know if there are elements in an array I must test if it is "not not empty", or if I want to know if a ref is valid I must test if it is "not not valid". Take a look at my other idea which illustrates not not logic.).

 

I have two proposed solutions: 1. offer a single function that has an "Invert?" option on the output, or 2. offer both the positive and negative logic primitives on the palette.

Message Edited by Laura F. on 11-16-2009 08:51 AM

The current behavior of "Clean Up Wire" will route wires straight through transparent free labels and object labels (confirmed this behavior on 8.6.1 and 2009). I propose that the action routes wires around labels, not through them.

 

CleanUpWire.png

A 3-numeric cluster will be interpreted as "start - step - stop" if connected to a for loop:

main.jpg

 

The feature can be enabled or not, like "indexing" on arrays.

The structure will be changeable to an array by accessing the popup menu:

change to array.jpg

 

The result, of course, will be:

resulting array.jpg

There seem to me to be a couple of choke points in right-click access to VIs and functions.  One is that I frequently need to use the same VI's repeatedly.  Another is that the quite useful "insert" and "replace" context items only offer a few first-tier options: one or two related palettes, or all palettes.  Try to insert a few datalog functions for example, and you have to navigate down 6 levels for each. It's even worse if you have to use "select a VI..." and browse to it. For the worst cases, insert and replace lose their advantage over copy-paste or quick drop.

 

 I propose a dynamically generated palette consisting of the last several VIs and functions (even controls) that have been dropped.  This is analogous to recent-commands-list functionalities common in CAD packages.

 

- As a member of the functions palette, the items in it are at or above the level they are in their normal place in the hierarchy.

- Since it's a palette you could pin it and it would be handy for dropping the same node on two different block diagrams

 

 

recentVIs1.png

recent_replace.png

Problem: 

When handling larger data blocks I get "not enough memory" error messages with only option to kill the executable (from time to time, but usually unwanted Smiley Wink ).

Most of the time this involves array functions (initialize array, build array, etc). As this problem is also related to the used PC it cannot be tested (easily) on a developer machine before deploying the executable to a wide range of computers...

 

I propose the idea to enable some error handling in such cases. This could be done in two ways:

1) Add error output to array functions. This could be available optionally by right-click menu so you don't break older code. Output would be an error stating "Not enough memory for operation ..."

 

2) Add a new application event "Application.MemoryAllocationError". This way the program the program can atleast catch the problem. (Inspired by "OnError" constructs of text-based programming languages...)

I often would like to define a Type Def, then define multiple Strict Type Defs (i.e., multiple views) based on the one (not strict) Type Def.

 

Type Definitions can only include other type definitions if the sub is put into a container, such as a cluster.

Currently there is no way to delete multiple elements in an array, that are not in sequence.

This way elements 2,4,7 would be deleted in just one function.

 

Delete from Array.png

 

It is cleaner code and in big arrays can enhange performance (at least i think)

When you double click a dynamic dispatch VI, LabVIEW opens the implementation selection dialog to allow you to choose the relevant VI.

 

There is, however, a case when this seems to be unnecessary - if the wire going into the DD terminal does not have implementations in a descendant (or doesn't have descendants at all) we could immediately open the VI in that class because that's the VI we most likely want.

 

In this example, the child class does not have any descendants, so if you double click the bottom VI, LabVIEW could (and if this idea is accepted, should) immediately open the VI from that class.

 

Inherit.png

 

You might think that if you're already using the child wire then the VI doesn't need to be DD in the first place, but there are cases when you work on the lowest level and want to use VIs which are also shared by the higher levels.

 

This isn't a huge issue (you basically save a single double click or Enter), but it would be a nice shortcut. In cases where we do want the implementation from a parent class we could get it from the project.

In the Build Specifications under Version Information one has the option of setting the Version Number of the build. Ther Version Number is of the form Major.Minor.Fix.Build.

 

There is an option to Auto Increment the Version Number. If this is selected the Build component of the Version Number is automatically incremented every time the specification is built.

I always use this setting since I can thereby tell the difference between builds. The major annoyance here is that although only the Build component is automatically updated all four controls are disabled and grayed when Auto Increment is selected. That means that every time I want to change the Major, Minor, or Fix part of the Version Number I have to uncheck Auto Increment, make my changes, and then re-check Auto Increment. More than once I have forgotton to re-check Auto Increment, which then screws  up my numbering scheme.

 

Idea: When Auto Increment is selected for the Version Number, only disable and gray out  the Build control. Leave the Major, Minor, and Fix controls enabled.

Currently it's only a INI setting, in the application INI, that need to be set to define the Blink color. This way it can be changed by anyone.

 

To be more protected It could be nice to be able to set it with a property node at Application class for a global setting or at Control class to override the global setting. 

Well, just as the title says, I think it would be nice to see with a glance which controls/items in the list have events attached to them. This could be done by making each of the "used" event items bold, for instance.

 

I admit, I got the idea while reading http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Sort-event-sources-in-the-event-structure/idi-p/1002916#A2770...

 

-Ian

While working on applications I find I'm often putting probes and (to a lesser extent) breakpoints in the same places over multiple programming sessions.  It would be nice to be able to save and recall sets of probes and breakpoints so I wouldn't have to set them up every time.

There should be an option to let broken wires have color. Wires connected improperly may not need color, but disembodied wires that have one end or the other connected and one end disconnected should have the dotted color of the original wire so that they can be reconnected easier. The little arrows could stay there to indicate direction and source.

 

broken wires idea.PNG