Launcher VIs
Workers Fundamental Concepts
Last updated
Workers Fundamental Concepts
Last updated
You can create Launcher VIs with the Create Launcher VI tool.
A Launcher VI is a VI that you run to launch the Head Worker 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 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 DMM HAL Demo Project and TCP Server and Client example project both launch their respective Worker applications using Asynchronous Launcher VIs.