03-09-2015 10:25 AM
I have been asked a vague question about hosting our 2009 SP1 LabVIEW application in a web page. I have been looking at my options and it seems there are two.
Remote Panel allows me to put the VI Front Panel in a web page.
Web services allow me to make a custom web page that has information from my LabVIEW application.
Are there other options?
03-09-2015 12:00 PM
If you just want to see (but not interact with) the front panel, you can publish an image through the same technique as remote front panels. This doesn't require a plugin on the client computer.
If you can afford to spend some money, and need full control of the VI without installing the LabVIEW plug-in on every client, look at http://labsocket.com/ (I've seen a demo of this, it's impressive)
There's also the old G web server, part of the Internet Toolkit that's now included with LabVIEW, it's deprecated but offers some CGI options for interaction with a web page. I'm not sure that it does anything you can't do through web services, though.
03-09-2015 08:44 PM
03-10-2015 05:39 AM
Here are your options:
1) Remote front panels - requires the LabVIEW RT on the PC with the browser and they're not always that easy to set up
2) Web Services - allow you to make synchronous http requests for data (by creating web service VIs) and in LV2013 (or similar) onwards can also host static web page content (and I think there's a dynamic scripting option as well to build the page content dynamically)
3) Have your application communicate with a web server/database and create a web-page to access that data
4) LabSockets - 3rd party toolkit that creates a web-based version of your user interface and allows communication via an intermediate server - this makes it really easy to set up/use if you don't have a 'web guy' to create the webpages for you
5) Web UI Builder - paid NI toolkit for creating web-based user interfaces that just require silverlight. Not sure how easy it is to set up the communications between an existing application and the Web UI Builder (I seem to remember seeing stuff about reading data from web services)
6) (Saving my favourite til last...) Use WebSockets! I've written a WebSockets library that allows you to communicate between a LabVIEW application and browser asynchronously with low-latency. It works on the same underlying technology as LabSockets but doesn't require an intermediate server. The downside is that you might need some HTML/Javascript knowledge to create the web-page but it works on almost all modern browsers, including those on tablets/smartphones.
Which of these options works for you depends on quite a lot of things (like how many people will be accessing the data, do you have access to a web-server, does it need to be accessible from anywhere on the internet or just locally) but I've been using my WebSockets library for a while now (I'm due to present about it at the European CLA Summit next month) and have been able to create fully functioning user interfaces for LabVIEW applications using it (even with basic user authentication to prevent unauthorised access):
03-10-2015 08:37 AM
Hi Mike,
Right now I am gathering info. Once I know what can be done I can go back to the stake holder to discuss. We have web guys who can do front end work.
03-10-2015 02:43 PM