Use network streams to communicate between processes in a robotics application when you need to stream data losslessly between targets. Use the Network Streams functions and the Network Stream Endpoint properties to design applications using network streams. A network stream is a one-to-one communication channel that consists of a reader endpoint and a writer endpoint. Each endpoint stores data in a first-in-first-out (FIFO) buffer to ensure that you do not lose any data. Even if the network is interrupted, network streams automatically reconnect to prevent data loss. Additionally, the Network Streams functions include the Flush Stream function for situations in which you need to send data over the network immediately, such as sending commands between a host computer and a robot. Network streams are compatible with all LabVIEW data types except LabVIEW classes and refnums other than the Vision Image data type.
The following figure shows an example of a robotics application that uses network streams.
|Note Refer to the Robot Communications Using Network Streams.lvproj in the labview\examples\robotics\Robot Communications\Network Streams directory to view source code for this example.
The following events occur in the previous figure.
|The obstacle detection process on the RT target writes obstacle data to the writer endpoint, and the writer endpoint sends that data over the network.|
|The reader endpoint in the path planning process receives the obstacle data.|
|The path planning process on the desktop computer uses the obstacle data to generate waypoints, writes the waypoints to a second writer endpoint, and sends the waypoints over the network.
|The reader endpoint in the steering process receives the waypoints, and the robot uses that data to steer around obstacles.|