LabVIEW Idea Exchange

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

I am trying to make a sub-VI reentrant.  The sub-VI has multiple multilayer sub-VIs in it.  Is there  away to enable them all at once instead of doing it one-by-one. 

 

Thanks

What Happens Now:

 

Hmm, I want to compare these two vi heirachies.

Open LabVIEW

Goto Tools -> Compare

What? Why cant i compare heirachies? I am sure I did it yesterday

Scratch Head....

Oh yeah, i need to open a project.

Open a project.

Goto Tools-> Compare VI Hierachy

Grumble Grumble Grumble 

 

 

What Should Happen:

 

Hmm, I want to compare these two vi heirachies

Open Labview

Goto Tools-> Compare VI Hierachy

 

See? isnt that better? 

 

Example case: 

 

I created 2 variant VI's on the "Emtpy String/Path.vi". 

 

  • "Empty String/Path variant1.vi", has 2 string inputs and returns true if one of the two strings is empty.
  • "Empty String/Path variant2.vi", has 1 array string input and returns true if one of the strings in the array is empty.

Both VI's have the same functionality as you can see, check if strings are empty if so return 1 boolean constant. You now might want to combine these VI's in a polymorphic VI for several reasons:

 

  1. They have the same purpose
  2. If you want to put this VI on your pallet (like me) you don't want to have 2 instances on your pallet because of the first reason.

Sadly enough you can't create a polymorphic VI out of this. Because LabVIEW won't allow you to add VI's with different connecterpane's to a polymorphic VI. Hence I say remove this limitation, since a polymorphic VI is more or less just a selector to use one of the VI's which are added to the polymorphic VI. 

 

I loved it when the feature Clt+Space , Clt+D was introduced. In fact it was jaw dropping for me when I first saw it. Smitten by the new LV version I used it extensively. But slowly I realized that it sometimes add unwanted controls and indicators too which I have to delete them manually later on. Now, I have kinda stopped using this feature.

So, it will be great if we can have selective auto-drop.

For ex.

Currently when i use this feature i get this:

cur2.jpg

 

cur3.jpg

 

Here is a new proposition:

When I move my mouse and select the subvi(s) and hit a shift key (can be any other key), it should show me all the corresponding controls and indicators in greyed out area. With the shift key still pressed I can go around and click on the controls and indicators that i want to keep. After doing that and on release of the shift key it should come back to normal

new 1.jpg

.

Imagine how beautiful the life would be when the same thing can be done with multiple subvis selected. Especially when you are doing DAQ/HSDIO etc programming using lower level vis.

Right now, we can use the mass front panel binding tool to bind front panel items to shared variables--but we must have the shared variables in place already:

1.png

We can make a mass of variables using the batch variable creator, but they must be of the same type, and the name is not descriptive (Variable 0, 1, 2, 3...). You can also convert single controls or indicators into shared variables...

2.png

But every time you create one, it also creates an entirely new library, and you cant create multiple shared variables at once.

 

My suggestion is to let you create shared variables from the binding pages (both individual and mass):

3.png

 

I would also like to be able to drag controls from the front panel into your project to automatically create a shared variable to which they are bound (just as you can now drag shared variables onto your front panel to make a bound control).

Soweit ich im Internet nachgesehen habe, existiert das Problem nicht nur in oben genannter LLB

I often have a dozen or more simlar controls or indicators (e.g. setpoints for controllers) on a frontpanel that I want to treat in a similar way. For that I create a reference for each control or indicator and then bundle those to an array.

What I would like is that those similar controls or indicators would actually be an array even if its elements would be placed on the front panel as scalars. During development the elements of the array would show up as being elements of an array if you work on one of jhe elements. The big benefit would be that there is only one terminal for all similar scalars.

 

 

Download All

Hi,

Maybe "mouse move event" should olso be generaten when rotating mouse wheel. Now the only way to discover scrolling is to monitor panel activity.

JJ

bez tytułu.JPG

There recently was a competition amongst Application Engineers on different ways to use the Arduino board and program it with LabVIEW for different projects.  I was just thinking about the spash screen and how cool it would be if it included a link to a Youtube channel of different projects AE's or others had completed using LabVIEW.  It would be a powerful way to spread ideas, if the videos were screened by marketing and well made.

The "Array Size" Function returns an ARRAY of all dimensions (even for a 1-dim array!). Very, very often, I'm interested only to know ONE of the dimensions. I normally do "Array size" - "array to cluster" (with the cluster set to the number of dimensions) - "unbundle cluster"  => wich is very clumsy.

 

Why not make the "Array size" customisable, e.g. with a double click like the "array to cluster" to indicate which dimension I want to know. If "all" is choosen, an array is returned as today. If "2" is choosen, the 3rd dimension is returned just as an integer value ...

 

would be great!

 

gilles

With the roll of the middle key of a mouse, the size of the diagram can be changed  to make the whole diagram more clear.

 

in addition, whether can assign the cpu core in while loop structure not just timed loop structure?

Currently, if a control is inside a tab control, the reference of it cannot be obtained programmatically through property nodes as the Controls[] property only outputs control references of controls directly placed on the front panel.

 

The Controls[] property should be able to output ALL the references of controls on the front panel including ones inside tab controls.

 

My customer wishes for the above functionality as he wants to change the value of a control inside a tab by specifying a control by its label programmatically.

 

