Workers for LabVIEW
HomeDownload Follow ProjectAbout
  • Welcome to Workers for LabVIEW
  • What's New in v5.0
    • Upgrading to v5.0
    • New Features
      • Development Tools
      • Functional Changes
      • API Changes
      • Example Projects
      • Change Log
  • Fundamental Concepts
    • What is a Worker?
    • Important Terms
    • The Workers Main VI
      • Default Framework Cases
    • subWorker Types
    • Initialization Sequence
    • Shutdown Sequence
    • Priority Queue
    • Launcher VIs
  • Worker APIs
    • Overview
    • Local Requests
      • Creating Local Requests
    • Public Requests
      • Creating Public Requests
    • Public Requests w/Reply
      • Creating Public Requests w/Reply
    • Public Responses
      • Creating Public Responses
      • Registering Public Responses
    • Case Labels
    • Deleting API Items
  • Workers Tools
    • Workers Tools Menu
      • Create/Add Worker
        • Removing Workers
        • Creating Worker Templates
        • Troubleshooting
      • Workers Debug Server
        • Workers Application Manager
          • Right click menu
        • Worker Message Logs
          • Right click menu
        • Settings
        • Troubleshooting
      • Worker Call-Chain Viewer
      • Worker User Library
        • Config File Editor
      • RT Worker Convert
      • Public API Builder
        • Public Requests
        • Public Requests w/Reply
        • Public Responses
        • Override MHL Cases
      • Create Launcher VI
      • Create Worker Base Class
      • Change Inheritance
      • MHL Case Viewer
      • Change Worker Properties
    • Quickdrop Shortcuts
      • Show Private Data (Ctrl+0)
      • Create MHL Case tool (Ctrl+9)
      • Go To MHL Case (Ctrl+8)
  • Getting Started
    • Creating your first application
    • Example Projects
  • Legal
    • Disclaimer
    • Licenses
Powered by GitBook
On this page
  1. Fundamental Concepts

Launcher VIs

Workers Fundamental Concepts

PreviousPriority QueueNextOverview

Last updated 11 months ago

You can create Launcher VIs with the tool.

A Launcher VI is a VI that you run to launch the of a Workers application.

By default, a Worker cannot launch/run itself, and this is the reason we need a Launcher VI.

The following image shows a Launcher VI for a Worker in a LabVIEW project, and below that the block diagram of the Launcher VI.

A Launcher VI contains (from left to right):

  • the class object constant of the application's head Worker

  • the Worker's palette VI: Debug Client Loader.vi

  • the Worker's palette VI: Setup Head Worker.vi

  • the Main VI (Main.vi) of the application's head Worker.

Running the Launcher VI will launch the application's head Worker along with all of head Worker's statically-linked subWorkers. If the Launcher VI is aborted, then all Workers in the application's Worker call-chain hierarchy (both statically-linked and dynamically loaded) will also be immediately aborted.

Asynchronous Launcher VIs

Asynchronous Launcher VIs will asynchronously launch a Worker's Launcher VI (above) and can be used to load multiple instances of a Workers application. Asynchronous Launcher VIs return the loaded Worker's class object containing only its Public Properties. This object can then be used with a Worker's Public API Request VIs from applications external to the Workers application (eg. TestStand).

The Workers 5.0 and example project both launch their respective Worker applications using Asynchronous Launcher VIs.

DMM HAL Demo Project
TCP Server and Client
Create Launcher VI
Head Worker
Launcher VI launches head Worker of application.
Launcher - Worker A.vi