07-10-2015 03:22 PM
I searched quite a bit and didn't find a good explanation so please excuse my question if it's easily explained somewhere else...
I'm trying to figure out what exactly is happening when I drag a NSV from the RT Target folder of my project and drop it into a VI that lives on the host (My Computer) folder of my project. Also, if there is a difference between doing that rather than just creating another library on my host and binding via ni-psp aliases.
The reason I ask is that I've been pretty lazy in the past when it comes to variable usage in LabVIEW i.e. multiple readers/writers, always using NSV regardless of the scope, etc. Now it's finally catching up with me. I have a RT Desktop target and a host PCs. I'm getting a lof of messages saying that the RT Target is not responding when running multiple VIs on both my host and target (running from my host using the target side of the project folder). So far i've just used NSVs that I jsut drag and drop throughout the whole project, but live on the RT Target side of the project with no buffer or RT FIFO. My understanding is that those are not nececssary if you are only trying to get the lates value at any given time.
Sorry that was long winded.My real question is about the comparison of the two methods of using shared variables. Any explanation would be appreciated. Thank you.
07-13-2015 05:30 PM
When you drag a network-published shared variable from your RT target onto a VI on the host, that means that the NPSV is being hosted on the RT target. The host will access it from the RT target whenever it reads a value.
What are you referring to when you say NI-PSP aliases? Are you referring to the API within LabVIEW? I believe that accesses the variables in much the same way; the variables would still be hosted on an IP address, and the "Open Variable Connection" VI would still be looking to the IP address where the variable is hosted.