Actor Framework VIs

Owning Palette: Data Communication VIs and Functions

Requires: Base Development System. This topic might not match its corresponding palette in LabVIEW depending on your operating system, licensed product(s), and target.

Use the Actor Framework VIs to create applications based on the Actor Framework.

These VIs are a small subset of the complete Actor Framework. Most of the framework is not invoked by dropping a subVI. Instead, you create a new child class of Actor.lvclass and then override methods in the new class.

Palette ObjectDescription
Actor:Launch Nested Actor(Filename: Actor Framework.lvlib:Actor.lvclass:Launch Nested Actor.vi)

Launches an asynchronously running VI that performs tasks and handles messages for the Nested Actor. Use this VI to launch actors that are dependent on one or more calling actors. This VI returns a reference to the enqueuer that you can use to send messages to the newly launched actor.

This VI requires the Caller Actor in input to call the Nested Actor. This VI will return an error if the Caller Actor in has not already been launched itself. Use the Launch Root Actor VI for launching an actor without a caller.
Actor:Launch Root Actor(Filename: Actor Framework.lvlib:Actor.lvclass:Launch Root Actor.vi)

Launches an asynchronously running VI that performs tasks and handles messages for the Actor. This VI returns a reference to an enqueuer that you can use to send messages to the newly launched actor.

The Launch Root Actor VI launches the Actor without a caller. Use this VI to launch the root actor of the actor tree. Use the Launch Nested Actor VI to launch all other actors.
Actor:Read Autostop Nested Actor Count(Filename: Actor Framework.lvlib:Actor.lvclass:Read Autostop Nested Actor Count.vi)

Returns the number of auto-stop nested actors that were launched by an actor but have not yet sent back their Last Ack messages. Use this VI to detect whether all nested actors have finished working.
Actor:Read Caller Enqueuer [Protected](Filename: Actor Framework.lvlib:Actor.lvclass:Read Caller Enqueuer.vi)

Returns the reference the actor needs to send messages to its caller.
Actor:Read Self Enqueuer [Protected](Filename: Actor Framework.lvlib:Actor.lvclass:Read Self Enqueuer.vi)

Returns the reference needed for the actor to send messages to itself.
Last Ack:Read Actor(Filename: Actor Framework.lvlib:Last Ack.lvclass:Read Actor.vi)

Returns the state the actor was in when it shut down.
Last Ack:Read Caller-To-Actor Enqueuer(Filename: Actor Framework.lvlib:Last Ack.lvclass:Read Caller-To-Actor Enqueuer.vi)

Returns the reference the caller used to send messages to the actor. Although the reference is invalid, you can use it to identify which actor shut down.
Last Ack:Read Error Report(Filename: Actor Framework.lvlib:Last Ack.lvclass:Read Error Report.vi)

Returns the error, if any, that caused an actor to shut down.
Report Error Msg:Send Error Report(Filename: Actor Framework.lvlib:Report Error Msg.lvclass:Send Error Report.vi)

Use this VI to send an error to an actor. The error will be handled by the Handle Error VI of the actor. If the error is not handled there, it will cause the actor to stop running.
Stop Msg:Send Emergency Stop(Filename: Actor Framework.lvlib:Stop Msg.lvclass:Send Emergency Stop.vi)

Sends an Emergency Stop message to an actor, triggering the actor to shut down as quickly as possible. This message has critical priority, meaning it will be processed before all messages that are already in the queue.
Stop Msg:Send Normal or Emergency Stop(Filename: Actor Framework.lvlib:Stop Msg.lvclass:Send Normal or Emergency Stop.vi)

Sends a Stop message to an actor. The priority of this message is determined by the value of the final error code input. If this input is 0, this VI sends the message with normal priority; otherwise, it sends the message with critical priority.
Stop Msg:Send Normal Stop(Filename: Actor Framework.lvlib:Stop Msg.lvclass:Send Normal Stop.vi)

Sends a Stop message to an actor, triggering the actor to run its Stop Core method. This message has normal priority, meaning the actor will process this message after processing high- or normal-priority messages that are in the queue already.
Note  Refer to the Actor Framework template, available from the Create Project dialog box, for a template that demonstrates the basics of the Actor Framework. Refer to the Feedback Evaporative Cooler sample project, also available from this dialog box, for a sample project that demonstrates an application based on the Actor Framework.


SubpaletteDescription
Advanced VIs (Actor Framework)Use the Advanced VIs with the Actor Framework to implement advanced messaging techniques.