LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using remote vi publishing is it possible over to a vi over the internet?

Here is what I’m trying to do. I want to send an executable to one of our field reps. I will have him install the program on his computer and make sure he can get on the internet. Then I want to take control of the program. I have been able to do this in house between two computers but, when I set it up the VI at home I was unable to find the (program/ sever??).  How do I find out ?? address?? or ??URL??my program is broad casting at. I used the computer IP (172.23.15.26) address when I was testing in the same network. When I used the web publishing tool I got this address (http://eng01xpdt.helixtech.com/00temp00.htm). I tried to access that over the web with no luck. I guess I don’t know how that address would work for a remote location. ??Does the remote computer become a web server??

 

After reading help file it loks like this address should work: http://172.23.15.26/390troubleshoot.html but it doesn't work. MY vi file name is 390 Troubleshoot.vi (is the space the problem?)

0 Kudos
Message 1 of 11
(4,473 Views)

I am NOT big on TCP comm, but I can help (possibly) with what's going wrong. While there are, theoretically, 4 billion possible IP addresses, many computers connected to the network have the same addresses. How? Read about NAT to know (example).

This means that just using the IP address of your computer is not enough, because many computers have that IP address. You need to be able to be routed through the different servers to get to your computer. I have no idea how to do that, personally, but if you have IT people they will probably know (or you can try to do some searching). Note that firewalls are also an important thing to deal with, because you have to be allowed.


___________________
Try to take over the world!
0 Kudos
Message 2 of 11
(4,456 Views)
When you say that the remote panel is not working, what exactly are you getting? My guess is that you are not getting the web page at all and are instead getting a "not found" page. If that is the case there are a couple of things that could cause problems that you will want to check:
  • Web Server Configuration. Make sure that you have properly configured the Web Server in the Tools>>Options menu of LabVIEW. The Web Server should be enabled under Web Server Configuration, and to make things easiest, Web Server Browser Access and Web Server Visible VIs should include the "*" item (allow all).
  • VI Must Be in Memory. The VI that you are connecting to must be loaded into memory on the server computer. This means that you must have LabVIEW and the corresponding VI open the computer. The VI does not have to actually be running.
  • Firewall/Proxy Server. If you personally use a firewall or proxy server at home (many companies require you to set one up to have access to their internal networks from home), then that is the most likely culprit. I've linked an online knowledgebase here that address how to navigate this issue.
  • Correct IP Address. You mentioned that you were attempting to access the VI from a home computer and often times residential ISPs (Internet Service Providers) can be a lot of trouble. For one, IP addresses are often dynamically allocated which means that they change frequently. It could be that the IP address you are trying to access no longer belongs to you. More so, your ISP could have its own firewall blocking access of outside sources to the IP addresses that it owns. You will have to check with your ISP to find out more about that.

One great thing to try is pinging your IP address at the command prompt using the command "ping <address>". If you can't ping the address, then you are dealing with a network issue, but if you can, then it is a LabVIEW issue. Best of luck troubleshooting and let us know what you find!

Kind Regards,

E. Sulzer
Applications Engineer
National Instruments
Message 3 of 11
(4,435 Views)

Ok so I thought that trying to connect for home was too big of a step. So I reverified that I can connect using two computer at my work one has LV 7.1 prof (server computer) and, the other running a exe of my application. I'm able to connect to the server computer using a computer that is running a application of my program. By selecting [operate]...[connect to remote panel] then entering in IP address and vi name. That all works great (when talk to two computer under my employer roof / network). So then I tried to do it over the web using the web publishing tool using the same two computers. I set up the web server configurations all to "*". I loaded the vi so it was runing in server computer and I'm unable to connect using the web address.

Could my problem be------

 When using the web publishing tool the start web sever button is grayed out (aka - you can't select it)?   [perview in browser button works.]

 Or could it be VI server configuration ( do you need to select one of the protocalls (TCP/IP) or (activeX) or change port#? 

  • Web Server Configuration. all set to "*"
  • VI Must Be in Memory. VI is running on server computer
  • Firewall/Proxy Server.  ??? I can talk using test above so I don't think it is a problem. Maybe using IE sends it through another filter??
  • Correct IP Address.  I can ping the computer (using my employer network) (I will try from home tonight)
  • 0 Kudos
    Message 4 of 11
    (4,425 Views)
    Networking problems may arise for lots of reasons. Here is just a suggestion:
     
    in your server computer:
    when your networking features are ok, you are probably using your LAN network with no firewall. correct?
    when your networking features are not working, take a look at the properties of your connection in "control panel>> network connection>> your connection>>properties>> advanced>> settings>> and see if you are letting your PC to act as a webserver (HTTP). remember that internal port number must be the same as the port number you defined in LV options.
     
    0 Kudos
    Message 5 of 11
    (4,417 Views)

    The fact that you can't start the web server definitely sounds like the source of the problem to me - obviously you won't be able to connect unless the web server has been turned on. I don't know what could cause this, though. In my computer, even though the web server is not enabled (in the options menu), the button for starting it is not grayed out (I don't think the preview button is indicative of anything, because it's only suppose to open the HTML page). I do have one guess as to what can be wrong - open the lisence manager and check if you have the proper entries enabled.

    To check the communication, why not install the application at your home and use the Operate>>Connect... method? If that works, you will know that something is wrong with your webserver.


    ___________________
    Try to take over the world!
    0 Kudos
    Message 6 of 11
    (4,415 Views)
    If you want to activate webserver in an application (.EXE) not in LV environment, you must place an .INI file in the same folder of your exe file. a typical .ini file is attached.
    0 Kudos
    Message 7 of 11
    (4,411 Views)

    I used to have the same trouble here until I read this from the help.

    Web Server: Configuration Options Page

    Select Tools»Options to display the Options dialog box and select Web Server: Configuration from the top pull-down menu to display this page.

    Use this page to enable and configure the Web Server.

    This page includes the following components:

    • Enable Web Server—Enables the Web Server to publish front panel images and HTML documents. The default is Off.
    • Root Directory—Indicates the directory where the Web Server HTML files are located. The default path is labview\www.
    • HTTP Port—Indicates the TCP/IP port the Web Server uses. If another server already uses the port specified by HTTP Port on the computer or if you are on a computer where you do not have permission to use reserved ports, such as 80, remove the checkmark from the Use default checkbox and replace the value of HTTP Port with the port you want to use. Place a checkmark in the Use default checkbox to return to the default value.

      Note  If you use a port other than 80, such as 8000, you must specify the port on URLs that refer to the server, as shown in the following example:

      http://hostname:8000/index.htm
      • Use defaultWindows and Mac OS 9 Sets HTTP Port to its default value of 80. Mac OS x, Solaris, and Linux Sets HTTP Port to its default value of 8000.
    • Timeout—Indicates the number of seconds the Web Server waits while reading a request before the Web Server times out. If you place a checkmark in the Use default option, you cannot edit this field.
      • Use default—Sets Timeout to its default value of 60.
    • Use Log File—If you want to enable the log file, place a checkmark in this checkbox.
      • Log File Path—Indicates the path of the file where LabVIEW saves Web connections information. The default path is labview\www.log.

    Then I went to options changed my port number added that to the URl as specified and everything works now. I could not use port 80 because of our server. Hope this helps




    Joe.
    "NOTHING IS EVER EASY"
    0 Kudos
    Message 8 of 11
    (4,405 Views)

    I tried all of your ideas and still no luck (see below). One thing I forgot to mention was that when using Internet Exploier to view the web page on another computer I can see the document title (AKA- VI name) and the header I typed in. But where the vi should be I have the missing picture Icon (the one you see when a web page has a bad link to an image). Image will show up on sever computer when I click preview web page. Is there anything that the receiving computer needs to have other than the run time code?

     

    TST – I have found that the start web sever button will gray out if  you goto tools options web server configuration then manual check the enable web server check box. So that wasn’t it.

    Soroush- I set up computer to be a server using control panel (I didn’t know you could do that) thank for the ini file I will update mine

    Thoskins- I change port number and the still didn’t work

     

     

    HTML code created using Labview web publishing code  (everything looked go to me???)

    var obj = '<OBJECT ID="LabVIEWControl" CLASSID="CLSID:A40B0AD4-B50E-4E58-8A1D-8544233807AC" WIDTH=1019 HEIGHT=716 CODEBASE="ftp://ftp.ni.com/support/labview/runtime/windows/7.1';

    if (lng.indexOf("fr") != -1) { obj = obj + '/French'; }

    else if (lng.indexOf("de") != -1) { obj = obj + '/German'; }

    else if (lng.indexOf("ja") != -1) { obj = obj + '/Japanese'; }

    obj = obj + '/LVRunTimeEng.exe">';

     

    document.write(obj);

    // --></SCRIPT>

    <PARAM name="LVFPPVINAME" value="390Troubleshoot.vi">

    <PARAM name="REQCTRL" value=false>

    <EMBED SRC=".LV_FrontPanelProtocol.rpvi71" LVFPPVINAME="390Troubleshoot.vi" REQCTRL=false TYPE="application/x-labviewrpvi71" WIDTH=1019 HEIGHT=716  PLUGINSPAGE="http://digital.ni.com/express.nsf/express?openagent&code=ex3e33&"></EMBED>

    </OBJECT>

    </TD></TR></TABLE>

    </HTML>

    0 Kudos
    Message 9 of 11
    (4,383 Views)

    The fact that the VI name and page is registering is an excellent sign! It means that you are actually making the network connection. I'm not sure whether you're aware, but if you're using remote panels with just a LabVIEW executable and the Runtime Engine, you will also need the NI License Manager. Verify that you have it installed on both of your machines. If you happen to not have it installed, you can bundle it with your LabVIEW executable in an installer and distribute it that way. In your Build Application window, simply select the Installer tab, check "Create an Installer", click the Advanced button, and check "Remote Panel License Support" in the list. The function of the NI License Manager is to govern proper permissions in the usage of remote panels.

    Kind Regards,

    E. Sulzer
    Applications Engineer
    National Instruments
    0 Kudos
    Message 10 of 11
    (4,377 Views)