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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: S7-1200 Webserver: Eigene HTML-Seite

  1. #1
    Registriert seit
    21.10.2009
    Ort
    BW
    Beiträge
    62
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen Forengemeinde,

    ich bin gerade etwas am rumexperementieren mit dem Webserver einer 1200er.
    Ich habe zum testen eine kleine HTML-Seite mit Javascript erstellt, welche Variablen aus der SPS liest und schreibt, was auch soweit ganz gut funktioniert.
    Nun zum Problem: Ich bekomme es leider nicht hin Daten von einer Checkbox in die SPS zu schreiben, also wenn
    Haken gesetzt, Bit=1 und umgekehrt.
    Hier mal der Codeausschnitt dazu:

    Code:
    <!-- AWP_In_Variable Name='"HMI".Element.Active' -->
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
           <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
            <title>Gorilla Konfiguration</title>
            <!-- Via "<link...>" a CSS file is referenced which contains all information on the optical design of the web -->
            <link rel="stylesheet" type="text/css" href="S7Web.css">
        </head>
    
       <body onload="loginCheck()">  <!-- check login with each refresh of the website -->
          <form method="post" action="" onsubmit="">
             <input type="checkbox" id="Element_active" value='"HMI".Element.active'>
             <input type="submit" value="&uuml;bernehmen" style="width: 100px"></td>                      
          </form>
           <!-- BEGIN Login Area -->
            <!-- use 'src="../../Portal/Portal.mwsl"' if you 'Generate blocks' with 'Application name' and use 'src="../Portal/Portal.mwsl"' if you 'Generate blocks' without 'Application name'-->
            <iframe id="WebserverIFrame" name="WebserverIFrameName" src="../../Portal/Portal.mwsl" style="display:none"></iframe>
             
            <!-- area for login -->
            <div id="logForm" class="Login_Area" style="width: 300px;height: 150px"></div>
    
             
            <!-- function for check login -->
            <script type="text/javascript">
    function loginCheck()
            {               
                    var iFrameElement = document.getElementById('WebserverIFrame');
                    var loginForm = iFrameElement.contentWindow.document.getElementById('Login_Area_Form');
                    if(loginForm)
                    {
                            //alert("Not logged in");
                    document.getElementById('logForm').innerHTML = loginForm.parentNode.innerHTML;
                    }
                    var logoutForm = iFrameElement.contentWindow.document.getElementById('logout_form');
                    if(logoutForm)
                    {
                            //alert("admin is logged in");
                    document.getElementById('logForm').innerHTML = logoutForm.parentNode.innerHTML;
                    // delete '/Applicationname' in next line, if you 'Generate blocks' without 'Application name'
                    document.getElementsByName("Redirection")[0]["value"] = "../awp/Applicationname/Main_Webpage.html"; //fit Applicationname and HTML-page name to your settings
                    }
                   if( ':="HMI".Element.Active:' == 1)
                        document.getElementById("Element_active").checked = "checked";
    }
    
            </script>
            <!-- END Login Area -->
    
        </body>
        
    </html>
    Danke schonmal für Eure Hilfe
    Wer anderen eine Steuerung steuert,
    hat meisst ein Steuerungs-steuer-steuerer...
    Zitieren Zitieren S7-1200 Webserver: Eigene HTML-Seite  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Also eine Radiobox mit den Optionen ein/aus wäre sinnvoller, und auch einfacher umzusetzen.

    Eine Checkbox schickt nämlich wenn nicht checked beim Absenden keinen Wert, da muss man mit versteckten Feldern und ggf. etwas Javascript tricksen.

    Nur auf 1 setzen müsste so gehen:
    Code:
    <form method="post" action="">
    <input type="checkbox" id="Element_active" name='"HMI".Element.active' value="1" />
    <input type="submit" value="&uuml;bernehmen" style="width: 100px" />                  
    </form>

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    Marc_Quark (28.05.2013)

  4. #3
    Registriert seit
    21.10.2009
    Ort
    BW
    Beiträge
    62
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke, hab das auch schon probiert macht aber wenig Sinn wenn man's nicht wider auf Null setzen kann :/
    Hab es jetzt mit einer Auswahlbox(Gleiche Funktion wie die Radiobox) realisiert

    Code:
         <form method="post" action="">
                    <select id="Element_visible" name='"HMI".Element.Visible' size="1">
                    <option value=1>Ja</option>
                    <option value=0>Nein</option>               
                    </select>  
         <input type="submit" value="&uuml;bernehmen" style="width: 100px" />
    Schade das man nicht die möglichkeit hat in JS Variablen zu schreiben,
    dann gäbe es Ddutzende Möglichkeiten.
    Wer anderen eine Steuerung steuert,
    hat meisst ein Steuerungs-steuer-steuerer...

  5. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Marc_Quark Beitrag anzeigen
    Schade das man nicht die möglichkeit hat in JS Variablen zu schreiben,
    dann gäbe es Ddutzende Möglichkeiten.
    Sicher hast du die Möglichkeit auch über Javascript in die SPS zu schreiben. Einfach einen XMLHttpRequest vom Typ POST und mit den entsprechenden Daten absenden.
    Ich habe das mal mit dem jquery Framework gemacht, das ist aber für die 1200 etwas zu aufgeblasen. Zumindest wenn man die jquery Dateien auf der SPS ablegt lädt die Seite das erste mal schon sehr langsam. Aber wenn die Bibliothek erstmal geladen ist, kann man, wenn man es geschickt programmiert, alle Daten kontinuierlich per ajax Request aktualisieren und die Seite wird wieder schneller, weil nicht immer der ganze html code sondern nur die eigentlichen Daten angefragt werden.

  6. #5
    Registriert seit
    21.10.2009
    Ort
    BW
    Beiträge
    62
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hab ich mir auch überlegt, hatte schonmal mit SignalR und C# was geschrieben... allerdings für nen richtigen Webserver.
    Für die 1200 finde ich so 'ne Lösung auch etwas übertrieben.
    Wer anderen eine Steuerung steuert,
    hat meisst ein Steuerungs-steuer-steuerer...

  7. #6
    Registriert seit
    16.04.2013
    Ort
    Jena
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Marc,

    mich würde interessieren, wie man das jQuery Framwork auf die S7-1200 laden kann? Die Datei ist ca. 250kB groß und ist größer als die maximale Dateigröße von 64 kB pro Datei.

  8. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Wie kommst du auf die 64 kByte. Meinst du weil das die maximale Größe für einen Datenbaustein in der 1200er ist? Das ist kein Problem, die Dateien werden dann beim Erzeugen eben auf mehrere Fragmente (also mehrere Datenbausteine) aufgeteilt.

    Es gibt auch noch eine abgespeckte jquery Datei bei der alle Leerzeichen entfernt und Variablennamen eingekürzt sind. Die ist dann etwas über 90 kB groß.

  9. #8
    Registriert seit
    21.10.2009
    Ort
    BW
    Beiträge
    62
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von GO4 Beitrag anzeigen
    Hallo Marc,

    mich würde interessieren, wie man das jQuery Framwork auf die S7-1200 laden kann? Die Datei ist ca. 250kB groß und ist größer als die maximale Dateigröße von 64 kB pro Datei.
    Hi Go4,

    Thomas hat schon recht, google mal nach Jquery compressed. Die Datei müsste dann die Endung ..-min.js haben.
    Wer anderen eine Steuerung steuert,
    hat meisst ein Steuerungs-steuer-steuerer...

  10. Folgender Benutzer sagt Danke zu Marc_Quark für den nützlichen Beitrag:

    GO4 (30.05.2013)

  11. #9
    Registriert seit
    16.04.2013
    Ort
    Jena
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe es gerade noch einmal getestet. Im TIA Portal V11 können die DBs größer als 64 kB sein. Versuche ich die gleichen Dateien mit dem S7-Manager V5.5 in DBs umzuwandeln, egal ob HTML, JS oder CSS Dateien, dürfen sie nicht größer als 64KB sein, sonst bekommt man folgende Mitteilung:
    S7_Manager_V55.png

  12. #10
    Registriert seit
    04.03.2013
    Beiträge
    11
    Danke
    0
    Erhielt 2 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    in der V12 bekomme ich folgende Meldung wenn ich das aktuelle jQuery (compressed) laden will:
    Code:
    WebInt: Dateien für Webapplikation konnten nicht gelesen werden: WebInt: Dateigröße 66493 zu groß - Datei C:\test\jquery-1.10.1.min.js wird ignoriert.,19.06.2013,13:08:50
    Hab leider keine V11 zum testen da, war das Verhalten bei Dateien größer 64k anders?

    Viele Grüße
    Jonny

Ähnliche Themen

  1. S7 1200 - Webserver
    Von hank12 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.06.2013, 18:45
  2. s7 1200 html
    Von michafun2000 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.03.2013, 18:01
  3. Antworten: 6
    Letzter Beitrag: 05.03.2013, 18:26
  4. HTML Seite im Tia Portal?
    Von R.K. im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.09.2012, 14:32
  5. Hilfe HTML-Seite drucken
    Von Wölli im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.10.2007, 12:46

Lesezeichen

Berechtigungen

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