LabSocket - The Easy Way to Extend LabVIEW to the Web

LabSocket for Embedded Systems

LabSocket-Embedded (or "LabSocket-E") is a new version of LabSocket that allows developers to automatically create browser-based user interfaces for LabVIEW applications operating on National Instruments real-time platforms. These platforms include myRIO, sbRIO, FlexRIO, cRIO, and PXI.

LabSocket-E has been successfully operated on the following platforms:

  • cRIO-9012
  • cRIO-9030
  • cRIO-9063
  • cRIO-9068
  • cRIO-9074
  • cRIO-9081
  • myRIO-1900
  • sbRIO-9606
  • sbRIO-9651
  • PXI-8110
  • cDAQ-9132
  • NI-7935R

The system has received National Instruments "Compatible with LabVIEW" certification and is listed in the LabVIEW Tools Network.

LabSocket is Certified as Compatible with LabVIEW

LabSocket-E Description

LabSocket-E features a Client Code Generator utility that operates on the developer's PC. This utility is used to automatically create the HTML and JavaScript-based browser client code and to deploy this code to a directory served by the HTTP server on the Real-Time platform. The developer then uses LabVIEW Project to deploy the Target VI and LabSocket-E Synchronizer code, invoked through a single VI on the Target VI block diagram, to the RT platform.

When the client code is loaded into a web browser, a representation of the Target VI front panel is rendered in the browser. The Synchronizer then operates in parallel to the Target VI to continuously synchronize the values of the Target VI Front Panel controls and indicators with the representations of these elements in the browser, as shown below. LabSocket-E does not require the use of the LabVIEW Run-Time engine or any browser plug-ins on the client platform, therefore, any modern browser on any platform may be used to access the Target VI.

LabSocket-E System Overview
LabSocket-E Overview

Note that unlike the desktop version of LabSocket, LabSocket-E does not require the use of the LabSocket Server Virtual Machine. This change is made possible by the use of the HTTP server on the RT platform and a direct WebSocket connection between the browser and Synchronizer.

LabSocket-E Details
  1. Compatible with National Instruments’ real-time platforms using the following operating systems: Real-Time Linux, VxWorks, or Phar Lap
  2. Software is sold on a per-developer-seat basis. i.e. Each copy of the development software may only be installed on a single PC
  3. Developers may deploy their RT target software to an unlimited number of RT platforms
  4. Remote access to VIs executing on desktop platforms is not supported by LabSocket-E. The current desktop version of LabSocket is recommended for this application.
  5. Supported elements and features include:
    • String controls and indicators, including support for password text style
    • Numeric controls and indicators
    • Boolean controls and indicators, including booleans with images
    • Picture ring controls and indicators
    • Waveform graphs
    • XY graphs
    • Tabs
    • Decorations
    • Multicolumn Listbox controls and indicators
    • Static picture elements
    • #LS_no_sync preprocessor tag to disable synchronization of specific elements
    • #LS_no_display preprocessor tag to block display in browser of specific elements
  6. The following are supported on cRIO-903x platforms when the Embedded UI is enabled
    • Dynamic picture elements
    • #LS_image preprocessor tag for high-resolution replication of any element
  7. The system operates only in "Basic" client mapping mode. In this mode one or more browser clients connect to a single instance of a VI.
  8. This version does not include the built-in user-authentication capability of the current desktop version of LabSocket.

Comparing LabSocket-E and LabSocket

LabSocket-Embedded or "LabSocket-E", is designed for use with LabVIEW applications on National Instruments Real-Time platforms. LabSocket for Windows, or simply "LabSocket", is the orginal version of the software that allows browser access to LabVIEW VIs on Windows platforms. The following table compares the features of the two versions.

LabSocket-Embedded
("Labocket-E")
LabSocket for Windows
("Labocket")
Comments
Development Platform Windows 7 or later, LabVIEW 2014, 32-bit
Operating System of Execution Platform
  • NI Linux Real-Time
  • VxWorks
  • Phar Lap
Windows 7 or later(1)
User Authentication Mechanism No Yes LabSocket can optionally use an LDAP server for user authentication
Browser to VI Mapping Basic only Basic and MultiClient (1) Basic Mapping - One or more browsers connect to single instance of Target VI
MultiClient Mapping - Each browser connects to unique instance of Target VI
Synchronization Values only Values and for several elements, other properties such as visibility and disabled state
#LS_image preprocessor tag Only supported on cRIO-903x with embedded UI enabled Supported #LS_image preprocessor tag allows any Front Panel element to be reproduced as an image in the browser
Developer Customization Insert arbitrary JavaScript into browser client via API
Architecture Direct connection between browser and Real-Time platform Typically uses LabSocket Server Virtual Machine to host HTTP server and messge broker LabSocket-E does not require the use of the LabSocket Server software
Licensing One license per development platform. Deploy to an unlimited number of RT targets. One license per development platform. Create an unlimited number of executables.

Notes

  1. LabSocket is also compatible with cRIO-903x controllers in headless mode with embedded UI enabled and in Basic mapping.

Download

A fully functional evaluation copy of LabSocket-E and the LabSocket-E User Guide are available on the Download Page.

Purchase

To purchase LabSocket-E, visit the LabVIEW Tools Network LabSocket Page or the Purchase Page on this site.

Contact

John Bergmans
Bergmans Mechatronics LLC
p: 1-714-474-8956 (8 AM to 6 PM US Pacific time)
e: jbergmans /at/ bergmans \dot\ com
s: johnbergmans

 

Back to Top of Page Top