Académique Documents
Professionnel Documents
Culture Documents
Networking Basics
Application
Application
High-Level
Protocol
High-Level
Protocol
Transport
TCP, UDP
Transport
IP
Hardware
IP
Physical
Hardware
National Instruments
Customer Education
LabVIEW
Intermediate II
Remote Procedure
Calls
VI Server
LabVIEW Web Services
Networked Object
Modules
Miscellaneous
Custom Protocols with DLLs
Remote Panels
ActiveX
.NET
Low Level
TCP
UDP
Bluetooth
Serial
IrDA
Reliability
Many have been used for years they are tried and true
Includes large development community and resources
online
5
Caution
Ways you can needlessly complicate your life:
Adapt a protocol for one purpose to suit another
Select an unnecessarily complex API
National Instruments
Customer Education
LabVIEW
Intermediate II
Disadvantages
Delivery not guaranteed
Requires a nontrivial amount of coding
Data must be flattened to string
10
UDP Demo
11
12
National Instruments
Customer Education
LabVIEW
Intermediate II
Disadvantages
Requires a nontrivial amount of coding
Data must be flattened to strings before
sending
Additional code needed for multiple clients
15
16
TCP Demo
17
Streaming data
Control, embedded applications
Custom protocol development
LabVIEW to third-party communication
WAN communication
18
http://zone.ni.com/devzone/cda/tut/p/id/4095
20
21
Bluetooth
Mobile devices
Wireless
No network backbone
23
24
25
National Instruments
Customer Education
LabVIEW
Intermediate II
Shared Variable
LabVIEW structure abstracts communication from
diagram
Supports almost any LabVIEW data type
Any LabVIEW application on network can be a client
NI LabWindows/CVI and Measurement Studio applications
can also be clients
The mark LabWindows is used under a license from Microsoft Corporation. Windows
is a registered trademark of Microsoft Corporation in the United States and other
countries.
27
Shared Variable
Advantages
Abstracts communication code
Scalable
Multiple client support
Front panel binding
OPC server functionality
Integrates LabVIEW Real-Time and LabVIEW Datalogging
and Supervisory Control module features
Disadvantages
Proprietary transfer protocol
Not optimized for streaming
Slightly more overhead than TCP/UDP
28
Shared Variable
Problems solved
Overly complicated LabVIEW networking code
Network congestion
Use cases
Large distributed network system
Quick interfacing between LabVIEW applications on
a variety of targets
29
30
31
Uses TCP
32
Shared Variable
33
Shared Variable
Ethernet Network
34
Buffer
Buffer
Writer
Reader
Published Location
35
36
Configuration based
Logging
Alarming
Security
Trending
Industrial graphics
38
Use cases
High-channel-count systems
Long-term data logging
Need for alarming
Connectivity to third-party
OPC servers
Alarms and
Database Events
Windows PC
OPC I/O
Server
Ethernet
39
Modbus I/O
Server
Modbus
National Instruments
Customer Education
LabVIEW
Intermediate II
VI Server
LabVIEW run-time control
High LabVIEW integration
Abstracts communication
VI Server
Programmatically change application settings
and the LabVIEW environment
Access properties/methods at run time
Class hierarchy
Platform independent
41
VI Server
Provides a back end for remote LabVIEW control
Use cases
Network with LabVIEW targets
RPC
Application synchronization
42
Web Services
High LabVIEW integration
Abstracts communication
Invoke VIs through the
Web
Web Services
Request
Standard http protocol
Firewall friendly
No RTE required
Multiple connections
Web Server
Response
Web Clients
44
Web Services
Client
LabVIEW
RESTful
Web Server
http
http
TCP
TCP
IP
IP
Hardware
Physical
Hardware
45
46
Web Services
Adobe Flex
Adobe Flash
Microsoft Silverlight
47
Web Services
Server-Side Scripting (ESP)
Session Data
Parse Form Data
Stream MIME Data Types
48
Web Services
Flash Demo
49
Web Services
Advantages
Industry-standard http
Firewall friendly
RPC from anything that can make a Web request
Automatic multiple-connection handling
Real-time support
Disadvantages
50
Any Computer
Network
Web services in LabVIEW 8.6 will save us considerable time by making the process of
communicating with LabVIEW from standard, Web-based interfaces powerful and easy. End
users will now be able to monitor and control LabVIEW applications running on a
CompactRIO from custom thin clients we create using today's most common Web
technologies.
Matt Whitlock, Senior Project Manager, National Analytics
51
Summary
Use an array of LabVIEW technologies for
network communication
Choose communication method depending on
application requirements
Consult the NI Developer Zone for advanced
examples
53
Additional Resources
Customer Education
LabVIEW Intermediate II: Performance and Connectivity
LabVIEW Real-Time Application Development
NI Developer Zone
Using the LabVIEW Shared Variable
Deterministic Data Streaming in Distributed Data Acquisition
Systems
Command-Based Architecture for LabVIEW Real-Time
54
Advanced
Intermediate
Specialty
Foundation
LabVIEW Object-Oriented
Programming System Design
LabVIEW
Real-Time
Application
Development
CompactRIO
Fundamentals
and LabVIEW
FPGA
LabVIEW
Instrument
Control
RF
Fundamentals
and RF
Application
Development
LabVIEW
Machine Vision
and Image
Processing
LabVIEW
DAQ and
Signal
Conditioning
At Your Convenience
Self-paced course kits
On-demand training modules located in the Services Resource Center
ONE PRICE
Questions?