» Creating a LabVIEW Developement Tool
Many LabVIEW add-ons are tools for the Development Environment. These types of add-ons can be implemented as external applications or as tools inside of LabVIEW. Tools usually use VI Server, and can also incorporate LabVIEW Scripting and menu integration. This document will address the general issues of designing and implementing a LabVIEW tool.
The VI Server is very important for many LabVIEW Tools. The Server contains a set of functions that allows you to dynamically control VIs and the LabVIEW environment. Some of the primary uses of VI Server in LabVIEW tools:
The LabVIEW Help contains detailed information on VI Server:
It is important to have a solid understanding of VI Server before using more advanced features of VI Server, such as remote VI Server or LabVIEW Scripting.
For some applications, an external program may need to communicate with LabVIEW and access VI Server functions. An application, shared library (dll), or .NET assembly may be built in LabVIEW to achieve this.
To communicate with LabVIEW through VI Server from an executable or running on the same machine, ensure localhost has Machine Access for the VI Server in LabVIEW. You must also have VI Server access to all VIs. By default, LabVIEW allows remote VI Server access to all VIs via localhost.
When an external program invokes VI Server remotely a limited number of functions are available. The LabVIEW Help marks these limited properties and methods as “Remote access disallowed”. For example, see the help for the All VIs In Memory property. These properties and methods can, however, be called from a VI running inside of LabVIEW.
See the example Calling Internal LabVIEW Properties Externally for more information.
LabVIEW Scripting enables users to write a LabVIEW program that can generate and inspect LabVIEW code. It exposes many additional VI Server classes, properties, and methods. It allows users to create new VIs, Front Panel controls, Block Diagram objects and wires as well as traverse diagram object hierarchies and modify code. LabVIEW Scripting can currently be downloaded at the LabVIEW APIs Community.
There are a number of resources available for Scripting:
It is also possible to add custom items to the a few of LabVIEW menus: File, Tools, and Help. These menu items can give the end-user quick access to your add-on.
See the document Integrating into the LabVIEW Menus for details and instructions.
If your customers would benefit from starting development with a project template, complete with template code and preconfigured target systems, we recommend creating Project Templates. Please review the following article:
Using Custom Templates and Sample Projects to Develop LabVIEW Projects
Hey Chris: It's worth mentioning that when integrating into the menus, the "<labview>\wizard" folder only adds to the File menu of VIs, it does not add to the File menu of the LabVIEW Project Explorer window. I might classify this as a bug.
Hey Jim - thanks for bringing that up! We went ahead and added that clarification to the Integrating into the LabVIEW Menus doc.