LabVIEW Idea Exchange

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

I'd like a new hotkey to remove only broken wires with no connections instead of all broken wires. 

 Example:

Using State machine with several shift registers.  Now I decide to move a shift register variable into a cluster or something.  I delete the shift register and tunnels.  I now have lots of broken wires but I only want to remove the ones that have been wired 'through' with no connections.  If the others remain so I know that I should handle them.

 

Thanks.

Brian

I did a search for "VI Hierarchy" and didn't turn up this idea.  I sure hope it isn't a repeat. 

 

If you have a polymorphic VI in your VI hierarchy, when you view the hierarchy, it seems like every single polymorphic instance of that VI shows up, as well.  This doesn't help me at all, and I don't know why it works this way.  I should only see the specific VI's I am using.

 

After dropping just one function (DAQmx Read [Analog DBL 1Chan 1Samp])

daqmx read.png

 

Now check out my VI hierarchy!

VI Hierarchy Gone Berserk after One DAQmx Function Dropped.png

 

It's gone berserk!  It is showing me every single flavor of DAQmx Read!  Try this for your own amusement. Smiley Wink

 

Why don't I see only one DAQmx Read function in this hierarchy?  Or maybe someone can shed some light on why it SHOULD work this way.  I definitely think it SHOULDN'T.  The block diagram I posted above should not have a hierarchy like this!

Message Edited by Support on 07-30-2009 09:27 AM

The LabVIEW String/Number Conversion Palette contains many functions to convert a number to a Decimal, Hex, Octal, Fractional, Exponential and Engineering Strings.  However there is one missing: The Number to Boolean/Binary String.  This can be replicated very easily with the following code, but should be a native function of LabVIEW.

 

Number to Boolean String86.png

This is similar to the idea about moving items in the connector pane and is an extension of it for any input or output on the block diagram -

 

Often, you connect a wire to a wrong input or output. Today, fixing it requires wiring to the new location and manually deleting the old piece of wire. The only exception is two-input functions with both inputs already wired, where you have a keyboard shortcut for swapping the wires. 

 

A much more natural and general method would be this - if you use the wiring tool on a wire source or sink and then on another, the wires should be swapped (or if there's only one wire, it should be moved).

 

 

In this example I wired the 7 into the wrong input and I want to move it one input down, so I:

 

1. Click the top input. This "grabs" the wire, so to speak.

2. Click the bottom input. This moves the grabbed wire to that input.

 

Move Wire.gif

 


Message Edited by Support on 10-22-2009 01:25 PM

As mentioned in this comment, the ability to swap two inputs using the control key is a great feature! 🙂

 

However it is still a bit crippled and is missing a natural extension of the functionality:

 

It currently only works if both terminals are connected. The feature should be expanded so it also works if only one of the terminals is connected. It would swap the connection to the other terminal in this case.

In order to straighten out your wires and reduces crossover, it's often necessary to swap inputs. Or, if you accidentally wire y^x when you wanted x^y, you need to swap inputs. Currently, we must delete the wires to both inputs, then rewire into the opposite input. Proposed: "Swap Inputs" option:

 

SwapInputs.png

 

(The expected behavior is obvious for a function that only has two inputs - please give your input on expected behavior on functions with more than two inputs. Right now I lean toward limiting "Swap Inputs" to primitives and user-defined functions that only have 2 inputs)

The LabVIEW Project Explore has Standard Toolbar and it’s been greatly appreciated.

Why not Standard Toolbar for VI? Most programmers are used to Ctrl+S for saving the change (one hand use), but there aren’t many to use or use to Ctrl+N and Ctrl+O.

 

t2.png

 

I think Standard Toolbar for VI would be very useful option!

I would like a better way to clear the list of recent files and recent projects in LabView.  It is often disireable to clear the history when changing to a different project or a different user.   Currently the user must close LV, edit the .ini file and restart LV.  I would like to see menu selections added to allow the list of recent files and/or recent projects to be cleared.

There are examples of generic ASCII spreadsheet formats that used fixed-width fields and no delimiter. (see for example the XMAP section of XPLOR files for crystallographic electron density, blue part below).

 

 


ZYX
XMAP: section #   0 average density=-0.336     sigma= 0.907   
       0
-0.97086E+00-0.49927E+00-0.82774E+00-0.13491E+01-0.57034E+00-0.71253E-01
-0.19491E+00 0.61017E+00 0.10064E+01-0.22888E+01-0.94020E+00 0.77451E+00
 0.57539E+00-0.31211E-01-0.27430E+00-0.36526E+00 0.34772E+00 0.81884E+00

-0.19954E+01-0.10117E+01 0.18038E+01 0.19008E+01 0.11886E+00-0.41646E+00
 0.47560E-01 0.48855E+00 0.57606E+00-0.22320E+00-0.12787E+01 0.47590E+00

...


 

LabVIEW could easily deal  with these sections (i.e. read and write!) using "%12.5e" as format string and an empty string as delimiter. For some reason, an empty string as delimiter does not work for "spreadsheet string to array" and "array to spreadsheet string". If I explicitly wire an empty string to the delimiter input, LabVIEW will silently substutite a tab instead. This is somewhat unexpected, a tab should only be substituted if the input is unwired.

 

IDEA: An explicit emtpy delimiter string input should be accepted verbatim. 

 

Of course things can go horribly wrong if the field code is variable width, but we need to trust the programmer to be aware and deal with it.

 

(On a related note, there is still no format code to allow padding the exponent to two digits with zeroes as in the blue parts shown above, however, fortunately the files seem compatible even if I don't edit the exponent to match that pattern)

Message Edited by altenbach on 07-21-2009 12:02 PM

Here control means both controls and indicators.

 

When replacing a control, some properties of the replaced control are inherited by the new control, e.g., label, caption, etc. and some are not, the most critical for me being the SIZE property (and the POSITION which is not in the Properties dialog). So while property nodes, event cases, etc. which depend on the label are still intact after the replace, I still must fix SIZE and POSITION (and other properties) afterwards.

 

Idea: When replacing a control, the set of properties in the intersection of the old control and new should all be inherited by the new control. Thus when replacing a control with the same type, ALL properties would be inherited. The exception to this would of course be when replacing a control with one that is a strict type definition.

It would be nice if under options that highlight execution speed for debugging was configurable.  It could also be not an option but placed just next to the light bulb icon.  With experience we become able to folloe the code much faster and having 2 or 3 speeds of highlight execution could save some waiting time.  I know that there are many debugging options already but sometines the old light bulb is easiest.

 

Given a multiframe flat sequence, there is sometimes the need to remove one of the frames because it is not needed. This is currently hard.

 

We can add frames, merge frames, insert frames, and remove the entire frame structure, but if we try to remove a single frame, it drags it's entire contents with it to neverland.

 

IDEA: When removing a frame of a flat sequence, the code should stay, just the frame should disappear.

 

This is a more natural operation. Deleting the code first or later if desired is trivial.

 

(Originally I was only thinking of edge frames (Inner frames can already simply be merged). Another option would be to split the existing sequence into two sequences if an inner frame is removed. Would that be useful too? Maybe!)

Currently there is a "Close All" option in the File Menu.

When working with projects it would be nice to have a "Close All VIs" option that would leave the project file open, but close all the VIs.

 

I often use the Close All, then have to reload the project file.

 

 CloseAll.jpg

When you move files around in the directroy structure (not renamed), you get prompted with this Resolve Load Conflicts message box.

For every VI file used something that has moved you must choose if you want to:

 

a) load with the file found in the new location.

b) load the file that can no longer be found.

 

