02-02-2020 07:53 PM
Hi,
I am more used to QMH and a novice for LVOOP. However, "Tom's LabVIEW Adventure" youtube channel inspired me to start using Actor Framework and now I am loving it!
Thinking about 4 hour CLA exam (which I am preparing for), I am bit worried that I am not practised enough to cover the requirements on time. I having been trying this on ATM sample exam available in CLA Exam Kit. Please see attached ActorTree.JPG - my thought process in implemeting it.
I really appreciate if you can advise on following questions I am having:
1. ATM Controller at top level of the actor tree, it nests 4 APIs. Then I created 2 child classes for Simulated (SIM) and Physical (PHY). I created abstract message for every control (user event) from each API, so that their is no dependency from calling actor. Please see attached ATM.zip - the way I have done Sensor Interface module. Is there is a more efficient way of doing this in the exam?.
2. If an error occur in Sensor Interface SIM helper loop, how can I,
a. Warn user with a popup allowing to clear the error and continue?
b. Log the error? I guess I have to propergate it to ATM Controller in a masage and get the controller to log it?
Any further tips on Actor Framwork in CLA exam would be really appreciate
Solved! Go to Solution.
02-03-2020 02:41 AM
Hey London,
I'm glad you're enjoying using the Actor Framework.
I had a quick look at the attachment and my thoughts are:
2. If an error occur in Sensor Interface SIM helper loop, how can I,
a. Warn user with a popup allowing to clear the error and continue?
b. Log the error? I guess I have to propergate it to ATM Controller in a masage and get the controller to log it?
a) Make an override of 'Handle Error.vi', then simply use a case-structure with a dialog box and clear the error.
b) Assuming you want this to happen for every actor/every sensor actor, make an override of 'Handle Error.vi' in the parent class and add the logging to file functionality (or send a message to an error handling actor). Because of the stacked nature of AF actors, all child actors will then inherit that functionality.
I hope that helps,
Let me know how you get on with the exam and practice.
Best regards,
Tom
nb: 'Main Launcher.vi' is missing from the project you attached.
02-03-2020 06:13 AM
Tom, Many thanks for your reply.
So I don't quite see how handle error would solve that. That's why I am sending an abstract message to the caller with the error message (occurd in the helper loop) and let it decide whether to kill the actor or clear the error.
Where am I wrong in my understanding?
02-03-2020 06:18 AM
I think all you're missing is the 'Send Error Report.vi'. You can use this VI to send errors from your helper loops into the actor core. That way, the 'Handle Errors.vi' will receive them.