02-22-2011 07:11 PM
Hi,
I would like to use network shared variable to send data from a VI ont the RT controller of my CompactRIO to the Host VI that runs on my computer. I did a like VI to understand the way shared variable works but I didn't find the right properties to ensure that I'm not losing the data.
Does somebody could help me with that?
02-23-2011 08:56 AM - edited 02-23-2011 09:05 AM
Network Streams in LV 2010 are designed for lossless data transfer. NSV's do not guarantee to be lossless, you would have to add a data index count to a data cluster so that integrity could be verified. There are examples of lossless tcpip RT->Windows transfer at ni.com.
Another thing to consider is that sometimes you do not need data transfer to be 'lossless' to have a good record of physical data on the rt. In my case I use the cRIO scan engine to update IOV's at 40Hz, I then transfer IOV data to cRIO hosted NSV's which are bound to windows hosted NSV's which in turn are set to log to a citadel database. In effect I am getting a final 20Hz 'sampled' data stream into my DB. Does my system guarantee that a 50ms signal transient will always get caught and logged in the DB? No is does not, but for those kind of issues I usually rely on rt processes to catch such events and generate alarms.