Showing results for 
Search instead for 
Did you mean: 

I can't read Shared Variables programmatically from Mac OS X

On Mac OS X, I've tried using the psp://hostname/libraryname/variable URL to read Shared Variables using the DataSocket Read function, but it does not work.  Is this feature supported on Mac OS X?  The error that I get is:

Error 1181 occurred at an unidentified location

Possible reason(s):

LabVIEW:  Protocol not recognized by LabVIEW.
JKI Blog
Message 1 of 11
Hi Jim:
I am pretty sure that the new Shared Variables are not supported by any non-Windows OS so far. They are highlighted in the Release Notes for the Mac, but the examples don't work with the kind of error message you saw, and the documentation (if you search for it) does seem to say not for Mac OS.
Message 2 of 11

Unfortunately Bart is correct on this issue (no offense Bart).  The Shared Variable Engine doesn't work on Mac OS, so the variables won't work either.  Here is a document that outlines this (scroll a little less than halfway down).

LabVIEW Shared Variable Tutorial

Hope this helps!
Andy F.
National Instruments
0 Kudos
Message 3 of 11
Andy: I did not ask if I could use the Shared Variable Engine or Shared Variables on Mac OS X.  I asked if I could use the DataSocket VIs with a psp:// URL to access shared variables programmatically, over the network, from a Mac OS X client.
JKI Blog
Message 4 of 11
Hi Jim:
The problem is that the Datasocket isn't available on Mac OS X. I don't think that NI has made this very clear, not even to itself.
0 Kudos
Message 5 of 11
Bart: I'm pretty sure that DataSocket client functionality is supported on Mac OS X via dstp:// URLs and the DataSocket VIs.  However, that is beside the point.  My question is about psp:// client support on Mac OS X via the DataSocket VIs.  Regarding communication being unclear within NI, you are right.  I have an NI internal document sitting in front of me with a platform support matrix for various Shared Variable features and it clearly states that psp:// via DataSocket VIs is supported on Mac OS X.
JKI Blog
Message 6 of 11

My apologies for the miscommunication on my part.  That is a much more difficult question.  I went and checked into this issue for you and was able to reproduce your error.  I tested the communication between DataSocket and a Shared Variable on Windows machines, but was having that exact error when communicating between a shared variable on a Windows PC and DataSocket on a Mac.  I will go ahead and report this issue to R&D.  Thanks very much for helping make LabVIEW a better product in the future. 

Have a great day!
Andy F.
National Instruments
0 Kudos
Message 7 of 11
Andy: Thanks for taking the time to reproduce the issue.  I look forward to hearing back from R&D.

JKI Blog
Message 8 of 11
Hi guys.  Sorry for the confusion on this issue.  Let me try to clarify what works and what doesn't work on our Non-Windows platforms.
  • Variable client functionality DOES work on Mac and Linux.  By this, I mean you can take a VI that you wrote on a Windows box and move it to a non-windows box and any network bound variables (block diagram reference or front panel bound) will continue to work.  This only applies to variables bound to network sources.
  • You cannot create nor variables on non-windows machines.
  • You cannot host variables on non-windows machines.
  • And no, you cannot use a "psp://" URL from DataSocket on Mac or Linux.

I apologize for any miscommunication.


Senior Software Engineer
Web Technologies
0 Kudos
Message 9 of 11
Morgram: Thanks for clarifying.  It seems to me that being able to "move" source code that has network bound variables to Mac OS X and Linux means that creating them on those platforms should be technically possible, without too much effort.  Same goes for psp:// support via DataSocket.  Did these items simply not get finished in time for the 8.0 release?  Will we see them on Mac OS X and Linux, in the future?
JKI Blog
0 Kudos
Message 10 of 11