10-05-2013 05:23 AM
If you've worked with Action Engines (AE) they use much of the same think as objects. You encapsulate functions and data to one structure. The 2 big differences being that if you have a multitude of functions the AE gets ALOT of input/outputs* and if you want to expand e.g. an instrument AE to support several type it'll be a mess of case structures inside for the different commands depending on which instrument.
Connector mess can easily be handled by gathering functions in a folder and/or lvlib, though you'll still get the Case inside each for handling different models.
OOP solves this by allowing different functions and thus optimized connection patterns for each function, and OOP handles which "case" of driver is to be used for e.g. Instrument write.
OOP is a way of structuring and handling code and hiding alot of messy administrative work, apart from that it's basically a folder/lvlib of functions.
* You could create a AE with a variant input and have it totally general, but you'll get no help on what to input for each function. ^^
/Y
10-07-2013 07:00 AM
Yea, never heard of Action Engines. Got some learning to do for sure. Will see what the boss will let me spend on training and go from there. May buy the OOP course manuals to study on in the meantime and keep playing with the included sample projects.
10-07-2013 07:26 AM
@dacad wrote:
Yea, never heard of Action Engines.
Often also called Functional Global Variables. Here's where the term Action Engine was made: Action Engine. It is an excellent nugget to read through.
10-07-2013 09:33 AM
@crossrulz wrote:
Often also called Functional Global Variables. Here's where the term Action Engine was made: Action Engine. It is an excellent nugget to read through.
I make the distinction that if it's only get/set, then it's a FGV, if there's more commands it's an AE. 🙂
/Y
10-07-2013 11:51 AM
@Yamaeda wrote:
@crossrulz wrote:
Often also called Functional Global Variables. Here's where the term Action Engine was made: Action Engine. It is an excellent nugget to read through.
I make the distinction that if it's only get/set, then it's a FGV, if there's more commands it's an AE. 🙂
/Y
I fully agree. But there are plenty of people out there that will argue about that.
10-09-2013 02:01 AM
Wasn't there a long thread on what the definition should be and what to call an AE that gets really many and advanced functions? I guess there's a line when an AE becomes a object light or simply a sub-vi.
/Y
10-09-2013 07:50 AM
@Yamaeda wrote:
Wasn't there a long thread on what the definition should be and what to call an AE that gets really many and advanced functions? I guess there's a line when an AE becomes a object light or simply a sub-vi.
/Y
There was one over on LAVA right after NI Week:http://lavag.org/topic/17042-fgvs-action-engines-and-dvrs-a-rif-on-nancys-ni-week-presentation/