LabVIEW Idea Exchange

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

As you can read in the link below the licence manager uses the MAC addresses of a computer to create computer ID used for the activation process.

The trouble is that when you use a NI PCIe 8235 (Quad-Port GigE Vision Frame Grabber) you are adding 4 Ethernet ports to you computer and any change to any of these ports (even a fix IP change of one of the ports) will change the computer ID and therefore you will need to re-activate all your NI products... As day to day users we simply cannot work that way.

 

The knowledge base article below explains that in such cases we can get the hard drive serial number, send it to NI and they'll give us a computer ID based on that HDD serial instead of the computer ID given by the licence manager and we can then use it for the activation process.

 

The point of this idea is to ask NI to improve the licence manager so we don't have to go through this issues, I think the licence manager should inform the user about what the computer ID is based on and tell him about the options (MAC address or HDD serial) and let him choose between the 2.

 

How Can I Change the Hardware Used for Activation of NI Software? 

 

PS :

and now that we're talking about improving that damn licence manager, you can refactor it to include other ideas such as :

Smartphone application to activate NI Software

Add a QR Code (2D Bar Code) Option To NI Product Activation Dialog

 

[admin edit]

I am copying the workaround posted by crossrulz in the comments to benefit users having these issues who find this idea:
"Here is a work around if you want to play around in the Windows registry:

In "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\National Instruments\License Manager" add a string value named "DiskOnly" and set it to "true".  The license manager will now only use the HDD serial number."

Create a Panel Open event.

 

PanelOpenEvent.png

 

Among other things, it would provide a clean entry point for guaranteeing Control References have been created, allowing for their dynamic event registration to prevent errors such as the following:

 

PanelOpenError.png

I cannot tell you how much time I spend changing the appearance, properties, connector pane, etc, etc. every time I "create a SubVI".  I try to always use the same connector pattern, error in and error out, error case structure on BD, and even a common icon appearance within a project.  It would save hours over the course of a project if I could set up a template that would be used BY DEFAULT for "create SubVI".  Also, allow me to set that template as the default for "New VI".  Save me the step of File - New - From Template - choose it.  If I go File - New VI, I want to see my default template.  Anyone who has used AutoCAD (2D) in the past will be familiar with this.  One could create a blank drawing and save it as 'acad.dwg' in the AutoCAD program directory and AutoCAD used this as the default drawing template.

At present we can select only a single VI on "RightClick>Select VI" option in Block diagram. It would be much helpful if we can select multiple VIs at the same time. Image for reference

 

 

MultipleSel-3.png

 

MultipleSel-1.png

 

Present MethodMultipleSel-2.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Proposed Method

Download All

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

 

 

 

It would be nice to have a right-click option to remove all unused inputs.  It could even work on broken wires!.

 

 

I find it always a hassle to create an asynchronous call with the need of the "Open VI Reference" block. A strict static VI reference should be sufficient. Options should be either available in the properties via context menu, via property node or as input of the "Start Asynchronous Call Node".

 

I didn't go through the effort to create a property menu example, but here is an a graphic showing the help example and what I would wish for:

 

Call Options Example.png

Clipboard01.png

 

I often get this dialog when a class is locked because a VI is still in use by some running process. It might be a reentrant process that for some reason didn't shut down as expected, but in a system with 3000 VIs and lots of asynchronous processes it can be very hard to guess what code is still running. And this dialog doesn't give much information. It would be great if this dialog could show exactly which VI (with full information of what reentrant copy of the VI it is) is still using the class/VI. Even better if you could click on the filename in the dialog to open the VI.

I think it is very difficult to make a UI that runs on Windows and interacts with targets. Here are two suggestions to improve this:

 

1. We currently can't have \c\ format style in a file path control on windows. It would be nice to allow user to specify the OS syntax to use instead of assuming it should always be the local sytax.

2. The icing on the cake would be to have the File Path Control support a property node for an IP Address so when the user clicks on the browse button, it automatically browses the target (this is already an idea mentioned in the link below) and uses the syntax of the target. This becomes especially useful as we start to have targets that may have an alternative way of browsing files besides FTP. It would be a pain to figure out which SW is installed on the target and use the correct method to enumerate files/folders.

 

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Path-control-of-VI-under-real-time-target-should-browse-target-s/idi-p/1776212

 

These two features could be implemented by having an enum property node for the File Path Control called Syntax which include options like: Local, Various OSes (Windows, Linux, Mac, etc), or IP Address. If IP Address is specified, another property Node called IP Address will be used to determine what target's OS to use (if it's not specified or invalid, we default to Local).

Allow the conditional terminal of an output tunnel to be either above or below the tunnel.  Then instead of this:

c1.png

We could have this:

c2.png

This one's pretty simple...  Multicolumn listboxes have a "Moveable Column Seperators" property that's available from the menu at edit time:

_carl_0-1598023462090.png

But this property isn't exposed through property nodes.  I'm currently in a situation where I really wish it was!

 

I'm not the only one who's encountered this:

https://forums.ni.com/t5/LabVIEW/Moveable-Column-Seperators-Property/td-p/2217334

The updated diagram expansion  (Ctrl+Drag) and its new counterpart (Ctrl+Alt+Drag) is a definite improvement in 2015.

However, they still both act globally on the diagram:

 

Screen Shot 2016-06-28 at 14.19.02.png

 

Shrink and obtain this:

 

Screen Shot 2016-06-28 at 14.19.12.png

 

All the objects outside of the case structure have been moved around because the shrinking action acted on the whole diagram, whereas my intent was to only compactify things inside the structure.

It would seem that the next step to improve the functionality of these tools is to allow the user to define their scope:

- define a region of interest meaning: DO NOT CHANGE ANYTHING OUTSIDE THIS ROI

