LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

continuous measurment and logging actor framework

I am building an application using the Actor Framework and am having some trouble transitioning from what I know about QMH to AF.  The template in LabView for Continuous Measurement and Logging using QMH is clear enough, but I am not sure how I would create an identical-functioning project in AF.  It seems natural to create Acquisition, Logging, and Display actors as nested actors of a calling GUI actor. I thought to just create data queues and data handlers in the class private date of GUI and pass this around. My concern is that when passing data between the actors using normal or abstract messaging, there will be too much overhead compared to using QMH where all the helper loops are in the same VI.  Has anyone creates a similar project (e.g. using DAQmx) with AF?  What strategy do you recommend?  

Message 1 of 5
(2,406 Views)

I would build an UI actor that will launch the acquisition actor that will launch the logging actor. I would keep communication only between caller and nested. UI will send messages to the acquisition actor to configure, start and stop measurements. Acquisition actor will send abstract messages with the measured data to the UI for displaying and "normal" messages with the same data to the logging actor to log the data.

The acquisition actor will have to send messages to itself when measurement started to keep the measurement going and will store its state into its private data just like the acquisition process is doing in the Continuous Measurement and Logging template.

Indeed there is an overhead associated with sending messages in AF compared with QMH and queues but you'll see that is not such a big problem. Think also that data from a queue containing a variant will have to be converted to be processed using Variant to Data function which is rather slow where in AF, messages contain the data already in the expected format.

Lucian
CLA
Message 2 of 5
(2,342 Views)

Hi,Lucian

    I am  really interested in this topic that some sone can override continuous measurment and logging using ActorFramework.Do you created four actors and using abstract message to communicate with each actor?

0 Kudos
Message 3 of 5
(2,226 Views)

Hi Jonathan,

I did not do it, I explained in post #2 how I would do it. I think 3 actors should be enough: UI, acquisition and logging. Abstract messages are needed only for messages send from nested to caller. The idea is to avoid dependency between nested and caller. Caller always depends on the nested but nested should not depend on a specific caller.

Lucian
CLA
0 Kudos
Message 4 of 5
(2,209 Views)

Thanks.Lucian.I will keep trying

0 Kudos
Message 5 of 5
(2,205 Views)