LabVIEW Idea Exchange

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

I did a search for explain error - I did find this idea which is similar but for probes.

 

Explain Error is a feature I have been using more lately but its not available for an error that is in an array (LabVIEW 2010).

It would be great if it was!

 

Cheers

-JG

 

 

Explain Error In Error Array.png

Imagine you save a new VI and LabVIEW automatically creates a suitable icon based on various information, such as the VI name, library, class and documentation.

It would be nice to easily find objects that prevent a structure with "Auto Grow" from becoming smaller in size.  For example, the Add function in  the True case in the simplified example below.

 

NIExpert_0-1680056795428.png

 

 

Say I've got 4 U8s that I want to join into a U32 - right now, I have to build 2 of the U8s into a U16, then build the other U8s into a U16, then build the 2 U16s into a U32.  I'd like to see these primatives growable to each datatype width.

Add a module to LabVIEW to use it on Android OS or Apple iOS. 

 

People have already been getting smartphones for awhile.  And now in 2011, there are so many manufacturers that make tablets with Android OS or even Windows.  Apple iOS is considered to be the cool thing but Android OS is more open and used by more manufacturers (since only Apple for it's iOS).  Since the Andorid Tablet is so new, yes there are more Apple tablets out there than Android tablets but if it's like the smartphone market, Android OS will overtake the iOS market.  It's just a matter of time. 

 

I don't know whether one is easier to code than another, but if you had the time I think a module for both the Android OS and the Apple iOS would be extremely powerful.  Wouldn't it be great if we could run an instrument from our phones or tablets?!?! 

 

But I would just be careful to make sure the module was robust and not too many key features were missing from the full LabVIEW version.  In the past, we tried the PDA Module and Touch Panel Module for an instrument and it didn't work out.  The module was very buggy and missing a lot of features from LabVIEW that we though were important key ones.  We ended up abandoning the PDA module idea and went with an advantech touch panel computer with Windows XP and just kept writing with regular LabVIEW.

When programming in FPGA, all the timing functions are polymorphic, meaning you have to configure it for either ticks, us or ms. If your not carefull, this can sometimes lead to unwanted error due to simply overlooking a wrong configuration, as in the following example picture:

 

How are the timing functions configured?

 

I propose a simple indicator or different icon to easily see the difference. Something like this, only maybe better looking:

Proposed solution

V1.0 of TOML was recently released : https://github.com/toml-lang/toml/wiki

There is an MIT Licensed open source project here : https://github.com/erdosmiller/lv-toml

 

It's a nice starting point, but :

- it's not complete

- it's based of v0.4 of TOML

- it not maintained as stated here : https://lavag.org/topic/21972-anyone-using-toml-files/?do=findComment&comment=135193

- it's not native

I have seen some ideas relating to Replacing VIs, but I haven't found this exact one...

 

When I think of replacing, I think of the top use cases. One of the ideas I saw related to the class of a VI, that's a common use case. Other Ideas related to performing repeated replaces. That's another common one. And another common use case is replacing with a VI from the project that is not on the template.

 

My idea is to group all of the common use cases on the top-level flyout. IMO, Select a VI... should be the #1 item, then come the palettes and Class VIs (not pictured) and finally a list of the last N VIs that were selected for replacement.

 

I think that this would make a lot of our lives easier.

 

 

NOW:

Bad.jpg

 

BETTER:

Good.jpg

StringConstant1.png

As everybody knows there are two ways for generating an empty string constant in the block diagram: Using the "empty-string"-constant or creating a genereal string constant with no content.

 

Both ways have advantages and disadvantages:

- The "empty-string"-constant shows much better that the string is empty but it can't be used e.g. in arrays.

- The string-constant can always be used, it is easily generated by right-klick to a string terminal and selecting "create -> constant". Furthermore its value can be changed to somthing non-empty if required. Disadvantage: It's hard to see if the constant contains nothing or just a blank sign.

stringConstant2.png

 

My suggestion: LabVIEW shall show a string constant which contains an empty string always with the symbol that is currently used for the "empty string"-constant. This is also valid if the empty string is within an array or cluster. If this behaviour is not wanted in a particular case, there shall be the conext-menu-option "show symbol for empty string" which could be deactivated.

stringConstant3.png

 

For changing the value of such a new string constant, the symbol shall change to a classic string constant if the user moves the mouse (with selected text-editing-tool) over it.

Similar behaviour is also suggested for general-path- / empty-path-constants.

 

Remark: I'm working with LV2015SP1

We can right-click a string object and change the state (control, indicator, constant, array, element) by right-clicking. Unfortunately, the current behavior is (partially) inconsistent in the way the display format (normal, /-codes, pass, hex) is handled. Here are some results (list is incomplete), the symbol <> means in either direction.

 

Control<>indicator: The display format is retained

Array<>array constant: The display format is reset to "normal". *(Also see below)

Control|indicator<>constant: The display format is reset to "normal".

 

(*note that if I drop a string constant into an empty array container, the format and element size is retained. Converting to array using right-click should do the same!)

 

Whenever a conversion involves a diagram constant, the current display format is lost. I think it should be retained!

 

The title say it all.

 

The Build and Strip Path primitive should be able to operate on array of path and array of string.

 

Polymorphic Strip and Build Path.png

 

PJM

When a TLS Configuration Refnum is wired to "Not a Number/Path/Refnum" it always returns true, even though the TLS Configuration Refnum has been correctly created and is valid.

 

tls-refnum.png

The idea is for "Not a Number/Path/Refnum" to handle the TLS Configuration Refnum and return false when the refnum is valid.

 

The Problem:

When storing many builds of installers, currently there is no easy way to find out the version number of the exe that the installer installs.

 

In the past I had tried to work around this by programmatically setting 'Installer Product Version' to the same as the exe in my build script. Installer Product version can be found in the installer's nidist.id file under [Volume Id]>DistributionVersion, and the setup.ini file under [Distribution]>Version. This works nicely until you want the build number, or major/minor exceeds 255: 'Installer Product Version' is stored in the format major.minor.fix and the max values are 255.255.65535 i.e. u8.u8.u16. This is a limitation of MSI installers. See:

Version Information Page (Installer Properties Dialog Box) - LabVIEW 2018 Help - National Instruments
ProductVersion property - Win32 apps | Microsoft Docs

 

 

Executables have Version Numbers in the format major.minor.fix.build, with max values 65535,65535,65535,65535 i.e. u16.u16.u16.u16


I would expect the installer's setup.exe's File version (under Properties>Details) to be settable as major.minor.fix.build, but this is not the case. File Version seems the most appropriate as it is 4 digits and this is used in built exe's. I would like this to be settable via property nodes (in the same way as .exe's) as it does not have the u8 limitation and does not omit the build number. Currently property nodes do not affect it. If numbers larger than the u8/u16 limits are set via property nodes, they max out in nidist.id and setup.ini. Another acceptable workaround would be to include another key/value pair in nidist.id or setup.ini that allows u16 major.minor.fix.build to be set via property nodes.

 

 

