LabVIEW Idea Exchange

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

Currently LabVIEW Timestamps truncate values rather than round them when using the %u format code.  The numeric format codes all round values (0.499999 formatted with %.2g is 0.50).  I would like an alternative to the %u code that does the same.

 

See https://forums.ni.com/t5/LabVIEW/Timestamp-Formatting-Truncates-Instead-of-Rounds/m-p/3782011 for additional discussion.

 

 

 

My use case here was generating event logs.  I was logging the timestamp when parameters started/stopped failing.  To save space, I stored a set of data identical to the compressed digital waveform data type.

 

I had a couple parameters which would alternate failing (one would fail, then the other would start failing as the first stopped failing).  As they had different T0 values, the floating point math for applying an offset multiplied by a dT to each T0 gave values that would truncate to 46.872 and the other truncated to 46.873, leading to a strange ordering of events in the log file (both would appear to be failing/not failing for a brief time).

 

To make the timestamps match, I made the attached vi (saved in LabVIEW 2015) to do my own rounding (based off the feedback in the linked forum post).

I need to adjust the sampling rate of a Waveform, TSA Resampling VI accomplishes this task but it does not keep t0 value since it creates a new waveform instead of adjusting the original one.

I think an additional feature should be added to keep the reference of the original waveform, or specify in the documentation that you will have to modify the VI in order to keep t0.

 

TSA.png

 

 

 

Hello All, I find myself often writing duplicate code just to be able to filter out the objects I want to work with from a collection that has many.

 

Examples of that can be:

- sending message objects in queue,

- working with multi object type arrays,

- parsing large objects composed of smaller ones,

- and many more...

 

The duplicated code is almost always the same. It's trying to cast to more specific or more generic, catching the error in case structure and invoking the method im interested in. Being able to perform casting as a part of the teminal would solve the problem with no extra code on the diagram. In the background, the compiler can treat this the same way as cast+case but we wouldn't have to worry about that.

 

The option could be enabled whenever you try to wire an object in the same hierarchy that does not have that specific method you need, but it's on a different level in the hierarchy.

 

ClassIdea.png

 

Please let me know what you think.

 

In the "R" language, Hadley Wickham is a superstar.  (personal, git)

 

One of his packages is "lubridate".  It has a stack of very useful time/date handling utilities.  They are most useful for "speaking human" or in average-person-facing user interfaces.

 

You should look at the utility here.  Things like elapsed time in days, or holiday handling built-in.  That might be useful to have in a clean and native package.

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

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.

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.

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.

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

Please add the number of characters processed to be used as a failure indicator.  This function transforms "1.1.1" into 1.1 and there is no way to tell whether anything was lost.

I considering the use of Digital Image Correlation (DIC) in our rock properties testing laboratory. We use LabVIEW quite extensively in our lab. I found an earlier thread saying it was not currently available in LabVIEW but to bring it up @ NI Idea Exchange.

 

http://forums.ni.com/t5/Machine-Vision/digital-image-correlation-vi/m-p/2477642

 

However, it seems nothing was brought forward. Is this something that might get further attention or have I missed some more recent developments? The links below have piqued my curiosity.

 

http://trilion.com/products-services/digital-image-correlation/

 

http://www.lavision.de/en/products/strainmaster-dic.php

 

It would be great to have the option to get decimated (and/or interpolated) data from Citadel, up to a specified maximum # points over a time interval, with these conditions:

1)  Buffer only the decimated/interpolated data, instead of reading all the raw data and then decimating. The goal is to retrieve data from a large time period without filling up memory!!  (That's why this is best done down in the Citadel code, not up in LabVIEW.)

2)  Use the same kind of smart decimation that the LV graph uses (maybe borrow that code). For example, if you display 100,000 values on an XY graph, and they are all =10 except ONE single value=100, the graph will show that spike no matter how small the graph is, i.e. no matter how much it has to decimate the data to fit it into relatively few pixels. It would be important to keep minmax, and NaN (break) values.

 

Being in line with the expansion of LabVIEW and its products worldwide where ever we have more users, it is necessary to enable a space dedicated to present ideas for other supported languages.

 

labview idea.png

Timed structures require a priority for scheduling. Default priority level is 100 for each structure.

