LabVIEW Idea Exchange

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

In general I would like to see LabVIEW more in line with the OS GUI standards. We have dialog controls and colors, however they are not set up to be the default choice - and we lack other GUI elements like status bars, notify icons, child windows etc. etc. A large part of LV-programmers' time is spent on ways to get LV to mimic what users will recognise and therefor intuitively understand.

 

In this case I simply miss the "sort glyph" that indicates that a table or listbox is sorted based on a given column and in which direction.

 

I imagine we could show or hide this and set its direction with a property node...It would not handle the sorting (although that would have been neat as well - if you had an in-built sorting that just needed to know a few parameters about the column data to do the job)...

When improperly stopping a project that has launched asynchronous vis set to fire and forget, you end up with classes and libraries that are locked.

 

Reserved VIs.PNG 

 

There seems to be no way of unlocking them other than to close the project. There is an idea to abort called VIs when the parent stops but from the lack of kudos and by reading the comments it doesn't seem like a good one.

 

I know about and use the Abort.vi but it does not work in this case. The dropdown is empty:

 

Not running.PNG

 

Not even the LabVIEW Task Manager can help.

 

 

Task Manager.png

 

My idea is to have a button that does whatever closing the project does when it unlocks the class or library. Maybe this means it transparently closes the project and opens it again in the state it was in when the button was pressed. I don't know.

 

Abort Project.png

 

 

I know there are some similar ideas but as far as I can tell this is not a duplicate.

When we use diff to compare old and new VIs, currently both the FP and BD open and the FP is on top. But frequently the FP hasn't changed at all -- the API can stay the same while making substantive changes internally. So in cases where there is no FP diff, please put the diagram window in front. That would make reviews of large quantity of small changes (like replacing a commonly used subVI with a new subVI) easier to quickly review. 

This is one of those existing "features" that I cannot understand, no matter how long I ponder why it is implemented this way. (WHY!!!?????). Somebody must have consciously programmed this behavior in the early days of LabVIEW, but I simply don't get it. 😉

 

Try the following yourself and you'll see what I mean: 😄

  1. Create a structure (For loop, while loop, case, event, etc) with a few tunnels.
  2. Select one of the tunnels, and, using the arrow keys move it towards one of the structure corners.
  3. Observe: As soon as we move within a few pixels of the corner, the tunnel jumps to the corner and can no longer be moved with the arrow keys alone.
  4. To move it away again, we need to grab it with the cursor using the mouse and move it at least a few pixels away from the corner or use "shift-arrow" to move it by a bigger step. THis should not be necessary.

Idea: There should be no such stickyness!

 

IF a tunnel is moved towards a structure corner with the arrow keys, it should simply stop moving at the corner and we should be able to move it away again by pressing the opposite arrow key (or the arrow key following around the corner by 90 degrees)

String functions accept array input.

 

Example:

StingFunctionWithArryInput.png

Benefits:

  1. Avoid placing For loop or Subvi with for loop
  2. Looping performance can be improved with better logic inside the function.
  3. Block diagram space saving without for loops

 

Thank you

Adarsh

CLA from 2014

We have many windows to manage, and often it's just 1 parts that's really interesting, the block diagram.

 

It'd be half as many windows (and cool) if the window "Flipped over" when you change from front panel to diagram! Think of it as a circuit board or something.

backend-vs-front-end-2.jpg

The error ring is a great and simple tool to define errors, especially when selecting "Custom Error Message" and supplying parameters from outside of the error ring.

 

errorring.png

 

The fact that the text search doesn't look inside the error ring makes it hard to find hard-coded error codes. 

 

Idea: I would love to see the search in LabVIEW also find strings inside error rings. 

 

PS: This idea (or inspiration for it) comes from Stefan Lemmens.

I really, really don't like this behavior:

 

key_focus_border.png

 

