LabVIEW Idea Exchange

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

It is a little know fact that cursor move events and annotation move events cannot be distinguished directly. They both register as cursor move events.

 

This seems like a design flaw that makes little sense. I suggest to create a set of annotation events that mirror the cursor events so there is no crosstalk between the two. The new event set could even include this idea.

 

 

As of now Labview Mathscript can handle only 2 indices. for example:

Mathscript can execute the following

for i = 1:10

    for j = 1:10

        B(i,j) = i+j

    end

end

but it can't do the following:

for i = 1:10

    for j = 1:10

        for k = 1:10

            B(i,j,k) = i+j+k

        end

    end

end

 

I propose that Matscript should handle more than 2 indices.

The output then would be a 'n' dimensional array, where 'n' is the number of dummy indices.

Right on the heels or Darren's idea, here's a related issue along the same lines that has bugged me for years. I think the same arguments (and more!) apply here also.

 

When opening the front panel of an express VI, I suggest to get rid of that warning dialog shown here.

 

 

The warning is wrong, because I can just go to the main VI and press "undo" to get the old configuration dialog back, including all customized values. This is not a dangerous one-way operation as one might think from the wording of that dialog!

 

At the same time maybe the right-click menu should be clarified. Instead of the innocent "open front panel", it should read "convert to regular VI" or similar, because that's what it mostly does. Opening the front panel after conversion is just an additional convenience. 😉

The IMAQ VIs are great for recognizing barcodes that are scanned.

 

On the flip side, there's not a really portable way to generate a barcode in LabVIEW (without having to install a barcode font). The nicest approach would be to have a custom control that has string datatype, and then on the front panel, the string gets displayed as a barcode!

Other approaches could involve using a picture control or something as well.

 

Barcode.png

Many times I want to see if a variable equals any one of a group of possible values.  There are several ways to code this up now, (one method show below as "OLD").

 

I would like a single, simple expandable node to save diagram real estate. The top wire terminal would be the item to compare, "equal to.." and all the rest are the possible values. If any of these are a match, return TRUE, else return FALSE.  Obviously this should be polymorphic, so that we could compare anything, for example, the current config cluster, with a group of configurations.

 

Example New Expandable Equals Node.png

 

For extra credit:

1. Be able to wire arrays into the expandable terminals.

2. Be able to pop up on an input node and designate it and the following node as a Range-Pair, (shown in example above) ie from 7 to 23, or values of an enum or ring, etc,  inclusive or exclusive, with those terminals showing solid or outline diamonds like on the the "In Range and Coerce" node.

This is pretty simple.

 

If you get one of those pop-up error messages with a call chain, you should be able to double click on a VI listed in the call chain and have it automatically open.

 

I have attached an image of the kind of pop-up I am talking about.

Save time and cleaner code by supporting a commonly used operation in test sequences. The In range and coerce would have

a mode to specify absolute (current operation) or relative mode where you wire a Center Value and Range instead of Upper Limit and Lower Limit.

Upper Limit=Center Value + Range

Lower Limit = Center Value - Range

Trivial to do but used commonly enough to be annoying to have to do that.

Whenever I have to do Serial programming or general instrument communications, I'm always googling an ASCII table to see the U8 values to STX, LF and so on.

 

While one might argue that simply printing a table or memorising the values should suffice, I'd love to see an ASCII display option for U8 so that I can immediately see how my serial ports are being set up for termination character and so on.

 

18125iEECE6EA275EE2D37

 

It would be cool for single-character strings also but I'm unsure as to how this could be implemented properly....

 

That's all folks

 

Shane

Currently when binding a .Net Constructor node to a private assembly the vi saves the absolute path to the assembly.  This behavior causes a lot of pain when multiple developers working on the same project have the source code repository mapped to different local directories.  Every time I load a project I go through several iterations of Labview/.Net searching for the "missing" assemblies.  Depending on what I have on my disk at the moment, oftentimes it will bind to a dll that's in a completely different project.** Trying to find a workaround for those vendors who refuse to put their assemblies in the GAC has been problematic.

 

Note I'm not asking for a path input to the .Net Constructor node.  I just want the option for the path to be stored internally as a relative path rather than an absolute path.

 

 

**This is a little odd given private assemblies aren't supposed to be loadable outside of the given .Net AppDomain.  I guess there's not a 1:1 correlation between Labview app domain and .Net AppDomain?

 

Simply wire an INT byte count (and the queue wire) and you're done. Ideally, this function would be placed just after Obtain Queue.

 

 

 

