Easily create a list of VIs used by a LabVIEW application

This download on the National Instruments website will save a list of all subVIs of a chosen VI to a text file.

If you just want to see the list (and have the application builder or the professional development system), choose Tools>Build Application and click the VI Settings tab.

Neither of these methods will tell you about dynamically loaded VIs, but you can check whether any of these are being used with Edit>Find>Objects and searching for Call by Reference Node and/or Invoke Node.

There may also be ways of doing this from the Project Explorer in LabVIEW 8 upwards.


There are several options:

  1. LabVIEW Linker
  2. The open source OpenG toolkit has a List VI Hierarchy vi:

ListVI Hierarchy
(source: openg.org)

3. Building a recursive tool to get the VI.SubVIs method

A good way to clean up a program is doing a 'Save As' and choose a source build to a new location.

Ton


Using the Project explorer under LV8 you can save the file information of all VIs for the current project ('Project' menu, select 'File information' then click on the 'Export File information' button) but this will just list all VIs in the project.

To get a list of all VIs used by the top level VI of an application you can use VI server to recursively get a list of all Callees and build up the list. Basically Open a reference to the top level vi and using the property node, take the string array of Callees and repeat until there are no more. You can also get the Path of the VI so you can mask out all standard VIs from the vi.lib folder.

I have put together a simple VI to do this in under half an hour which I could make available if required.

Just seen that there is one available from the National Instruments website but of course I prefer my version as it filters out the library VIs.

Tags:

Labview