Whenever you use the KeyFocus property, or simply the tab key on a running VI, whatever control has key focus gets that ugly black border around it.  Can we just eliminate this feature, or at the very least, have the ability to disable it?  The border doesn't appear on System-style front panel controls, but it does for anything else.  I've written all sorts of hacks over the years (the latest being in Quick Drop) where I have to figure out a way to hide that ugly border when a control gets key focus.

The function of "Compound Arithmetic" can be changed very quick and easy.

Why not use that concept for other items too?

 

Use cursor mode "Operate Value" to change function quickly.

Old: Click > Replace > Comparison Palette > Item

New: Click > Item

 

See concept screenshot for example:

Change Mode for all Items.png

 

The clicked item acts like an polymorph selector to choose from same palette or from similar items.

 

After reading Restore High Contrast Icons I procrastinated as long as possible before installing LV2016.  When I finally did, I was disappointed by the additional space required for the palettes; all of them!  I have been using LabVIEW since 5.0 and switched to an Icon view of the palettes shortly after getting comfortable with the graphics.  Now, I have to move my mouse further to get to each sub-menu and VI selection.  It's a waste of developer's time and apparently done for absolutely no good reason except to make a change; very similar to the washed out icons.

This extra space needs to be removed or at least an option provided to set the spacing back to the condensed spacing always available.

These images to show the relative size of the palettes LV2016 vs. 2015.

Controls Palette

ControlsPalette

BoolenPalette

Functions Palette

FunctionsPalette.png

ArrayPalette

 

Yes, this might seem trivial, until you think about traversing several palettes to get to your needed VI.

 

FTPPalette

*Random example, if one were doing FTP development they'd pin the menu.

** The original size of the above graphic is 1030 pixels wide; less than 800 for 2015.

 

Quit messing with what works and has become the standard with regards to options.  At least when that ridiculous "default" setting for icons instead of terminals was introduced we could undo the setting in Options

It seems that NI has hired some non-G experts to mess up the interface simply so they can enumerate all the "great" improvements they've made.  Or, was all the extra space to make sure newbies couldn't miss the folder tab, since connecting the "right arrow" on an icon to it being a sub-folder would be too difficult for children?

 

I find myself with my fingers on the shift and arrow keys a significant amount of time while trying to make my code more readable. Invariable I switch between the arrow keys and the mouse in the process of straitening and aligning. Why not use the arrow keys for both alignment and object movement?

 

I'll let the following illustrations explain what I mean. I'm only showing a limited subset of the possible combinations, most of the time you can go in all 4 directions.

 

Basic

 

 

Note that during a "combo" (the control key isn't released) the original order of the objects will need to be remembered, so that when they are all aligned into a corner, subsequent combinations will maintain the order.

 

 

 

 

 

 

 

Building on that, more advanced functions are below:

 

advanced.gif

 

For the diagonal, once they are aligned to a corner, the diagonal can go in any of the 4 directions.

 

 

As you can see, this will emmensely increase productivity and general neatness of code. And perhaps more importantly, it will bring us even closer to our ultimate goal: making LabVIEW programming even more like playing a video game.

This idea came to me from Darren's Nugget 2-23-2018 on Data Agnostic Probes I thought it might be useful to write a Probe.vim or specifically, a data type malleable probe to gain the ability to have some access to the data itself in a general smart probe and maintain the ability to display the data in a type specific manner.

 

One example would be a "Data History Probe" that displays the history values of any data type.  I'm sure there are other good uses.

You might not know this, but if you drop a String constant on the block diagram (or create one from a terminal), you can use shift+enter to define the bounds as you type.

 

You start typing the first line. As you type, the constant gets larger. Hit shift+enter. Now as you continue typing, the string constant grows vertically only, using word wrap at the bounds of the string constant. Now hit shift+enter again. The string stops growing vertically and the vertical scrollbar appears on the constant. 

 

This behavior is very nice for creating string constants inside of structure nodes without having to create the item, then resize it, then come back and start typing your text. 

 

Wouldn't it be nice if the same shift+enter trick worked when typing free labels?  I think so.

If You drag a tunnel of a loop, case structure or any other structure along the border over a corner, then

the connected wire becomes hidden behind the frame.

 

Sometimes, the wire looks alike it is connected to another wire instead - like in the example below.

I fell into that trap, because I've just seen the frame to the right and didn't expect, that the wire was

connected to the tunnel near the bottom.

wire_behind_frame.png

Wouldn't it be great to break up the wire with a 90° corner and place it in the visible area?

     wire_not_behind_frame.png

 

 

More similar situations like this are posted in this thread:

http://forums.ni.com/t5/LabVIEW/wire-vanishes-behind-frame-of-case-structure/td-p/3221167

My typical workflow is:

 

1) Start LabVIEW

