It drives me crazy when I have unwired cases and I want to see which cases I have not passed the wire through. I have to go clicking through every case to find them. I propose a right-click menu option on a unwired node coming out of a case structure which will either take me to the unwired case if there is only one, or pop up a list that has all the unwired cases. From this list I should be able to double click and show that particular case. This should also work for event structures.
Is this feature already there? If so, it should be added to the right-click menu IMO.
The current plot legend shows the Text (plot name) on the left and the plot color preview to the right. A good feature would be the ability to switch these too. So the be able to move the plot color preview to the left and the plot name to the right.
When you edit a VI, you may likely move the origin of the pane and not know it. Next time you run it, your controls are not centered. There are several ways to work around this:
How about an option which sets the panel origin to 0,0 every time we save?
.... i.e., an Option which does this for us.
There should be a LabVIEW primitive that returns the size of the connected data type in bytes, similar to sizeof() in C.
I know this can be done using "Flatten To String" and "String Length", but that's only a workaround since this way all the data has to be copied just to get the size information.
Names says it all really.
Once I am happy-ish with the performance of a VI I usually tidy up wiring etc.
Now that I have started to use Class Property Nodes very often you wish to re-order them just to make the wiring more efficient (you know, the shorter the wire the quicker the code executes).
It would be really great if we could use the switcheroo tool to swap positions of two elements in a property node. I would be satisfied if it did nothing with the wiring, because I would likely tidy it up immediately after anyway.
Not sure this idea will get much traction due to rather limited appear to most, but vote it up anyway!
When copying a control/indicator/constant, the new label name is generated automatically by incrementing a trailing number, or adding one if it didn't exist. I almost never keep the suggested label (so this would also be useful), but I do have other predictable changes that will usually be made. Most commonly, it will be to "auto-increment" a lone letter, either at the start or end of the label. For example:
"X Axis" -> "Y Axis" and then "Z axis"
"e_a" -> "e_b", "e_c", ...
My suggestion is for a simple smart algorithm to recognise where there is a single letter (defined by either punctuation or spaces) at either end of the existing label, and if so, to increment that letter rather than add a number. The existence of a trailing number should take preference over this check, and could still be added if one doesn't already exist (though see here).
Currently we can set Conditional Disable Symbols (CDS) for a whole project or for a target.
I wish we were able to set them inside a build spec, too.
This would mean, I could have a large application in one project and build different flavours of it's executable simply by using the appropriate build specs.
Use cases might include simple things like debug / release builds (similar to this idea), but also more complex differences like a software that uses real hardware and a special version that works without hardware, which can be used in the office.
Currently I need to either set the CDSs manually each time I build an executable or maintain several copies of the same project file. Both methods are tedious and error-prone.
LabVIEW should support loop unrolling...
For those who do not know what loop unrolling is (from wikipedia http://en.wikipedia.org/wiki/Loop_unwinding)
Loop unwinding, also known as loop unrolling, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size (space-time tradeoff). The transformation can be undertaken manually by the programmer or by an optimizing compiler.
The goal of loop unwinding is to increase a program's speed by reducing (or eliminating) instructions that control the loop, such as pointer arithmetic and "end of loop" tests on each iteration; reducing branch penalties; as well as "hiding latencies, in particular, the delay in reading data from memory". Loops can be re-written instead as a repeated sequence of similar independent statements eliminating this overhead.
Example with textual programming language:
for (x = 0; x < 100; x++)
for (x = 0; x < 100; x+=5)
Who is with me
A property node that provides the index(s) of the cursor location in an array would let us know on which element of an array a user had clicked. That can be usefule for example to provide additional information replated to specific array value, such as using the array as a list of peaks on a graph. Currently, the mouse down event provides Cord values but those are as pixels. Similar information for tables would be useful.
I have lost count of the number of times that I have tried to extract elements with a fixed interval from a 1D array and got frustrated because
my function ends up looking like the image below taking up a big chunk of my block diagram.
Say you want to decimate the array into 20 segments and extract every third element like the image above. It would be nice if there was a function that allowed the user to input the number of segments into which the array should be decimated, as well as an array with the elements to be extracted.
In the image below, the "Main array" is decimated into 4 segments, where every 1st and 3rd elements are extracted and outputted.
I know this can be accomplished by using a reshape array function, making a 2D-Array and then pick a column but it would be nice to have this all in one function.
I often need to count how many times a condition is verified inside a loop. The simplest way to do so is:
What about this?
The "conditional terminal" should be enabled by right clicking on the operator, and may apply to every VI with 1-1 I/O pattern.
Of course it performs the operation in case of "TRUE", and leaves its input value unchanged in case of "FALSE"
Current documentation http://zone.ni.com/reference/en-XX/help/371361H-01
(hint: if one input is NaN, the min/max value is the other. Not NaN).
It is no longer possible to add comments to the page-rating
I'm using LVOOP very often and the bigger the code gets the slower LV reacts / works. A small change in the class-control results in minutes of waiting with no feedback. In general it would be nice to get a message box telling me what labview is doing with specific information which file and how many files are in the queue to handle so I can decide to do sth else than watching the windows circle or killing labview using the taskmanager.
My suggestion to solve this is adding a verbose mode so I can choose if I want information or not or I want the information only when 10 or more seconds passed without reaction.
It doesnt matter if LV needs more time by using this verbose mode, the point is I want to know if i have to wait another 30 seconds, minutes, hours or days... or if I should kill LV and start over again....
While debugging, we often feel the necessity to save data from different constants/controls/indicators for future use. At present, we copy them to a new VI, give it a label and use them whenever required. Wouldn't it be great if LabVIEW handled most of that? Also, this could be extended to Wires: "Save data in wire to Datastore"
Inclusion of this feature will reduce a number of mouse clicks and window switches while debugging.
In the latest years the monitors and the graphics card became more and more advanced supporting very high pixel resolution.
Using a 1600x1200 is common now but this could create problem whit labview due to the absence of a zoom function.
The VI connector at that resolution are too little and near so could be difficult to work with and more in general all the block diagram of a VI could be diffucult to edit.
So i suggest to implement a zoom in\out (maybe using the mause wheel) function also in labview like in a common CAD sw
It would be useful if we can access the plot color and point color separately on the plot legend itself as we do in the properties dialog box of the graph instead changing it by toggling the space bar