Remote Connectivity with LabVIEW
What Is Remote Connectivity?
Local Monitoring 3
Remote Mobile Access 4
What Is Remote Connectivity Two machines talking to one another Client Server PC PC Consumes Data Transmits Data 5
What Is Remote Connectivity Client Ethernet Server PC PC Network 6
Network Topology LAN Instr. FTP Server crio HUB Mobile PC Internet PC External Firewall Internal Firewall Bastion Host (i.e. DNS, Email, VPN) Internal Server 7
What Is Remote Connectivity Two machines talking to one another Client Network Server PC PC 8 PXI/cRIO Industrial PC LAN Instrument Server etc.
What Is Remote Connectivity Two machines talking to one another Client Network Server PC PC Windows/Mac/Linux Web Browser Tablet Smartphone etc. 9 PXI/cRIO Industrial PC LAN Instrument Server etc.
Many Data Communication Options Exist in LabVIEW In no particular order 1. TCP and UDP 2. Network Streams 3. Shared Variables 4. DMAs 5. Web Services 6. Peer-to-Peer Streaming 7. Queues 8. Dynamic Events 9. Functional Global Variables 10. RT FIFOs 11. Datasocket 12. Local Variables 13. Programmatic Front Panel Interface 14. Target-scoped FIFOs 15. Notifiers 16. Simple TCP/IP Messaging 17. AMC 18. HTTP 19. FTP 20. Global variables just to name a few! 10
What Is Remote Connectivity Clients Servers PC Network crio Web Browser Instrument Tablet PXI 11
What Is Remote Connectivity Clients Servers PC Network crio Web Browser Instrument Tablet PXI 12
What Is Remote Connectivity?
It s Complicated!!! (but it doesn t have to be)
Common Scenarios and Solutions 1. Local Monitoring 2. Remote Mobile Access 3. Custom Client Development 15
1. Local Monitoring Requirements Intranet so less security and networking concerns Data Communication can be anything Windows PC for client, crio for server Can install applications on PC Needs something quick and easy Possible Solutions: Remote Desktop Connection LabVIEW Executable Web UI Builder Remote Front Panels 16
Remote Desktop Connection Pros Built-in or cheap options Cons Normally only one connection at a time General purpose OS (not Real-Time OS) 17
LabVIEW Executable Pros Any data communication architecture Shipping examples (i.e. TCP, UDP) Cons Development time Application Builder and Run-Time Engine needed 18
Web UI Builder Pros Rich UI Silverlight required so Windows needed No Run-Time needed Cons /uibuilder Connects to web services Server configuration needed for executable $1499 for build license 19
Remote Front Panel Pros Easy to create, check-in control Windows or RT deployment After LabVIEW 2011, extra licenses not needed Cons LabVIEW Run-Time needed Proprietary data transfer 20
Remote Front Panel demo 21
2. Remote Mobile Access Requirements Internet so security and networking considerations Data communication needs security options Data servers need ability to scale Monitor and Control Simple and easy to develop Solution Options LabVIEW APIs for Mobile Communication Web Services Data Dashboard 22
LabVIEW APIs for Mobile Communication Notifications from LabVIEW Emails using SMTP VIs (Included in LabVIEW Base) Text messages using SMTP VIs (Included in LabVIEW Base) Search NI Community for Email or SMS for examples 23
Web Services Pros Standard HTTP data transfer Security features No Run-Time needed Cons LabVIEW Application LabVIEW Web Service Request Response Web Interface More difficult to program than RFP Need to develop client interface 24
Data Dashboard Pros Free Uses Shared Variables, Web Services, or Technical Data Cloud Mobile (ios, Android, Windows) Cons Only ipad can control and monitor currently No analysis 25
Data Dashboard demo 26
3. Custom Client Development Requirements Basically the same as Remote Mobile Access scenario Want some custom look or functionality Mobile and PC friendly Cheap Solution Options SCCT LabSockets Native App HTML5 27
SCCT Smartphone Cross-Platform Communication toolkit made by T4SM (Tools 4 Smart Minds) Library for developing LabVIEW server application and multiple client options (Android, ios, Java, HTML5, Linux/Intel, Linux/ARM) PUSH data communication Pros Cross platform data protocol VIs for security Easy-to-use No web server needed Available on LabVIEW Tools Network Cons Client UI development Extra cost ($450) 28
LabSockets Made by Bergmans Mechatronics LLC (labsocket.com) Programmatically creates HTML based on VI Front Panel Parallel background process keeps browser and VI in sync (like Remote Front Panels) Host HTML on their web server Browser based so desktop and mobile friendly $595 Pros Easy-to-use OS and mobile friendly Cons Extra cost Some front panel elements 29
Native app development Pros Rich UI Usability Cons Access to onboard sensors Custom Development App for every OS /mobilegroup 30
HTML development /mobilegroup VI Deployed as Web Service Pros Rich UI Cross Platform XML Data Cons Custom Development Performance No device sensors Standard, Thin-Client Interface Adobe Flex 31
HTML & Javascript Demo 32
33 Copyright Micky! And licensed for reuse under this Creative Commons License
Summary and Resources Networking Data Communication Data Clients Security Resources /mobile and /mobilegroup Configuring Software and Hardware Firewalls to Support National Instruments Products Configuring LabVIEW, DSC, and Lookout to Work With the Windows Firewall LabVIEW Web Services Security 34