LabVIEW Idea Exchange

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

The function "in the range" has as a boolean output. I propose to replace it with an enum that would indicate which limit has been exceeded.

image.png

With increasing support for PPLs it would be great to have them be a valid <foundvi> location.

It becomes most evident when refactoring a .lvlib into a .lvlibp.

In cases where we replace "LibraryX.lvlib" with its compiled version of "LibraryX.lvlibp", we easily end up with some VIs that referenced subVIs from the original LibraryX.lvlib that need now to be updated to refer to the versions in the .lvlibp instead.

However, even after manually locating (and selecting) the first "missing" VI from inside the LibraryX.lvlibp , it does not behave as a "conventional" folder would: listed in the default search paths under the <foundvi> category and saving us the trouble of selecting every other "missing" subVI from LibraryX.

 

To be fair, the workaround exists in having the original LibraryX.lvlib present and replacing it with the PPL version for all projects that use it, but it strikes me as one that could be avoided.

Please let me know if that made sense and I'll do my best to clarify it,

Thanks all,

Cris

If a probe window has to shorten a string due to window size constraints, it should add a "..." at the end to help ensure users are aware this is not the full string. 

 

For example, the full line of one of the items in the array below should be something like: ni.var.psp://localhost/Untitled Library 1/Variable1.

The probe window should show "ni.var.psp://..." for clarity, rather than just "ni.var.psp://".

 

This probe shows a reference to a network published shared variable. It is retrieved by uncovering all the variables within a shared variable library. The code yielding that array is as follows: (the screenshot of the block diagram code for clarity)

 

Capture.PNG

 

1--Preview Queue Head idea.png

 

The element that is next-in-line to be dequeued is often called the "head" of the queue.*

 

The current name of the "Preview Queue Element" function suggests that any element could be previewed, not just the head. However, the function can only preview the head. Therefore, "Preview Queue Head" seems to be a more correct, more intuitive name.

 

"Preview Queue Element" would be the best name if the function would have an "Index" input that would allow any element to be previewed, not just the head. However, the downsides of the "Index" input are discussed in this idea: Preview Queue Element with Index .

 

The text in the help file of the function should read "Returns the head (the element at the front of the queue) without removing the element from the queue."

 

The downside of the new name is that it introduces the concept of "head" of queue. The concept is explained in the help text.

 

*In chapter 10 "Elementary Data Structures" (p. 234) of "Introduction to Algorithms", 3rd edition, by CLRS, it is mentioned that "The queue has a head and a tail".

Good day forum

 

The already VI hierarchy is already a very useful tool in tracing dependencies and all, but if we can tweak it in the right way, it may be able to serve other purposes for instance, a organization chart plotter or mind mapper by playing with vi-subvi relations (multi-connection), icons as glyph, floating nodes as control/indicator terminal subVIs, etc.

 

if only this feature can be developed for LV users, it can serve as an additional value-adding tool, especially for mind mapping. should this be picked up, I would very much like to see a "resize-able" glyph for starters 🙂

 

or if it is remotely possible with the current versions through VI scripting, maybe the community can collaborate and work something out? and put it into Tools Network.

Using a ring control, it would be really nice if LabVIEW allowed the cases of a case structure to be defined by the ring contents, like an enum does rather than the ring value.  It would be easy to force it to have a default case to handle values that aren't defined by strings in the ring.  Just make sure you can still right click the case selector and tell it "add case for every value".  This would be very helpful when creating code to handle exceptions that return values in a ring and you want to handle each case.  It would be much quicker and less error prone than manually adding each numeric case that's defined in the ring.

Is there a way to change the provided glyph size in the Icon editor? If not I think this should be added

When testing circuits at different temperatures, one can simulate the

whole circuit at different temperatures, or using the Analysis and

Simulation PARAMETERS to target an individual component.

 

Both of these options are handy, but limited. What would be nice

if one could right mouse click on a component at set it at a fixed

temperature and see how the rest of the circuit behaves.

 

Thank you Application Developer if you decide to add this feature.  

There are keyboard shortcuts with fairly universal adoption that LabVIEW does not utilize, but would be helpful. Two of these are:

  1. Shift + scroll wheel: for side scrolling in front panels or block diagrams. (And yes, this is useful in many situations that do not involve over-sized diagrams.)
  2. F2: for editing text content, i.e. of a selected label, comment, etc.

When creating local variable , allow option for create as "read" or create as "write" .

