LabVIEW Idea Exchange

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

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,

 

I believe that an express VI that implements a Karmaugh map to solve a boolean equation would be good.

 

The VI should receive the input, request the output(s) name(s) and provide to the user "truth table" the define the boolean equation.

 

At the end, the VI should provide boolean gate array that fulfill the table.

 

Ref. http://en.wikipedia.org/wiki/Karnaugh_map

 

This would help us to implement complex logics with simple boolean algebra expressions.

 

Cheers.

Hi,

 

Some times a test must check an output that doesn't have a precise value and this output is expressed as a value +/- a band.

 

The current "In range" implementation requires that we provide the max and min value and indicates if the value was coerced or not.

 

I believe that we could have an LabVIEW primitive that works likes it but just check the value against a reference with a safe band expressed in absolute value or percentage.

 

The code would be something like this:

 

In range.PNGCheers.

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 

It would be nice to be able to Remove Bad Sires from a specific region and not the whole application.
E.g. if a selection is made it should only delete bad wires within that scope.
Or if I right click on a structure, it will give me an option to remove all bad wires in its diagrams and all sub structures diagrams.

When you try to align element on the front panel the grid is not always enough (especially if you want to align with a picture). Same thing when designing custom controls. A zoom will allow a better alignment.

It would be nice if the programmer could rearrange the variable names in the unbundle by name by dragging and dropping the variable names in the order you won't when your assigning the values from the block diagram. This should not affect the actual cluster order. I hope this makes sense.

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.

 

the decorations in the front panel have properties, these properties you can to modify in execution time, but the order off these decorations is created automaticaly, and the newer decoration object, it's the first, and other existing decorations your order number is changed automaticaly.
Proposed solutions 
- the automatic order number should be generated, in the same order to are created the decorations, in the same way of controls
- create a new function to modifying the order number, the same way to modify the tab order of the controls.

 

 

When implementing a multiplexer the obvious solution is to use build array and then index array.

 

current.PNG

 

Proposed Alternative. Add an index to build array. If it is wired you get the selected element. If it is not wired it behaves as normal and you get the built array.

proposed.PNG

 

Or maybe there is a right click option for build array to change to the "multiplexer" style.

On the Block Diagram page of the Options dialog box, please change the default value for Place front panel terminals as icon to false(unchecked). Similar to previous idea.

 

Hi all,

 

Sometimes, I use the index array node for getting elements 0-8 from an array, for example.  If I need to use the 6th elements from the output of the index array multiple of time during coding, I find myself counting every time to make sure that I am using the 7th element.  It will be nice if there is a very small number on the index array node to indicate which output is which element of the array.  I think it will be clearer.

 

Yik

Hi,

 

it would be a great idea to choose an option to put a LV icon on the taskbar when LV is minimized (when running a program), also try to eliminate the 2 windows when open an running a "vi", with one is too enought ...

 

Thanks !!!

I have an application where it would be nice to change the data displayed by clicking on the y-axis or x-axis labels themselves as oppose to a separate enum type, button or switch residing outside the graph.

 

For example:

 

If I want to look at Voltage or Current vs frequency or time currently you could use enum types outside the graph. It would be handy to  select the y-axis label in real-time (during or prior to runtime) and change the data displayed. If you click on the y-axis label you can have enum type drop-down that is read horizontally and when you select the unit you want the label would be displayed vertically or make it custom depending on what the user prefers.

 

The same thing can be done for the x-axis. So in one graph I can click and select the x-axis label and select Time and selelct Current for the y-axis and depending how I set my program see the data displayed as it should be in real time in one clean graph. No side buttons or switches.

 

Would anyone else like to see this feature? Thanks.

I propose a property node to tell if a control was wired when This VI was called as a subVI.

 

Wired.png

 

Sometimes it is practical to be able to distinguish if the value in a control was wired to it (data arrived via dataflow), or if the control was unwired and the value hence the control's default value. Even comparison with the known default value of the control isn't enough, as the program logic may depend on the value source.

 

Consider an FG that stores two data elements:

 

FG.png

 

You'll have to have two Set functions for this, one for Data 1 ("Set data 1"), and one for Data 2 ("Set data 2"). If you have only one Set function, you add the constraint that both data sets have to be present (wired) every time you set any of the two data sets, or else the unwired set will get overwritten in the FG with the default value of the unwired control. If the FG could decide programmatically if the value was wired to the control, or if it was merely the default value of the unwired control, it could decide whether to overwrite its stored copy or not. The data values could be the same in the two cases, but the actions very different. This is just a simple example, but I have many much more complex cases, that would get much simpler if I could tell where the control value came from. In the above example you could even dispose of the Function input alltogether, if I could tell if any data inputs were wired.

 

A polymorphic VI will remedy some of these issues, but not all, and in other cases a polymorphic VI is a drastic solution to a simple problem. It's also not an issue in a Top-level VI, as such run only once (only subVIs get called again and again, while depending on prior runs).

A new feature that would act similarly to the "Automatically close VISA sessions" option and close all open file references once the top level VI has stopped running.

 

This new function would preclude the situation where LabVIEW locks, and keeps a file locked until the entire development environment is closed.

(I would even be happy with a menu option to explicitly close all open file references.)

 

The primary use case would be during development/debugging. If you stop or abort your top level VI without closing a file reference, LabVIEW will hang on to the reference keeping it open, but inacessable, until the dev environment is shut down.

 

It seems that if there is not an open reference to the file on the block diagram or the top level VI has stopped running, and certainly when all open VIs are closed, then all files should be closed and locking handles should be released.

 

I suppose this concept could be expanded to cover any reference type that LabVIEW does not implicitly close when the top level vi goes idle.

LabVIEW should be able to update property like background color, and so on... for the whole table instead of changing active cell one-by-one.

It's coding difficulty, and very low speed.