LabVIEW Idea Exchange

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

If you develop an application using functionality from the OPC UA Toolkit on a machine with a developer license covering the OPC UA toolkit you cannot run the built application to test if it works without having to buy a deployment license for that machine. 

 

Having a developer licens on a machine should allow us to run built applications as well the same machine to verify the functionality after build (alternatively the developer seat should always be accompanied by a deployment license).

The last decade has seen a fantastic development in using neuronal networks to analyze data. Neuronal networks allow doing nowadays feasts that were unimaginable a decade ago at a tremendous speed. The latest release of LabVIEW allows using old TensorFlow versions <= 1.14. About four years ago, TensorFlow switched to TensorFlow 2.0, which resulted in a significant transformation in how models are organized. Models developed in TensorFlow <2.0 are incompatible with current standards. If National Instruments aims to maintain its position in the market of computer vision, developing tools to use current TensorFlow versions is a MUST.

 

Clusters allow you access to the decorations inside the cluster but you can also drop decorations on a custom .ctl file too but there is not way to programmatically access them.

acaracciolo_0-1691284677389.png

 

This happens to me quite often.

 

In scenarios such as replace "Equal?" to "Equal to 0?" the quickdrop should be able to avoid comparing with a constant, or prevent getting broken wires such as this:

JimChretz_0-1686144056731.png

I have a large base of compiled executables. One computer is encountering a "not enough memory to complete this operation" error. I'd like to drop a debug version of the executable on their computer and see if I can monitor which VI is using all the memory similar to DETT's remote monitor abilities.

 

New profile tool2.png

I often work with DVRs, usually using typdefs or classes for the underlying data.

 

It's a serious pain to access the typdef or class from the DVR itself (control, indicator, or wire).  There's no option for accessing this through the menu, and I often find myself dropping code in my block diagram to output the data type, then right-clicking on the data type and then from that menu opening the typdef or class.

 

The request: add a menu option for "Open Data Type Def." or "Show Data Class Library" to directly access the underlying type if it's a type def or class. This menu option could be exposed on wires, controls, and indicators.

_carl_1-1673552680629.png

 

 

 

Currently, to allow a user to select a relative path within a Path control, you must either:

 

1. Easy (but glitchy) method:

 - Catch the value change event on the Path control;

 - Compare the NewVal with your base path with "Compare Two Paths.vi";

 - In case the path is relative to your base path, rewrite the relative path to the control using a local variable;

 -> This results in a visual glitch because the value is updated twice.

 

2. Recommended (but complicated and not very clean) method:

 - Take a first Path control, move the "path box" out of view, but keep its browse button visible;

 - Put a secondary Path control next to it, with its own browse button invisible;

 - Similar to method 1: catch event on first path, update secondary path;

-> No visual glitch, but difficult to adapt to paths inside arrays, clusters and combinations of both.

For both methods, additional logic may be needed in case the user is typing in the path box directly.

 

 

So the idea would be to add a "Base Path" property to the Path control, so that when the user clicks the browse button and selects a path that is relative to that base path, the control would get the relative path value instead of the absolute one.

In case the selected path is not relative to that base path, the control would still have the normal behaviour and get the absolute path value.

 

By default, this property would be set to "Not A Path" (or empty path) to keep the current behaviour.

 

Also, it would be the developer's duty to correctly treat relative path values and inform the user to what base path it is relative to.

I think LabVIEW should have something like the dialog VIs that acts as a popup where the vi displays a message to the user but doesn't hang up code and wait on the user to press a button.

 

An example case is a state machine that has error checking built in errors out.  Instead of creating a more complex error handling scheme to display the state machine errored out and heres why then shutdown the state machine, you could instead drop this async popup in the state with the message to display the error occurred then have the state machine shutdown like normal.  This way, the user knows "the state machine shutdown for X reason" while the state machine also goes into a safe state.  

 

I think the async popup is easier to trace since the error message is located in that section that detected the error vs having some sort of store an error string then in the shut down case read if there is an error and if so display the error once the station is already shutdown.  Additionally, you cold see where all asnyc message blocks are via dropping one in your code then right clicking and searching for all instances.  This could streamline the process to see where the fault occurred since the async message block would be in the location of the fault itself.

 

I have currently built something like this that is a reentrant VI whose input is a string and a secondary VI that launches the display message VI.  It's a bit of a work around, but I can display a message to the user while my code continues to do whatever it needs to.  

This might be a bug report; it depends on whether todays behavior is intended or not(?).

Anyway: if you have properly defined the destination of a file in your application build e.g. on Source File Settings, but then later learn that the file was not actually on the list of source files - adding it to source files will automatically change the destination(!). I suggest it should check whether the user has already defined a valid destination for it and if so keep it.

 

Here is a demo of the issue:

Like some other ideas here and here, I find the connector pane right-click context menu to be a burden. I would like to see some of the menu items moved or rearranged.

 

For example, I’ve been using LabVIEW a few years, but the first time I tried many of the shortcut menu items was today. If I were looking for them, I would probably expect to look under "Patterns".

Picture1.png

Additionally, if I click a little to the right, three more of the menu options are already available in a much shorter context menu, so I don't feel like they are needed from the connector pane. (Personally, I rarely perform these actions through the icon, anyway, but I’m sure some people do.)

