LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

I don't want to use a "Stop" button....

Nic wrote

"Unfortunetly, shared network variables are going to have to be a neccessary evil in some places in my design because I need to utilize the computer network infrastructure to transfer some signals across multiple programs. "

I don't give up that easy.

Action Engines can be called using VI Server so they can be used to to interact between multiple LV contexts on the same machine, between PC's, and between PC's and any of the RT target platforms.

They will even work across LabVIEW versions!* Smiley Surprised

Ben

*Try to do THAT with a shared variable. Smiley Wink

 

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 11 of 18
(1,651 Views)
Do you think that using an Action Engine or a Functional Global Variable is always a better option over a shared-network variable?  Can you pass waveform data any more reliably through an AE w/ VI Server across a network as oppose to a shared network variable?
0 Kudos
Message 12 of 18
(1,615 Views)
What is VI Server?  Can someone link me to an article or something?  How do I know if I have VI Server?  I am a National Instruments Developers Suite subscriber.
0 Kudos
Message 13 of 18
(1,613 Views)
Nick asked

Do you think that using an Action Engine or a Functional Global Variable is always a better option over a shared-network variable?  Can you pass waveform data any more reliably through an AE w/ VI Server across a network as oppose to a shared network variable?

 
You will have to define "better" before I can reply to your first Q.
 
More reliably?
 
I have used the AE method for communications that survived power failures of the PC such that all data acquired while the PC was down are not missed. It all depends on how you write your AE.
 
Ben
 
 
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 14 of 18
(1,610 Views)

VI Server is the ActiveX interface that LV uses to expose the VI's proprties and methods.

Provided your Server is configured, It lets you programatically open and run a VI. This VI can be on your local machine or on any other machine.

You open a ref to the traget VI and then use "invoke node call by reference" nodes to execute the VI. THe target runs on the machine where it is located and its returned data is passed back to the caller, again, either local or remote.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 15 of 18
(1,605 Views)
"You will have to define "better" before I can reply to your first Q."

I would say that "better" is based on 2 things:
* Maintainability (easy to deploy "new variables" for use in new applications or changed applications.
* Reliability (how much more or less error prone compared to Shared Variables).

-Nic
0 Kudos
Message 16 of 18
(1,604 Views)
One more criteria I forgot to ask about.  Can the functionality of VI Server be passed on to an executable?  I'm working with one developers license and will need to have my apps built and installed on my target machines.  There won't be any working copies of LabVIEW on any of the production machines.  Shared Variables work with my approach......
0 Kudos
Message 17 of 18
(1,602 Views)
"Can the functionality of VI Server be passed on to an executable?"

My Action Engines allow my executables to pull data from the outside world just fine.
0 Kudos
Message 18 of 18
(1,592 Views)