Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 21 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 206

Thema: ILC 150 ETH Webserver

  1. #1
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe hier eine ILC 150 ETH die ja einen Webserver hat.
    Mit WebVisit habe ich mir auch schon etwas zusammengebaut.

    Nun frage ich mich aber, ob es nicht möglich ist eine eigene Homepage mit Java zu erstellen und diese dann auch auf dem Webserver zu betreiben.
    Geht das überhaupt, oder ist das nur mit Webvisit möglich? Wie kann man dann auf die Variabeln der SPS (PDD) zugreifen?

    Danke!
    Zitieren Zitieren ILC 150 ETH Webserver  

  2. #2
    Portisch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Noch also Info dazu:
    Ich habe Sensordaten die ich gerne beim Webserver anzeigen will.
    Dazu möchte ich gerne amCharts einsetzen. Ein einfacher Test mit einem Example läuft ohne Probleme auf dem WebServer.

    Nun stehe ich aber vor dem nächsten Problem:
    Ich kann auf dem FTP keinen Ordner erzeugen!?
    Ich gehe auf: ftp://<ip>/WEBS/
    Eingeloggt als Anonymous.

    Gibt es da ein anderes Login damit ich Ordner erzeugen kann?
    Es kommt immer Error 500, Command not supported.

  3. #3
    Portisch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Habe es rausgefunden! Mann muss ein XML an die Steuerung schicken.
    Das Response XML enthält dann den Wert der Variable.

    Auch geht das nicht nur vom WebServer sondern von irgendwo im Netzwerk.

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title>Read PPO from ILC 150 ETH</title>
      <script type="text/javascript">
            var xmlReqList;
            var xhttp;      
            
            // Function creates from Array of variables an XML file in WebVisit format
            function createGetHTTPlist(list)
            {
             var xhttpsend="<body><version>1.0</version><client>IMasterPhoenix5_14_05</client><client_ver>5.14.0501</client_ver><item_list_size>";
             var item_list=list.length;
             var i;
             xhttpsend = xhttpsend + item_list ;
             xhttpsend = xhttpsend + "</item_list_size><item_list></item_list></body>";
             xmlReq=loadXMLString(xhttpsend);
             for (i in list){
              newel=xmlReq.createElement("i");
              x=xmlReq.getElementsByTagName("item_list");
              x[0].appendChild(newel);
              newel=xmlReq.createElement("n");
              newtext=xmlReq.createTextNode(list[i]);
              newel.appendChild(newtext);
              x=xmlReq.getElementsByTagName("i");
              x[i].appendChild(newel);
             }
             return(xmlDoc);
            }
            
            //Create from String an XML file with browser detection
            function loadXMLString(txt)
            {
            if (window.DOMParser)
              {
              parser=new DOMParser();
              xmlDoc=parser.parseFromString(txt,"text/xml");
              }
            else // Internet Explorer
              {
              xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
              xmlDoc.async="false";
              xmlDoc.loadXML(txt);
              }       
            return xmlDoc;
            }       
          
            function createXMLHttpRequest() {
               if (window.ActiveXObject) { 
                    try { 
                       // IE 6 and higher
                       xhttp = new ActiveXObject("MSXML2.XMLHTTP");
                    } catch (e) {
                        try {
                            // IE 5
                            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {
                            xhttp=false;
                        }
                    }
                }
                else if (window.XMLHttpRequest) {
                    try {
                        // Mozilla, Opera, Safari ...
                        xhttp = new XMLHttpRequest();
                    } catch (e) {
                        xhttp=false;
                    }
                }
            }
            
            function sendRequest() {
                
                if (!xhttp) {
                    alert("An Error occured when trying to initialize XMLHttpRequest!");
                    return; // exit
                }
                xhttp.open("POST","/cgi-bin/ILRReadValues.exe",true);
                xhttp.onreadystatechange=sendRequest_callback;
                xhttp.send(xmlReqList);
            }            
            
            function sendRequest_callback() {             
                if (xhttp.readyState==4) {
                    GetData();
                }
            }
            
            //Is executed if the confirmation from the webserver is recived
            function GetData(){
                var PLC_SYS_TICK_CNT;
                xmlDoc=xhttp.responseXML; //Convert respnse into xml document
                PLC_SYS_TICK_CNT = xmlDoc.getElementsByTagName("v")[0].childNodes[0].nodeValue; //Get first variable value
                document.getElementById("PLC_SYS_TICK_CNT").innerHTML = PLC_SYS_TICK_CNT;
            }         
            
      
            function init() {
                createXMLHttpRequest();
                xmlReqList = createGetHTTPlist(["@GV.PLC_SYS_TICK_CNT"]);
                sendRequest();
            }
            </script> 
      </head>
      <body>
        <input type="button" style="height: 23px; width: 20%;font-size:98%;text-align:center" onclick="init()" value="Get Data" width="50%" align="middle"/></br></br>
        <p id="PLC_SYS_TICK_CNT"></p>
        
      </body>
    </html>

  4. #4
    Registriert seit
    08.09.2010
    Ort
    Blomberg
    Beiträge
    420
    Danke
    1
    Erhielt 66 Danke für 63 Beiträge

    Standard

    Hallo Portisch,

    da machst du uns ja bald Konkurrenz mit deiner eigenen Lösung

    Die jetzige Generation unserer Kleinsteuerungen unterstützt FTP bisher leider nur recht eingeschränkt. Die neuen 1xx1 Geräte können jedoch verschiedene FTP Nutzer mit verschiedenen Rechten einrichten.


    Ich wünsche dir noch viel Glück mit deinem Vorhaben.


    Mit freundlichem Gruß
    Mark Schäfermann
    PHOENIX CONTACT Deutschland GmbH
    Hotline: 05281-946-2888
    automation-service@phoenixcontact.com
    www.phoenixcontact.de

  5. #5
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Portisch,

    ich benutze auch eine Phoenix ILC und finde deine Lösung sehr interessant. Leider kann ich aber nicht nachvollziehen, wie das funktionieren soll. Kannst du mir hierzu evtl. ein Beispiel oder weitere Informationen zukommen lassen?

    Vielen Dank für deine Hilfe und Antwort

    Grüße
    Daniel

  6. #6
    Portisch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo!

    Ich kann wenn erlaubt einmal ein Java Beispiel hochladen.
    Ich habe ein Java Class für die Abfrage der Variabeln gemacht.
    Diese Class kann dann in einem eigenen Java Applet oder einfach per HTML geladen werden.

    Ich muss es erst aber noch etwas zusammenräumen...

  7. #7
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Portisch,

    das wäre echt klasse von dir. Würde mir das gerne mal anschauen, vielleicht kann ich es auch irgendwie nutzen...

    Danke und schöne Grüße
    Daniel

  8. #8
    Portisch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Idee

    Also hier einmal meine Basteleien!

    Es ist der Java Source und ein Beispiel dabei.
    Die "HTTPRequest.class" kümmert sich um den Datenaustausch zwischen Java Applet und der SPS.
    Derzeit ist nur lesen der Vars eingebaut. Für ein Schreiben der Vars habe ich noch keine Zeit gehabt.
    Die "SPS_JInterface.class" ist das eigentliche Java Applet und muss über die "entry.html" geladen werden.

    Wenn man auf dem FTP der SPS in den Ordner WEBS den Inhalt des ZIP Files kopiert sollte es schon gehen.
    Vielleicht muss in der "entry.html" die IP Adresse der Steuerung eingegeben werden.
    Hier im Firmennetzwerk geht wegen Firewall usw. die 127.0.0.1 nicht. Muss man probieren!

    Die Java Files können einfach mit dem Java-Editor bearbeitet werden.
    Die PPOs sind in der "SPS_JInterface.java" anzupassen und neu zu kompilieren.
    Die PPOs Bezeichnung holt man sich aus der Datei "PDD.csv".
    Diese ist hier zu finden: "..\ProjektName\ProjektName\C\STD_CNF\R\STD_RES\PDD.csv"
    Über die Java Console kann man sich ansehen ob man Erfolg hat.

    Auch habe ich meine Sachen zu dem amCharts mit beigelegt.
    Das ist eine Aufzeichnung von Temperaturen, Luftdruck, Luftfeuchtigkeit,...

    Für das ganze ist kein WebVistit erforderlich!
    Es ist halt nicht Drag & Drop sondern man muss selbst etwas Java programieren.
    Ist aber nicht so schwierig! Das ganze habe ich in ca. 1 Woche ohne Java Kentnisse zusammengebaut...

    Screenshot.png

    ILC_SPS_Java_Interface.zip

  9. #9
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Super. Das kann ich ja glatt für meine selbstgebaute Visu nehmen. Muss man sich nicht noch Visu+ zulegen oder WebVisit.
    Wenn ich das schon gewusst hätte, dass das so einfach ist. Woher hast du denn die Info Portisch, das das über XML geht?
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  10. #10
    Portisch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.09.2011
    Beiträge
    145
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Mobi Beitrag anzeigen
    Woher hast du denn die Info Portisch, das das über XML geht?
    Nach langem Googeln...

    Google einfach nach "ILRReadValues.exe". Dann findest du den Java Script Source von www.ilc150.net.
    Nachdem mir das Java Script zu wenig war habe ich es für echtes Java umgesetzt.

Ähnliche Themen

  1. Phoenix Contact ILC 150 ETH FTP Upload
    Von cag im Forum PHOENIX CONTACT
    Antworten: 7
    Letzter Beitrag: 10.11.2011, 19:14
  2. Phoenix ILC 170 ETH + IL ETH BK + IB IL AI 4/U
    Von valik.vak im Forum PHOENIX CONTACT
    Antworten: 24
    Letzter Beitrag: 17.06.2011, 11:22
  3. ILC 150 ETH an Fritzbox 7270
    Von Mobi im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 19.05.2011, 13:36
  4. Phoenix ILC 150 ETH + Stromüberwachung
    Von underxpressure im Forum PHOENIX CONTACT
    Antworten: 11
    Letzter Beitrag: 03.12.2010, 13:48
  5. ILC 150 ETH mit Webvisit+Ipad
    Von simonhu im Forum Sonstige Steuerungen
    Antworten: 8
    Letzter Beitrag: 06.10.2010, 09:06

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •