LabVIEW Idea Exchange

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

By default, the mouse scroll wheel scrolls the block diagram or front panel vertically, CTRL+SCROLL scrolls through cases/events/sequences and adding the SHIFT modifer to either accelerates the scroll. In order to scroll horizontally, however, the mouse has to be hovering over the horizontal scrollbar. Because of the predominant left-to-right, top-to-bottom style of diagram organization, it would be excellent to have a more accessible way to scroll horizontally.

 

I haven't found anywhere ALT+SCROLL is used - I think horizontal scrolling is a good candidate to fill that spot.

 

 

In .NET each of the integer data types provides two constant fields, named MinValue and MaxValue. These constants return the minimum and maximum values that can be stored in that data type. For example, for Int32 MinValue would return -2147483648 and MaxValue would return 2147483647.

 

1 C# min and max values.png

 

It would be nice if there would be similar constants in LabVIEW for all eight integer data types. These constants would be similar to the DBL constants that already exist: +Inf, -Inf, Machine Epsilon and NaN, and would be similar in concept to string constants such as Space Constant and End Of Line Constant.

 

The new constants could be placed in the Numeric palette, or in a new sub palette of the Numeric palette, as shown in the image below. I would be happy with any location.

 

3 Where to place the constants in LabVIEW (edited).png

 

I am aware that I can easily create constant VIs to implement this functionality, which would be very similar to how Space Constant.vi is implemented, but it would be nice if the constants were built-in.

 

My current workaround when I need the min or max values of an integer data type is to drop a numeric constant and type something like -9999999999999999 or 9999999999999999, which after Enter is pressed LabVIEW correctly coerces to the min or max value.

 

Thanks

The String class has an "Enable Wrapping" / "Wrap at word breaks" setting that can be set from the UI or via "EnableWrap" / "Enable Wrapping" property node. Add the same for decoration text class objects, e.g. captions, so that at as much of a long word is displayed in the frame when SizeToText? is false. As it is, a long word near but not at the right edge is automatically wrapped to the next line and thus hidden when the caption height is one line.

Hi to document my VI BD I use more and more the Wire Label. 

 

When we Make it visible:

WireLabelVisible.jpg

 

The beginig of the entry is centred to the wire:

 

WireLabelStartEdit.jpg

 

But one problem with it is when we type text, the text is Left Justify:

 

WireLabelLeftJustify.jpg

 

So I propose that the default alignment for the text should be Center Justify:

 

WireLabelCenterJustify.jpg

 

Thank you

 

SoftWEng_0-1643899774915.png

It would be very helpful if there was a way of seeing the full lists of two different enum type defs at the same time and edit both lists simultaneously.  Right now if you click the button to edit elements in a enum it locks out LabView so that you cannot see the list of elements in another enum.  It is also really frustrating that in the edit window there is no way to increase the size so that you can see more than 6 elements or make the Item column larger to see long enum elements.

SoftWEng_0-1643899774915.png

 

Then there is no way to add more than 6 items easily to the bottom of the list.  You have to hit insert and it puts the element second from last and then you have to move down.  It should be more like an array or table where you can just type and hit enter and add a lot of elements easily, resize and see as many as you want without having to scroll if you want a full window of the enum.

SoftWEng_1-1643900278037.png

 

 NativeLoopWait.png
If unwired it would default to 0, and at least let thread switching occur.  You could maybe right click on the loop and remove the wait node to make it run as fast as possible (like it is now), but it should be there by default...  Maybe also right-click on it and get to choose between "Wait (ms)" and "Wait until Next ma Multiple"?
  
(PS: I know that you can do this using timed loops, but I'd like to see it in all of them - I've seen too many "programmers" complain that their CPU is at 100% because their loops are going nuts).

When set to "Arrange Vertically", clusters are always left justified.  I would like to be able to right justify the cluster contents while still keeping them verically arranged.

 

Left Justified.png   -->  Justify.png  -->  Right Justified.png

The Edit Events dialog has seen a number of improvements, but it is still very cumbersome to use when adding events for a newly added control. It requires too much effort to find the control in the Event Sources list. This problem can be easily and quickly addressed simply by reordering the controls section of the Event Sources tree in a more intelligent manner. There are two key problems:

 

1. The controls in the Event Sources tree are listed in the order they are added to the VI front panel. So the most recently added control is at the bottom of the list. Consider the following scenario, which is very common: You are editing a VI dialog that already has many controls. You want to add a new control and configure events for that control. Doing so requires scrolling all the way to the bottom of the Event Sources list to find the control. This is the exact opposite of the desired organization. The newest controls should be at the top, because they are the most likely ones that you will be configuring events for!

 