Most times have to change created local variable to write after creation and it would speed up program development.

So, in some inherited code there's lots of Compound Arithmetics where the input wires are either random or reversed from a neatness perspective.

It seems the Ctrl+click switcheroo only works on the 2 input version, and it'd be good if it worked on the larger ones. The way I see it work is either:

1. Hover over the input separator to switch those two specific inputs, which'd make a full reversal a sort of manual Bubblesort

2. Like the VI input selector, where you can select one and Ctrl+click another to switch those two.

 

(Atleast I cannot seem to do it in LV2017)

 

/Y

good day forum

 

it would be nice if an error locator can be used together with the current indicators. in medium and large applications, where multiple operations are executed in parallel, it could be a challenge just to locate where the error originated from, especially due to modularity, where the error causing function could be from any of the instance within the block diagram. instead of just reporting the function name that encounters the error, perhaps the option to include the nesting structure's information can be beneficial, especially for post deployment investigations, where debug application cannot be used (unavailable/lost source code, etc) and end user can do some self-checking first

 

several approaches came to me, which mostly revolve around VI scripting during development, that include:

  • renaming functions to include nesting structure information (eg. label for structure, sub-diagram, etc), or
  • including numeric identifiers in function names and building custom error table (identifiers for location)
  • traverse and filter error wire references, terminal tracing until nesting structure and and probing these wire per update during run-time

 

can be a nice feature to have, especially for remote support

There is a bit of inconvenience when I work with typedefs on FP. Very often it is much easier to edit appearance of the control on Front panel: 

Make enum width the same as other text fields

Set cluster elements spacing the same as other elements.

Font type and size - apply to all selected, not one by one.

But when control is a typedef, I have to do these changes only in typedef, otherwise they are lost when I change typedef type.

 

Idea is to add "Apply appearance to typedef" to shortcut menu.

 

Similar ideas on the same topic (appearance issues when using typedefs)

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/do-not-update-non-strict-typedefs/idi-p/1878823

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Bridging-the-gap-between-strict-and-non-strict-typedef/idi-p/3304297

I'm writing a VI for a lab which writes to a database. The number of measurements will vary depending upon which fixture is set up in the lab, and whether the experimenter decides to add extra ones. This results in a varying size array of doubles which gets written into a single database with generic column names c1-c200. The column names are cross-referenced in another table keyed to the lab fixture. 

The method I found here is to convert from array->cluster->variant->database insert. The problem with this is that a cluster's size must be available at compile time, making the varying array size more difficult. It also limits the size of the array/database entry to 256 elements in the array->cluster conversion. 

I know I could just populate and write a 200 element array into the database, but that increases database activity , is inelegant, and forces me to put zeros in the unused columns, instead of leaving them null. 

 

Attached is a VI which demonstrates what I would like, though it only works for doubles and is still limited by the 256 element limit. It could very easily be changed for integers or strings, but it would be best if it could take any type of array input, with a much larger size limit. 

Download All

when stepping into a VI,

do not read controls before pausing

because latch value should not be reset prior to pause
and because debugging capability would be enhanced with ability to change control values at step in (like TS LV adapter)

When right-clicking an existing channel wire, the only channel option is to create a Channel Reader.  I'd find it helpful to be able to easily create a Channel Writer directly as well, working backwards to the data input.

Wiring complex time waveform or complex wdt plots only the "I" or real portion of the complex signal. It should plot the Real and Imaginary as two plots overlayed. Always have to do that when plotting complex data and wastes time and clutters the diagram as well.

 

In the LV 2018 Macintosh icon editor, when a template file is selected, all the text fields are piled up in one line at the bottom, partly off the bottom edge. If the same file is pasted in as a glyph, the text fields are positioned correctly.

 

Also, having the Small Fonts typeface produce anti-aliased type is not good, it wastes space and the time needed hand-edit it to make it readable.

 

For me right now, the workaround is to edit icons in a blank LV 2009 VI and then open them in LV 2018.

Download All

Quite frequently, I encounter a need to do something repetitive on clusters, which have identical elements. Sometimes, I use "Cluster to array" and then "Array to cluster" vi's, like in the example below:

For loop on cluster.PNG

 

Instead of doing this, I would like to use a kind of "For loop", which would be able to operate directly on clusters with identical elements. The loop would iterate already during the compilation (generating repetitive code for each cluster element).

 

Perhaps, the standard For loop connector might have something like an option "Iterate over cluster elements".