Actor:Send Launch Nested Actor Msg [Protected] VI

Owning Palette: Advanced VIs (Actor Framework)

Requires: Base Development System

(Filename: Actor Framework.lvlib:Actor.lvclass:Send Launch Nested Actor Msg.vi)

This VI sends a message containing an actor to another actor. The actor receiving the message will launch the payload actor as a nested actor. Use this VI only to send a message from an actor to itself.

Ideally, this VI should have a scope such that an actor can only send this message to itself. However, LabVIEW cannot specify a run-time dependent scope, so you must use this VI only as specified.

Details  

Message Priority specifies the placement of the messages in the message queue, which determines when the actor will process the messages.

0Low—Specifies that the batch will be processed after messages of all other priorities.
1Normal (Default)—Specifies that the batch will be processed after critical- and high-priority messages but before low-priority ones.
2High—Specifies that the batch will be processed first. High-priority messages can be superseded only by an Emergency Stop or Last Ack message, both of which have critical priority.
Self Enqueuer in is the reference the actor uses to send messages to itself.
Nested Actor is the initial state of the actor you want to launch.
Auto-stop determines whether Nested Actor stops when the calling actor stops. The default value is TRUE. If you set the value of this input to FALSE, you must manually override the Stop Core VI on the caller actor to specify stop behavior for Nested Actor.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
Open Actor Core front panel? specifies whether, on launching the actor, the front panel of the Actor Core method opens. The default is FALSE. The TRUE setting causes this VI to return an error in the run-time engine.

Set Open Actor Core front panel? to TRUE during code development so you can access the Abort button for the VI, which helps if you forget to stop an actor. To open the Actor Core front panel of an actor for purposes other than debugging, use the Front Panel:Open method. You can also enable Show front panel when called on the Customize Window Appearance dialog box to configure this VI to open the Actor Core front panel when you call the actor.
Self Enqueuer out returns the reference the actor uses to send messages to itself.
error out contains error information. This output provides standard error out functionality.

Actor:Send Launch Nested Actor Msg [Protected] Details

It is generally problematic for any actor A to send a message telling another actor B to launch a new nested actor C. Any message from A to B should tell B what to do, but not how to do it. By including actor C in the message, A not only tells B to do a task, but that B do the task by managing a nested actor. B may have a better way to accomplish the task, and deciding how to respond to the message from A should be a part of the internal details of B. If you violate this general rule, you create coupling between A and B that may cause problems if you need to refactor B. Because A depends on B working in a particular way, you may have to rewrite A in addition to rewriting B.

If you want to use this VI to launch a nested actor from one actor to another, create a public VI in the calling actor class that includes the Send Launch Nested Actor Msg VI.

Refer to the Actor Framework template for more information about the Actor Framework. To use the Actor Framework template, click Create Project from the LabVIEW start screen and select Actor Framework.