Helper Loop monitoring

Version 1.5 introduces a new Monitoring window that allows you to view the diagnostics information about all the Helper Loops in a given LabVIEW project.

Accessing the window

At any time, you can open the Monitoring window from LabVIEW’s Tools menu:

Finding the window in the Tools menu
Figure 1. Finding the window in the Tools menu
Monitoring window
Figure 2. Monitoring window HMI

How it works

Basics

In version 1.5.0 of the toolkit, the function Init Helper Loop Info registers the Helper Loop with an advanced kind of global variable (action engine). At any time, the Monitoring window can read this global variable to retrieve the list of Helper Loops. Other functions of the toolkit can then update this global variable with the most current information. Every few seconds, the window will retrieve from the global variable basic information from all loops:

  • Their period

  • Their status:

    Idle

    loops that haven’t started yet

    Running

    loops that are periodically executing (or at least trying to execute) their Timeout case

    Stopped

    loops that were stopped either by the user (by calling the Stop Helper Loop) or automatically (if the user asked for a specific number of executions)

For this to work for Helper Loops created with previous versions of the toolkit, it is necessary to manually replace your existing Init Helper Loop Info function (in its version 1 or 2) with the one from the palette (version 3).

Fast monitoring

For more advanced diagnostics, an event-based system needs to be activated by pressing Start monitoring. When this is enabled, the window will receive "in real time" information allowing it to:

  • Count how many times each loop is late in its execution of the Timeout case.

  • Show a Stuck status when a loop hasn’t been able to execute its Timeout case for at least 500ms.

  • Display how long the last Timeout case took to execute.

If there is some code placed after (to the right of) the event structure, the displayed execution time includes the execution of this code.
Only press Start monitoring when some of information in this section is of high interest since it will necessarily impact the performance of the toolkit functions themselves. If you simply wish to see which loops are running and what their period is, you can leave monitoring disabled.