Please refer to attached VI for details.

 

I am sure there are other applications where this functionality is useful and it would be great if the Controls[] property is able to output all the references of controls on the front panel.

 

Taiki Hoshi

AE NI Japan

I find difficult to organize and move controls and indicators automatically according to size of windows, size of screens...

And it is more difficult to zoom controls and indicators because of fonts.

My idea, it is to create a grid such as Microsoft has introduced into WPF.

Using the Stacked Sequence Structure can be an option to perform sequenced coding in a reduced space.

 

Usually some data, typically the error cluster or other wiring, have to be passed frame by frame for all frames.

A the present, the only option available is the "Sequence Local" and, in case of many frames, this becomes difficult to read and to maintains, and fills a lot of space.

 

In "While loop" the "Shift Register" passes data from an iteration to the subsequent iteration, in similar way, I suggest to introduce a "Shift Register" for "Stacked Sequence Structure", where the data are passed from a frame to the subsequent frame.


Sequences.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In my opinion a "Shift Register" could simplify and clarify the use of "Stacked Sequence Structure".

 

Regards,

Asper

Isn't information on:

http://zone.ni.com/reference/en-XX/help/372416A-01/svmain/sv_related_doc/

titled:

Sound and Vibration Measurement Suite 6.0 Help--Related Documentation (Sound and Vibration Measurement Suite)

outdated?

Maybe better after addition of comprehensive:

"Noise and Vibration Control Engineering. Principles and Applications"

Wiley 2006, 978-0-471-44942-3

??

 

Real time is better, but festina lente

In moderation I find that certain Express VIs are quite useful, in particular Elapsed Time, Time Delay, File Dialog, and Prompt User, but I really dislike the default behavior.  I would like to choose when I go to the configuration page, and I never use the default view. 

 

So, to make these things a bit more palatable (palette-able), I would prefer a setting (INI key or Environment Option) to De-Expressify the Express VIs, meaning that they drop silently to icon view like any other subVI.  You can still double-click for the config page when desired, for the ones I use I rarely need to configure anything.

 

It just makes them fit a little better into the normal workflow for the non-newbie users.  Right now I have palette items which do nothing but drop iconified Express VIs.

Many times, there arises a need where we have only the top level VI of a certain project, and hence, a missing subVI prompt comes up, like the one shown below:

 

Missing SubVI

 

Now, if there are tens of such SubVIs which are missing from the Main VI, we need to press "Ignore Item" many times to finally open the top level VI. If not this, then you will need to press Cancel in the following prompt.

 

How is the idea of having one "Ignore All" button here, which would cut short this process and directly take us to the top level VI, something like this:

 

NewDialog.JPG

 

 

I just took a look at the LabVIEW Web UI Builder and was very impressed with the way it lets you buy a UI. I started to become very jealous and wondered why core LabVIEW does not have these features. A couple that I first noticed was when placing a button alignment lines were drawn so you can properly align with current objects on the front panel. Another cool feature was on the block diagram and along the top the properties of the currently selected item shows up to allow quick easy editing.

 

There was all kinds of great features this had that make builder a great UI that really need to be in LabVIEW. I have been wishing for something like this to come out in a future version and seeing this gives me hope.

 

Another great feature this has was having the palette docked on the left side so you can easily see and drag everything onto the panel.

 

 

To further expand generic programming, we should be able to specify custom patterns as a custom structure. For example, if you very often write "retry once" code you could write retry2x.

 

CropperCapture[47].Png

I think if you expand this concept you can accomplish other requests on this board like case structures that respond to error wires with warnings on them. If you expand it farther you could have "express" structures that have a configuration interface.

Hi, I am a beginner in Labview and often when I read Labview code I wonder how one can determine if the code makes sense.

 

Is there a mathematical description of the Labview Language? Vi's need to be connected in certain order to do something meaningful (semantics), but there is also a syntax-rules, which for instance  are that you must create a virtual channel before you write to the virtual channel, you must obtain a queue before you enqueue an element.(I don't know if this will result in a broken wire actually)

 

makes no sense.png

 

What is a Labview program? Can I validate if the above program is correct? If it makes sense? What it does by "mechanically" applying rules from a description of the language? Or is it only by testing and gathering experience of previous behavior that I can validate a code?

 

What can a Labview program consist of? You can also have files that are of .vi, .lvclass, .ctl, .lvlib. I understand that a vi is a virtual instrument, a graphical code entity, and a lvlib must then be a collection of vi's located on a computer. What is a .ctl file and a .lvclass file?

 

 

I've also noted that many entities in a labview program have propertynodes. These seams to be very little documented. Just trial and error here I suppose.

 

Then a question from a colleague: Is Labview fly-safe? That is, can one prove that a certain Labview code behaves a particular way and doesn't crash an aeroplane which have a computer that runs the Labview-software. An instrument that is used to test certain functions on an aeroplane on the ground must also be fly-safe. His question has the same roots as mine I suppose..-How do I understand a Labview-program, can it be done using rules, or is it just by experiencing the behaviour of the software.

 

I think you're in a dilemma here... If you write down a mathematical description of Labview, there will be non-NI Labview compilers out there the next month, if you do not do some computer science theory on the Labview language, no computer science deparment will pick it up and do reasearch on it, and that means still no university courses in Labview. Maybe you should wait until you reach a critical "mass".

 

Kindest regards,

 

Lasse