2. Clusters are expanded by default in the Event Sources tree. This bloats the list and makes it difficult to find the controls you really care about. When searching through the controls list, the first thing I have to do is collapse the clusters to filter down the list. But then next time I open the dialog, they are expanded again! It is relatively rare that a user wants to configure events for controls contained within a cluster. Generally the cluster controls are error inputs and outputs, or hidden off-screen clusters containing configuration data. They don't generally require event handling. Obviously there are some use-cases for it, but I think that it is appropriate to have clusters collapsed by default. It is not hard to expand them when searching specifically for a control within a cluster.

 

So my proposal is simple and straightforward, and would greatly increase most developers' efficiency when creating VI front panels requiring events. Sort the controls in the Event Sources list with the newest controls at the top instead of the bottom, and collapse all cluster controls in the tree by default.

 

EventSources.png

 

 

 

 

 

I search the idea forum and I see many Labview Upgrade suggestions as "DECLINED".  


I know there are others out there like me, I HATE upgrading Labview.  All the time required to update your custom configuration takes weeks.  Heck, Labview upgrade isn't even smart enough to know all the software you're entitled to install...instead you have to force Labview to download and install your paid software individually.

 

Here's the deal, most of us don't have the time to upgrade because of all the maintenance we do to support our software.  For instance, I have a paid Maintenance Agreement (as I do every year), I have been working in LV2015 and now it's time for me to upgrade my computer and I'm installing LV2018.

 

My wish, Have National instruments create a tool that would allow you to export all your custom settings, device drivers, and software requirements, etc..., so you could import these settings into a new version of LV.  Making the upgrade process easier with a single tool.


Since it's so difficult to upgrade, I often wait 3 years or more before I try to upgrade.  If it was more seamless to upgrade, I'd probably upgrade every release!  

 

Anyway, we are all so busy we don't have the time to search these forums, so this request will be DECLINED too.

 

Perhaps NI should accumulate all of these requests to Upgrade and total them as one.  Each individual request dies in a year because so many people are sticking with what works...often older versions of LV.

 

Sure, NI has a few upgrade tools, but, nothing that leaves you upgraded to the latest version of Labview without missing a step.

 

If I am on Mac or Linux and I try to open a VI that calls a DLL inside of a Disabled Structure, then LabVIEW searches for the missing DLL.

 

This is really a waste of time and effort, since it will never find or be able to load the DLL on Mac.

 

LabVEIW should be smart enough to know that it's not going to file a *.dll (Windows dynamic linked library) or a *.so (Linux shared object) on a Mac -- Mac uses .framework as it's shared library files.

 

So, I would extend this a little further and say that LabVIEW should only search for shared libraries of the type for that platform (.framework on Mac, .dll on Windows, .so on Linux).

 

