LabVIEW Idea Exchange

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

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

Over the years I’ve created a lot of LabVIEW DLL’s for various projects and use DLL’s for different reasons. It took me awhile to figure out why some of my applications were jerky and sluggish. The reason was the DLL’s were running in the UI thread. After changing the thread setting to run in any thread my problems went away. I found in the literature that when the DLL’s runs in any thread it runs in the calling VI’s thread. Is there a reason the default thread is the UI? I would like to see the default thread be changed to “Run in any thread”.

 

Call Library Function Thread.PNG

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

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.

clear all;

x = 0:0.01:20;

y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);

plotyy(x,y1,x,y2);

axis([0,20,-200,200]);

xlabel('Time (\musec)');

ylabel('Fast decay');

title('Multiple Decay Rates');

 

Please help,

1. how can I make the 2nd y label ('Slow decay')?

2. how do I set 2nd y maximum and minimum axis?

Thank you very much in advance.

 

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

Allow user to preselect which libraries to load when inserting ActiveX Objects or .Net Control and same for constants.

Bring frequently used on the top or make it user favorites...

Assemblies.PNG

Add to Automation Open function option "Instance by Name" and "Instance by ID". Provide link between process and Automation refnum.

Automation.PNG

Workaround example.

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.

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

Hello,

 

When you launch a HMI VI assynchrounously using the "Run VI", the mechanical actions of the controls are not taken in account.

When i launch the same VI directly using the run button ... all works fine !

 

For example i wanted to use a "Switch until release" ... The value of the control should stay true until i release the mouse button.

in assynchronous running mode, the control doens't keep the "true" value until the mouse button is released ...

the control value automatically change to false value even if the mouse button is pressed !

 

It seems that there is a different behavior between ...

 

  • A normal run
  • An assynchronous run

=> The events are not handled the same way in both execution mode.

 

It should be nice to make the mechanical actions works in both cases ...

Or if the problem is linked to the LabView inner architecture, to explain this particular behaviour in the Labview Help.

 

One of my collegue gets also a problem like mine using FPGA IRQ methods calls ...

 

  • The Wait IRQ works fine in a "Main VI" launched by the Run button.
  • The same code generates an error, if the VI is launched assynchronously.

 

I think that the behaviour difference of the 2 run mode (Direct run or assynchronous run) should be described in detail in LabView Help ...

 

Manu.

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.

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

 

 

 

 

 

 

 

Hi all !

 

I am a beginner in Labview.

 

What is the most timeconsuming obstacle using Labview? You know what you want to do, but it feels that Labview forces you to go big circles around it?

 

BROKEN WIRES!

 

You want to connect, but you cannot. Labview wants you to: array it up, de-array, bundel, unbundel, get a waveform component here and smack it together with a sampling rate there. And you go

CRAZY!!!!

 

Simple solution:

Wire is broken. Rightclick on the x, and choose some legit suggestion.

I am not a programmer, but couldn't this annoying thing be solved implementing a simple lookup-table in the Labview intrepreter? There are not much different datatypes, and dealing with aggregated datatypes like clusters of different sorts could be dealt with some sort of pattern matching scheme. In a recursive language like Haskell patternmatching is done "quite easy".

What does the "Edit Mode On Open" Property do? I do not manage to do anything useful with it. Could you please improve the help text?

 

What is its purpose?

Is this setting saved when the VI is saved?

When I set it to false and open the FP thereafter programmatically, why is the VI in edit mode?

 

When a file is opened with the file open dialog of LabVIEW, the containing folder can not be moved, even if the file is closed. It is only possible when a file in an other folder is opened.

Not only moving is not possible, but also moving, renaming and ejecting the containing drive.

 

The folder should definitely not be locked by the dialog after it is closed!

 

This issue still exists in LabVIEW 2010 SP1.

Don't know whether this has ever been posted, not as far as I have seen, but I could have missed it.  Sry if I did.

 

Sometimes I want to change the same property of different controls and indicators.  What I miss tremendously is that you can select them all, right click on them and see all the mutual properties they have and of coarse being able to change them.

 

An example of one of them would be :

- show caption : shows the captions of all controls selected

- Hide control : hides all selected controls on the front panel

- representation

- ...

 

And this list can go on and on...