LabVIEW Idea Exchange

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

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!

I find myself to replace controls to the preferred style and reorganize the labels (trough the quick drop shortcuts) for almost every accessor VI. For this purpose I ended up modifying the templates of these VIs, but I would prefer to have this in the script that creates these VIs, so they automatically match the setting made in LabVIEW options. This should include preferred control style, label placement of the controls on block diagram and also the front panel cleanup.

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.

 

Formula Node output variable names should be shifted right 1 pixel within their borders. Currently, the names are left-justified. Since each character is also left-justified (i.e. the white-space to separate them from adjacent text is on the right of each), input variable names have a 0-pixel left margin and 3-pixel right margin within their 1-pixel border. Since the output variable two-pixel borders grow inward to match the outer dimensions of input variables, the text pixel is cropped with excess on the right. This is problematic for the 1-pixel wide lower-case letter L which is cropped in half by the left border but still has a 2-pixel right margin. If shifted, names would be centered, cropping would not be as apparent, and the letter L would be distinct. The image below is enlarged 200% so the issue is more obvious (but the name is easier to read).

 

formnode.bmp

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

 

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

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

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

 

 

 

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)

In LabVIEW 7.1 it was possible to select a single letter and format the font (Bold, Underline), without having to affect the rest of the letters.

 

Since LabVIEW 8.x (verified in 8.5) it is no longer possible to do so.  This was discovered while coding in LabVIEW 2009 SP1.

See images below:

 

 

In the above images, only the 'S' in Select was bold and underlined, whereas trying to do the same in more recent versions of LabVIEW causes the entire text to be formatted.  Why remove a good-working feature?

 

Please bring back that feature.

 

Thanks,

 

RayR

How did a program made for engineers and scientists make it 20+ years and not allow for subscripts and superscripts to be displayed. 

E=MC2 is really not all that powerful.

Are there no chemistry math or physics applications developed.

 

One nice method for implementing this is to add an additional mode to string display called markup bhere simple tags could be added around characters to alter their appearance much like is done in HTML.

  

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.

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

 

Sometimes it is interesting to programmatically operate front panel ctrols/indicators using not only references, but arrays of references to existing panel items.

 

Suprisingly, statically linked control references can be droped on the diagram and then programmatically combined into an array, BUT such an array can not be manually assembled at coding time.

 

It should be possible to do it (just like usual constant arrays can be made). It would be easier to code, and take much less room on the diagram.

 

Also, to make such a constant array easier to read (and gain diagram surface anywhere statically linked control references are used), why not replacing the type indication of the constant with the name ? Type can be checked by pointing at the output wire anyway...

 

ActualProposed

Graphs have a plot images property that allows us to draw anything we want on the graph area using picture commands. (example 1, example 2).

 

I propose to have a similar property for the front panel (or specific pane) area that would allow us to address any pixel and use picture commands at run time (e.g. Plot Images.Front to temporarily circle an area to guide the user or place a huge red warning text across the entire panel in case of a malfunction. We could use Plot Images.back to change a logo or show a connection diagram picture, or similar. (currently, we only have the limited background image property)

 

This should be entirely cosmetic and should not interfere with the operation of controls, etc.

 

 Here's how it could look like at run time...

 

When we have multiple Enum values using a same case it is difficult to see what are the values using it. It would be good if we have a Tip strip showing the values handled in that particular case would be more meaningful instead of having "Selector Value" as a tip strip.

 

There is also an idea on removing the tip strip totally and it got fair response.

 

TipStripCaseSelector.png

Please ignore if already suggested!

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.)

Some resizable primitives (Build Array, Compound Arithmetic) have an option in their right click menu which allows you to add or remove elements:

 

Compound.PNG

 

The Index Array primitive is notably absent from that list. It would be very useful if we could add or remove elements like this:

 

Add Element.gif 

 

In the option dialog it could be nice to be able to define the default connector pane. In our company we use 5x3x3x5 from the first day and I imagine other company as there own standard. It's realy annoing to have to change the connector pane all the time on new VI's and on the Class VI Template from 4x2x2x4 to 5x3x3x5.

 

DefaultConnectorPane.png

This is something a few power users have asked me about. There's no Instrument Driver or VIPM Idea Exchange, so I thought I would post it here.


What if VIPM could manage Instrument Drivers from IDNet?
There are a few key benefits this would offer us...

  • download IDNet drivers directly from VIPM 
  • track which version of a driver you are using for different projects and revert when necessary 
  • wrap up ID dependencies in a VIPC file for use at a customer site
Install Other Version.png
Get Info.png