Actor Framework on cRIO

Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.
Highlighted

Building dependent PPLs on cRIO targets

I have successfully built several PPLs with a hierarchy of dependencies on my Windows target (i.e. dev machine).

These begin with the Actor Framework (which I have since learned has an example project for building a PPL, findable with the NI Example Finder in LabVIEW), and also include a second project/library->PPL containing several messages which are not a part of the AF library (Batch, Report Error, Self-Addressed, Time-Delayed and Reply).

 

I'm trying now to build a library that depends on these two (and of course, the message library depends on the AF library), for the cRIO target (9045, but I don't think that's particularly important. Perhaps I'm wrong...).

 

On Windows, this involved me either a) creating the library with direct dependency on Actor Framework.lvlibp, and AF-Messages-PPL.lvlibp (my name, or something close to what I chose), or b) creating with a dependency on Actor Framework.lvlib, and then using the "Replace with a packed library..." option to go to the lvlibp.

 

Building the same library for cRIO, I'm a little lost.

After some fighting back and forth (possibly stemming from AF_Debug.lvlib, which seems desperate to drag the PPL version of AF into the mix, perhaps due to some loading behaviour of the project provider?) I managed to build the AF and AF-Messages-PPL libraries for cRIO, by dragging the source libraries (lvlib) into the cRIO target (directly under "RT CompactRIO Target", not inside the Chassis), then setting up build specifications as normal and building.

Probably somewhere around here I made some mistakes with regards to paths. The PPL Build Spec allows me to specify two paths, "Local destination directory" and "Target destination directory", which is itself relative to the local directory when the packed library is produced on the Windows machine (but is presumably the absolute path on the cRIO system).

I'm hopeful that these libraries built correctly, because when I try to load the Windows PPL for Actor Framework, I can't (under the RT target), but when I try to load the newly built version, I can.

When I then opened a new project to build my dependent library, I first added the cRIO target and then the two AF libraries (RT versions). So far, so good. I added these from the same directory that I normally store the Windows PPLs in, because otherwise they seemed to want to look there. This isn't where they were built (which was under a series of directories, /home/lvuser/natinst/bin/<blahblah>.lvlibp).

When I added the source library (lvlib), my dependencies list is shown in an attached file (because I can't seem to attach an image normally).

Actor.lvclass, Message.lvclass and Message Enqueuer.lvclass are all shown separately from Actor Framework.lvlib{,p}, and as not loaded (and outside vi.lib). A file view is also attached.

 

What's the best process for building cRIO PPLs using Actor Framework? And are there any specific tips regarding Actor Framework on other targets when it comes to packaging (because of the development environment linking things in, and AF_Debug in <resource> also having some links to Actor Framework.lvlib, and building those making a mess of others (I'm glad I have my vi.lib/ActorFramework directory in a local git repository...)

 

Thanks for any suggestions, help or advice you can provide.

0 Kudos
Message 1 of 1
(125 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.