LabVIEW Idea Exchange

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

PROBLEM:  There are often times when I decide I would like to include some code that is just outside of a structure.  Currently in order to get it into the structure I have two options:

 

  1. Grow the structure, move the code inside, reattach all the wires, rearrange code so that the spacing is correct again.
  2. Delete the structure and readd it.  (This option is not valid for sequence structures where I'just want to move code from one frame to the next.)

SOLUTION:  Allow a control (or shift) when resizing a structure that causes the structure to capture the code rather than move it.  This should not break any wires.  In essence, it would be like redropping the structure..  Note this could also work in reverse.  If you size a control smaller, it would exclude anything outside the new boundaries of the structure.

 

Allow us to open only the BD by CTRL+Double Clicking on the VI in the project. Sometimes, it's not necessary to see the FP!

This one's pretty simple...  Multicolumn listboxes have a "Moveable Column Seperators" property that's available from the menu at edit time:

_carl_0-1598023462090.png

But this property isn't exposed through property nodes.  I'm currently in a situation where I really wish it was!

 

I'm not the only one who's encountered this:

https://forums.ni.com/t5/LabVIEW/Moveable-Column-Seperators-Property/td-p/2217334

It would be absolutely helpfull if Graphs would have Annotation font properties like Labels  have on generic control.

 

 

New properties for Annotation in annotation List that could allow to change "test" text fonts attribute.

Graph Annotation Font Properties

 

 

Graph Results

We've been saying it for years now.  Enums should be typedefs.

 

Why not make EACH and EVERY dropped Enum into a typedef automatically.  Drop a new Enum from a palette, it is a typedef.  Copy it, it's linked to the original.  For my taste, even ask for a save path after dropping the enum but for the sake of our sanity, just make each and every enum a typedef already.

How is NI-MAX still so bad after all these years? It goes completely unresponsive and crashes at the slightest provocation. This feels like it should be NI's bread-and-butter.

 

Every LabVIEW team ends up recreating so much of the functionality that NI-MAX is supposed to offer out of the box. Maybe with the discontinuation of NXG, some resources should be allocated to making this product usable.

 

TurboPhil_1-1629324790878.png

 

 

KB articles like this and this probably shouldn't need to exist.

Tunnels for FOR loops are autoindexing by default. Sometimes this is not the correct option for very obvious reasons and we get a broken wire.

 

The diagram editor should be smart enough to try the "other" option (e.g. no autoidexing) if a broken wire results. If the other option succeeds without a broken wire, it should be used automatically. Maybe the tunnel could "glow" for a few seconds with a small option box (similar to e.g. when pasting into word: keep formatting, text only, etc) that would disappear after a while where we can click and overwrite the automatic handling.

 

The image shows two wires that would be a candidates for autocorrection of the indexing option. In both cases, LabVIEW should disable indexing automatically to avoid broken wires.

 

If both options result in a broken wire, nothing should happen, as before.

 

(Similarly for while loops. e.g. if I wire a scalar across the boundary to an array indicator, it should autoindex.)

 

It's very frustrating to have your floating probe windows disappear when a LV modal window is presented. Frame 1 below shows probes set up, and Frame 2 shows how they disappear when a modal window appears:

 

ModalWindowsEatProbes.png

 

Some of the most annoying modals that pop up while troubleshooting include: 

  1. "Save changes before closing?"
  2. "Waiting for Real Time Target to respond"
  3. Error windows

#2 and #3 modals windows recently made it impossible to use probes since I was trying to diagnose a problem that constantly would throw those modal windows.

 

Proposed Solution: Don't ever hide probe windows, regardless of what pops up.

Error in terminals that are ignored/passed through by the VI without preventing normal execution should be marked differently in my opinion.

I've lost count of the times where I have to keep reading through the help files to check a function's error in behavior.

Examples: Release Semaphore, Close reference, Release Notifier

 

Then there're the functions that I have created that exhibit the same behaviour. People reading won't be able to tell at a glance if the error prevents execution when called from another function. As a quick fix I label the terminal 'error in (pass through)' or 'error in (ignored)', but it's not ideal.

 

Bonus points if this can be marked as such during development and the behaviour enforced/checked at compile time similar to the following (I know it will be difficult to reliably implement, so maybe warn instead):LabVIEW_2018-08-17_09-49-36.png

 

Strict typedefs and non-strict typedefs differ significantly.  There's too much of a gap for me.  Sometimes I'd love a control to be somewhere in between.

 

There have been times where I wanted to force a typedef to have a constant size or colour or other parameters without having to force all other parameters to be identical.

 

It would be nice if a typedef could simply be gradually converted to strict by selecting which parameters are locked.  That way we could shoose to long only boolean text, width or colour but leave the other properties free.  VI Server would need to return an error that the type definition does no0t allow that change, but that is kind of already there for when you try to change properties of a strict typedef.

 

So by default a typedef would refer to data only (See HERE) but any further cosmetic changes (to which the datatype does NOT belong) we could simply select which parameters are locked and be done with it.

If there are multiple projects with the same name listed in the Recent Projects list, there's no way to determine which is which:

 

recent_project_tooltip.png

 

The idea is to display a tooltip showing the full path of the project when hovering over an entry.

I would like to have the ability to set the compare aggregates mode for comparisons involving containers (arrays certainly, clusters would be a nice bonus) and a scalar value.  This includes the comparisons to 0 functions as well.

 

compareAggregatesIdea.png

When installing a new version of LabVIEW, I always find myself resetting all of the options I previously changed from the default settings in the Tools -> Options menu. This means I have to spend my time remembering what options I changed and where in the Options menu I need to change them. It would be nice if a newer installation of LabVIEW looked at the older version's Options settings and then applied those settings to the new installation.

 

The same idea applies to how I configure the palettes on the block diagram. It would be nice if newer installations looked at how I configure my palettes and then set them up the same way. 

 

With these changes transitioning to a newer version of LabVIEW might be even more seamless for users that change their settings from the default settings. 

It makes no sense (from a Software Engineering and Process standpoint) to force (and store) an absolute path for a build destination directory, in the project. What if a group is sharing a project but each developer prefers to have their files located in a different folder?!!

 

I recommend NI consider replacing the line of code in LabView that is checking for the presence of an absolute path for the build folder with on that does: "If user entered an absolute path, use it; otherwise, prepend the current project location to whatever (relative) path the user entered before building."

Related to this idea, when you right-click on an array wire, LabVIEW shows the Array Palette.  However, many of the operations for the element type are often polymorphic.  As such, it would be useful to show the palette for the array's element data type as well.  The screenshot, below, shows what I mean:

 

 

2.png

The "right-click...replace" option has few choices, typically the home palette of the current selection if available and "All Palettes".

 

Quite often, I need the entry "Select a VI...", all down at the bottom after selecting "All Palettes".

 

Suggestion 1: Add "Select a VI..." to the first menu, see image.

 

Especially when benchmarking or trying different algoritms, I often like to replace the current VI with another VI that is already in memory. 

 

Suggestion 2: Also add a "VIs in memory", which would allow picking from list of all VIs in memory (except things located in VI.lib or in the standard palettes).

 

Here's an image how it could look like:

 

 

 

Message Edited by altenbach on 07-05-2009 09:35 PM

Parallelisation of loops is a great thing in LabView that offers a lot of possibilities and it's very easy to implement. In opposite to this debugging can drive you crazy regularly. A typical situation for me is that there are two loops in parallel whereby the first waits for user input (and handles it) and a second one cycles all the time doing some other stuff.

Assumed that the one with the user event handler needs to be debugged I place a break-point on a good place. When the execution stops there, I usually want to go step by step through the code. The problem is now the 2nd loop: because it is running in parallel the execution pointer jumps always between the two loops. I have to step through each function of both loops even that I only interested in the first one.

This becomes very annoying, confusing and time consuming if there is a lot of code in the 2nd loop, if the diagram becomes larger at all and if the highlight mode is activated.

 

To avoid this I suggest to show optional elements for debugging for each loop. With those elements I could decide if I only want to step through the code of the first loop while the second is executed normally (no highlighting, no single step).

 

Current situation:

current situation

 

 

improved functionality:

improved functionality

Inspired by Altenbach's Boolean constant design, I thought of the following....

 

When we have a SGL or a DBL constant on the block diagram, we have to right click, selece "representation" to find out exactly what type it is.  Why not have some indication as to the actual data type which could conveniently act as a menu for changing the data type.

 

BD Constant Data Type.PNG

 

The same thing goes for U8, I8, U16, I16 and so on.

 

Shane.

In a big project I needed to insert a function at several (read "more than hundred") places.

How much would I have appreciated a history which gave me a direct access to this function without the need to go to the specific functions palette again and again !

This would have saved me a lot of time... and made this annoying task a little bit less annoying !

 

LabVIEW should memorize at least the last inserted function/VI but a history of four or ten would be much better.

 

The history could be implemented either with an extra menu (see below image) or by listing the X last inserted functions/VIs right under the All Palettes menu entry.

 

The incompatible functions/VIs for the wire type should be grayed out or, even better, the history should be contextual and list only the compatible functions/VIs.

 

Insert history.jpg 

Please add to the right-click Cluster popup menu a Remove Cluster item analogous to a tab control's Remove Tab Control removes the parent container and leaves the contents as-is.