LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Actor Framework auto generate actor

Solved!
Go to solution

Hello,

 

I'm starting to use the actor framework for a large application. I am wondering if there is a way to auto generate a new Actor?

 

I understand I can auto generate messages for an actor using Tools -> Actor Framework Message Maker...

 

I make an Actor by making a new Labview class say:

 

Test Actor.lvclass

 

Then set the inheritance of this class to Actor.lvclass

 

Make the Actor Core.vi Method

 

Make a Write waveform method

 

Set the scope of Actor core to protected, and other methods to public (just like the Simple Actor example) and make actor core reentrant

 

I am making the structure EXACTLY like the Simple Actor example, but I get the following errors in my new Actor Core.vi:

 

"This VI doesn't match other VIs in the method, Connector Pane Terminal(s) are different. All VIs that implement a method of a LabVIEW class must match Connector Panes. To correct this, compare Connector Pane of both this VI and the VI of an ancestor class that implements this method."

 

and

 

"The owning VI is not a dynamic member VI of a LabVIEW class. The Call Parent Method node should only be used in a dynamic member VI of a LabVIEW class."

 

I tried to read into this message, but it appears my connector pane is the name. I'm not sure whats going on.

 

(1) Can someone show me what I am doing wrong here?

 

(2) Is there a way to auto generate the Actor?

 

Every time I try to construct an actor from scratch I get the above errors. I have attached my project (LV2012).

 

Any help is greatly appreciated!

 

 

0 Kudos
Message 1 of 5
(3,491 Views)
Solution
Accepted by mkabatek

Create a "Project Template" (search the forums for it)

Try the latest GDS (GOOP Developer Suite - free for small projects)

 

You didn't set the Test Actor.lvclass input terminal to "Dynamic Dispatch".

You don't need to make Actor Core.vi from scratch. After creating the class and setting its parent as Actor, right-click on your class and Create VI for Override.

Message 2 of 5
(3,486 Views)

Simpler than the Project Template is to drop a .vit file in a place where quick-drop can find it.

After I create Actor Core.vi with a right-click, I hit ctrl-space "coregui.vit", which drops in the standard code I use for an actor that has a GUI (the terminal controls are not included in the template).

0 Kudos
Message 3 of 5
(3,484 Views)

Hi Todd_Lesher,

 

Thanks! VI for Override works well! Exactly what I was looking for.

 

BTW, Is it possible to change the setting of the Test Actor.lvclass input terminal to "Dynamic Dispatch" manually? Can you explain how to do that if I make the actor from scratch?

0 Kudos
Message 4 of 5
(3,470 Views)

I know this is old, but just to update this thread with info to others that are starting with Actor Framework and LabVIEW 2013.

 

The GOOP Development Suite is free now, free to download from NI's website.

With this you can make an actor. It is described here how to use GOOP to do it.

 

0 Kudos
Message 5 of 5
(3,252 Views)