LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

How publish a LabWindows application on web browser?

I would like to know can I publish an application that I created on a web browser for remote control purpose.
This application I am building is for a equipmets that has 2 PC's.
Where:
 2nd PC for controlling the x-y table and some servo motors
 1st  PC is for controlling a scalar robot thru serial port and comminication with a remote server.
Currently  managed to control the 2nd PC thru 1st PC via TCP-IP Srver and Client model.
Only issue is that I cant do have the application on 2nd PC appear on my fist PC.
The current method i used by having the Remote Desktop Connection so I can have both application appear on the same PC.
I am realy keen to have the 2nd PC application to run as web based application so that I can control it from the PC with the use of the Remote Desktop Connection.

I have seen some discussion on this matter before where it talks about using the Internet Connectivity Tool for LabWindows. If I am not mistaken this must be part of LabWindows CVI 8.01 FDS in the NI Developers Suite.
So please advice me how I can achieve my goal here.

Thanks.
Khairi John
0 Kudos
Message 1 of 9
(6,044 Views)
Khairi,

The Internet Connectivity Toolkit allows you to communicate via POP3, FTP and Telnet, but does not give you the functionality for posting applications to a webpage. You can do one of four things

1) Send your data over TCP/IP or network variable to a webpage for displaying the data. This would require Measurement Studio with ASP.NET.
2) Use our CVI libraries and GUIs in C++ and create an ActiveX control out of it to be embedded on a webpage (the user would need the activex control as well).
3) Just use Measurement Studio and ASP.NET to create your application
4) Send your data from CVI to an SQL database and have the website read from that database.

Out of all of these, only the second and third would allow for much interaction between the user and the application.

Brandon Vasquez | Software Engineer | Integration Services | National Instruments
0 Kudos
Message 2 of 9
(6,015 Views)
I wrote a tool for converting a UIR to html form and extra cgi C code
many years ago. It probably still works:
http://www.gdargaud.net/Hack/PanelToCgi.html

I don't plan on adding to it.


johnk said the following on 2007/03/13 17:10:
> I would like to know can I publish an application that I created on a
> web browser for remote control purpose. This application I am
> building is for a equipmets that has 2 PC's.Where: 2nd PC for
> controlling the x-y table and some servo motors 1st  PC is
> for controlling a scalar robot thru serial port and comminication
> with a remote server.Currently  managed to control the 2nd PC
> thru 1st PC via TCP-IP Srver and Client model.Only issue is that I
> cant do have the application on 2nd PC appear on my fist PC. The
> current method i used by having the Remote Desktop Connection so I
> can have both application appear on the same PC.I am realy keen to
> have the 2nd PC application to run as web based application so that I
> can control it from the PC with the use of the Remote Desktop
> Connection.I have seen some discussion on this matter before where it
> talks about using the Internet Connectivity Tool for LabWindows. If I
> am not mistaken this must be part of LabWindows CVI 8.01 FDS in the
> NI Developers Suite.So please advice me how I can achieve my goal
> here.Thanks.Khairi John


--
Guillaume Dargaud
http://www.gdargaud.net/
0 Kudos
Message 3 of 9
(5,962 Views)
Brandon and Guillaume,
I like to thank you for the advice.
I will try out what guys suggested.
I will use Guillaume suggestion for the start.
 
Regards.
Khairi  John
0 Kudos
Message 4 of 9
(5,947 Views)
> I like to thank you for the advice.
> I will try out what guys suggested.
> I will use Guillaume suggestion for the start.

I built this utility for that precise reason, but it's kind of a complex
and partial solution (not every CVI UIR can be transcribed to HTML
FORM). Nowadays writing a cgi-script in C is overkill: complex to debug,
delicate to configure properly in your server, etc...

Maybe you'd be better off building a mixed system: PHP for the server
side, and an engine in C underneath, with graphics generated either in
PHP or C.