- perform the action (expansion or shrinking)

 

In this particular case, this would work like this:

 

Screen Shot 2016-06-28 at 14.23.33.png

Screen Shot 2016-06-28 at 14.24.12.png

 

There is still some cleanup to do, but this is much less of a pain that fixing the carpet bomb effect of the current approach.

Arguably, this is easier to grasp with the "shrink" tool, but just think of the exact inverse series of steps to get an idea of the difference between the image at the top and this (the result of the current expand):

 

Screen Shot 2016-06-28 at 14.28.42.png

Text, formatted into a control as shown below, is handy, but can be confusing to a user since it is selectable. A user may try to change it - for instance from "mA" to "A". Further, they may triple-click (selecting all) then think that they have to enter the "mA" after the number. Further, there is a bug (in my opinion), where the number can actually change if you try certain entries into the uneditable text. Whether it is a bug or not, if LabVIEW didn't allow you select the text, all would be well.

 

 

text in numerics.png

Hello,

 

The Find callers/subvis popup, available from the project explorer context menu, should not be modal.

 

The popup should stay visible in order to go to many VI's, without having to close the current search.

 

Manu.

(There are much more comprehensive ideas related to the run-time engine install mechnism posted and they would solve all this too. Still, if the above idea will take al long time, the following mini-idea could hopefully be implemented earlier :))

 

A wrinke I run across with my users is that I clearly specify that they need to install the standard run time engine, however they go ahead and install the mimimum version for whatever reason.

 

Then, when they launch the application, they get all these warnings that are complete gibberish to a non-LabVIEW user. Warnings about missing VIs, ctls, etc. So I get phone calls and e-mails that things don't work.

 

My suggestion: The minimum run-time engine should be aware of the things included with the full run-time engine and give a single meaningful warning message that the standard runtime engine is required and only the minimum is installed.

For all the years programming LabVIEW this is something that has always bothered me. My development system has a monitor much higher resolution than the monitors on our ATE stations and it is very easy to end up with a panel that is too big for the target machines. 

 

While I can set a MINIMUM panel size it would be nice to set a MAXIMUM panel size or be able to turn off the "Auto grow" on front panels. 

 

Also related to this being able to turn off scrolling and "Auto Scroll" on front panels in the IDE.

 

Once I get a front panel set, I want to be able to "lock it" and have it NOT MOVE up, down, left, right or grow for any reason.

We're witnessing more and more requests to stop LV hiding important information from us.  In One direction we want to be able to know (and some want to break code) if structures are hiding code.

 

Others want LV primitives to give visual feedback as to how they are configured, especially if that configuration can have an effect on what's being executed or how it's executed.

 

Examples include (Please please feel free to add more in the comments below)

 

Array to cluster (Cluster size hidden)

Boolean array to number (Sign mode hidden)

FXP simple Math (Rounding, saturation and output type hidden)

SubVI node setup (When right lcicking the subVI on the BD and changing it's properties - show FP when run, suspend and so on)

Sub VI settings in general (Subroutine, debugging)

 

I know there are already ideas out there for most of these (and I simply chose examples to link to here - I don't mean to leave anyone's ideas out on purpose) but I feel that instead of targetting the individual neurangic points where we have problems, I would like to acknowledge for NI R&D that the idea behind most of these problems (Some of them go much further than simply not hiding the information, and I have given most kudos for that) is that hiding information from us regarding important differences in code execution is a bad thing.  I don't mean to claim anyone's thunder.  I only decided to post this because of the apparent large number of ideas which have this basic idea at heart.  While many of those go further and want additional action taken (Most of which are good and should be implemented) I feel the underlying idea should not be ignored, even if all of the otherwise proposed changes are deemed unsuitable.

 

My idea can be boiled down to the fact that ALL execution relevant information which is directly applicable to the BD on view should be also VISIBLE on the BD.

 

As a disclaimer, I deem factors such as FIFO size and Queue size to be extraneous factors which can be externally influenced and thus does not belong under this idea.

 

Example: I have some Oscilliscope code running on FPGA and had the weirdest of problems where communications worked fine up to (but not including 524288 - 2^19) data points.  As it turns out, a single "Boolean array to number" was set to convert the sign of the input number which turned out to be completely wrong.  Don't know where that came from, maybe I copied the primitive when writing the code and forgot to set it correctly.  My point is that it took me upwards of half a day to track down this problem due to the sheer number of possible error sources I have in my code (It's really complicated stuff in total) and having NO VISUAL CLUE as to what was wrong.  Had there been SOME kind of visual clue as to the configuration of this node I would have found the problem much earlier and would be a more productive programmer.  Should I have set the properties when writing the code initially, sure but as LV projects grow in complexity these kinds of things are getting to be very burdensome.

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 2e19937โˆ’1).

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

Hi,

 

It would be awesome if there was an option in project window to set if the method is contained within a .lvclass file or ouside of the .lvclass next to it in the folder.

 

Now it's like this:

HowItsNow.png

 

It's hard to use a class like that in a plugin architecture with VIs on the outside. Lets put everything together inside like a LabVIEW LLB!

 

How it should be:

HowItShouldBe.png

 

Don't get me started on Packed Project Libraries ๐Ÿ˜‰ We just need LLB functionality, for the class to behave like a folder and we are happy ๐Ÿ™‚

 

Piotr

The VISA test panel is a very valuable tool for troubleshooting instrument connectivity issues.

 

This used to be included with the VISA runtime, or at least with any installer that also included the VISA runtime.

 

Now I have to separately download and install the FULL VISA just to get this valuable tool. 

 

That makes installing a LabVIEW executable a multistep process as now I have to run two different installers. 

 

NI-MAX and the VISA test panel should ALWAYS BE included in any installer that includes the VISA runtime.