LabVIEW Idea Exchange

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

With how event source references are currently handled, it is not possible to add any additional event sources to an existing Even Registration Refnum. The user is required to know the number of events needed and statically configure the Register for Events block at the beginning. The Register for Events block is resizable when you have not wired an input for the Event Registration Refnum, as shown,

 
EventRegister.JPG

But this presents a problem whenever you are working with a preconfigured refnum. If you're working with an application that defines the events within a subVI and then passes out that Event refnum, there is no way to append new events to that refnum.

 

EventregistersubVI.JPG

 

The new Register for Events is not resizable and there is no way to combine the previous refnum with a new refnum you have created. This really limits the capability to expand and continue using the refnum throughout your code.

 

The only ways to work around this would be,

 

Preallocate many readdressable events that you can later overwrite,

 

  • Use a datatype that has multiple elements (cluster/array) and use the different array indices as needed

 

  • Preregister many event sources on first creation of the refnum, and then rewrite over those sources later

 

preregister.JPG

The last way to approach would be to just create another Event structure to handle the new refnum.

 

Has anyone else run into something like this and has a recommended way to approach? Any other approaches and recommendations to help make the Event refnum more flexible would be great!

 

 

 

I'm shocked that this doesn't exist, but via help ticket verified that there is no way to do this (or they couldn't figure it out at least).

 

The following snippet shows what seems like would be close, but they are actually referencing VI's (none of these work):

 

Class Properties

 

What I'm after is figuring out the entire heirarchy above the current class level.  I solved this by making a method that passes out it's name and forcing overridden methods below the class.  This works well, but I'm annoyed that I have to create code for what is obviously available somewhere in memory already.

 

Solution.png

When you have the Desktop Trace Execution Toolkit (DETT) set to log errors, it will indeed generate an entry any time an error is generated. However if any custom message data is part of the error it is not captured, the DETT instead displays the default text for the captured numeric code.

 

DETT Error.png

 

I propose that this data should be logged as well.

According to the LabVIEW 2013 readme file (see attached image), NI installs a so called NI Launcher to work around serious shortcoming in the Windows 8 start menu. 

 

This is an essential tool because the Windows 8 start menu is flat (non-hierarchical) and if there are many NI products installed, the "all apps" screen shows pages and pages of tiles of e.g pdf help documents and it is impossible to find anything without scrolling forever.

 

Unfortunately, the NI Launcher functionality is quite limited to what we were used to be able to do in e.g. the Windows 7 start menu. All we can do is browse and launch a NI application.

 

While the readme suggest to pin often used program to the desktop, taskbar, or start screen, we can only do this by finding the icon on the Windows 8 "all apps" start screen first, where we can easily get lost if many NI products are installed! Yes, believe me, it is very tedious!!!

 

I suggest to add several right-click options to each entry directly in the NI launcher (similar to what we see in the windows 7 start menu):

 

  • open
  • pin to task bar (very important!)
  • open file location
  • troubleshoot compatibility
  • run as administrator
  • pin to start menu
  • ...
  •  (anything that is easily possible to implement)

 Idea summary: NI Launcher should have right-click options for each entry similar to the Windows 7 start menu.

 

 

 

 

The prevalence of systems with more than one display suggests the addition of a "monitor" input to the unused terminal on the connector of the File Dialog function.  This U16 input should allow developers to specify a display using the VI Front Panel Window:Monitor property.  In addition, this function should appear on the Advanced File Functions subpalette.  The File Dialog express VI should be promoted to the File I/O palette.

 

File Dialog Function.JPG

On larger diagrams (e.g. state machines) it's sometimes annoying to search for a special control or constant that defines the data type of the wire (especially if it is hidden or out of the visible FP area) or just to see the exact type of the wire.

To make this easier I have several suggestions:

1) add the data type to visible items: Right-Click to a wire -> visible items -> datatype   (should show either the basic data type like "U32" or the name of the type def control or class.


2) add a tool-tip function to wires. After a few seconds of mouse-on-wire the type / type-def name should appear

(ToolTip.jpg)

ToolTip.jpg

 

3) add an option to open the type def control file by right click to a w

ire (see RightClick.jpg); alternatively to #2 the menu could also show the data type

 

RightClick.jpg

 

I would like a key or click combination to highlight the entire wire.  Structure borders are brick walls for the highlight feature, so you must follow the wire to the structure, then double-click the other side of the tunnel in order to continue tracing the data flow.

 

For example, if I double click to the right of the While Loop, I get this:

2010-02-24_161326.png

 

What I want to get is this:

2010-02-24_161539.png

 

What do you all do when you're tracing wires through structures? 

 

Background:

 

I have a single pane that I was using to debug a state machine.  It is not clever at all, but it is useful.

Capture.PNG

I viewer of the Snip might not see what I did here, but I used the "Align Objects >> Left Edges" tool and the "Distribut Objects >> Vertical Compress" tool to get all the text tags and the order of the components to be "human readable".

 

fztvpepa479127866874303765.jpg

nrlsubih1015103514127206467.jpg

 

A human doesn't know that but the software should. 

 

When I hit "cleanup" I get this:

Capture.PNG

 

From this image you can observe that "fast, human readability" is lost.  I can hunt, but its not a simple up-down. 

 

I think that the "cleanup" should recognize the formmating, and retain it in this case.  It should do this by default.  The entire paradigm of LabVIEW is visual programming.  The diagram cleanup tool, in this particular case, has room for improvement there. 