2) Realize I have to pull\update my project from SCC

3) Explore to the project manually in windows explorer. Or open project, explore, close project, update SCC, reopen.

 

It would be nice to have an explore option in the Getting Started Window:

Explore from Getting Started Window.png

 

Either a right click menu, a button for each item or a button for the selected item would be great.

 

Same for VIs, maybe even the templates.

ThisVI.PNG

The label should be hidden as standard on This VI referrence as it gives no extra information, it only clutters the block diagram.

/Y

in LabVIEW NXG we have G Types Control which allow us to create and delete controls dynamically at run time.

Creating Controls Dynamically on a Panel - LabVIEW NXG 5.1 Manual - National Instruments 

 

Since LabVIEW NXG is deprecated (no further development) and announced that: the strengths of the NXG platform will be integrated into LabVIEW 2021(+),

 

Will that possible for us to have such G Type feature in LabVIEW? when probably?

Wire a Case Structure with an enum. Now pop up on it and select "Add Case For Every Value." In today's LabVIEW, this adds new frames to the structure so that every enum value is handled by a unique frame. This makes creating the structure initially easy, and it gives you a way to walk through and make sure that you've filled in code for every frame. But today, the Case Structure has includes the "Default" case when the Case Structure is first wired. That is done so that wiring a Case Structure with an enum does not result in a broken VI. When a programmer provides a unique case for every value, the Default state is now redundant, and the only thing it does is create the potential for error if you ever add to the enum. Thus I would propose that if you use "Add Case For Every Value", then LV should remove the Default tag from the first case.

 

AddCaseForEveryValue.png

Currently the only image formats still commonly used today that can be imported into custom controls are non-scalable bitmap formats. The only supported vector formats that I know of are WMF and EMF, which is almost never used anymore to my knowledge. Even worse, it doesn't support features now expected in vector formats, such as gradients and alpha transparency. So if you're developing a custom control, you have to either use an antiquated format or a bitmap format.

 

LabVIEW 2011 introduced the new Silver control set, which to my knowledge still use LabVIEW's internal PICC format, which is completely undocumented. Rather than adding gradients and other new features to this private, undocumented format and using that, it would have made a lot more sense to add support for SVG, a modern, full-featured vector format that is commonly used, and used that for the Silver controls.

 

Not only are the two vector formats LabVIEW supports ancient formats, but their inclusion almost seems like an afterthought. Imported WMF and EMF images aren't anti-aliased like the Silver controls. Because of this, it's practically impossible to create any modern-looking custom controls that look good scaled unless you don't want any diagonal lines or curves, in which case you might as well just use a bitmap.

 

Sorry for the abrupt end!

I saw this idea which I really liked and I realised that this would also be nice.....I do this type of 'insert subVI, delete broken wires' action all day.

 

error_wires.png

 

I searched I think what I am proposing is a little similar to this idea but I think in the difference with the idea I'm putting forward is that labview will only automatically delete a section of the broken wire when the 'short circuit' is sending data around a VI as well as through it!

 

The second part of the idea - where the 'merge errors' vi can be configured to appear automatically when two 'sources' are wired to one sink would be useful when you are parallelising subVIs on the block diagram. I'd also suggest that if this option is configured and the source wires are deleted (so that only one source is linked to one sink) have the merge error vi disappear!!!

 

I'll be gutted if I've wasted my time on another duplicate.....I keep not finding other peoples great ideasSmiley Happy