If that priority is not changed (one dedicated priority level per structure) it could lead to unexpected behavior like hangs.

 

Therefore i propose a new test for the VI Analyzer which tests for unique (static) priority levels in timed structures. If there are priority levels shared among several structures, the test shall fail.

The test shall also work within a whole project, so it shall not only check this within single VIs.

 

Norbert

Hi this is the first time a summit an idea, if there is anything else I would need to add to make the idea clearer I am open to suggestions. My idea is:

 

In the LabVIEW Core 1 - The Software Development Method it is mentioned among the design steps is the use of a flowchart and a state transition diagram. I believe it would be a great idea for the the LabVIEW project file (*.lvpj) to have a special type of file where we can create said charts or diagrams and develop them in an special environment all inside the LabVIEW IDE

Currently the Labview Database Tool Kit doesn't support returning or working with temp tables in a stored procedure.  This makes a SQL/Labview developer have to make complete hacks (such as returning tables in comma delimited form) to return results that take multiple table manipulations to generate.

 

See this thread for an example:

 

http://forums.ni.com/t5/LabVIEW/SQL-Query-Works-in-MS-SQL-Server-2008-but-not-when-using/m-p/2151492

 

Hi all,

 

Tried looking for this suggestion but could not find it so I'll bring it up:

 

Automatic Precisional Rounding of  Write to Fractional String and/or Decimal according to input's bit-precision.   Determines formatting string of and/or converts to string with the level of significant figures or precision inherent to the number and bit-precision of its input, all done automatically.    Example:   A single precision numeric, after arithmetic operation, expects a value of 0.52, but due to precision is representatively stored as 0.51999998903.  When you wire this value into the Write to String but select  "automatic" on the precision terminal, it truncates to the maximal precision theoretically (0.520000).

 

suggestion.png

Hi !

 

I haven't seen a post in this section about the colors of a cluster.

 

I think it could be usefull to allow people to make custom colors and custom wires for their cluster, as it is possible with a lvclass.

 

Here is an example of the actual clusters : you got a pink wire if you cluster contains chars, but you gor the same color if there is only boolean commands or constants. that is not logical.

 

ClusterColors.PNG

Could it be possible to do the same asan lvclass ?

In the porperty window of a lvclass we can modify the color and the shape of the wire, which is very usefull to quickly find the one we are looking for.

 

Here is a screenshot with this window :

 

customcolors.png

 

sorry for the french LabVIEW ! Smiley Very Happy

 

Thanks for considering this idea,

 

Regards

 

I don't know much about the AVI format, so I am unsure if this is even possible.  But I would love to have the following additional functions in NI Vision's AVI aubVIs:

 

 

  • Delete AVI frame
  • Insert AVI frame

We have the VI reporting Palette and it works very nicely for putting together documentation about VIs that we are using.

But what happens if we want to make a report that details ALL of the files in a project? We have to take a very convoluted route to get the list of files (Project>File information only lists the NI filetypes used in the project and not *.doc;*.jpg etc - these may be neccassary for the project when deployed)

It is possible to programmatically create this list using Property nodes, etc and create the list of dependencies if you start getting fancy.

 

But try documenting how a build specification was setup so someone else can ensure they do exaclty the same in 6 months time if the project file has been changed or corrupted...

The XML tags in the lvproj file change all the time and there is no documentation on these

 

From NI tech support:

"We do not have any documentation (internal OR external) that provides the information about all the XML tags; it simply doesn't exist.  R&D would certainly like this information to be available, and they suggested you post this idea at the Idea Exchange.  If this idea gets enough customer interaction, then we would definitely consider developing this in a future version of LabVIEW."

 

http://lavag.org/topic/11673-programmatically-build-new-project-problem/page__p__70683#entry70683

 

 

In short:

Documenting the Build specifications, the list of Project files and the list of dependencies with the Reporting palette would be a massive feature. to have to run on any project and would allow the ability to create build reports containing lists of VIs and their revision numbers for each release.

(Very important for some of my clients)

 

Just documentation on the XML tags would allow us to do more stuff like this:

http://forums.ni.com/t5/LabVIEW/How-can-I-set-a-build-specificaiton-s-target-filename-and/m-p/1812480#M623328