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.

Re: Actor Framework on cRIO

AristosQueue wrote:

niACS and I are agreeing here

We're in violent agreement!  Excellent!

0 Kudos
Message 11 of 36
(290 Views)

Re: Actor Framework on cRIO

niACS wrote:

AristosQueue wrote:

niACS and I are agreeing here

We're in violent agreement!  Excellent!

Now we can move on to violent execution*! Our management will be so pleased!

* this is a favorite buzzword around NI. NI doesn't have a lot of the corporate-speak that I have experienced at other jobs, but we do pick up the interesting ones.

0 Kudos
Message 12 of 36
(290 Views)

Re: Actor Framework on cRIO

In my system I have a UI that might display a lot of data for each of 4 subsystems. So a direct connection is made between the subsystem UI and the subsystem RT. All of that data on the RT side does not get sent to the system controller. The system controller only receives state updates from the subsystems. In this manner an interface is defined between the system and subsystem and allows a subsystem to be changed without a rewrite of the system controller.

I am sending 157 different data channels to my current UIs and I don't want the system controller to know anything but the state of each subsystem.

Casey Lamers


Phoenix, LLC


casey.lamers@phoenixwi.com


CLA, LabVIEW Champion


Check Out the Software Engineering Processes, Architecture, and Design track at NIWeek. 2018 I guarantee you will learn things you can use daily! I will be presenting!

0 Kudos
Message 13 of 36
(288 Views)

Re: Actor Framework on cRIO

Casey,

Are you planning on doing some kind of description of the system that you are working with?  I am always curious as to what complexity means to people.  I think of my systems as "complex", but I suspect they are not so compared to those such as yours...

Matt

0 Kudos
Message 14 of 36
(288 Views)

Re: Actor Framework on cRIO

Matt,

I can do a write up when I have some time.

The short answer is:

1 UI on a PC that has somewhere around 30 actors running at once. Subpanels loaded by views of which system is running on the floor.

2 cRIO chassis, one floating at 300kV (particle accelerator).

Main cRIO runs system controller, 4 subsystem controllers, and a raft of components. Somewhere around 100 actors if I had to guess. Watchdogs, Linked Network Actors, Helper Loops for polling, lots of models of the components with states and data output.

Second Chassis runs the high voltage components and has what I refer to as partial subsystems. Use LNA to connect to main subsystem on main chassis. Partial subsystems have their own components but don't have a state for the subsystem.

I am somewhere around 10k VIs but this is for several different configurations. Probably run around 1/2 of that on any one system.

Casey

Casey Lamers


Phoenix, LLC


casey.lamers@phoenixwi.com


CLA, LabVIEW Champion


Check Out the Software Engineering Processes, Architecture, and Design track at NIWeek. 2018 I guarantee you will learn things you can use daily! I will be presenting!

0 Kudos
Message 15 of 36
(288 Views)

Re: Actor Framework on cRIO

Ah...particle accelerator would probably be sufficient to describe the complexity...Allan mentioned you guys when he was in Denver the other day.

Thanks a lot for all of this Casey - I look forward to hearing more about this.

Chers, m

0 Kudos
Message 16 of 36
(288 Views)

Re: Actor Framework on cRIO

So, I am going to add something here that is probably a no duh! for all the dedicated AF developers, but I think it bears(or is that bares?) repeating - do NOT set your actor core to show front panel on a RT target!  For some reason that I don't understand, the AF doesn't ignore this and you can spin your wheels for hours trying to figure out why 1) your compiled exe is not functioning properly and 2) what all of those errors thar are causing your system to shutdown are (especially when everything seems to work properly in the dev environment).  I just ported some code from a desktop system to an RT system and didn't change the flags on the launch actor method and have now been running in circles for about 1.5 days trying to figure out just why my stuff worked in the dev environment and not in a compiled exe.  Why it behaves like this, I will let AQ or niACS explain....

0 Kudos
Message 17 of 36
(288 Views)

Re: Actor Framework on cRIO

Thanks for posting this. I am not far from building an exe for my cRIO and this kind of stuff is good to have fresh in my mind. Helps to avoid the face palm after hours of tracking down the obvious bug I introduced.

0 Kudos
Message 18 of 36
(288 Views)

Re: Actor Framework on cRIO

I am kinda new to the AF, but am interested in the cRIO idea. I have been developing a test environment not dissimilar to the Measurement Actor example, and am wondering what it would take to get my whole cRIO to behave like an actor node for a distributed app ultimately controlled by a PC. Would you have any code/examples/pointers to good starting places? The first think I can think of is that I need to use the linked network actor as a starting point, as opposed to a regular old actor I guess...

Rik

0 Kudos
Message 19 of 36
(288 Views)

Re: Actor Framework on cRIO

rik_aspinall: For a distributed app -- one that uses multiple cRios as if they were on-the-fly available computing nodes -- take a look at the nested network actor instead of the linked network actor. I have never added this as part of the official AF because I haven't gotten enough users to test it and let me know if it is a good pattern or not.

If you follow the nested network actor pattern, then they behave exactly like regular actors -- the queues are proxied across network links seamlessly behind the scenes. The only change is to Launch Nested Actor where you supply an application instance refnum.

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