LabVIEW Idea Exchange

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

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

Today, when adding new event, the Event Data Node is duplicated from the previous event.

Sometimes, this node does not match the new event and breaks the code.

 

Simple example: When the current event is "Menu Selection (User)" with node chosen "ItemTag". Add new event like "Panel Close?". The new event will be created with "ItemTag" node, and the code will be broken.

Of course, there are many more examples for that, and this is happening quite a lot.

 

Instead, LabVIEW can choose the first node that matches the new event.

 

Regards,

Amir.

Hi, it would be nice if one could get the "path" to the functionspalett when hovering the mouspointer over a function.

Even if you pretty much know where to go into the functionspalette, I at least, get stuck everytime, when I want to recreate something similar to the code that I've found, because I cannot find the functions that are used.

 

I often have to copy paste from an existing code because I cannot find it in the Functionspalett.

 

See the attached picture. Where do I find the error input terminal? I found the I/O terminal, but that was from the Frontpanel palette.

context help improvement.png

 

Have searched for the waveform-terminal for over 15 minutes, still haven't found it..

 

 

context help improvement2.png

 

Kindest regards,

Lasse

 

 

 

 

 

I have been forced to write scripts in Python, a sequential interpreted language.

 

Usually I read variables from sensors in instruments, through CCL, then call a Python script (that usually calls other Python scripts from a library), then the script process thevariables to set parameters in instruments through CCL.

 

What I would love to do is the following:

 

Read the sensor variables through CCL

Input the variables into a Labview diagrammatic program

Call other Python scripts to include as blocks into the diagrammatic program

Upon the processing, generate outputs to set parameters through CCL

 

But also, from Labview, I would like to "export a Python script that does the same process", just to satisfy the managers here and let them feel sure to have new Python scripts that do the same processes.

 

I mean to use Labview to generate Python code, as if "compiling" the diagrammatic program to get a "machine code", even when that "machine" code is just a new interpreted Python script.

 

Just I hate programming in Python, but I must satisfy the managers providing them with new Python scripts to enrich their library.

 

Please tell me if it is possible to use Labview to make diagrammatic programs and then export the equivalent Python script.

 

Also tell me if it is possible to import a Python script from a Labview diagrammatic program, including the imports of other Python scripts, that is to include all libraries.

 

I am really desperate for a solution to this drama.

 

Thank you

 

Jaime Soto

ALMA Observatory, Chile 

Where LabVIEW close a VI it does not free the memory automatically. This should allow the VI to reopen soon.
For large projects or multiple projects open at the same time, this feature is very annoying. More and more memory is consumed and the only way to release is to close LabVIEW.
It should be possible to force the mode of operation within the parameters of LabVIEW.
[X] Free memory when a VI / Project is closed
] Maintain a copy of the VI in memory to improve performance at the reopening.
In the second case, it would be useful to have a command in the menu of LabVIEW to force the timely release of memory.

Current Scenario:

 

for dequeue element we can pass one reference only. And the function waits till timeout if no element is present in queue. If element appears before completion of timeout then function returns immediately with data.

However if I want to wait for data from multiple queues then I need to dequeue from them one by one. This approach has following problem.

 

Lets say I Have two queues Q1 and Q2 and I am Dequeuing element from them one by one with 10 Sec timeout. Now lets assume there is no data in Q1 but there is data available in Q2. Now when I dequeue element from Q1 it waits for 10 sec and returns and then I dequeue element immediately. If situation is opposite then Q1 returns immediately but Q2 waits for 10 Sec.

However what I need that if Q1 or Q2 has data then there should not be any wait/

 

In Notifier palette there is a VI called "wait on notification from multiple" this VI accepts array of notifiers and return immediately if any of the notifier receives notification.

 

notifier pallet

 

Similar functionality will be highly useful in queues

 

Modified Queue Palette

 

 

Currently (up through LV2010) the only run-time menu (RTM) available for a tab control is for the entire tab control, not for the individual pages (tabs). The right-click context menu (Description and Tip, Help, etc.) for each page only works at design time, not at run time. This is true of both the default or a custom RTM.

 

Why is it called a "run-time menu" if it doesn't work at run time? I consider this a bug, but it probably is just an oversight in the design. (I suppose that technically this is not a "bug" because I cannot find this feature, an RTM for each tab or page, documented.)

 

Anyone else think this a useful product improvement?

 

Ed S.

Be able to replace Enum with Ring and vice versa (as far as the data type is same). The feature to be similar to "Replace with..." feature that is available for While loop and For loop when right click the loop border.