Picture2.png

 

I propose removing the top few items and putting the others in the patterns sub-menu.

Something like this:

Picture3.png

Picture4.png

Or, if combining the text and patterns creates a UI programming issue, I think it would be acceptable to leave "Patterns" and add a new sub-menu:

Picture5.png

Picture6.png

 

Thank you for considering this idea!

-joeorbob

It's great that the native "Random Number (Range)" VI was added to LabVIEW relatively recently (LabVIEW 2020 I believe).

Currently the VI has instances only for U64, I64 and DBL, as seen below.
1.png

 

It would be great if it had instances for all integer types, especially for I32 which is probably the most common integer type. I am aware that we can easily convert from U64, I64 and DBL to any desired integer type, but it would be nice to remove the need to convert the output.

Thanks

Currently the only way to set/modify Tcp socket options is by directly calling some system library, as done for example in this post.

 

This not only causes code difficult to understand ("what does that library call do again?") but also poses problems when you want to use your code on different operating systems: Currently the only way to do this is using "conditional disable structures", and then Labview still tries to load the code used for a different operating system...

 

Labview should have a standard way to set socket options within Labview code, at least for the most important options (Nagle algorithm leaps to mind...). This could either be done as additional inputs to the "Tcp open connection"-VI, or (much better) using property nodes for Tcp connections.

 

It would be a great add-on if the graphs have got in-built measurement features/properties/methods like an oscilloscope;

 

AdarshaPakala_0-1627657945371.png

 

  1. Trigger
  2. Basic arithmetic function like Ch1-Ch2, Ch1/Ch4, etc.
  3. Event trigger based on plot value change. Example an event will be generated if Ch1 value is greater than a set value, an event will be generated if Ch2 value is greater than Ch4 value
  4. In built average plots. Example add plots like 10SMA(Ch3), 30EMA(Ch1) etc.
  5. Threshold based graph visual property change. Example configurable out-of-threshold or in-threshold plot color change.

 

 

Advantages;

  • Save time in development.
  • Integrated code will be efficient as no data unbuild/build/pass overheads.
  • Block diagram would be neat and easily readable.
  • Lightweight code.

 

Thank You

Adarsh

LabVIEW from 2006

CLA from 2014

The Matlab data plug-in supports version 7.0 files.

https://www.ni.com/example/29178/en/

 

The newest files are 7.3:

https://www.mathworks.com/help/matlab/import_export/mat-file-versions.html

 

Projects are beginning to require this newer format.

 

When creating a new Source Distribution to run on an RT system.  It makes no sense that the "Exclude vi.lib VIs" option is checked by default.  The VI will not run and cannot be launched asynchronously which is the whole point of a source distribution on an RT system.

 

The "New Source Distribution" wizard that creates it with default properties should look at the context it is being created and pick appropriate options.  This is supposed to be a smart IDE.

When I'm explicitly defining an empty string as the value of an output tunnel, I prefer the empty string constant for instant readability.

It would be useful to be able to create one from the context menu instead of using quick drop or the palette.

 

If you vote for or like my idea, please vote for Jim Kring's idea first, because the implementation of his idea would eliminate the need for this one. (Yes, shameless plug on my part)

 

CreateEmptyStringConstant.png

I would be easier if Save all the logs to file option is provided. 

Proposed Event Inspector WindowProposed Event Inspector Window

Actual Event Inspector WindowActual Event Inspector Window

 

  

Please address the problems/shortcomings when setting file security permissions in Windows File I/O. The current Get Permissions and Set Permissions File I/O vis do not work.

 

Currently when LabVIEW creates a file it assigns the default security permissions, which are inherited from the parent directory. This is a pain as the current user is allowed, in general, read and write access, but other users are potentially only granted read access. For example, creating files in the public application data directory (as the sample projects demonstrate for storing settings) means that only the user who first created the settings file can update its contents, whilst other users will get a file permission error.

 

At minimum, I would like to be able to specify what kind of access other users should have when creating a file. Better still, I would like to be able to get and set security info. Currently I am forced to call functions in advapi32.dll to set acceptable permissions (e.g. GetNamedSecurityInfoA).

 

I am not the first person to encounter this limitation (see, for example, https://devs.wiresmithtech.com/blog/config-files-in-labview-locations/).

Related to Darren's (implemented in 2014) idea here, Include LabVIEW Version Number in Application Icon, I'd like to ask if the number could be a bit bigger, perhaps as an alternative icon found in the LabVIEW.exe.

 

If I browse for possible icons (without providing my own file), I see these options:

cbutcher_0-1598416462839.png

The first (default) icon is great, but on a 4k monitor without DPI scaling, it can be a bit tricky to read on the taskbar (that 19 is pretty small).

 

Could an alternative icon (not the default) be provided with a larger number, taking up more of the total space?

To select one item in a long lists of items in a ring or enum control I would like to have the option to arrange the items in the edit item box  within groups like it is possible in the menue.

 

This would greatly help the user to browse long lists .. 

 

I know within LV2020 some search functionality is possible, but a way to cluster/group item list in sub lists wether like the menue with an extra list or expandable  is a different thing.