LabVIEW Idea Exchange

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

You can right-click on a While Loop and select "Replace with For Loop", and vice-versa:

 

loops.png

 

Neither of these operations is currently available in VI Scripting. If they were, Quick Drop and other G-based editor features could benefit.

For arrays of strings or numbers, either on the front panel or diagram, it would be cool if you could simply tab from cell to cell when entering data, just like in Excel. Today you have to mouseclick every single cel..

 

Carsten Thomsen

I rarely use boolean operators to solve logical problems. Instead, as I would suppose the majority of users, I use them to respond to a set of conditions and perform actions in response to different cases.

The current set of operators:

 

ScreenHunter_002.jpg

 

is, to say the least, quite difficult to use. For instance, for the third operator, the help window provides the following explanation:

ScreenHunter_003.jpg

 

Now if you invert one of the inputs, good luck to figure out at first glance, when you revisit your diagram, what the outcome of the comparison will be.

In fact, what we need is some kind of matrix operator for which we type in the output of the comparison of A (input 1) and B (input 2) for the different cases:

 

ScreenHunter_005.jpg

 

Here I have supposed the inputs are "modified-booleans" with an "undefined" case, and the output of the comparison is an integer value, just to illustrate that operators for non-booleans could be treated the same way.

In the strict boolean operator case, there would be no "U: case and the output would be T or F. It would be a simple matter (I guess) to let the boolean operator icon show the outcome of the comparison in a way similar to something like that:

 

ScreenHunter_009.jpg

In general I find useful to have non-boolean outputs (as in the matrix above where integers were used) to be able to handle complex situations. Of course the icon would have to reflect the values selected by the user...

Which brings the issue of the configuration of this operator. Considering that the interface for this operator would be quite sophisticated, it would make sense to provide it as one of the Express VIs (such as the "Formula" or "Comparison" functions).

 

I'm developing some software for a colleague, to run on (one of) his machines.  I do my best to follow Good LabVIEW Practices, including using Version Control (SVN) to maintain my code.  Hence my Project "jumps" from computer to computer.

 

I recently noticed an old problem re-appear, namely occasional Front Panel and Block Diagram labels appearing in a different Font Size (18) than I've set as the default on my Office Desktop and home Laptop (15).  This was really irritating (especially having to find those wayward labels and "fix" them), forcing me to re-examine the Where and How of setting Default Fonts in LabVIEW.

 

This still appears to be a Dark Art, one (perhaps) involving LabVIEW.ini (and some undocumented keys, not present in the "vanilla" configuration file).  There appear to be several such INI files, with LabVIEW.ini attuned for development, and an INI file in the Data folder of a built Executable for that Executable.  But still, the values are bereft of documentation (i.e. documentation is conspicuous by its absence) and not everything is explained (like why some values are in quotes, what they mean, and how one sets a specific Font, e.g. Arial).

 

One thing that I, in particular, would like to see would be the ability to set the Font Defaults on a Project basis.  For myself, I "own" the Project, and would want it to have a consistent Font (size) on all my VIs (unless I specifically decide to Emphasize something), no matter on what machine I develop them and when.  If I have to set the Font Default on a machine-wide basis, then every time I develop on my colleague's PC, I'd have to (a) note his settings, (b) change them to mine, and (c) remember to set them back when I finish.  As such sessions are often an hour here, an hour there, this "machine-centric" setting becomes a nuisance fast.

 

I recently had the opportunity to discuss this with an NI Applications Engineer, who assisted me in finding (some of) the obscure references to Font Setting Tricks.  I noted that a lot of what the Community knows seems to come from "Reverse-Engineering" NI's settings, and that some Documentation and Standardization (let's get away from designating Fonts as "1", "2", or "3", which have no intrinsic meaning, please) would be a good idea.  Hence this LabVIEW Idea.

 

Bob Schor

If you have multiple projects open, the "Error list" window lists all errors across all opened projects. Oftentimes, I'd only like to see the errors in one particular project. It'd be nice if it'd be possible to filter the "Error list" window by project:

 

