From 11:00 PM CDT Friday, May 10 – 02:30 PM CDT Saturday, May 11 (04:00 AM UTC – 07:30 PM UTC), ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Actor Framework Packed Library in LabVIEW 2015

Hello,

I've been learning how to use the actor framework from all the material in the featured section but I'm having two issues when it comes to trying to wrap up a project and using packed libraries in Labview 2015.

1. When my actors inherit from the Actor class in an Actor Framework.lvlibp, I can no longer use any of the Actor Framework VI's found in the Functions Palette. I'm not sure if this is the expected behavior or if I'm doing something wrong when creating the lvlibp.

2. Once I replace the Actor Framework.lvlib with an Actor Framework.lvlibp in one project, all Actor Framework projects seem to now depend on Actor Framework.lvlibp even if all the actors in the projects inherit from the Actor class in the original Actor Framework.lvlib. I think I was able to trace the dependency down to something in the AF Debug.lvlib. I don't remember seeing this issue when I evaluated the actor framework and packed libraries with LabVIEW 2013, so I'm not sure if there are additional steps that I have to do before replacing the Actor Framework.lvlib with a packed library in LabVIEW 2015.

Any help would be appreciated.

0 Kudos
Message 1 of 7
(6,176 Views)

Hi,

I haven't checked this in LV15 yet, but from my experience in LV14 (I got the impression you went straight from LV13 to LV15, yes?):

1. I wouldn't say "cannot use" but I wouldn't recommend doing so. you'll have two types of actors (from the lvlibp and the lvlib) and they are not compatible. I did succeed in using (by mistake) from both sources, though.

2. I didn't see this in LV14. On the contrary, each project I needed to add the lvlibp and inherit from it separately.

How did you make the lvlibp? Did you just move it from LV13 or did you create a new one for LV15? In LV15, what is included in the lvlib? AF debug is not part of my lvlibp in LV14.

Good luck,

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 2 of 7
(4,286 Views)

Your observations are correct.  If you opt to create a PPL for Actor Framework, you will not be able to use the AF palettes, because they point to the version of AF in vi.lib.  You will also want all of your actors and messages for the project to inherit from base classes in the PPL.  Actors that inherit from actor.lvclass in vi.lib are not compatible with actors that inherit from your PPL version.  (This is also true for messages and enqueuers.)

You will continue to have Desktop Execution Trace Toolkit support.

You can use the new project tools with your shiny new PPL, but you will need to set a token in your LabVIEW INI file.  The token is AFProjectProvider.PPL; set its value to the path to your AF PPL.

DETT and PPL support did not make it into the documentation for some reason.  I will post to the forum on both of these topics very soon.

Message 3 of 7
(4,286 Views)

PPL support documentation is here:

PPL Support in Actor Framework Project Provider

Message 4 of 7
(4,286 Views)

Sorry for the delayed response, thank you for all of the info and additional documentation you posted.

I finally had some time to play around with DETT feature you mentioned and it seems like it will be very helpful. The only problem is that I can't seem to get it to work when I'm using an Actor Framework PPL. Should the AF_Debug.lvlib be dragged into the the Actor Framework PPL? The DETT is able to print all of the generic statements, but it doesn't print any of the User-Defined Trace Events when I enable the conditional disable symbol in the project using the PPL. I'm not sure if I'm building the PPL incorrectly or if those events aren't supported when using a PPL.

0 Kudos
Message 5 of 7
(4,286 Views)

Since DETT support is enabled with a diagram disable structures, and PPLs contain compiled code that doesn't suprise me.

You may have to compile two PPLs:

-A normal AF PPL with DETT support disabled

-A debug AF PPL with DETT support enabled

Craig H. | CLA CTA CLED | Applications Engineer | NI Employee 2012-2023
Message 6 of 7
(4,286 Views)

Thanks! It worked when I compiled the PPL with the DETT support enabled.

0 Kudos
Message 7 of 7
(4,286 Views)