Requires: Base Development System (Windows)
Double-click the Input node of a Timed Loop or right-click the node and select Configure Input Node from the shortcut menu to display this dialog box.
Use this dialog box to configure a timing source, period, priority, and other advanced options for the execution of the Timed Loop.
Use the Configure Next Iteration dialog box to configure options for subsequent iterations.
You also can add frames to a Timed Loop to execute subdiagrams sequentially each iteration.
This dialog box includes the following components:
- Loop Timing Source—Specifies the type and name of the timing source for the Timed Loop. The Loop Timing Source settings include the following components:
- Source Type—Specifies an internal timing source to control the timed structure. In addition to the internal timing sources, this listbox includes any timing sources you configured on the system.
- 1 kHz Clock—Selects the 1 kHz clock of the operating system. Using the 1 kHz clock, a timed structure can execute an iteration once every 1 millisecond. All LabVIEW platforms that can run a timed structure support the 1 kHz timing source.
- 1 MHz Clock—Selects the 1 MHz clock supported on RT targets with Intel Pentium III or later-class processors. Using the 1 MHz clock, a timed structure can execute an iteration once every 1 microsecond.
|Note You must have the LabVIEW Real-Time Module installed and must have created a VI under the RT target in the Project Explorer window to use this option.|
- 1 kHz <absolute time>—Selects the 1 kHz clock of the operating system. When you select this timing source, the timed structure uses timestamps for all input and output terminals related to start and finish times. You can use an absolute timing source to specify a specific date and time to start execution.
- 1 MHz <absolute time>—Selects the 1 MHz clock supported on RT targets with Intel Pentium III or later-class processors. When you select this timing source, the timed structure uses timestamps for all input and output terminals related to start and finish times. You can use an absolute timing source to specify a specific date and time to start execution.
- Synchronize to Scan Engine—Synchronizes the timed structure to the NI Scan Engine. Using this timing source, the timed structure executes at the end of each scan. The period between iterations corresponds to the Scan Period setting you configure on the Scan Engine page. This option is only available on targets that support the NI Scan Engine.
- 1 kHz <reset at structure start>—Selects the 1 kHz timing source that resets on the first call of every invocation of the structure.
- 1 MHz <reset at structure start>—Selects the 1 MHz timing source that resets on the first call of every invocation of the structure.
- Source name—Specifies the name for the instance of the timing source. For example, if you enter the same name for Source name in two different timed structures, both structures share the same instance of the clock as their timing source.
- Loop Timing Attributes—Specifies the period, priority, and other advanced options for the structure. The Loop Timing Attributes settings include the following components.
- Period—Specifies the amount of time that elapses between two subsequent iterations of the Timed Loop. The unit of the period changes depending on the timing source you select in Source Type.
|Note: Do not set the period of a Timed Loop to 0. National Instruments does not support applications that contain Timed Loops with periods of 0 because these periods cause undefined application behavior. If you need a loop that runs as fast as possible combined with the priority execution features of a Timed Loop, use a While Loop inside a Timed Sequence structure instead.|
- Priority—Specifies the priority of the execution of the timed structure relative to other structures that are ready to execute. The higher the number you enter, the higher the priority of the timed structure over other structures. The value for the Priority must be a positive integer between 1 and 65,535.
|Note These priorities are different from VI priorities. LabVIEW executes the timed structures at a priority level below the time-critical priority and above the high priority. The LabVIEW execution system is preemptive, so a higher priority timed structure that is ready to execute preempts all lower priority structures also ready to execute and other LabVIEW code not running at time-critical priority.|
- Advanced Timing—Specifies advanced timing options. The Advanced Timing settings include the following components.
- Deadline—Specifies a time boundary for the completion of an iteration of the Timed Loop. If the iteration does not complete before the specified Deadline, the Finished Late? [i-1] output on the Left Data node returns TRUE in the next iteration.
- Offset / Phase—Specifies the starting time or phase for the iteration of the structure. You can use this option to synchronize structures or align their phases. For example, you can configure two Timed Loops to use the same timing source instance by specifying the same name in Source name. In one Timed Loop, you can enter a value of 0 in Offset / Phase and in the other Timed Loop enter a value of 100. The Timed Loops execute at their respective periods, but 100 timing units separate their execution.
- Timeout—Specifies the maximum amount of time, in milliseconds, the Timed Loop can wait for a trigger event from the timing source. If the Timed Loop does not begin to execute before the timeout value, the Timed Loop executes the iteration untimed and returns Timeout in the Wakeup Reason output on the Left Data node in the next iteration. If a Timed Loop times out and no changes are made to the Offset or Period inputs on the Right Data node, the Timed Loop waits on the next iteration at the same point where the original time out occurred for the same wake-up event.
- Structure Name—Uniquely identifies the timed structure.
|Note When you specify a name for a Timed Loop that you want to use in a reentrant VI, you must wire a string control to the Structure Name item on the Input node and make the string control an input terminal on the connector pane of the reentrant VI.|
- Processor Assignment—Specifies the processor assigned to handle execution. The Processor Assignment settings include the following components.
- Mode—Specifies how to assign available processors to handle execution. You can select from the following options:
- Automatic—LabVIEW assigns a processor to handle execution automatically. LabVIEW disables the Processor control and sets it to -2 when you select this option.
- Manual—The value you enter in the Processor control specifies the processor you want to use to handle execution. You must specify a value between 0 and 255 in the Processor control.
- Processor—Specifies the processor you want to handle execution. The default is -2, which means LabVIEW automatically assigns a processor. To manually assign a processor, enter a number between 0 and 255, where 0 represents the first processor. If you enter a number that exceeds the number of available processors, you generate a run-time error and the timed structure does not execute.
- Action on Late Iterations—Specifies the late iteration mode for the Timed Loop.
- Discard missed periods—Specifies that the Timed Loop discards any data generated during missed iterations and executes on the next scheduled iteration the Offset / Phase and Period values establish. Remove the checkmark from this checkbox to run Timed Loop iterations for each missed period.
- Maintain original phase—Specifies that the Timed Loop returns to the original configured phase. Remove the checkmark from this checkbox to adjust the Timed Loop to run at the same period but not on the originally configured phase.