Screenshot - 10-May-12 , 11_57_15.png

It would be very nice if we could tell the installer script to synchronize its version number with the version number of a specific executable.

 

12-29-2009 2-38-53 PM.png

 

Additionally, it would be very nice to have this version information (once they are synchronized) displayed on the installer wizard (for instance in the title window or on the wizard first page).

 

PJM

The variant data type parsing palette is great when you have to deal with passing variants around. However, there is one call that would be super useful. If I have two variants, I'd like to know if they are of the exact same type. The type information only tells you so much. For example, if you have an array in the variant, it will only tell you it's an array, not a double float array, or a waveform array.

 

I've wrote a version of this that does it, but I'm not sure I cover all the edge cases. NI would be much better suited to ensure it covers all the potential typing possible and can likely make it more efficient than I could. But, I think this implementation solves this issue for most common data types and even some more exotic things that could be in a variant. I would love to see this included in the variant data type parsing palette.

Screen Shot 2020-08-13 at 8.56.41 AM.png

In this example, I'm using it to check an array of variants to filter out ones of type I32.

Searched the exchange and found a similar idea but it didn't contain pictures so maybe that's why it didn't receive very many kudos. So here is another attempt at what I think would be a very useful addition to the LabVIEW IDE.

 

Occassionally, I would like to find where a specific enum value is used throughout a project. If I use the right-click Find | Callers popup menu, I obtain a list of VIs that use the enum but no indication of how many times it's used or what values are associated with an instance.

 

Very simple example:

ProjectWithPopup.png

The project subVI front panel and block diagrams:

VIs.png

Find caller results:

FindCallersPopupResults.png

 

It would be nice to have some way of knowing what enum values are being used and have the ability to jump directly to the instance. Maybe a Find Callers that displays enum values:

FindCallersWithValue.png

Pretty simple idea.  When you are creating installers, you are allowed to install files in many different locations.  Including lots of system locations.

 

But for some reason, Public Documents is not one of these destinations.  It should be.

 

Because its not in the list, I need to go through some annoying workarounds which I don't totally trust.

 

 Untitled.png

I have often wished that LV have some easy way to display simple text with parts of the text marked BOLD, Italic or different colour in one display.

 

I think there has been an XControl created fror this, but it's be nice to have a proper "formatted Text" indicator / Control in LabVIEW.

 

No picture as I think everyone knows what is meant.

 

Shane.

When you want to make a resizable front panel there are only few possibilities, especially if you don't want all your front panel beeing resized.

 

