06-11-2013 07:58 AM
I'm trying to figure out what methods are available for communication between web service VIs and other VIs that are part of a running application. I came across this forum post:
that mentions using VI server to "Open Application > Open VI > Call By Ref > Close VI > Close Application" to allow the web service VIs to access parts of the persistenly running application. Also, I found this post:
http://forums.ni.com/t5/LabVIEW/Interfacing-web-services-and-RT-applications/td-p/1198021
that says you can use shared variables and vanilla tcp/ip to have the two communicate.
What I had hoped to do was just have a set of FGVs (that are already present in my persistenty running, built application) be accessible by the web service VIs. However, when I try this, labview has apparently created two instances of each FGV (even though they're set as re-entrant).
So... is there an enumerated list of all the ways that web service VIs can get access to data from the VIs in a built application somewhere? Or, even better, is there some way to package the web service and the application together so that they share an instance of all FGVs?
Thanks.
06-11-2013 10:19 AM
You must use Network Shared Variables, or raw TCP at this point. However, you should keep your eye out for LV 2013, as significant enhancements have been made to the exact use case you have referred to.
06-11-2013 11:35 AM
I would also suggest Network Streams are a good option for current versions of LabVIEW.
06-13-2013 08:17 AM
why is using vi server to get a reference to the other application instance and then using "call by reference node" no good?