Internet Toolkit Troubleshooting Wizard
Internet Toolkit FAQ
-
What can the Internet Toolkit do for me?
Some of the many things you can do with the Toolkit include:
-
Programmatically send e-mail or raw data files to other users (e-mail) or other machines
(FTP)
-
Easily view static or animated images of VI front panels from remote machines using a
Web browser
-
Build CGI programs using the familiar G programming language. These CGIs can process
information from forms submitted by client-side browsers or programmatically start
other VIs and send the resulting outputs and front-panel images back to the client browser.
-
What hardware/software is required to make use of the Toolkit?
The host computer must be a networked machine with the TCP/IP network protocol enabled and
its own IP Address. Hardware-wise, both server and client must have either a network adapter card
and a direct network connection, or a modem and an Internet Service Provider. Software-wise,
a user must have at least LabVIEW 4.0 on the server side in order to run the HTTP Server;
optionally, the Server can be compiled into an executable--using the LabVIEW Application
Builder add-on--and run on a machine with no LabVIEW installed. The client will need a
third-party Web browser in order to view VIs that are running on the server machine.
-
How do I configure the Toolkit for use?
There are two important steps that must be carried out: mass-compiling the Toolkit VIs (if
you are running LabVIEW 4.1 or later) and specifying the root directory of the HTTP Server.
For detailed information about both of these steps, see Internet
Toolkit Configuration.
-
How do I configure TCP/IP on my machine?
Assuming you have a network adapter card or a modem, you will need to enable ("bind") the
TCP/IP protocol to work with that device. Typically, this involves going into the Control
Panel of the machine, selecting the Network window, and adding the TCP/IP protocol. The
computer will often require the OS installation media in order to copy all necessary files
onto the hard disk.
TCP/IP settings will vary, but people with modems and ISPs typically have IP addresses
automatically assigned to them when they dial up, while those with direct network
connections have IP addresses that are more or less permanent. Enabling DNS makes TCP/IP
more intuitive by allowing the user to type in IP addresses as meaningful names rather
than sequences of numbers; the name-server translates the names into the numbers.
-
How do I get started with the Toolkit?
You might begin by launching the HTTP Server and using the .snap URL with a Web browser
to view front-panels of VIs running on the server machine. You will also want to look at
the various CGI examples provided with the Toolkit. For more information, follow this
Getting Started link.
-
Where can I get non-National Instruments support for Internet-related topics?
Follow these links here or from the default G Server homepage for additional information,
references on HTML authoring, and the Common Gateway Interface (CGI) specification:
-
Can I press the buttons and otherwise interact with the controls of my VI when I'm viewing it with a Web browser?
Yes, in a somewhat limited manner. The image of the remote VI front panel is simply that--an image.
It is not an ActiveX control or any other object that allows you to enter information directly into it.
One method of providing almost complete VI interactivity for a remote client who is viewing a VI using a Web browser is for the Web developer to use a combination of the following:
- An HTML image map to bind elements of the front-panel image to CGI VI links that change the corresponding front-panel values via VI Server. Any LabVIEW boolean, slider, and--to some extent--knob element or numeric, can be "controlled" in this manner, given some tweaking of the image map and the callback CGI VI. No changes are required in the diagram of the VI being controlled.
- HTML form elements, used in cases where simple clicks on the VI image cannot provide the control that is required. Examples are rings (which map to HTML form selection elements) and arbitrary numeric settings (which map to HTML form text entry boxes). Again, these form elements are also processed by CGI VIs that change the value of the front-panel elements via VI Server.
There are some other options available for achieving this sort of result, including a third-party package called AppletVIEW and ComponentWorks/ActiveX solutions. Most any "complete" solution currently available requires either extensive HTML/CGI development work or extensive changes to the diagram of the VI that is being controlled.
-
Can I use CGI scripts or executables written in languages other than G (perl, tcl, shell
scripts, compiled code, etc) to process client requests?
No, not unless you come up with a modification to the Server code to allow this.
The problem here involves argument-passing. LabVIEW and the G
Server do not have a convenient way to pass the query string from a client's browser to
any CGI routine other than those written in G. There is also no convenient way to access the
result of the non-LabVIEW script and pass it back to the client. Similar limitations are
encountered when using the System Exec VI in LabVIEW.
-
Can other HTTP servers (httpd, etc) make use of CGI routines written in G? How about
compiled CGI VIs?
No, for reasons similar to those in the above explanation. Native CGI VIs would be completely
unusable by other servers, and even with compiled version there is the problem of
argument-passing.
-
Can I embed the HTTP G Server inside an executable and run it on a machine that does not
have LabVIEW installed?
Yes. In fact, as of LabVIEW 5.1, you do not actually need the Internet Developers Toolkit in order to serve Application Builder-created window images to the Internet, although the toolkit is still the easiest way to achieve CGI, SMTP, FTP, Telnet, and other behaviors using LabVIEW.
For complete information on enabling the HTTP Server in your applications in any version of LabVIEW, refer to this explanatory information (zipfile that unzips into two VIs and two Word documents).
-
Why doesn't the embedded .monitor URL (animated views of VI front panels) work with Microsoft Internet Explorer?
The G HTTP Server code was written to take advantage of a specific type of
server-side push for animated images that was only supported by the Netscape browser.
As a result, panel animation is most flexible when used in conjunction with a Netscape browser. Under Internet Explorer, you can only obtain an animated image when that image is not embedded in HTML code.
-
Why do I get "500 Internal Error" messages in my browser when trying .snap or .monitor commands?
This occurs when you have Internet Developers Toolkit v1.0 installed in conjunction with LabVIEW 5.0; the problem and solution are explained in the summarized in the Internet
Toolkit Configuration portion of this troubleshooting guide and are also explained in the LabVIEW 5.0 Upgrade Notes that shipped with your copy of LabVIEW 5.0.
|
|