LabVIEW Idea Exchange

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

Currently, the "equal to 0" and "not equal to 0" VIs provide a clean way to check whether a number (or array of numbers) is 0, but I often find myself wanting the same thing for other data types.  This VI should adapt to other types which have an obvious "nothing" value, such as:

 

1.png

String - ""

Path - <not a path>

Boolean - false

Refnum - <not a reference>

etc...

I have built this simple VI below to read a string from a text file and then convert it into boolean array. I suggest to have a VI that reads the content of a file as boolean array. This functionality would be beneficial for people who have to deal with for example large arrays of sensors. You think of a special addressing pattern, you write it in a text file and you could read it in with one simple VI and then you can transfer the read boolean array directly to the digital output of your device.

Often I have to open quickly a project see how things are done and close it. Sometimes due to different LabVIEW versions or small changes, it ask to save the project. It first takes time to search for which files have been changed and proposes to save them, which is often not wanted.

 

I regurarly use the shortcut ctrl + w to close the project, but it would be nice to close the project without saving the files. And thus save much time.

Other proposals only relate to close a VI without saving or the Do Not Save Option, but are too limited to single files and the revert option already functions well.

 

Suggestion

- use ctrl + shift + w or ctrl + alt + w to close a project without asking for saving and discard changes in project and VIs in the project immediately.

I would like to see an external input to the Sample Compression Express VI to allow a new "reduction factor" On-the-fly. If it's there I can't find it and I was surprised to see no earlier requests in my search. And/Or I would like the data bursts from the DAQ assistant express vi to (optionally) automatically compress the data to 1 point per acquisition group.

Many modules aren't compatible with Labview 2010 64 bit, but there is no warning of that before installing Labview 2010 64 bit. So the user goes through hour(s) to install the software, only to realize it won't work when he/she installs a module (Real Time Module for example), and then has to uninstall and reinstall the 32 bit version. If it isn't compatible, let people know so they don't waste hours!

Drag and Drop for the tree control is missing the ability to detect if a source is being dropped on a target as a child or as a sibling.

 

Thus if the built in drag and drop functionality is overridden there is no way to know if the user is trying to insert the source node in-between the target node & its sibling (if there is one), or if the user is trying to make the source node a child of the target node.

 

One Suggestion is to add a terminal in the event structure that tells you if the user is trying to insert the node or trying to drop the node as child of the target.

 

Adding this functionality to the Drop Over, Drop, and possibly Drag Ended events would be helpful as I currently have to burry this functionality in a right click menu.

Hello,

 

it would be nice to have an option to choose which features should the "suite" of IMAQ Setup Learn Geometric Pattern + IMAQ Learn Geometric Pattern + IMAQ Get Geometric Template Features return. Currently it is returning all of the features, which needs more time.

 

(please compare with IMAQ Extract Curves + IMAQ Get Geometric Features from Curves which has this option and is much faster (among other differences).

 

[actually a customer's idea]

 

Thanks!

Zenon

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? 

 

I have an application that tests three products at a time.  When a product is put on test, the user enters the serial number of the product, which pulls up the Excel datasheet for that product serial number. 

The datasheet always comes up in the last saved location within the Excel window. I would like to control if this file appeared on the left side (where it currently is), center position, or right positon.  Please see the attached screen shot. 

It would be nice to force the datasheet to open in a certain location in the window. 

I need to know how to display a series of words one at a time in labview. I need to be able to do this by having a button a person can push for the next word to appear on the screen. The only thing I want visible on the front panel is the button to be pushed and the word being presented. Any help would be appreciated.

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

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