Splitters are great but you can't always use it, in a tab control for instance it's impossible (and someone already suggested this idea here, sad it's not implemented Smiley Sad).

You can do it programmatically (lot of work!), maybe with an XControl depending on your application (lot of work too!) or you can also Scale Object with pane with only ONE object.

 

There's still one option: Scale all front panel objects when resizing

yuk.png

 

Why not improving this method by adding an Ignore Resize property?

woohoo.png

It might be easier to implement for developers compared to modifying tab control and would be really easy to use !

Unlike the other growable functions (eg Build Array, Concatenate Strings), the output of the really appreciated new Merge Errors function shouldn't be centered to avoid a bend in the error wire.

21768i5CB00D8CCFE3352A

Arranging clusters horizontally and vertically using the autosizing feature is nice, but it leaves much to be desired.  It only aligns objects on the left vertically, and top horizontally. I often find myself switching to "size to fit" of "none" if I want to align the objects on centers.  But then I have to do a little dance when I add an element.  I propose 6 arrangements: three vertical, and three horizontal, using the familiar arrangement icons as shown below:

 

newauto.png

 

The autosizing algorithm in LabVIEW should also ignore element labels when arranging/aligning the elements to make life easier.  

When doing a global Search and Replace we often get an "Authentication" dialog box prompting for a password (most often these VIs are third-party VIs to which we don't have passwords), so the search stops until the user clicks "Skip" and perhaps selects "Skip remaining password prompts for this operation."

 

(See attachment)

 

Similiarly to the option to "Ignore VIs in vi.lib", there should be an option to skip password protected VIs because, most likely, we won't be able to replace anything in them anyway.

DBL representation indicators can present NaN which is very handy. However, sometimes it would be good to be able to edit the way NaN is presented, say presenting "---" when the value is NaN. This would save us having to present data as strings with special conditions for NaN. The setting should be available in the properties of the indicator, something like "NaN presentation string". I haven't really figured out how DBL controls should behave wrt this.

During implementation of code, the algorithm and its implementation has to be tested and debugged in most cases many times. For debugging, probes are a very useful tool. But probes can only be created on existing wires.

If, for any reason, the developer wants to probe values which are not on a wire already (e.g. iterator of a loop), he has to create an indicator (or tunnel) in order to have a wire. Once the debugging is done, the terminal/tunnel and the wire should be deleted.

 

I find it would be much easier, if i could right-click the data output and select Create >> Debug Terminal. This terminal is part of the code, but once i close the probe, the items created by this option (terminal and wire with probe on it) are removed automatically.

 

Norbert

 

PS: I know that there was a suggestion specifically for the iterator of a loop. I understand the reason why it was declined, but i find that using VI Scripting, the above mentioned functionality could be provided. As i WANT to have the information of that wire during debugging, i require that terminal/wire in any case. Using some automated tool would ease the debugging process with the hope to decrease time required to identify the software anomaly.

It would be convenient if there was keyboard shortcuts to allign selected objects, instead of having to go into the Allign and Distribute drop-down boxes every time. We should economize mouse movement as much as possible. Maybe CTRL+arrows and CTRL+SHIFT+arrows for the most commonly used ones of each? I suggest (the unmarked ones remain without shortcuts):

 

Allign.png    Distribute.png

 

I also like this idea about implementing the commonly used shortcuts for font attributes (bold, italic, underline):

 

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Use-standard-Windows-keyboard-shortcuts-to-change-font-styles/idi-p/941973

 

So kudo that one too, if you also like it. Even though CTRL+B, CTRL+I etc. are already used in LabVIEW, Darrens argument of these shortcuts only working as text modyfiers when text is selected saves the day.

 

Cheers,

Steen

In the probe watch window I can change the radix in the probe display pane to display hex, but the value shown in the table retains the decimal display.  Would be nice if the table value were displayed in the same radix as the probe display.

 

PWW.png

I've encountered a programming situation where I may need to call 'Match Regular Expression' where the regex is selected at runtime, and where that regex may potentially have a variable number of submatches to return.  Unfortunately, right now, the submatch count is a compile-time decision based on how far out I grow the node.  I can grow the node to some maximum number of submatches ever expected, and thankfully the node doesn't throw a runtime error if there are fewer, or greater, submatch expressions in the regex.  I'm building the individual returns into a string array for further processing, but it would be much more versatile if the node could return the submatches with a properly-sized string array.

One of the cool new features in Windows 7 is the Jump List, which can provide application-specific shortcuts by right-clicking the icon in the taskbar.  Some applications provide basic Jump List functionality.  For example, LabVIEW provides a recent files list, which inherently supports "pinning" items so they appear permanently in the list, like so:

 

labview_jumplist.png

 

This is definitely a good start, but check out the jump list for Google Chrome:

 

 chrome_jumplist.png

 

They provide Jump Lists for most visited sites, recently closed webpages, and creating new Chrome windows.  I think we should figure out some cool LabVIEW-specific stuff to add to LabVIEW's Jump List.  Among the ideas I've had are:

 

  • New VI
  • New Project
  • Bring Project(s) to Front
  • Most Opened VIs (different from Most Recent)
  • Fix the Jump List to show VIs that were opened within LLBs (as opposed to the current behavior of just listing the containing LLBs) 

Obviously we don't want to clutter up the Jump List, so we'd want to make sure whatever we add will be generally useful to all LabVIEW programmers.  List any ideas you have for helpful, commonly-used LabVIEW-specific Jump List tasks in the comments below.