Proposed Solution:

Property nodes affect the installer's Setup.exe version number under properties, with max values of u16.

leahmedwards_0-1644830421412.png

 

Or there is a new key/value pair in nidist.id or setup.ini that allows u16 major.minor.fix.build to be set via property nodes, in addition to the existing key/value pairs that have some u8 max values and omit build number.

 

Perhaps this will no longer be an issue if NI moves away from MSI installers...

How about this for a possible improvement.

 

It would be neat if there was a format painter button somewhere on the toolbar that acts like the format painter in a word processor, this format painter would copy all formatting information from one object (probably a FP control/indicator) to another.

 

Click on the first object, click on format painter and then click on the second item and viola! the formatting is copied over.

 

An example of this is setting the numeric format (which takes quite a few clicks to set the significant digits etc). I know its possible to edit properties of multiple similar objects, but this is a bit different.

 

Maybe this would work on the BD as well?

 

I think it would probably be possible to do this with JKI's Right Click Framework, looping over all the properties of and setting the destination the same as the target.

I wanted to use a property node in an application today. I happened to have the Help context up and it showed "Run-Time Engine: No". But I could easily have missed that and not discovered the issue until much later, after building a lot of code and wasting time.

 

If the node had an obvious indication as soon as you put it on the block diagram - for example, a different color - that would help a lot and potentially save a lot of headache.

LabVIEW contains a mechanism for storing custom metadata of any type inside of VI files as "tags" (e.g. the path of an Express Source VI's associated config dialog VI) but the methods for manipulating them are marked as private. I think this could be a useful thing to have as an officially-supported feature.

It would be great if Package builds also supported these two arguments as is supported by normal installers Advanced Page (Installer Properties Dialog Box) - NI

 

The value in this, is that you could then store your package feed in a directory that is relative to the package and automate installing the package and adding the feed to NIPM.

 

Currently, as per NI support, there is NO way to do that.

Want to have graph display a certain scale unless values go outside scale min or max and then do autoscale but only in direction which scale bounds were crossed.

Example:
Normally want graph to display X scale 0 to 10 to display to user:
Scale 0 to 10 look good.PNG
If set same graph to autoscale would get the following graph that user could interpret as values are swinging all over the place but this could just be noise and I do not want to display this format to user:
Autoscale Bad.PNG
So I want a solution that incorporates manual scale and autoscale by autoscaling only after scale limit is exceeded. Asume get a data point of 13 which is above the max scale range of 10, graph would do a single autoscale only in direction above 10 to change max to 13.
Desired Result.PNG
Would be Graph Scales property. Option disabled if Autoscale was selected.
Properties.png

I know can use property nodes to programatically do this in my program but it is much more involved having to constantly check to see if values have gone outside range and then issue a single Autoscale.

The LabVIEW forum has shown the constant need of a colorbox indicator that looks like an LED (round or square). Of course we can make our own, but maybe it would be easier if these would ship with LabVIEW.

 

 

Here are some example links. It comes up all the time! 😄

4 Color LED

Dimmer

labtris

I think this is about time that we can have more than 256 colors in our VI icons.

 

I would really like to have support for 24 bit images so this nice icon 24 bit icon example.png does no longer become this:

 256 color icon limitation.png

 

PJM