LabVIEW Idea Exchange

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

In Diagram Disable Structure, if there is an option provides "Selector Terminal" that could help to control programmatically. This could be optional selection in RCM (Right Context Menu).

 

Connecting Enable/Disable as Constant/Control to Case Structure would not do all purpose as the functionally of Diagram Disable Structure Enable/Disable individual does.

 

Diagram Disable Structure have unique behaviour if this Selector Terminal is given as optional that will add even more vale to the same.

 

As programmer myself felt that why do this be controllable, because while developing big codes we use to much of diagram disable structure , when we are suppose to change to Enable or Disable, I has to search for around my code. If this has controllable option that help to do my work even more efficient specially while testing code. 

yrfj.png

 

I am submitting this request based on a recent suggestion from a customer.

 

After doing a peak detect, the customer wants to find full width at half maximum(FWHM) of those peaks. 

 

However, in order to calculate FWHM, information of quadratic fit used to find the peaks is needed. However, we cannot get the equation from Peak Detector.vi. This means, the user needs to do an additional quadratic fit, and then calcualte FWHM after that.

 

It would be very nice if we can get FWHM from the Peak Detector.vi.

The Report Generation Toolkit provides functions to set various Format aspects of Excel "areas", and Excel Graphs, but doesn't provide the complementary "Get" functions to return the current values.  For example, I wrote a LabVIEW function that will set the Font Color of a row of a WorkSheet to Red (using Excel Set Cell Font), but if I want to find the row with the Red font, there is no "Excel Get Cell Font" that can return the property to me.  Of course, I could cobble something together using ActiveX calls, perhaps, but these are poorly documented, and since NI is already doing the "heavy lifting" to provide the Set functions, it would seem "relatively simple" for them to also add the corresponding Get functions, as well.

 

Bob Schor  (using Excel as a "controller" for some experiments controlled by a LabVIEW Real-Time system)

We have cloud computing, virtual Machines, CPU virtualization etc. - There are numerous ways of achieving parallel and distributed computing, available at different architectural levels. The inherent parallel nature of the LabVIEW graphical programming means we can often achieve parallel computing without thinking.  

 

-But in cases where the programmer actually needs to make a decision we now have the Loop Iteration Parallelism option.
If an action is to repeated multiple times and the execution of each run takes longer than the overhead of communicating the input data, execution code and/or output data across to multiple targets, parallelization can reduce the total execution time, and/or reduce the load on each target. Now, in some cases the execution time can justify parallelization even across slow communication channels. 


What if we expanded the user-friendly loop iteration parallelization mechanism to also support remote processors?

 

  • On the targets we want to offer as execution hosts we will need to install a host service. This service might offer us the choice of offering all, or just a subset of the available cores.  Perhaps even decide this based on the current load on the target, or time of day(!). The targets can be of different platforms as long as the code is possible to recompile for it.

 

So how would this look like to the programmer? Well, we simply extend the for loop parallelization function dialog to something like this:

 

For Loop Iteration Parallelism Across Targets.png

 

  • The loops should also allow this setup to be changed at run-time. You could have a general VI to define the default targets and establish a link to them, and each for loop could have input terminals to specify the parallelism options to be used at the time of execution.

  • Another fun consequence of this functionality would be that you can really distribute *any* part of you code across multiple targets simply by wrapping it in a 1-iteration only loop.

 

With this functionality in place getting 10 machines to work on a heavy problem instead of just one would really be as simple as drawing a for loop...Smiley Very Happy

A few special functions are incorrectly named in the LabVIEW documentation.

- the incomplete gamma function VI returns the regularized lower incomplete gamma function (as is the case in LabWindows/CVI).

- the incomplete beta function VI returns the regularized incomplete beta function.

 

Suggestion: change the description (and name) of these VIs to reflect their common mathematical definition.

 

Valid at least until LabVIEW 2013 SP1.

I would like to have the ability to set the compare aggregates mode for comparisons involving containers (arrays certainly, clusters would be a nice bonus) and a scalar value.  This includes the comparisons to 0 functions as well.

 

compareAggregatesIdea.png

Can NI give LabVIEW developers an option to use a straight line for plot legend rather than zig-zag lines? See attached illustration. Will be great if the legend customization can also include separating the legend lines and expanding them so that plot labels can be relocated on-top of those legend color lines.

 

Anthony Lukindo

 

 

 

We really need the LabVIEW Statechart Module to run in LabVIEW 64-bit! Many of our projects are large vision projects requiring lots of processing and hence LabVIEW 64-bit.

 

Please make Statechart Module available in LabVIEW 64-bit!

The "Std Deviation and Variance.vi" of the Probability & Statistics" Palette:

 

Screen Shot 2014-12-30 at 12.06.14.png

 

does exactly what the description says.

Wait!

What is that "Weighting (Sample)" input THAT IS NOT A REQUIRED INPUT? And more importantly, what is its Default Value "Sample" doing?

Let's take a look at the doc:

 

It computes variance = 1/W*sum((X_i-mean)^2) where the X_i are the array elements (total number N) and mean is their average and:

 

W = N when weighting = Population

W = N - 1 when weighting = Sample (the default).

 

I am not a statistician, but I would be surprised if many in the engineering and scientific fields are using the second definition.