I proposed having a way to automatically load the newly located file with the alternative cannot be found

OR

having a "Resolve All Conflicts" button for this case.

 

 ResolveConflicts.jpg

 

ResolveConflicts2.jpg

 

 

Dear NI,

 

Please fix LabVIEW so that when you right-click on a wire on the block diagram the menu pops up immediately, not after 1 second. Also, while you are fixing that, it would be great if you could fix the speed it takes to open a control/indicator properties configuration dialogue.

 

As far as I can recall these were fine in LV 7, but sometime after that itall started to get a bit sluggish.

 

Thanks!

 

 

 

 

I was inspired by the idea 'Color properties should default to colorbox data' to post this one.

 

You can drop the listbox symbol constant from the pallet onto the block diagram.  But, if you create a control or convert it to a control, you end up with a numeric control, not a pict ring of the symbols.

It would be nice, when including the listbox symbol in a data structure to allow for it's graphical representation.  That way you would not have to lookup the index number with the constant to figure out what symbol had been set in the data structure when you are debugging.

 

If there is a work around for this, please let me know! 

The context help that appears when you hover the wiring tool over the various inputs and outputs of a subvi or function should display the data type required by the vi/function.

That way we would not need to guess the datatype to get rid of the coersion dots.  Currently I end of making a constant from the terminal and then hovering over that to see what data type it is.  Since the IDE knows the data type to create the constant, there is no reason it cannot be appended to the help description.

 

I find that there are WAY too many steps to setting up a custom button with up, down and hover graphics.  And there is too little documentation on this subject as well.  Here are the steps I have to use to build a simple button from 3 basic png files (for the 3 states):

 

Drop System button on front panel

Right click menu > Advanced > Customize button.

From control editor, choose customize mode.

From the right click menu on the button:

 

1. Import from File
2. Select normal button image.
3. Copy to Clipboard
4. Select third picture item
5. Import Picture From Clipboard.
6. Select second picture item
7. Import from File
8. Select ‘down’ button image.
9. Copy to Clipboard
10. Select fourth picture item
11. Import Picture From Clipboard.
12. Select sixth picture item
13. Import Picture From Clipboard.
14. Select fifth picture item
15. Import from File
16. Select ‘hover’ button image.

 

Change back to edit mode.

Save control.

 

There has to be a better way! 

 

If you do a dynamic call from a built application and it fails because the VI in question depends on a VI that it is unable to locate when called in a built application environment - the only way to figure out what went wrong is to rewrite your app so that it opens the front panel of the VI, and then click on its broken run-button...There should be a way to get that error description without having to do anything with the application.

 

The real challegne however comes when you run into the same problem on a real-time target. There you can not open the front panel...and basically have to search in the dark to find a solution.

 

Feedback to the programmer's machine would be nice, but it should not only work when you have LabVIEW running. It should be possible to e.g. put a switch in an INI file...and then get a text log that describes, in full detail, what goes wrong with the dynamic calls.

These function names create undue confusion. Every semester, new students to LabVIEW post questions on the NI and LAVA forums asking how to use these functions to open, edit or load data from an Excel file (.xls).

 

Unfortunately, the name spreadsheet file has become synonymous with Excel. Even experienced computer users have an expectation of some sort of intelligent file when reading the title "Read from Spreadsheet File".

 

These functions should really be renamed to 'Read from' and 'Write to' DSV file...

 

Delimiter Separator Values  (wikipedia link)