LabVIEW Idea Exchange

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

64bit has been the dominant architecture for a decade; any computer with more than ~2.5GB of RAM must use it after all. It is inevitable that 32-bit machines will cease to be made - maybe not tomorrow, but let's be realistic. Let's get ahead of the times and convert modules to support 64 bit. Please!

 

Hi all,

In a perfect world,it sould be possible to distribute items on the front panel according to the height//width of the front panel !

 

Today, when I create a dialog box, I place the controls on the front panel, close an eye move away from my screen, then watch if my buttons are well centered.

 

Tomorrow, wen I'll create a dialog box, I will place my controls on the front pannel, horizontally distribute them, and click on the new NI button to dispatch them accordingly to the current FP size !

 

 

I run into many situations where data is collected and stored in an Excel spread sheet.   Moving this data into LabVIEW usually requires writing some code to either process the data after it has been saved into a .csv format or pasting the data as a single string and then parsing it in LabVIEW to get it into a usable format.

 

Usually, the data is in two or more columns where one column is an X axis and other columns are Y axis data points.  My life would be made better if I could select all of the data I want in Excel, copy it, and then paste it into LabVIEW as an XY array cluster.

 

Good Implementation: I can only select two columns.  The first (left most) column is always X axis points and the second Y axis points.

 

Better Implementation: I can select multiple columns of data and would be asked by LabVIEW which column to use as the X axis and all others are treated as Y axis data points.  This would paste into LabVIEW as an array of XY array clusters.

 

Best Implementation: In addition to the better implementation, I can also include the column title in my selection and LabVIEW will use it to name the data series, just like Excel does when you create a scatter plot.

 

excel paste.jpg

Hi there,

 

I want to suggest a function for case structure tunnels:

 

Create constant in every case

 

If you have big case structures, and want to add a tunnel with constants inside, you have to add a lot of constants. This

could be avoided if you could add a constant for every case and then only adapt the value.

                                                            In Place Structure (Unbundle - Bundle)

 

                                                            Please ... enable also the others!


                                      it would be easier to swap between two inputs (or outputs)

 

                                           SR7.png

 

 

In Place Structure (Unbundle - Bundle) should work like the behavior of the original Bundle-Unbundle,

 

                                                                                  like this,

 

                                  SR6.png

Consider adding a property node that will return the current error listing of a VI or all VIs.  This wuld provide the same information a clickingthe run arrow on a broken VI.  This information would be of great benefit when programmatically analyzing the current state of a project or set of VIs to determine the root cause of why something is not executable.  Often there is one VI that is actually broken but is called by many other VIs that also appear broken but actually do not need anything fixed directly.  By having the error information, the root cause could be determined without a need for opening all of the other VIs.

I suggest the Background priority (lowest) option be removed from the priority selector in the Execution page of VI Properties:

 

BPrioRem.png

 

The reason for this is that NI (much to my surprise) confirms that this execution priority is ignored. A VI set to background priority simply runs at normal priority:

 

http://forums.ni.com/t5/LabVIEW/Is-background-priority-in-VI-Properties-ignored/m-p/1637750/highlight/false

 

Cheers,

Steen

Right-clicking a subVI and selecting "Find all instances" is extremely useful. However there is currently no way to filter the results by a particular input or output being wired in the caller VI.

 

My proposal is: It would be great to be able to filter by a particular input or output, or a particular combination of inputs and outputs, being wired in the caller (i.e. being used by the caller) when using "Find all instances". There are multiple ways of exposing such a filter to the user, so I won't attempt to mock up a design here.

 

Background

Recently I refactored parts of a medium-size LabVIEW project that I was working with for the first time. As part of the refactoring I wanted to remove an output of an FGV-type subVI with multiple inputs and outputs, because I suspected that that output was unused by any of the callers. Using "Find all instances" I found around 60 instances where this subVI was called. I had to Ctrl + G through the results list and check that the output I wanted to remove was not used in any of the callers. This would have been simpler if I could have set a filter condition to this effect, as the search would have returned only those callers that were using that output. In this case, the search would have returned 0 results, thus confirming that the output was unused.

 

Side-note: You are probably thinking "You could have disconnected the output terminal from the connector pane, and used the Error List (broken run arrows) to find the broken callers." That's what I intended to do before I realised that virtually all of the caller VIs were dynamically called VIs. Therefore those VIs being broken wouldn't have broken the main VI of the app. I put those dynamically called VIs into the disabled case of a Diagram Disable Structure such that they were loaded in memory and "Find all instances" would search inside them.

Thanks

Background

This idea is derived from the following idea: Front panel controls and indicators should be genuine after being replaced with control or indicator of different style . Please read that thread for background.


Problem

There are three ways to replace front panel controls and indicators:
1. Right-click the control or indicator, select Replace, then select the select the object to replace with.

2. Select the control or indicator, press Ctrl + Space to bring up QuickDrop, search for the object to replace with, then press Ctrl + P.

