09-08-2010 12:28 PM
Hello all,
I am attempting to put together an application in which a single host retrieves data from 1+ RT-system(s). I am using shared variables to communicate across the network. Because the system may have more than one data acquisition system sending data, I would like to host the SVE on the host computer (running Windows 7). However, I have been unable to get the library to deploy properly when it is located on the Windows PC - I get error -1950679035, "Unable to locate variable in Shared Variable Engine. Deployment of this Variable may have failed" when I attempt to read one of the SVs. The communication works seamlessly when the SVE is located on one of the targets, but I want to get away from this as there is the possibility that the machine hosting the SVE is not present if it is on one of the DAQ devices. I know that I am probably missing something basic (duh), but does anyone have any thoughts? I have attached the project (it is very simple).
Cheers, Matt
09-08-2010 12:49 PM
Sounds similar to something I encountered a while back. You may have to programatically deploy whatever library the shared variables are in.
I used "localhost" as the IP
09-08-2010 01:47 PM
Thanks Tim. Unfortunately I get the same error.
09-08-2010 01:49 PM
Oops. Just realized that this is LV 2010. If you are interested in running it and need a different version, let me know. Here is what my VI looked like after implementing Tim's suggestion.:
09-08-2010 02:07 PM - edited 09-08-2010 02:09 PM
Is this an executable, or a plain ol' VI? What I'm getting at is, are you sure the path is right? (I assume the invoke node would throw an error if it wasn't, but I don't know)
The only other advice I can offer up is to make sure all variables are deployed on every system.
If that's not the problem, there's not much more I can offer up. I have pretty limited experience with networking and shared variables.
09-08-2010 02:13 PM
Haha...obviously mine is fairly limited also. So, here is the story: my starting point is quite simple and illustrates my problem clearly. Pretend that there is not two devices that I am attempting to communicate, but simply (for right now), two VIs in a single project on the same machine for which I am using SVs to communicate between. Pretty basic right? This is what is throwing the error. I can move the SVE to another machine (a cRIO chassis) and all is fine. The trouble all starts (regardless of config) when I attempt to place the SVE on the Windows machine. I suspect this might be some kind of firewall issue, but it is unclear to me what might be going on. Anyway, thanks for the help.
Matt
09-08-2010 02:18 PM
Turn off the firewall for a minute while you test it. If that's the problem, turn the firewall back on and find where you put in the exceptions and allow the other computer access.
09-08-2010 02:52 PM
Well, it seems that I have no problem doing this on another computer (although that one is running 2009 rather than 2010) so I suspect this is related to the firewall; however, I am unable to turn off the firewall on this particular computer due to group policy issues (that would be a big no no with our security guys). I will just have to choose a SVE judiciously I guess.