220 likes | 653 Views
Extending LabVIEW to the Web Using the LabSocket System John Bergmans Bergmans Mechatronics LLC National Instruments LabVIEW User Group Meeting Huntsville, AL Nov 13, 2013. 1616 Bedford Lane, Unit A phone: 714-474-8956 Newport Beach, CA 92660 web: bergmans.com. Bergmans Mechatronics LLC.
E N D
Extending LabVIEW to the Web Using the LabSocket System John Bergmans Bergmans Mechatronics LLC National Instruments LabVIEW User Group Meeting Huntsville, AL Nov 13, 2013 1616 Bedford Lane, Unit A phone: 714-474-8956 Newport Beach, CA 92660 web: bergmans.com
Bergmans Mechatronics LLC Current Approaches to Remote LabVIEW Access • Native Client App • Use TCP/IP sockets, LabVIEW shared variables, or .NET, to transmit data between client and LabVIEW • Requires custom client development and modifications to LabVIEW app • LabVIEW Remote Panels • Requires LabVIEW Run-Time Engine (RTE) and browser plug-in on client platform • LabVIEW Web Services • Data transferred between application and client using the HTTP request-response model (REpresentative State Transfer (REST) architecture) • Requires development of client software using Web languageseg. HTML/JavaScript • LabVIEW Web UI Builder (http://www.ni.com/uibuilder/) • Build and run apps in browser using reduced-capabiliy LabVIEW • Requires Silverlight plug-in (runs on Windows and Mac OS X) • Data Dashboard for LabVIEW • Requires development of user interface and linking UI to block diagram • Limited to iOS, Android, Windows 8 and Windows Phone devices
Bergmans Mechatronics LLC LabSocket System WebSocket Interface (Over TCP-IP) HTTP Server “Target VI” Browser TCP-IP Socket Interface Message Broker LabSocket Support VIs Browser LabVIEW Host Platform LabSocket Server Platform Browser • LabSocket Support VIs • Startup • - LabVIEW Front Panel screenscrape, send HTML and JavaScript code to HTTP server • Continous Operation • - Transmit updates of LabVIEW front panel to browser • - Update LabVIEW front panel when user generates events in browser HTML5 WebSockets enable automatic replication of LabVIEW front panel in a browser without plug-ins
Bergmans Mechatronics LLC Other Configurations WebSocket Interface (Over TCP-IP) HTTP Server “Target VI” Browser TCP-IP Socket Interface Message Broker LabSocket Support VIs Browser LabVIEW Host Platform LabSocket Server Platform (VM) Browser PC on LAN WebSocket Interface (Over TCP-IP) HTTP Server “Target VI” Browser TCP-IP Socket Interface Message Broker LabSocket Support VIs Browser LabSocket Server Platform (VM) Browser LabVIEW Host Platform
Bergmans Mechatronics LLC XY Graphs LabVIEW Front Panel Browser Representation
Bergmans Mechatronics LLC Waveform Charts LabVIEW Front Panel Browser Representation
Bergmans Mechatronics LLC Waveform Graphs LabVIEW Front Panel Browser Representation
Bergmans Mechatronics LLC MultiColumn ListBoxes LabVIEW Front Panel Browser Representation
Bergmans Mechatronics LLC LabSocket Start VI Context Help Tools Palette
Bergmans Mechatronics LLC Authentication • Authentication=T forces users to enter credentials • User authentication managed by ActiveMQ message broker
Bergmans Mechatronics LLC Moodle Integration • Option for integration with MOODLE Course Management System - https://moodle.org/ • application_type = moodle_integration places web page in moodle file structure LabVIEW Front Panel LabSocket iframe in Moodle Lesson
Bergmans Mechatronics LLC Remote Cascade Lab - KTH Royal Institute of Technology (Sweden) • Objective: to perform tests on turbine airfoils • LabVIEW software used to control test rig • LabSocket system enables lab testing to be performed remotely using browser • Remote control of rig aided by use of web cam • 70 students have operated rig remotely with LabSocket system to date (60 in groups of 3-6 and 10 individually) • Lab part of EU funded Virtual Campus Hub project Live Traverse Results GUI Main View Additional information at: http://www.energy.kth.se/proj/projects/Remote_labs/RL/RL_website/RCL/RCL.html
Bergmans Mechatronics LLC “Multi-Pack” Systems for TEMPUS Program • TEMPUS: EU Program for modernization of higher education programs in Eastern Europe, Central Asia, Western Balkans and Mediterranean - http://eacea.ec.europa.eu/tempus/ • “Multi-Pack” systems (eg. “Twin-Pack”, “Five-Pack”, etc) to be delivered as complete sets to TEMPUS partner university labs • Integration with MOODLE Course Management System - https://moodle.org/
Bergmans Mechatronics LLC SportJury – First Commercial LabSocket Application • Distributed, multi-user application for judging ski competitions • Used successfully at 2011 Swiss Snow Happening in Saas-Fee, Switzerland • Developed by Dynasys, D. Kölliker (Neuenegg, Switzerland) www.dynasys.ch iPod touch browser screenshots Swiss Snow Happening judges entering score data on iPod touch devices Data aggregated on central PC
Bergmans Mechatronics LLC LabSocket-RT • Special version for access to applications on LabVIEW Real-Time platforms • Support for reduced set of Front Panel elements • Possible use case: RT application monitoring / debugging “Target VI” LabSocket-RT Converter Step 2 LabSocket-RT Converter inserts Block Diagram Interface VIs into “Target VI” copy Step 3 “Target VI” Copy manually deployed to RT Host “Target VI” Copy Block Diagram Interface VIs LabVIEW Development PC Step 1 LabSocket-RT Converter copies HTML and JS to HTTP Server “Target VI” Copy Block Diagram Interface VIs HTTP Server WebSocket Interface (Over TCP-IP) TCP-IP Socket Interface Message Broker LabSocket Support VIs Browser LabVIEW RT Host Platform VM or Physical Server
Bergmans Mechatronics LLC LabSocket-RT • LabSocket RT Converter modifies copy of Target VI block diagram • Start Converter from Tools > LabSocket RT > LabSocket RT Converter … • Target copy manually added to project, included in build, and deloyed to RT plaform LabVIEW RT Project LabSocket RT Converter
Bergmans Mechatronics LLC LabSocket-RT • Converter replaces front panel elements in block diagram with “Block Diagram Interface VIs” Block Diagram Interface VIs Demo1_RT.vi Demo1.vi
Bergmans Mechatronics LLC LabSocket-RT Screenshots Demo1.vi Front Panel (Idle) Chrome Browser on Mac Chrome Browser on iPhone
Bergmans Mechatronics LLC More Information and Downloadable Demos labsocket.com Contact • John Bergmans • Bergmans Mechatronics LLC • phone: 714-474-8956 • e-mail: jbergmans@bergmans.com • web: bergmans.com • twitter: @jbergmans
Bergmans Mechatronics LLC Extra Slides
Bergmans Mechatronics LLC LabSocket Details • Dynamically replicates LabVIEW front panel element values and properties such as color, visibility, disabled state, etc. • Compatible with desktop and mobile browsers that have native WebSocket support (including Safari browser in iPhone, iPod touch and iPad). Option available for browsers without WebSocket support. • Two possible architectures • Basic – one LabVIEW front panel replicated in one or more browsers • Multi-Client – multiple unique copies of a LabVIEW VI each connect to one or more browsers • Two platforms for LabSocket Server • Customer Server (LAN or cloud) • LabSocket Cloud • Additional information and downloadable evaluation system at www.labsocket.com
Bergmans Mechatronics LLC Element Test VI LabVIEW Front Panel Browser Representation