Laboratories, which are found in all engineering and science programs, are an essential part of the education experience. Not only do laboratories demonstrate course concepts and ideas, but they also bring the course theory alive so students can see how unexpected events and natural phenomena affect real-world measurements and control algorithms. However, equipping a laboratory is a major expense and its maintenance can be difficult. Teaching assistants are required to set up the laboratory, instruct in the laboratory, and grade laboratory reports. These time-consuming and costly tasks result in relatively low laboratory equipment usage, especially considering that laboratories are available only when equipment and teaching assistants are both available.
What if some of the basic laboratory experiments could be made available 24 hours a day, seven days a week? What if students could have access to experiments from their home or student dormitories? What if a professor wanted his students to take a closer look at a classroom demonstration? What if a professor wanted to make a research demonstration available to students and others at irregular times? What if a professor deriving a complex equation for some application wanted his students to try different sets of parameters to bring out the essence of the model? What if a professor wanted his students to see an electronic circuit in action, and even give them control of the operating parameters? What if a research team wanted to make their expensive research equipment available to others when they went home for the evening?
All of these and many more exciting applications are now easily achievable with the new technology available with National Instruments LabVIEW Remote Panels. With this standard feature of LabVIEW, a user can quickly and effortlessly publish the front panel of a LabVIEW program for use in a standard Web browser. Once published, anyone on the Web with the proper permissions can access and control the experiment from the local server. If the LabVIEW program controls a real-world experiment, demonstration, calculation, etc., LabVIEW Remote Panels turns the application into a remote laboratory with no additional programming or development time.
Table of Contents:
Current Remote Laboratory Successes
The National Instruments Solution -- LabVIEW Remote Panels
Enabling Remote Panels
Distance-Learning Remote Laboratories
A remote laboratory is defined as a computer-controlled laboratory that can be accessed and controlled externally over some communication medium. For this discussion, a remote laboratory is an experiment, demonstration, or process running locally on a LabVIEW platform but with the ability to be monitored and controlled over the Internet from within a Web browser. In the simplest case, the remote laboratory server can be an experiment connected to a computer through a standard interface (DAQ, GPIB, serial, parallel, etc) and with the host computer connected to the Internet. The client can be any computer connected to the Internet running a simple browser. Once connected, the client will see the same front panel as the local host and also have the same program functionality.
Figure 1. Internet Control of a Remote Laboratory
Current Remote Laboratory Successes
Apart from the new LabVIEW Remote Panels tool, National Instruments had previously developed tools to provide Internet-based measurement and automation solutions, and our technologies have been used extensively to create innovative remote laboratories very successfully. These laboratories on the cutting edge of remote laboratories highlight some of the vast possibilities achievable with the incorporation of National Instruments Internet technologies.
Stanford University Cyberlab
At Stanford University, students can log onto a remote optics laboratory to conduct an experiment to measure the physical properties of a laser diode. Cyberlab provides not only monitoring and control features, but also a laboratory scheduler, reference library and analysis tools. The NI LabVIEW Internet Toolkit is used to create CGI scripts for communication and control between the remote browser and the host server. The live embedded images are provided using NI-IMAQ software tools and a NI PCI-1408 image acquisition board.
Figure 2. Stanford University Cyberlab
Swiss Federal Institute of Technology Lecture Enhancement
At the Swiss Federal Institute of Technology, mechanical engineering students and others can watch in the classroom as the professor uses his laptop computer as a client to control a remote mechanical system. At other times, students take control from home to study the classroom demonstration in detail. Control within LabVIEW is provided by "Call-By-Reference" of sub-VIs. Visual feedback is provided with video conferencing software. Both the video and LabVIEW servers run in parallel, independent of the local host computer.
Figure 3. Swiss Federal Institute of Technology Lecture Enhancement
Dalhousie University Virtual Laser Laboratory
At Dalhousie University, engineering and science students can log onto the Virtual Laser Laboratory 24 hours a day, seven days a week and conduct up to 10 laser experiments. There are four lasers, three stepping motors, two DC motors, numerous measuring points and three video cameras. One computer controls all of the instruments and experiments on a 4 by 8 ft optics table. A second computer controls the pan, tilt, and zoom of the main camera and provides jpg images of the table action. A third computer integrates all the images and control parameters to produce the exported pages. Each of the experiments has a unique presentation and set of control buttons. At login, a Java script is downloaded to the remote browser that interprets all the CGI commands sent over the network and provides interactivity through the browser.
Figure 4. Dalhousie University Virtual Laser Laboratory
The National Instruments Solution -- LabVIEW Remote Panels.
In all the previous successes of remote laboratories, LabVIEW was used but extensive programming of Java, CGI, or other third-party software tools was required to bring local laboratory functionality to a browser environment. Now, with LabVIEW Remote Panels, remote execution is just a couple of clicks away. Without any additional programming, a LabVIEW program can be enabled for remote control through a common Web browser. With this new technology, the user simply points the Web browser to the Web page associated with the application. Then, the user interface for the application shows up in the Web browser and is fully accessible by the remote user.
Figure 5. LabVIEW Remote Panels
The acquisition is still occurring on the host computer, but the remote user has total control and identical application functionality. Other users can also point their Web browser to the same URL to monitor the application in progress. To reduce confusion, only one client can control the application at a time, but the client can pass control easily among the various clients at run-time. At any time during this process, the operator of the host machine can assume control of the application back from the client currently in control.
Enabling Remote Panels.
Transforming your application into a distance-learning remote laboratory has never been easier. Enabling the Remote Panels feature of LabVIEW is a very simple process that walks the user through the creation of a Web page that automatically embeds the appropriate LabVIEW application into the new Web Page.
To transform your application into a remote laboratory, make sure the VI that you want to publish is loaded into LabVIEW memory. Next, select the Web Publishing Tool option from the Tools menu. This window is the main window for interactively creating and publishing your remote laboratory.
Figure 6. Enabling Remote Panels
The Web publishing tool will automatically load in the Document Title and VI Name text fields. As the sample image in Figure 6 illustrates, the Document Title, Text 1, and Text 2 are all text fields that you can use to customize the Web page created with the publishing tool.
The second step necessary to enable a remote laboratory is to select the Start Web Server button. When pressed, this button activates the built-in LabVIEW Web server, which will publish and control your front panel images from the Internet.
Once the Web server is activated, the actual HTML document needs to be created and saved so it can be accessed remotely. Clicking on Save to Disk places an HTML file called Document Title.htm into the LabVIEW file folder called WWW by default. Saving your Remote Panels HTML documents into this folder will ensure that the LabVIEW Web server can find them. Either keep the default name, or assign a new name and save the file. Once saved, a new panel entitled Document URL pops up with a message box containing the URL address of your enabled LabVIEW application.
Figure 7. Document URL
Click on OK in the Document URL window and then click on Done in the Web Publishing Tool window. Your lab is now ready for remote visitors
Required SoftwareTo operate a LabVIEW program using remote panels, it is necessary to have the free LabVIEW run-time engine installed on the client computer. When a remote viewer logs onto the lab with the appropriate URL address, the LabVIEW front panel will appear in the browser, or reroute the user to install the run-time engine from the National Instruments Web site.
Once connected to the remote laboratory, the client connection will automatically be in a monitor state. If another client is controlling the remote laboratory, the user will be able to monitor the actions of the controlling client. To request control of the program, right click on the front panel and select Request Control. Once selected, one of two possible messages will appear. Either the user will be granted control (Control Granted), or the user will see a message indicating that control is currently granted to another user (Waiting for control: Either the server is locked or another client has control). If another client has control, the controlling client will be notified that control time has now become limited. Once the timeout occurs or the controlling client has released control, application control is automatically switched to the requesting client (Control Granted). Once the user has been granted control, all icons and controls will become active and running the LabVIEW application is exactly like running the application from the local environment.
When the remote viewer either moves on to a different URL address or relinquishes control by right clicking and selecting (Release Control), or when the remote laboratory times out, the remote laboratory is available to the next visitor.
National Instruments LabVIEW 6.1 Remote Panels comes with all the administrative tools necessary for a complete remote laboratory solution. A variety of tools are available for monitoring and logging of network traffic, Remote Panels license management, configuration of remotely accessible VIs, and configuration of Remote Panel control time limits.
Remote Panel Connection Manager
The first tool used to administer Remote Panels is the Remote Panel Connection Manager. With this tool, you can manage client traffic to a specific front panel. This window logs all network traffic and displays a graph with network throughput for all visible VIs and specific VIs. The Connection Manager also gives you the ability to disconnect a specific client with the touch of a button.
Figure 8. Remote Panel Connection Manager
The NI License Information window, which can be accessed from the Remote Panel Connection Manager, displays a list of clients that were denied access to the server because the maximum number of clients for the license was exceeded. It displays the time, date, computer name, and IP address of every connection denied by the LabVIEW Web Server. This window also has a button to access the NI License Manager.
Figure 9. NI License Information
NI License Manager
With the NI License Manager tool, you can upgrade the number of clients that can view and control a LabVIEW front panel. By default, LabVIEW includes a Remote Panel license that allows one client to view and control a front panel. If a more extensive license for multiple connections has been purchased, the NI License Manager is the tool necessary for installing and configuring this new license.
With NI License Manager, you can also check the status of the LabVIEW License Server. This License Server must be running for multiple clients to view your Remote Panel and is active by default.
Figure 10. NI License Manager
Web Server: Configuration
Another very important administrative tool is the Web Server: Configuration tool located within the Tools: Options menu in LabVIEW. You can use this tool to enable or disable the LabVIEW Web Server, specify the port to use for HTTP (default 80), enable or disable the log file, set the Web Server timeout (default 60 s), and even specify the LabVIEW Web Server root directory.
Figure 11. Web Server: Configuration
Web Server: Visible VIs
The last administration tool necessary for a complete remote laboratory solution is the Web Server: Visible VIs tool, which is accessed from the Tools: Options menu in LabVIEW. With this tool, you can specify which VIs are visible for remote viewing and what the Control Time Limit should be for each VI. The Control Time Limit (default 300 s) is the time a client can continue viewing a remote VI after another client requests access.
Figure 12. Web Server: Visible VIs
The LabVIEW Web Server has a very sophisticated built-in client management system. When only one client is connected and controlling a remote VI, there are no time limits. However, as soon as another client requests control of that same VI, a queue is formed and the time limit is enforced. This automated process is complete with user messages that keep all clients informed of their status.
National Instruments LabVIEW Remote Panels has a very simple and powerful security tool. The Web Server: Browser Access tool, which is located within the Tools: Options menu in LabVIEW, can configure browser access to one of the following three options:
Allow Viewing and Controlling
These three options can be applied to a specific computer name or IP address thus providing substantial security enhancements to your remote laboratory.
Figure 13. Web Server: Browser Access
Because LabVIEW is running your remote laboratory, you could easily create and implement a higher lever security database application for your remote laboratory. A VI could easily be created and implemented to prompt the student for a user name and password. That VI could look up access times in a database and determine whether to allow the student access to the remote laboratory. This example shows what is possible using LabVIEW and Remote Panels to create your remote laboratory.
Visual feedback is an excellent way to enhance a remote laboratory and sometimes is a necessary requirement for a successful remote laboratory. Also, it has been proven that students learn better when presented with a visual model of a theoretical system. Therefore, you may wish to include some sort of visual feedback with your remote laboratory.
A visual feedback system can vary greatly in performance, complexity, and price. At the bare minimum, you will need a camera to capture images and some sort of software application to publish the images. For most applications, a simple Web camera and image capturing and publishing software will suffice.
The three main parameters to consider when selecting a camera are image quality, color depth (black and white, 16 colors, 256 colors, etc.), and frame update rate. The image quality is measured in pixels where the number of pixels is defined as the product of the horizontal and vertical pixel number. For example an image size of 320 x 240, about 4 x 3 inches on a conventional monitor, contains 77,600 pixels. An image this size can take anywhere from a fraction of a second to several seconds to update over the Web. The larger the image size, the more detailed the picture published from your remote laboratory site, but the slower the update rate. Using black and white images can significantly increase your transfer rates over the same image using 16.4 million colors because the file size is so much smaller. However, color is sometimes a necessary part of the remote laboratory and cannot be sacrificed. Frame update rates are typically limited by the Internet connection, but a reasonable sustainable frame rate to anticipate is about 1 frame/s for a remote client with a dialup connection to the Internet.
Visual Feedback can be added to a remote laboratory in many different ways. You can choose to embed the live images into the actual VI front panel, place the picture on the Web page created by LabVIEW, or use a separate Web page to display the picture.
Perhaps the simplest solution is to use a USB webcam to broadcast a picture to a remote third-party image-hosting location and access that picture through a separate browser window. However, this solution would depend on the remote image-hosting site for connection speeds, and the picture would not appear in the same window as the LabVIEW program. Moreover, image-hosting sites typically enforce their own limitations on the number of people that can simultaneously view live webcam images.
A more elegant solution would be embedding the live images into the LabVIEW front panel. In this solution, your computer would be the image-hosting server and you would not rely on a third-party Website for image publication. With this solution, you can view the LabVIEW front panel and the live webcam images through one browser window. However, embedding the image into your actual LabVIEW program could slow down the program execution significantly.
The last option is to modify the Web page created by the LabVIEW Web publishing tool to include the live webcam images. There are several low-cost software packages available for implementing your computer as the image host and creating the code necessary to add the live images to the existing LabVIEW-created HTML code. This solution will create a single Web page with the LabVIEW program and the picture side by side in a table of some sort. This solution also separates the LabVIEW program execution and the live image update rates. This is perhaps the best solution for a balance of speed, ease of implementation, and presentation appeal.
Distance-learning remote laboratories are used extensively in Academia to enhance classroom lectures, share research equipment, and supplement the learning process. Typical laboratories have relatively low usage, and remote laboratories can eliminate some of the barriers found in traditional laboratories. Remote laboratories can remove the need to have a teaching assistant on hand, reduce the cost associated with a traditional laboratory, and can also be made available 24 hours a day, seven days a week.
LabVIEW now has a revolutionary new technology that makes the creation, implementation, and administration of a remote laboratory very simple. Remote Panels can take a LabVIEW program and transform it into a remote laboratory with a few simple mouse clicks. There is no longer any need for additional programming to enable your laboratory for the Web, and the control of the LabVIEW remote laboratory is exactly the same as it would be on the local server. LabVIEW also contains all the necessary administration and security tools to create a complete LabVIEW-based distance-learning remote laboratory solution.