NI InsightCM™ SDK Help
»View Product Info
Parent Topic: Device Software Fundamentals
Each process that runs in the top-level application VI is part of a LabVIEW project library (.lvlib). Project libraries contain the process VI, supporting subVIs, and type definition controls.
Although each process requires unique files, each project library typically contains a few common types of files. To provide a starting point when you create your own process, the NI InsightCM SDK provides a project library template at the following directory location: <InstallDir>:\Program Files (x86)\National Instruments\labview\examples\InsightCM\ProcessTemplate.
The project library template contains customizable versions of the following files:
- Process.vi—The subVI called in the top-level application VI. The process VI continuously receives and handles messages and other commands by executing message-specific code. For more information about the components of a process VI, refer to Components of a Process.
- CreateListener.vi—A subVI that runs once within the initialization code of the top-level VI. This VI integrates the process with the Qbus message bus. Ensure this VI runs prior to executing the process VI.
- ProcessName.vi—Returns the name of the process from a string constant on the block diagram. Use this VI as the universal source of the name anywhere it is required instead of hard-coding the name. For example, when one process sends a routed message to a second process, use the ProcessName VI for the second process to identify it as the recipient.
- ReceiveMessages.vi—A subVI that runs each time the process VI iterates to evaluate the priority action and message queue for the process. This VI returns the name of the subdiagram the process VI executes next.
- RegisteredMessages.vi—A subVI that returns the names of broadcast messages that you want Qbus to add to the process message queue. This subVI is designed to generate the input for the RegisterForMessage VI in the process template. If this process handles only routed messages or internal actions, this subVI is unnecessary.
- TracePoint.vi—A subVI that returns the name of a tracepoint you want to log in the device tracelog. Use this VI as the universal source of the name anywhere it is required instead of hard-coding the name.
- config.ctl—A cluster type definition into which you bundle configuration data the process requires. For example, a process that acquires data can read the configured sample rate from the device configuration file when the process initializes and bundle it into this cluster for later use. When the elements of this type definition change, such as when elements are added, removed, or have data types changed, all instances of the type definition automatically update.
Creating a New Process
Components of a Process
Using Libraries in LabVIEW Projects
Initializing the Application Software
Type Definitions and Strict Type Definitions