Note: if a Call Library Function is configured for cross-platform (meaning it's configured for with a "*" file extension like mylibrary.* so that it will find the correct extension on the target platform) then go ahead and search for it.

 

2020-12-11_11-59-02.png

 

 

 

what about multicolumn listbox with drop down menu?

 

m_listbox.JPG

As much as I love Quick Drop, I don't love this:

 

quick_drop_delay.png

 

This delay occurs because we have to load all the palette information in the background to be able to drop objects by name.  You can choose Tools > Options > Controls/Functions Palettes > Load palettes during launch to front-load this delay during LabVIEW launch, but (1) a lot of you don't really like the longer launch time much better and (2) a lot of users still don't know about this setting.

 

I'm sure there's a way to solve this problem and make Quick Drop instantly usable, but I don't know enough about the underlying palette code to get it done.  Solving this problem, by the way, could have positive side effects on LabVIEW launch time, palette search performance, and maybe some other areas as well.

Simple idea: Extend the View as Icon mode for clusters constants on the block diagram to cluster controls on the front panel! Simply right click any cluster and select View as Icon to change it from this to this:

 

Before cluster.png


We all use clusters on our front panels of our subVIs, but as we add and subtract elements from them, they shift around and start to overlap other controls or they slip off screen. Many times the typedef cluster is used in dozens of VIs. I don't have time to go fix up the front panels of all those VIs everytime I add a new element to the typedef!

 

Most of the time the cluster is used in a subVI, and I don't care about being able to see the elements inside it. I would prefer in this case just to see the icon on my front panel. In fact, this is one thing I LOVE about using LabVIEW classes! So why not extend that clean view of subVI front panel controls to clusters as well!

Modify the default behavior of modal VIs to preclude them from becoming modal until the VI is actually executing, as opposed to the current behavior of becoming modal as soon as the vi is reserved for execution.

 

This prevents modal front panels that are left open during debugging from jumping to the front as soon as the top level calling VI is run, necessitating workarounds like killing LabVIEW via the task manager, the use of custom "Abort" VIs, or setting the modal property programmatically.

 

This idea is essentially a mutation of this one: http://forums.ni.com/t5/LabVIEW-Idea-Exchange/New-option-for-window-modality/idi-p/2598027

 

Currently, the Panel method "Convert panel to screen coordinates" works fine normally, but if the panel is inside a subpanel then it just fails without throwing an error

 

The idea is to either update this function to work properly in a subpanel, update the documentation to mention it doesn't work within a subpanel, or throw an error to indicate failure.

 

A few similar ideas have popped up, for example:

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/VI-property-subpanel-ref/idc-p/4061150#M42444

 

but that one was more generic to get the a subpanel reference from within the subpanel.

 

(My specific use-case is to create a fancy menu popup relative to the clicked item within the subpanel- basically, I need screen coordinates of the "thing" inside the subpanel, which I cannot get without coupling the subpanel VI to the main VI by providing an upstream VI reference, which I don't want to do.)

Hello everybody,

 

(as suggested I will separate my idea Expand the functionality of Event structures into four seperate ideas to allow giving kudos separately.)

 

Make it possibly to dynamically register references like tcp/ip, visa, queues, etc. for Event structures. Possible events are "new bytes at tcp/ip", "new bytes at seriel port", or "connection closed". In the case of queues it could be the same function as "Dequeue Element" or "Queue referenced closed". There are certainly a lot more of similar references, which could be registered for catching events, which up to now we have to poll regularly or use other event functions (as in the case of visa -> new bytes at seriel port). Benefits are: no more regular polling of changes, better integration of several functions (like using queues to communicate with GUIs instead of dynamic user events), and in my opinion just better code.

 

Regards

Marc

In the project explorer, dragging an item into a folder opens that folder AFTER the drop. This is annoying. But I digress...

In fact, what would be useful is to have the behavior of the two file explorers I am familiar with (Windows and Mac OS), that is:

 

- if an object is drop onto a folder icon, the folder does not open (see link above)

- if the object is held for a while over the folder icon, the folder opens

 

This is particularly helpful if the project explorer has a hierarchical structure of Virtual Folders:

 

Screen Shot 2015-06-05 at 10.44.15.png

If I drag Untitled 1.vi over the Action folder and hold it here for ever, nothing happens, and in particular, I can't access any of the the subfolders.

After dropping it, I get this:

 

Screen Shot 2015-06-05 at 10.44.40.png

 

Now the top folder is open, but the VI is nowhere where I want it to be and I need to repeat the drag & drop action.

 

This example doesn't do justice to the real issue which is that for large lists of VIs and folders in a project, this becomes a real problem, as VI and target folders (after everything is opened to provide a clear path from original to target destination) may end up separated by large amount of space in the project explorer and you now have to use the temperamental "Drag the object over the 1-pixel wide location at the top of the project explorer to trigger scrolling" feature in order to slowly bring the object to its remote destination.

Not unlike Allow the Distribute Tool to work on Wires, there is a feature missing on the Front Panel for object organization: the ability to quickly set absolute postions of controls, indicators, and decorations. Consider this new option "Set Position" I have added to the Resize Objects menu on the FP toolbar:

 

SetPosition.png

 

Selecting this option would bring up a modal window that is almost identical to the Resize Objects Dialogue:

 

RepositionDialogue.png

 

Of course, you know what happens next... ahhhh, much better.

 

AlignedBools.png

 

(And a shameless plug for a related, older post that really needs your consideration: Rework front panel object alignment by Matthew Kelton)

When LabVIEW displays text, you are allowed to choose the following types of justification:  LEFT, RIGHT, CENTER.

 

Wouldn't it be much prettier if we could also select "fill justification".  Below is a subtle example, but its known to be easier on the eyes. 

Upvote!  😁

 

Capture.PNG

 

In Unity (and also Blender I think, probably others) it is possible to adjust a numeric value by giving focus to the field and then dragging the mouse left or right. It works wonderfully.

 

Take a look at the video, it is pretty self explanatory. The nice thing is that when your cursor gets to the end of the screen it wraps around automatically (even if you have multiple monitors). It really works very well.

 

In LabVIEW it is not really possible to nicely scroll through a range of values of a control (at edit time or run time). This is the kind of thing that if you have never used it probably does not seem relevant. However it really does work nicely.