Requires: Base Package
From the front panel or block diagram window of a VI, select File»VI Properties and select Execution from the Category pull-down menu to display this page.
Use this page to set execution properties.
This page includes the following components:
- Priority—Determines the priority at which a VI runs in the LabVIEW execution system. Use this control to set the priority of an important VI above the priority of other VIs in the application. If another VI with higher priority calls this VI, the priority of this VI rises to match the priority of the calling VI. The priority of this VI never drops below the level you set in this dialog box.
Select subroutine priority to make the LabVIEW execution system run the VI as efficiently as possible. You cannot abort a VI that has subroutine priority. You also can use the Priority property to determine the priority of a VI programmatically.
|Note The Priority option must be the same in a parent dynamic dispatch member VI and a child dynamic dispatch member VI.|
- Preferred Execution System—Sets the preferred execution system. LabVIEW supports multiple simultaneous execution systems. On some platforms, a VI running in one execution system also can run in the middle of a VI running in another execution system. This allows higher priority tasks, such as data acquisition loops, to interrupt long operations, such as slow calculations.
Normally, you set all VIs to run in the same execution system as the caller. To use an alternate execution system for a set of VIs, set the top-level VI to that execution system. All its subVIs also run in that execution system.
|Note The Preferred Execution System option must be the same in a parent dynamic dispatch member VI and a child dynamic dispatch member VI.|
- Reentrant execution—Enables a VI to be called by more than one caller. Normally, a VI can only be called by one caller at a time. However, if you want two callers to be able to call the same VI simultaneously, place a checkmark in the Reentrant execution checkbox.
|Note The Reentrant execution option must be the same in a parent dynamic dispatch member VI and a child dynamic dispatch member VI.|
|Note (FPGA Module) The Share clones between instances and Preallocate clone for each instance options do not apply. If you use a reentrant subVI in an FPGA VI, each instance of the subVI on the block diagram becomes a separate hardware resource.|
- Share clones between instances—Allocates clones of the reentrant VI on-demand for each call to the reentrant VI. Do not select this option if a clone VI must preserve state information across calls or if the VI is part of an application that needs to minimize jitter.
- Preallocate clone for each instance—Allocates clones of the reentrant VI for each call to the reentrant VI. This option is recommended for VIs that are to run with low jitter on LabVIEW Real-Time.
- Inline subVI into calling VIs—Specifies whether to inline the subVI into its calling VIs.
- Run when opened—Enables a VI to enter run mode and run automatically when you open it. You also can use the Run When Opened property to programmatically run a VI when it opens. To edit a VI set to run when opened, place it on the block diagram of a new, blank VI and double-click it.
|Note LabVIEW ignores this option in the following scenarios:|
- When you use the VI Server to load the VI. Use the Run VI method to run a VI you use the VI Server to load.
- When you designate the VI as a startup VI in a built application. Startup VIs run when they are opened by default and LabVIEW overrides the option you set in this dialog box. You can configure a startup VI to not run when it is opened when you configure the build specification. On the Source File Settings page of the Application Properties dialog box, click the Customize VI Properties button. In the VI Properties (Application Builder) dialog box, remove the checkmark from the Run when opened checkbox.
- Suspend when called—Suspends a subVI when called and waits for user interaction. This option is the same as selecting Operate»Suspend when Called. You also can use the Suspend On Call property to suspend a VI programmatically.
- Auto handle menus at launch—Causes LabVIEW to automatically handle menu selections when you open and run the VI. If you remove the checkmark from this option, the run-time menu bar is disabled until you can use the Get Menu Selection function to handle menu selections.
- Allow debugging—Allows debugging on this VI. For example, you can set breakpoints, enable execution highlighting, and single-step through execution. Remove the checkmark from this checkbox to reduce memory requirements and to improve performance slightly. You also can use the Allow Debugging property to allow debugging on a VI programmatically.
- Clear indicators when called—Causes an indicator, such as a graph, to clear each time you call the VI that contains the indicator. For a top-level VI, the indicators clear each time you run the VI.
- Enable automatic error handling—Activates automatic error handling for the block diagram of the current VI. When the VI runs, LabVIEW suspends execution, highlights the subVI or function where the error occurred, and displays an error dialog box. You also can use the Automatic Error Handling property to enable automatic error handling for a VI programmatically.
- Autopreallocate arrays and strings—(FPGA Module) Optimizes array and string operations. This option forces LabVIEW to preallocate memory at compile time rather than dynamically allocating memory at run time. By default, the FPGA Module displays this option for VIs under FPGA targets in the Project Explorer window. This option must be enabled before you can compile VIs that use arrays or strings for FPGA devices. LabVIEW disables the Autopreallocate arrays and strings option on installations of LabVIEW without the FPGA Module. If you create a VI in a version of LabVIEW that does not have the FPGA Module installed and you later target that VI to an FPGA device, you must explicitly place a checkmark in the Autopreallocate arrays and strings checkbox and test the behavior of the VI on the FPGA device to verify that it is operating as expected.