Home
Quickstart Guide
Introduction RIO Academic RIO Application examples Your first RT app Your first FPGA app
Real-Time
Basic procedures System admin File system I/O monitor System controller architecture Timed loops Inter-process communication RT/Host communication RT/FPGA communication FPGA personalities Interrupts Datalogger (file I/O)
FPGA
Design flow Simulation Inter-process communication RT/host communication Derived clock domain IP blocks FPGA personality
Networking
Get connected Email Web services UDP TCP IP addresses
Site Map
Guides Code examples Procedures Tags LabVIEW block diagram elements Targets Communications All pages
Glossary How to use About
RIO Developer Essentials Guide for Academia

"PC" target

Run the VI with simulated I/O or create a testbench on the PC host to apply a test sequence as the FPGA VI input and monitor the resulting output sequence.
The PC VI interacts with the FPGA VI in simulation mode to apply a test sequence as the FPGA VI input and monitor the resulting output sequence.
Use the "Set Time" function to adjust the RT system time to match the (assumed accurate) PC system time. Restart the RT target to save the current RT time to be reloaded on each reboot of the Academic RIO Device.

RT procedures: File system
RT guide PC guide

Connect to the Academic RIO Device file system through your browser with "Web-Based Monitoring and Configuring" or by mounting the file system as a drive on your host PC with WebDAV.
View the Academic RIO Device file system through your web browser; files may be downloaded with this technique, too.
Mount the Academic RIO Device file system as a network drive on your Windows, Mac OS, or Linux system, and then directly manipulate the files as you would any other files on your system.
Transfer data, commands, and status between the RT target and a host system.
An NPSV behaves like a global variable to connect the RT target and PC host through a network.
The network-published shared variable (NPSV) behaves like a global variable to link targets through the network.
A quick and easy way for a PC HMI (human-machine interface) VI to observe the state of an RT-hosted network-published shared variable (NPSV) without creating any block diagram code; an alternative to programmatically accessing the NPSV value.
A network-published shared variable (NPSV) behaves like a global variable that links process loops residing in two or more network-connected targets.
Use the NPSV programmatic API (application programmer's interface) VIs as an alternative method to a shared variable node.
Send command and status messages through a low-latency lossless network-based data communication channel between the RT target and PC host system.
Efficiently transfer blocks of data between the RT and PC by network streams.
Transfer data, commands, and status between the FPGA target and a host system (RT or PC).
The PC VI operates (writes) the front-panel controls of the FPGA VI and reads its indicators.
Efficiently transfer blocks of data between the PC and FPGA by direct memory access (DMA) first-in first-out (FIFO) buffers.
Queue-based state machines excel at implementing system control, data measurement and processing, and other tasks to respond to inputs from the surrounding physical system and user interface. Learn about three popular design patterns: queued state machine (QSM), queued message handler (QMH), and event-driven producer-consumer loops.
Example of a complete RT system controller based on the Queued Message Handler (QMH) design pattern with multiple parallel task loops implementing behaviors with queued state machines (QSMs), various inter-process communication techniques (queues and local variables), and inter-target communication techniques (network-published shared variables (NPSVs) and network streams). The PC host human-machine interface (HMI) can remotely connect to the system through the network, monitor the status of the security system, and control it remotely.
Create a responsive user interface based on two loops operating in parallel: the "producer" loop event structure responds immediately to user interactions such as button clicks and mouse movements that send commands through a queue to the "consumer" loop which performs the required tasks. Separating the state machine into two loops allows the user interface to remain responsive should a consumer task require an unusual amount of time or must wait for a shared resource to become available.
Connect the Academic RIO Device to a PC with a wired network (Ethernet) and establish the Device's Internet connection by sharing the PC wireless connection to a home wireless router. Note: The NI ELVIS III does not have the Web Interface for modifying these settings. Use NI Measurement and Automation Explorer (NI MAX) to modify these settings instead.

RT networking: IP addresses
RT guide PC guide

Display available IP addresses on the PC host and RT target; learn my public Internet IP address by calling a Web service.

Show available IP addresses
RT code PC code

Display all of the network IP (Internet Protocol) addresses at which the RT target or PC host can be reached.
Determine whether or not Internet access is available by attempting an HTTP connection to the "Microsoft Network Connectivity Status Indicator" (NCSI) web service.
Determine whether or not Internet access is available by attempting a TCP connection to the "Microsoft Network Connectivity Status Indicator" (NCSI) web service.
Send TCP/IP messages to a destination IP address and port number, listen for incoming TCP/IP messages on a user-defined port, and echo received messages back to the source. Combine the sender and receiver into a single "TCP ping" application to test the communication channel between two network hosts, and illustrate the notifier method to stop parallel loops with one "stop" button.

TCP client-server
RT code PC code

Create a server on the Academic RIO Device that listens for TCP/IP network connection requests from a client running on the PC host, accepts client information including the desired state of the four onboard LEDs, sets the LEDs accordingly, and returns the state of the onboard 3-axis accelerometer and pushbutton.
Send UDP messages to a destination IP address and port number, listen for incoming UDP messages on a user-defined port, and echo received messages back to the source. Combine the sender and receiver into a single "UDP ping" application to test the communication channel between two network hosts, and illustrate the notifier method to stop parallel loops with one "stop" button.

UDP client-server
RT code PC code

Create a server on the Academic RIO Device that listens for UDP datagram messages from a client running on the PC host, accepts client information including the desired state of the four onboard LEDs, sets the LEDs accordingly, and returns the state of the onboard 3-axis accelerometer and pushbutton.