LabVIEW Idea Exchange

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

I would like to be able to search in the VIs which were in the previous search results.

 

Currently this is not possible. When I do a search in a VI I can select to search in three different scopes:

  • all VIs in Application Instance
  • Selected VIs
  • current VI

 

I see two possibilities for implementing this:

  • as an additional search scope (like "VIs of the previous search result")
  • as a button in the dialog "Select VIs to Search" (poping up when clicking "Select..."), labeled "Add VIs of previous search result"

The second option has the advantage that it is clear defined what happens with the selected VIs when repeating a search.

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

For large projects with multiple developers, it will sometimes be necessary for more then one developer to modify the project file. It would be helpful to rapidly identify these changes by comparing working copies with copies from source control.

 

In the attached picture, you can see how a red circle highlights the difference between two project files.

 

When I want to insert a VI into a wire, I often have to navigate a long way in the palette until I reach the VI I want to use. The same is true when I replace a VI. Both palettes have a special top level with direct access to palettes LabVIEW thinks I might use. But this is often different from what I want. This is why I ask for including the favorite palette menu in this special top level menu. Then I can keep a short navigation to whatever I want to. (Of course it is only one level shorter tahn before, but the entry point to favorites is much more prominent.)

 

Favorites palette in insert menu.png

The above mentioned toolkit provides great support for S3 and SQS.  For DynamoDb, however, one has to buy a 3rd party driver (ie. Cdata) to provide labview access to DynamoDb.  It would be great to include this support in the toolkit

Currently, if the user edits the X or Y position of a cursor, this doesn't fire any event (that I am aware of), while in effect is is equivalent to the user grabbing the cursor and instantaneously moving it to a new location.

There is a "Cursor Move", "Cursor Release" and a "Cursor Grab" event, as well as possibility to catch the user selection of a cursor contextual menu event such as "Bring to Center".

It is possible to check whether the user 

 

My suggestion: Add a "Cursor Location Edited" event for Graphs with cursors

 

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

In order to provide an Owner when showing a .NET dialog, we need to create a IWin32Window Handle to the front panel window.  This KB article shows how this can be done, which requires a DLL to be available.  My suggestion is that there is a Front Panel property which returns this Handle as a .NET IWin32Window value.

 

.NET Handle.png

The only way to order reorder plotted times is to rewire the block diagram.  It would be useful to have the ability to change the order by dragging items on the plot legend into the desired order.

 

reorderplots.PNG

 

Please vote to improve the help. NI wants votes before improving the Desktop Execution Trace Toolkit help! The various log events should be defined. Service request reference#7718574 said: 

 

"It seems that the information regarding the descriptions of the Desktop Execution Trace Toolkit Events is not publicly available at this time" and that it could be requested via the Idea Exchange here.

 

There are about nine event types which have a short description (Errors, Event Structures, Memory Allocations, Queues and Notifiers, Reference Leaks, User Events, User-Defined Trace Events, VI Execution, VIs). There are several events under each category which are not described. Some are not self-explanatory. For example, what is the difference between the VI Execution's Call and Start Execution or Return and Stop Execution? (rhetorical)

Working with XML is fairly common and an addition to the palette to replace a specific node value would be helpful. Besides, there's lots of space there yet.

 

This link saved time. Thank you to juliodia

for posting this.

 

https://forums.ni.com/t5/LabVIEW/XML-Update-Element-Text/td-p/1239026?profile.language=en&lang=en

From:

https://forums.ni.com/t5/LabVIEW/possible-to-change-opc-ua-alarm-limits-at-runtime/m-p/3688481

 

The request is mostly in the title. Right now it seems as though changing an alarm limit requires stopping the OPC UA server. It seems reasonable to expect that users may wish to adjust alarm limits on the fly -- for my use case, tuning the system during a long commissioning process. It might be many months before a system is fully ready to go, and during that time alarm limits change regularly and we still want to report alarms to operators during this period.

VI snippets are useful but often hard to deal with. Sometimes you can drag one directly from a website into LabVIEW and have it just work. Other times you have to download it, open File Explorer to it and drag the file into LabVIEW.

 