If you have a large sample, the difference is minimal.

In the other cases, all bets are off.

In particular try N = 1.

 

There is a very verbose mention of it in the new source of all knoweldge, wikipedia, at the end of the article, but it has been proposed to move it to some more specialized article. In other words, nobody cares, unless they are statisticians. In this case, they'll use anything but LabVIEW to analyze data.

 

So either set the default value to "Population" OR make the input required AND the doc much clearer about the consequences of the weighting choice.

 

I recently found out that LabVIEW uses the Wichmann-Hill (1984) random number generator.

http://digital.ni.com/public.nsf/allkb/9D0878A2A596A3DE86256C29007A6B4A

 

...which in some fields is completely unacceptable for not being random enough (cycle length of 6.9536e12?)

A much better (and arguably a much more currently standard one) would be Mersenne Twister (cycle length of 2e199371).

http://www.mathworks.com/help/matlab/ref/randstream.list.html

It is always great practice to make your code as readable and scalable as possible, along with good documentation.  One of the things that get overlooked the most, without even realizing, is having coerced inputs to your functions or VI's.  When you have finished developing a program, it goes through a great deal of review to validate all its functionalities.  Coerced inputs can be one of those issues that can come back to haunt you down the road.  I think having an icon on the toolbar and/or a shortcut keystroke to populate a list of all VI's containing coerced inputs would be a great help with identifying all the necessary functions that need to be examined.

Hi Friends,

 

When I try to have the wire lable for every wires that I used in block diagram, every time I need to use >....> . Why can we have a default symbol with the control lable included when we insert an label into wire.

 

Regards,

 

Ganesha Moorthy A

Hiiiiiiiiiii......

 

I am not sure whether anyone had posted this requirement before, but I would like to have a Zoom In- Zoom Out functionality in LabVIEW.

 

Some times when code becomes too crowded its difficult to analyse which wire is going where.

Hello LabVIEW Users,

 

While working with a complex configuration application, I found myself heavily utilizing in place operations. Throughout the process of contstructing the code, I found myself commonly having to create an In Place Indexing structure (pictured below). I thought it would be really nice if you could mark an auto-indexed array for in place operation. As always, I am open to suggestions, but thought this might be a nice creature feature:

 

Capture.png

 

Cheers, and happy coding. 

This function already handles alpha characters such as the plus and minus signs, "e", "E" and the localized decimal point. It should also be able to handle the "thousands" separator (in the US, the comma).

 

Currently, if the string is "2,000,000" it returns simply "2". Ouch!

If you have open the Bookmark Manager and
you change one bookmark, the Manager gets an "Bookmark Info Change" event and reloads all bookmarks from all
VIs in the project. The event that triggers the update is the
application event "Bookmark Info Change". At this event there is no
info in which vis a bookmark has changed. If the event would provide the info which VIs have changed,
the Bookmark Manager would be able to reload only the bookmarks from this particular vis.
On larger projects the Bookmark Manager needs minutes (Time and CPU
load) to update the whole list. The additional event data node can be an array of vi names or references.

 

This changes will fixed also the EventQ Problem of the Bookmark Manager. If the Bookmark Manager is open and you change several Bookmarks the manager reloads all VIs for x times because everey change generates a "Bookmakrs Info Change" Event.

Current situation:

The probe-window shows a list of all current probes on its left side (including value string and timestamp) and the detailed value of the selected probe on its right side. The selection of “the probe of interest” must be done manually which is not very comfortable.

 

Suggestion (numbers refers to the image below):

1. Add an indicator which highlights the latest, updated probe.
Additionally I suggest to show a number (maybe instead of the timestamp) whereby “1” stands for the newest probe value.

2. Add a "lock" button to the toolbar of the probe window. If "lock" is set, the probe selection automatically changes to the latest updated probe.

3. Add a checkbox in front of each probe entry. If "lock" is set, the checkboxes become enabled and checked by default. Unchecking one means this probe will ignored for auto-selection function.

 

new probe window

It would be nice if we could write more information to the channels saved in a UFF file. Some information that is read in from a TDMS file is lost when using the VIs to write out a UFF file (universal format, ascii or binary).

Right now in labVIEW the plots can be exported into excel and can be saved into different  image formats (*.png,*.jpeg,*.eps,etc,.). In addition to the other properties it would really a very cool and excellent option to save the plot data as a LabVIEW figure with an extension "vifig" (*.vifig). The idea here is when the  plot is saved as LabVIEW figure the tester with the help of an interactive tool or some thing like this reload the *.vifig to view, change the graphic object properties , maipulate legend, xaxis label, yaxis label so on... and finally save.

 

Let's assume a situation where the user wants to analyse the data (zoom in, zoom out, find delay etc.,) and change few properties the the data who doesn't know LabVIEW and he needs to use another programs like origin, excel etc. This could be done very easily witht he help of an interactive tool. Unlike LabVIEW, the softwares like MATLAB, Origin has such a pretty useful option. 

 

Thank you.

There are some cool methods to load VIs programatically and also to load classes programatically. There is however no way to unload a plug-in class from memory.

 

This should be a VI available in LabVIEW to do this kind of operation programatically. It can look like this:

 

Usage.png

 

 

Documentation.png

 

Adding this method to LabVIEW would be a big benefit for large architectures, I think.