03-16-2009 06:58 PM
Are shared variables supported on Mac and Linux? I saw a thread from 2006 in which people were saying they are not, but I was hoping this functionality would have been implemented by now.
I basically want to port my application to both Mac and Linux but currently it uses shared variables.
If they are not supported, how can I use datasocket? I seem like the publisher always has to be running if the client wants to read the published data. Is there any way to simply publish something on the server and it is available even when the publisher stops working?
03-17-2009 12:15 AM
abdel2 wrote:If they are not supported, how can I use datasocket? I seem like the publisher always has to be running if the client wants to read the published data. Is there any way to simply publish something on the server and it is available even when the publisher stops working?
No, that's not possible. Because of which it is necessary to host the Shared Variable Engine on a system that is always online. I would recommend that you go through the following document; probably one of the best documents on shared variables:
03-17-2009 01:33 PM
So there is no way to host data on Mac or Linux? I can't use a window or RT system to host shared variables because I want the Mac or Linux to be a standalone system that will support my application.
I guess the only other way is to implement a custom TCP/IP server that can HOST data rather than just pass data from publisher to subscriber?
03-17-2009 02:07 PM
Perhaps if you tell us more about your application, someone can offer a solution which will work on Mac and Linux. What is the source of your data? How much data is generated and how fast? Is the data shared among separate applications or separate VIs within one application? One or multiple computers?
Lynn
03-17-2009 02:40 PM
The application has two main components: control and data acquisition. The control always runs on the host computer (Windows/Mac/Linux) but data acquisition can either run on the same OS or a RT target.
I am developing add-on modules for the application that can be implemented in it. A simple module would be one that has two Vis. One runs on the host computer to change its settings. Other Vi runs on the RT target and uses the new settings to do stuff. Now I need a way to shared data between these two Vis. I could use data socket but settings vi would always have to be running as long as Vi on the RT target is running. I am trying to find a way so the settings can be saved somewhere so the other Vi can access them.
03-17-2009 11:57 PM
I just did some more reading on Datasocket and it looks like datasocket server is only available on Windows in Labview 8.5. Is it still the same for the latest version (8.6)?
Other than TCP and UDP, is there any sort of built in data sharing method that works for all the platforms and doesn't require Windows in addition?
03-18-2009 04:11 PM
Hi abdel,
Datasocket is supported in LabVIEW 8.6 and on Linux and Mac. But shared variables are still not supported on those OS.
Sorry, but nothing else beyond TCP and UDP is supported on Linux and Mac.
03-18-2009 11:04 PM
03-19-2009 05:23 PM