Many times dragging directly from a website doesn't work and results in a comment with a link to the VI snippet. Instead LabVIEW should try to go to the link, download it and insert it as a VI snippet. There are some cases when this will not work (for example the user needs to sign into the website) but LabVIEW should at least try the link. It is possible a link will be provided to LabVIEW that is not a VI snippet in which case LabVIEW should recognize that and just treat it as a normal link.

 

I'm not sure but there may be cases when a PNG image is dragged or pasted onto the block diagram. Is there a possibility for LabVIEW to check if it is a VI snippet and treat it as such?

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? 🙂

Allow array controls and indicators to line-wrap 1D data into a 2D display.

 

I have, say, a 1x1000 array of square images, and I'm browsing through them, and it'd be really lovely to be able to pop them into a grid as a single display element instead of having to make several array indicators with carefully synchronized display indices, or reshaping the array.

 

That is, if I have a 1D array consisting of the alphabet, and I pull the array indicator into 3x3, then it could look like:

 

abc

def

ghi

 

or if I entered index 1 in the index box, it would show

 

bcd

efg

hij

 

etc.

 

An option to allow vertical-first would seem reasonable:

 

adg

beh

cfi

After selecting an entry from the quick drop list I have to re-open it again for each item I want to place. Why not adding the possibility to keep it open showing the last selection? E.g. if I select the TCP Open item most likely I will use a TCP read or write in the next step. I think this could be easily done by copying the behaviour of the Control-/Function palettes which have a Pin to make them sticky.

QuickDrop.png

In the Build Specifications under Version Information one has the option of setting the Version Number of the build. Ther Version Number is of the form Major.Minor.Fix.Build.

 

There is an option to Auto Increment the Version Number. If this is selected the Build component of the Version Number is automatically incremented every time the specification is built.

I always use this setting since I can thereby tell the difference between builds. The major annoyance here is that although only the Build component is automatically updated all four controls are disabled and grayed when Auto Increment is selected. That means that every time I want to change the Major, Minor, or Fix part of the Version Number I have to uncheck Auto Increment, make my changes, and then re-check Auto Increment. More than once I have forgotton to re-check Auto Increment, which then screws  up my numbering scheme.

 

Idea: When Auto Increment is selected for the Version Number, only disable and gray out  the Build control. Leave the Major, Minor, and Fix controls enabled.

Currently there is a method for setting the control value of another VI via the Control Value Set Method. But there is no set with signaling method which allows control of VI's which react to changes on front panel controls. This makes it hard to automate VI's that are using front panel control events. There is a tedious work around to get references to control on the front panel and then use value signaling method . It would be very useful to just have one additonal method that does the signaling in additon to setting the value of the control.

 

 

If a class is contained in the private data cluster of another class, this is the LVOOP equivalent to an Association (as OOP concept). I'd like to optionally display this relationship of classes in the Class Hierarchy window. It should also work for nested structures (class in array, cluster, DVR).

As used from normal BD programming, different kinds of wire should be used to identify details of the relationship:

  • green color if it's a by-ref relationship (DVR, SEQ);
  • double wire if it's contained in an array;
  • an directional arrow symbol would be necessary to indicate the navigable end.

The following would be nice to have, but partially difficult to implement:
In addition there should be a way to annotated the associations to indicate when the intended use is restricted to a child class, such as class that contains objects of the type of the same class. Here the association would point to an ancestor of this class. Either we should be able to put a comment on the 'wire' to document this intention. Ideally we could be able to wire classes with recursive associations (which are not possible in LVOOP, hence this should also not have any effect on the code by only be documentation), and link it to the implemented association wire.

The tendency of LabVIEW to indicate that 5 or 10 VIs have been changed for every VI actually edited makes maintiaining organized, legible version control logs difficult. To be kind to my co-developers, whenever possible, I try to keep the number of spuriously modified VIs down by intentionally not saving VIs that do not need to be saved. This would be a lot easier if the "Save all (this Project/Library/Class)" menu item behaved as it sounds intuitively. Currently, it functions to save all of the items in the Project/Library/Class, as well as their dependencies. In 99.9% of all cases, I did not intend to modify any dependencies. If I had intended to work on them, they would be in the library or project.

 

This idea is to have the "Save all (this Project/Library/Class)" menu item save only items inside the Project/Library/Class, and not their dependencies.