How often are your main while loops designed to stop together?  There are numerous ways to do this, most of them painful.  Wouldn't it be nice to be able to set the stop condition for a loop to stop when another loop stops?

 

  BeautifulPainful

               Current                                                   Proposed

As simple as that.

 

Instead of right clicking and then going to Visible Items->Label, just double click to edit the label.

Have a property node function that can set the aspect ratio of the gridlines in a Graph based on the data. Similar to the 'asp = #' function in r

LabVIEW allow you to set unit to the numeric controls.  But if you try to pass its value to some LabVIEW VIs or functions (e.g. "Simulate Signal"), the wire was broken.  LabVIEW VIs doesn't handle the value with a unit.  It makes the unit setting useless!
 
Untitled.png 
 
 
I got this idea from a Customer, here is his original comments:
"我编写了一个简单的程序,在前面板的旋钮输入控件附上单位vlot,然后在程序框图中放置了一个仿真信号控件,接下来将前面板中的旋钮控件的输出端连接至程序框图中的仿真信号控件的幅值输入端,但在即使帮助窗口中出现了一个错误,为:数据源的数值单位为volt,数据接收的单位为no Nuit,当然程序就不能运行了。于是我采用通用单位符$1的办法也没成功,最后从网友那儿得知在LabVIEW中只能够对数值型控件进行附单位。后来我仔细想了想,按照LabVIEW现在的思维方式,只能够对数值控件附单位,那么在其他运算中就不能够进行单位转换了(例如微积分运算),因此每遇到这种情况后,先要仔细排查一番所给出数值的单位,然后再写出适当的程序,这样岂不是很麻烦?能不能够在其他控件中也加入单位转换功能,这样在今后写程序就不再这样麻烦了! "

We all use clusters and arrays of clusters to represent complex data. With LabVIEW, it is practical to build a cluster to represent the data in memory and shape it to display it on the front panel. Using the same object (control or indicator) to display the data on a graphical user interface and to store the data in memory avoids overloading the memory and simplifies the code.

 

But most of the time, all the data don't need to be shown on the front panel! Some elements need to be hidden. If we use a probe to check the content of such a data structure for debugging purpose, LabVIEW just shows the control as it is supposed to be displayed on the FP. The hidden elements are not visible!

 

Here is an example of a probe put on one of my data structure (array of clusters) :

 

CLUSTER.png 

 

And here is the equivalent representation in a tree view. On the first column, the labels. On the second column, the values.

 

tree.png 

 

What is your prefered representation? 

 

PS : Such a tree view representation can "easily" be obtained from a control reference or from an XML string (with the Flatten to XML VI). Nevertheless, the Flatten to XML VI returns an error when it encounters strings with accentuation.

 

Delete From Array Function - Output should be renamed as "Edited Array" instead of the current name "array w/ subset deleted", as the 'w/' often confuses new users (and users like me as well sometimes), whether it means 'array with subset deleted' or 'array without subset deleted'.

 

Instead of this, the name "edited array" as mentioned in the Help itself would suffice, and is much more clear. 🙂

 

Help - "Returns the edited array in array w/ subset deleted and the deleted element or subarray in deleted portion."

In response to another post, Darren suggested someone start a new topic about how to more effectively spread information about new or esoteric features (sometimes referred to as "tribal knowledge").

One idea is to have a database of these gems and display one at random during the splash screen.  So, while we are waiting for LabVIEW to start, we can learn a potentially useful "trick", if we care to.

 

Example:  "Control-click on some primitives will reverse the order of the inputs.  By also holding Shift, any inversions will follow the connections."

(Note:  the second have of this example is not actually implemented yet.)

Say a 1% discount on the annual DSRL fee for each unresolved CAR per company/organisation.

If you think 1% is too much, please suggest a percentage that you think would be acceptable.

 

If NI did this it would really show how much they care about the quality of their products and also that they value the feedback of their users.

 

It would also be an incentive for users to report issues and for R&D to fix them.

I often want to add VI B to the block diagram of VI A - and they're both in the same project.  I'd like to right-click on A's block diagram, and choose "Selects a VI..." that shows me all the VIs in the project.  I also want this feature to work for classes, lvlibs, etc...  I also want this for the front panel controls palette too.  I'm not asking for too much, am I? 🙂

There should be an option (right click on the structure?) to convert a conditional disable to a case structure.

 

Why?

 

a) I often use conditionals to test different algorithms. In several times it finally has been nessecary to implement both (or more) of them into the final application as none of them cover all cases of input data well enough.

b) In other cases It showed that selecting the algorithm should be selectable (e.g. using a INI file or registry entry, a project's global or even from a front panel terminal).

 

In all cases changing the conditional disable to a case using the values from the conditional cases in use as case values would just leave the work to add the input to the case selector input (whereever it comes from).

Hello,

 

I work with many versions of LV on my PC. Can we build in a feature so that when I hover over different .lvproj for .vi files, a tooltip will populate with the version number (LV 2012, LV 2013, etc...)?

 

Cheers!

 

Shawn

I often use ctrl+f to find a string of text in my vis.  When the search results come up, I have to click on each one to find the instance that I am lookiing for.  Everytime when I check on a vi, the vi would open, and I will end up having way too many vi opened.  It would be nice if when I click on a search result, a partial image would come up to show me what the search result is like without opening the vi.