08-17-2006 01:07 AM
08-17-2006 02:14 AM
There are several issues here.
First, you need access to a server where you can have a valid internet IP address and where you will be allowed to run executable code. This is not a minor issue and you should make sure you can do this.
Second, users can not control a VI without the LV RTE installed. They can view it if it's in snapshot or monitoring mode, but not control it.
Third, I believe that the only version that allows giving control to more than one user at the same time is the new 8.2 and I don't think you can get around this.
You could try using an alternative mode of control. Programs like VNC allow users to control your entire computer, along with the VI, but that's probably something you don't want. Other options include using some of the software that was developed to allow just this, but the programs I know of (LabVNC and AppletVIEW) were never finalized.
The good news from all this is that if you build your VI into an exe (using the application builder, if you have it) it will run automatically. The other option is to go into File>>VI Properties>>Execution and check Run When Opened. You will also need to add a command to the server's startup routine to open LV with this VI.
08-17-2006 06:42 AM
08-17-2006 10:14 AM
I'm far from being an expert on this myself and I haven't actually done anything like this. In any case, Jmax seems not to be an internet guru either, just someone who wants to be able to control the VI from anywhere, without having to install anything and with no limitations.
The closest thing I've done to this was an experiment I did once where I grabbed the image of a VI and sent it to another VI (on a PDA) and there I detected where the user was clicking on the image and sent that back to the computer for simulating the click. A small web application to do this can probably be written, but it is definitely beyond my skills.
As for how data is transferred on the internet, there are quite a few protocols, but I don't really know anything about them. I believe NI uses Javascript to maintain your login data and dynamically generates the HTML code of the pages you're viewing based on its internal DB. Personally, I haven't managed to use LV to talk to NI's web site, because apparently the browser sends some additional data when dealing with Javascript which the internet toolkit VIs could not send or identify, so what I got was HTML code for an anonymous user.
08-17-2006 10:21 AM
08-17-2006 11:30 PM - edited 08-17-2006 11:30 PM
Message Edited by tbd on 08-17-2006 11:32 PM
Message Edited by tbd on 08-17-2006 11:33 PM
08-18-2006 01:28 AM
If you want multiple copies, that's another issue, and you could probably do this purely in LV. For example, instead of using VI server to launch your reentrant VIs, write a program which copies both the VI and the htm file and then modifies the htm file to point at the new copy. Then, the real trick would be to be able to forward the current user to the new htm file, thus releasing our "login" VI. Once the user stops using his or hers copy, the VI and htm file can be deleted.
The entire copying\running\forwarding part can probably be done either with some web language or using LV, but at least the forwarding part will probably require some understanding which I don't have. I know that forwarding is a simple command in HTML, but I don't know about changing the html, refreshing the page or setting a timer. Then again, I don't really care, either.
Unfortunately, this wouldn't help for controlling the same program. For that, you would probably need something along the lines of what I described earlier.