Anyway, it's good to know that stuff I wrote 7 years ago can still come
in handy.
--
Guillaume Dargaud
http://www.gdargaud.net/
0 Kudos
Message 5 of 9
(5,933 Views)
The original CVI "Internet Toolkit" product once had this functionality that I think you are looking for (publishing web panels in a browser from your CVI program). This toolkit was offered in the NI catalog in the mid-to-late 1990's, then later disappeared from it. I believe much of it's functionality has been re-born as the new "Internet" library that ships inside CVI 8.x. But not the ability to web publish a CVI panel anymore, for some reason...

If I recall correctly, here is how it worked (haven't used it in many years, so this may be inaccurate). You'd compile into your CVI program all the appropriate functions from this toolkit library to set up an internal web server in your executable, which would link to this library's "cviinet.dll" DLL binary (x86 platform, no source code provided). When running on a PC with a TCP/IP stack, it would support a new HTTP listening port on that system. You could define this port to be 80 or whatever. Your CVI program would do a live JPEG capture of your CVI panel at run-time when it received an HTTP query to this web server's port. You would have previously assigned one or more HTML-related "image-map" locations on this JPEG/CVI-panel (for example, a small square surrounding where a square command button was located). A remote user clicking on this square JPEG image-map location in his/her remote web browser would connect to that control's callback in the running CVI program, and perform the action associated with that control.

At the time, it was a resource hog (back when a PII with 128MB RAM was considered a real "killer" machine) so the JPEG updates weren't very quick if the panel was large.

I myself mostly used it for monitoring a remote system, and the functionality I used was just to use HTTP server-push (in your CVI program) or HTTP client-pull (from the HTML code that your CVI program's internal HTTP server) to update the panel every few minutes. That way I could decide if I should get my lazy ___ out to the lab because an automated test had recently completed.

Source code exists out there to do a home-brew version of something like this, if you got the time to slave it out.

I have to assume that NI might sell it to you if you asked real nice, and if you agreed that they would not have to support it. I think it fit on 1 floppy (remember those?).

I can tell you more over the phone, send an email to jumper-dot-bones at gmail-dot-com if you are interested.
--
To whom it may concern: My alias is also my nickname, I've had it since I was a (very) skinny basketball-playing teen. OK, so I've got a 38 inch waist now, but my hometown friends haven't shaken that appellation for me. I trust that you will someday be OK with that alias, as I have been with that nickname.
0 Kudos
Message 6 of 9
(5,890 Views)
is there any progress in this matter..?
i'm interesting also in controling a LabWindows application from a web browser..
(just a form with a button and a text string)


if someone could give a little help would be grat..!! 🙂

thanks..
0 Kudos
Message 7 of 9
(5,326 Views)
I offered help to the original poster of this thread over a year ago, and since then neither he nor absolutely anybody else contacted me (see my post above).

NI did once have this exact solution as a purchased "add-on" to CVI that you and the original poster needed.  It was a separate product back about 10 years ago, but it is now an end-of-life product.  I have to assume that they (NI engineers) could resurrect that code and make it available as an example, or perhaps a knowledgebase article, or an NI-community submission (or how about even a SourgeForge.net project  :^)...  I think that if they offer it one of those ways then it could be made available as an "as-is" basis so that they do not have to support it (like they would if they made it a part of the CVI libraries.  I think this might be one of those requests that needs to be submitted to that location where all us CVI developers are supposed to go to petition for new features.

Where was that URL location again?

JB
--
To whom it may concern: My alias is also my nickname, I've had it since I was a (very) skinny basketball-playing teen. OK, so I've got a 38 inch waist now, but my hometown friends haven't shaken that appellation for me. I trust that you will someday be OK with that alias, as I have been with that nickname.
0 Kudos
Message 8 of 9
(5,268 Views)
Hi JB,

You can file a product suggestion at our Product Suggestion Center.

You are correct that this feature used to be included in older versions of CVI when there was a seperate Internet Toolkit, but now that feature has been discontinued  Another solution would be to use ASP.Net and Measurement Studio to create the webpage and display the data from your CVI Application using network variables to communicate between them.

These two discussion forums talk more about this issue.

How can I use LabWindows/CVI 8 with Visual Studio?
Using ASPX page to call .NET application in LabWindows/CVI
Jessica
National Instruments
Product Support Engineer
0 Kudos
Message 9 of 9
(5,240 Views)