Message Edited by Broken Arrow on 04-07-2010 01:50 PM

Hi,

 

Another behavior that I find annoying isthe way LabVIEW manage the tabbing order with cluster.

 

Imagine a front panel with clusters (I thinkthat this is not unusual and that you will have no pain to imagine this). If acontrol embedded in a cluster has the key focus, the TAB key will only give thefocus to controls of this cluster. It is impossible to navigate outside thecluster!

 

In the following front panel I wouldexpect the following sequence when tabbing: Cluster_1.String_1 -> Cluster_1.String_2-> Cluster_1.String_3 -> Cluster_2.String_1 -> Cluster_2.String_2-> Cluster_2.String_3 -> Cluster_1.String_1 -> …

(According to  the cluster tabbing order)

 

CLUSTER.png 

If you drop a label from the palette, you can hold down the mouse button to adjust the starting size of the label.  When you release the mouse button LabVIEW gives keyboard focus to the label.  This is a good thing.

 

Label on palette.jpg

 

Label on palette2.jpg

 

 

If you create a label by double-clicking on your VI, LabVIEW places the label and gives it keyboard focus at the moment your second click begins

 

It would be nice if LabVIEW didn't create the label until the second click ends, and allowed you to set the initial size of the label by dragging the mouse before releasing your second click.

Warning: You are about to close xx probe windows. Would you like these probes available next time the BD is opned? Yes/No/Cancel. Could then have a restore probes option.

 

Or maybe even allow probes to stay open when BD is closed. Often, I close the BD by accident during a debug session and kill all my probes.

 

Lots of great suggestions for probes in the forum.

 

 

It would be very nice to add descriptions to folders inside a project to clarify why this folder exist and what the contents are, currently this is done by generating readmefolderX.txt files since the project can't have duplicate file names.

 

This would show in the context help for that very folder.

 

Ton

I like the new event dialog (three pane) of LabVIEW 2009, however one issue is still missing, it would be very usefull if we could at an event case from this dialog.

 

With this new option we could set up a lot of events we want to react on in a single dialog. 

 

Ton

 Observe the following behavior in this series of events:

 

StrangeLabels.png

 

 

1. A regular ol' cluster is created.

2. The labels are dragged with the mouse to the snap-to upper left hand corner.

3. Right click on the control, change to indicator.

4. Right click on the Array, uncheck "Visible Items > Index Display"

 

Things I do not like about the above process:

1. Between steps 1 and 2, the cluster gained 7 pixels in height!

2. Between steps 2 and 3, the numeric and enum end up with a label that's about to tip over and fall off the left edge.

3. Between steps 3 and 4, the array label lost all support, and is definitely about to fall.

 

FallingLabel.gif

 

Proposal: When components of a control or indicator are hidden or shown, or the size is changed, the position of the label is invalidated, and repositioned based on the new bounds of the object. 

 

If you like this idea, please, go back and like this idea too: Quirky Labels: Part 1.

The palette file editor is in desperate need of a make-over !

 

It shouldbe possible to:

  1. Add libraries/classes/projects to a palette and create a whole tree of menus automatically
  2. Edit individual vi icons as well as palette menu icons
  3. Rename (i.e. Save As...) a palette file and have the refering links renamed optionally (a bit like the save as for a vi dialog).
  4. Exclude files and directories according to user defineably patterns when synchronising to disk
  5. Copy/Paste palette entries rather than just move them
Probably some other things, but that's good enough for starters.

Currently the quickest way to open a typedef is right-click >> Open Type Def.

 

Holding down a modifier key (Ctrl, Alt, Shift, or a combination of these) while double-clicking on an existing typedef constant or terminal (Block Diagram) or control/indicator (Front Panel) would be quicker.

Combined.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Notes

  • The gesture could open the private data definition (ctl file) of a class when double-clicking on an object constant, terminal, or control/indicator.
  • Opening the typedef for inspection/modification is one of the most common actions when working with typedef clusters and enums.

Swagger/OpenAPI  has become the default go to way to document and interact with rest API's.  It would be great that when you publish a LabVIEW webservice it generates the OpenAPI yml or json file (being able to generate both would be great).

 

Also having a right click in the lvproj webservice view that brings you to the swagger page for debugging would be helpful. 

When using Property Nodes, some nested data items can be accessed directly:

 

_carl_3-1634314422914.png

 

while other nested data items must be accessed with a separate unbundle function:

 

_carl_2-1634314226412.png

_carl_1-1634314195636.png

Why not expose all nested data items directly in property nodes?