Execution Page (VI Properties Dialog Box)

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:

Option Description
Allow debugging

Allows debugging on this VI. For example, you can set breakpoints, create probes, 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.
Reentrancy

Indicates whether multiple instances of this VI can execute simultaneously. By default, a VI is non-reentrant, so each call to the VI must wait until other calls to the VI finish executing. To allow multiple calls to the VI to execute simultaneously, select one of the reentrant execution options.

Note The Reentrancy option must be the same in a parent dynamic dispatch member VI and a child dynamic dispatch member VI.

(FPGA Module) By default, subVIs created under an FPGA target are reentrant.

  • Non-reentrant execution

    Serializes simultaneous calls to this VI, thereby requiring minimal memory usage. This option maintains only a single data space to store the parameters of its callers, any temporary values computed during execution, and any state that this VI maintains between calls. If you intend to run your VIs on a real-time operating system, select Preallocated clone reentrant execution instead.

  • Shared clone reentrant execution

    Allows parallel execution of simultaneous calls to this VI with relatively low memory usage. This option allocates a pool of clones, initially populated with one clone, to share amongst callers. If the pool is empty, LabVIEW creates a new clone for that call and places the clone in the pool when execution finishes. Because this allocation happens on demand, this type of reentrancy introduces jitter. If you intend to run your VIs on a real-time operating system, select Preallocated clone reentrant execution instead.

  • Preallocated clone reentrant execution

    Allows parallel execution of simultaneous calls to this VI while minimizing call overhead and jitter. This option allocates a separate, non-shareable, clone for each use of the VI. Each call site is able to maintain its own state, preserving values of controls and uninitialized shift registers. As a tradeoff, this type of reentrancy requires more memory than Shared clone reentrant execution.

Inline subVI into calling VIs

Specifies whether to inline the subVI into its calling VIs.

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.
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.
Note The LabVIEW Run-Time Engine does not support automatic error handling.
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.
Note When a user launches a VI from a disk location other than standard NI installer locations, such as the LabVIEW 20XX or National Instruments\Shared folder, the user will be prompted to choose whether to run the VI or open it in edit mode.
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.
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.

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.

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.