3. Select a control or indicator and press Ctrl + X. The control will disappear from the front panel. Select another control or indicator. Press Ctrl + V. The second control is replaced by the first control.

 

The first two methods preserve some of the look and feel of the original object. For example, when replacing a Modern-style string control with a classic-style string control, the end result is a control that looks like a mixture between the two styles. This may or may not be desired behaviour.


The third method does not preserve any of the attributes of the object that was replaced. The end result is a control that looks exactly like the control that was selected when Ctrl + X was pressed.

 

Both behaviours can be desireable in different situations, and it's good that there are ways to achieve both. However, the third method is not easily discoverable.

Proposed solution

A more intuitive and discoverable solution could be: After right clicking an object, selecting Replace, and selecting the object to replace with, a two button dialogue message could popup. The message could ask something like "Preserve attributes?" The buttons' Boolean text could be "Yes" and "No".

 

Ideally the same popup would appear when using the QuickDrop Ctrl + Space, Ctrl + P method.

 

This would:

1. Enable the user to select either to preserve attributes or not, depending on their intention at that particular moment. (the same user may prefer either behaviour at different times)

2. Increase awareness that two behaviours are available

Thanks

I wish the Formula VIs supported conditional logic.

 

More broadly, make the Formula Node and the Formula Parse and Eval VIs have the same syntax and capability.

 

from LV help:

Differences between the Parser in the Mathematics VIs and the Formula Node
The parser in the Mathematics VIs supports all elements that Formula Nodes support with the following exceptions:

Variables—Only a, a0, ..., a9, ... z, z0, ..., z9, are valid.
Logical, conditional, inequality, equality—?:,, &&, !=, ==, <, >, <=, and >= are not valid.
Functions—atan2, max, min, mod, pow, rem, and sizeOfDim are not valid. You can use these functions in a Formula Node or use their corresponding LabVIEW functions.

 

We require to programmatically Add an EPICs IO server to a shared variable library like you can do manually from the project explorer as shown in the picture:

renditionDownload.jpg

 

Currently, there is a way to create an EPICS IO server programmatically with the function but this function will not save the EPICS IO server on a Shared variable.

 

Screenshot_1.png

We require to save the EPICS IO server to the library, then save the library(.lvlib file) to disk so we can later deploy the library. 

 

 

I make groups of front panel items really often and I find that If I want to do something like delete just one button or something I have to ungroup everything, delete it, and then regroup everything.  It would be nice to be able to right click on an item in a group and select "remove from group".

For accessing Linux in our products we will have an on-going need for Telnet.  The Internet toolkit is no longer supported, and though we can keep bringing the latest one (2012) along, it doesn't seem wise to build on an old toolkit.  It would be great if Telnet and SSH were native to LabView in the future. 

Ever right-click a VI, reference, property node etc and have the search window pop up showing it is in multiple places. Then you double-click one of them or press go to and the window closes, only for you to realize that you didn't click the instance you were looking for?! So, now you have to go through the whole process again. Not to mention you don't know which one you just clicked on so you don't know how to pick up where you left off. Disaster. Please, just have the window stay open and your recent selection stay highlighted after going to that instance!

 

 

Currently LabVIEW provides the ability to apply the library icon to all the member VIs through the "Apply Icon to VIs" button on the library's general settings property page. This action applies the icon to all the VIs in the library and sets them as modified, even if the VI had the same icon before. Consider the case where you move a VI from one library into another. In this case, you want to apply the library icon for the destination library to the VI. The "Apply Icon To VIs" would be overkill, especially if the library has a large number of member VIs. Rather than the "Apply Icon to VIs" on the library, it would be very useful to have a "Apply Library Icon to VI" action that you apply on the VI in question that would apply the owning library icon to the VIs icon. This action would only modify the one VI that needs to get the new icon.

Sound playback on built-in sound cards using Standard vi's has multiple issues regarding quality (clicking etc.), choice of block sizes, latency, stability, inconsistent results between various OS versions, CPUs etc.

Needs complete re-write by NI to fix it.

Carsten Thomsen

 

                                                           "  lock text in center  "

 

alpha.png

 

 

                                        ... sorry ..  but the text is not in center

 

                  A > B , and the difference is greater than one pixel

 

 

                        ext.png

To make my applications more portable across operating systems I've been using the OS's recommended directories to store config files and log files. Often this causes user confusion since they are used to navigating directly to the application's installation folder to find that stuff. I'd like to set up the installer so a link to the log file directory is placed in the application's Start menu folder.

Many of you know that the things called variables in LabVIEW are not variables at all. This regularly causes some confusion. Ben elegantly explains this here where he suggests that a local variable in LabVIEW is more like an I/O device.

 

I propose that they be called something like I/O device, I/O register or I/O buffer. Maybe "Control Buffer". The idea is not to call variables something in the list but to simply come up with a better name.

 

I understand that there is a lot already written about LabVIEW that refers to those things as variables and that much documentation would have to change. But I think that LabVIEW documentation should at least start to call "variables" something different.

 

At a minimum this should be clarified in the documentation on variables.