LabVIEW Idea Exchange

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

Hello,

 

now the percentile VI calculate a table with NaN-values as the NaN-values are numbers higher than +Inf. This is incorrect.

 

The percentile VI should propage to result NaN if one of the elements of the table is NaN.

(An other solution is not consider NaN values and return as result the value greater than p percent of the data values in the array, but it would create incoherences with all other VI which propage the "NaN value")

 

Here a screenshot of the a bad response of this VI.

percentile-vi.PNG

I'm currently trying to simulate figure two in the paper 'An Electronically Controllable Capacitance Multiplier with Temperature Compensation'.  Any assistance would be much appreciated!

 

 

LabVIEW currently has functions Format Date/Time String and Scan Value to convert between time stamps and strings.  Unfortunately, these functions do not handle arrays of time stamps and strings.  While this conversion can be handled using a For Loop, a specific function would be cleaner and probably faster.  This functionality is currently available for other numerics and should be extended to time stamps.

I suggest modifying the Format Date/Time String function to handle arrays of time stamps, integers and floating point numbers as well as single values.  An additional function Date/Time Sring to Time Stamp should be created to convert strings and array of strings to time stamps.

 

time conversion.jpg

NI updater kindly informed me that LabVIEW 2014 SP1 was released (even though I uninstalled it shortly after I tried it last year) and out of curiosity, I took a look at the known issues list.

I learned a few interesting things I did not know about, and also that some problems had been reported as long ago as version 7.1.1. This type of stuff looks like bugs that won't be fixed, ever.

For instance, CAR #48016 states that there is a type casting bug in the Formula Node. It was reported in version 8 and the suggested workaround it to use a MathScript Node instead of a Formula Node (where is the "Replace Formula Node by a MathScript Node" contextual menu item?).

Problem: the MathScript RT Module is required. Even in my Professional Development System, this is not included by default. Does this really count as a workaround?

I read: we don't have the resources to fix that bug, or we don't want to break code that expected that bug.

In any case, this bug with most likely never be fixed.

The bottom line is, we can waste a lot of time as users, rediscovering bugs that have been known for a while and will probably never be fixed. As a user, I would really appreciate a courteous warning from NI that there are known traps and have a complete description handily available with the help file related to the affected function.

 

My suggestion: add a list of known issues (with link to their description) for all objects, properties, functions. VIs, etc, in the corresponding entry in the Help File.

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.