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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Auslesen SPS über Web

  1. #11
    Janitor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen

    Ihr seid super! Ich schätze Eure Hilfe sehr, dennoch habe ich das Gefühl wir driften langsam von meinem Ursprünglichen Problem ab.

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Vielleicht kannst du auf dem PC des Servicetechniker einen kleinen leichtgewichtigen Webserver laufen lassen, wie http://www.server2go-web.de/
    Damit kannst du die Logik zu Abfrage der Steuerungen in php auf dem Server programmieren. Z.B. abfragen welche Steuerungen erreichbar sind, und dann die Webseite die der Techniker zu Gesicht bekommt gleich passend aufbauen.
    Vielen Dank für den Tipp, das werde ich mir mal anschauen. Jedoch klingt es für meinen Fall viel zu Aufwendig, nur um eine "elegantere" Lösung zu erhalten.


    Zitat Zitat von JesperMP Beitrag anzeigen
    Ist das was du brauchst? Oder etwas in diesen Stil ?
    Vielen Dank für die Schilderung. Leider ist das nicht das, wonach ich suche. Ich tue mich recht schwer die Problematik zu schildern, da ich selbst nicht genau weiss, ob dies so einfach möglich ist.

    Ich ging davon aus, dass es eine einfache Lösung geben sollte, denn mein Login auf meiner Startseite(lokal) sendet 2 Variablen(Benutzer, Passwort)mit einem POST an die Steuerung(SPS/Webserver). So sollte es doch auch möglich sein, Variablen von der Steuerung zu holen!? Aber ja, so wie ich das im Moment beurteile geht das nicht so einfach.

    Ich werde mir Eure Gedanken und Tipps noch ein wenig durch den Kopf gehen lassen. Falls ich auf eine einfache Lösung für dieses Problem gelange, werde ich es anschliessend hier posten. Vielen Dank nochmal für die Unterstützung.

    Freundliche Grüsse
    Janitor

  2. #12
    Registriert seit
    29.03.2004
    Beiträge
    5.792
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Zitat Zitat von Janitor Beitrag anzeigen
    Vielen Dank für den Tipp, das werde ich mir mal anschauen. Jedoch klingt es für meinen Fall viel zu Aufwendig, nur um eine "elegantere" Lösung zu erhalten.
    Aufwändig für dich oder den Benutzer? Für den Benutzer ist es nicht schwer. Er kann den Server sogar von einem USB Stick starten (keine Installation notwendig), und man kann einstellen dass dann sofort ein Webbrowser gestartet wird und eine entsprechende Startseite aufgerufen wird.

    Zitat Zitat von Janitor Beitrag anzeigen
    Ich ging davon aus, dass es eine einfache Lösung geben sollte, denn mein Login auf meiner Startseite(lokal) sendet 2 Variablen(Benutzer, Passwort)mit einem POST an die Steuerung(SPS/Webserver). So sollte es doch auch möglich sein, Variablen von der Steuerung zu holen!? Aber ja, so wie ich das im Moment beurteile geht das nicht so einfach.
    Wie geschrieben, das liegt an der Same origin policy.
    Aber es gibt meine ich einen Weg das teilweise zu umgehen. Denn beim Einbinden von Javascript Dateien gilt diese Regel nicht. Du könntest also auf dem Webserver eine Datei erstellen mit einer Javascript Datei die mit Werten aus der SPS befüllt wird (oder gleich Json). Auf deiner lokalen Seite bindest du dann im Kopf diese Daten vom Webserver der SPS ein. Dann sind zumindest die Werte schonmal da. Das lässt sich aber nur mit einem kompletten Neuladen der Seite aktualisieren. Weißt du wie ich meine?

    Oder eben in ein iframe laden, hast du das schon probiert?

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

    Janitor (04.10.2013)

  4. #13
    Janitor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Aber es gibt meine ich einen Weg das teilweise zu umgehen. Denn beim Einbinden von Javascript Dateien gilt diese Regel nicht. Du könntest also auf dem Webserver eine Datei erstellen mit einer Javascript Datei die mit Werten aus der SPS befüllt wird (oder gleich Json). Auf deiner lokalen Seite bindest du dann im Kopf diese Daten vom Webserver der SPS ein. Dann sind zumindest die Werte schonmal da. Das lässt sich aber nur mit einem kompletten Neuladen der Seite aktualisieren. Weißt du wie ich meine?

    Oder eben in ein iframe laden, hast du das schon probiert?
    Hallo Thomas

    Jetzt wird es interessant, das hört sich nach einem möglichen Weg an. Ich versuche mal zu schildern was du meinst, korrigiere mich wenn ich was falsch verstanden habe:
    Die Variable wird auf dem Webserver mittels Javascript in einer Variable gelesen. Einfaches Bespiel:
    Code:
    Var temp = SPS_Varaible;
    In meiner lokalen Datei kann ich auf die temp Variable zugreifen mittels javascript. Die temp Variable kann ich dann z.B. in einer "lokalen"variable abspeichern und verwenden. Hab ich das richtig verstanden?
    Wiso geht das nur beim komplett refresh?
    Wie kann ich die Variable temp denn aus der Steuerung holen?

    iFrame hatte noch Probleme gemacht...

    Gruss

  5. #14
    Registriert seit
    29.03.2004
    Beiträge
    5.792
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Genau. Auf dem Webserver der SPS legst du eine Datei z.B. javascript-daten.js an.

    Ganz einfaches Beispiel:

    Inhalt der Datei javascript-daten.js auf dem Webserver der SPS(Achtung, Syntax für eine 1200, ist aber nur bei den Anführungszeichen unterschiedlich):
    Code:
    <!-- AWP_In_Variable Name='"DB_HMI"' -->
    <!-- AWP_In_Variable Name='"DB_HMI".intVar1' -->
    <!-- AWP_In_Variable Name='"DB_HMI".intVar2' -->
    
    var SPS_variable_1 = :="DB_HMI".intVar1:;
    var SPS_variable_2 = :="DB_HMI".intVar2:;
    Und dann als lokale Seite:
    Code:
    <html>
    <head>
    <title>Testseite zur Datenaktualisierung</title>	
    <script src="http://192.168.1.191/awp/Testseite-Web2Plc/javascript-daten.js" type="text/javascript"></script>		
    <script type="text/javascript">
    function refreshOutputArea()
    {
    	var text = "<p>SPS_variable_1 = " + SPS_variable_1 + "<\/p>";
    	text +=  "<p>SPS_variable_2 = " + SPS_variable_2 + "<\/p>";	 
    	document.getElementById("OutputArea").innerHTML = text;
    }
    
    window.onload = function()
    {
    	refreshOutputArea();
    }
    
    </script>	
    </head>
    <body>
    <h2>Testseite zur Datenaktualisierung lokal</h2>
    <div id="OutputArea"></div>
    </body>
    </html>
    Die eingebundene js Datei vom Webserver der SPS wird dann leider nur aktualisiert wenn die komplette Seite neu geladen wird.

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

    Janitor (04.10.2013)

  7. #15
    Janitor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich glaube so langsahm aber sicher kommen wir der Sache auf den Punkt. In der Theorie hats glaubich bei mir klick gemacht. Jetzt happerts noch an der Umsetzung

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Inhalt der Datei javascript-daten.js auf dem Webserver der SPS(Achtung, Syntax für eine 1200, ist aber nur bei den Anführungszeichen unterschiedlich):
    Wie müssen die Anführungszeichen bei mir sein?
    Müsste das in der .js Datei nicht so aussehen(statt: <!--html--> , so: /*js*/)?

    Code:
    /*AWP_In_Variable Name='"DB_Ort"'*/
    /*AWP_In_Variable Name='"DB_Ort.Geb_Ort"'*/ 
    
    var Temp1 = :="DB_Ort".Geb_Ort:;  //wahrscheinlich auch falsch, da teilweise "-Zeichen
    Das ganze wird im Webserver so aufgerufen:
    Code:
    <script src="scripts/temp.js" type="text/javascript"></script>
    Code in der lokalen Seite:
    Code:
    <html>
    <head>
    <title>Testseite zur Datenaktualisierung</title>	
    <script src="http://192.168.1.80/awp/html/scripts/temp.js" type="text/javascript"></script>		
    <script type="text/javascript">
    function refreshOutputArea()
    {
    	var text = "<p>temp = " + Temp1 + "<\/p>";
    		 
    	document.getElementById("OutputArea").innerHTML = text;
    }
    
    window.onload = function()
    {
    	refreshOutputArea();
    }
    
    </script>	
    </head>
    <body>
    <h2>Hier steht Ort</h2>
    <div id="OutputArea"></div>
    </body>
    </html>
    Irgendwo ist noch der Wurm drin...

  8. #16
    Registriert seit
    29.03.2004
    Beiträge
    5.792
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Zitat Zitat von Janitor Beitrag anzeigen
    Ich glaube so langsahm aber sicher kommen wir der Sache auf den Punkt. In der Theorie hats glaubich bei mir klick gemacht. Jetzt happerts noch an der Umsetzung


    Wie müssen die Anführungszeichen bei mir sein?
    Müsste das in der .js Datei nicht so aussehen(statt: <!--html--> , so: /*js*/)?
    Nein, das muss schon genauso wie ich das geschrieben habe. Das ist eben diese AWP-Syntax für den Webserver der SPS. Dass die Syntax in Form von HTML-Kommentaren aufgebaut ist hält einen nicht davon ab das auch in andere Dateien einzubauen . Diese Informationen sind bei Auslieferung der Seite nicht mehr vorhanden.

    Die AWP-Anweisungen in den spitzen Klammern werden vom Webserver komplett entfernt. An den Stellen wo eine SPS-Variable nach Schema ":= Variablenname:" vorkommt, wird der Wert von Variablenname eingesetzt.

    Wenn in meinem Beispiel javascript-daten.js beim Import über Step 7 noch so aussieht:
    Code:
    <!-- AWP_In_Variable Name='"DB_HMI"' -->
    <!-- AWP_In_Variable Name='"DB_HMI".intVar1' -->
    <!-- AWP_In_Variable Name='"DB_HMI".intVar2' -->
    
    var SPS_variable_1 = :="DB_HMI".intVar1:;
    var SPS_variable_2 = :="DB_HMI".intVar2:;
    Sieht der Client bei GET javascript-daten.js nur noch
    Code:
    
    
    SPS_variable_1 = 1234;
    SPS_variable_2 = 4567;
    Wenn "DB_HMI".intVar1 aktuell den Wert 1234 und "DB_HMI".intVar2 aktuell 4567 besitzt.

    Probiers aus wenn du in deinem Webbrowser direkt die Adresse angibst. Aufgrund des MIME-Types den der Webserver der SPS setzt bekommst du die Datei zum Download angeboten.

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

    Janitor (04.10.2013)

  10. #17
    Janitor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas

    Endlich!!! Du bist genial, ich hatte einen Fehler im Aufruf! Och bis man so Sachen findet!!!!!

    Step1 wäre geschafft! Ich konnte eine Variable so übergeben wie ich das wollte. Danke dir!

    Was mir noch Probleme macht ist folgender Code:
    Code:
    <!--AWP_In_Variable Name='"DB_Ort"'-->
    <!--AWP_In_Variable Name='"DB_Ort.Geb_Ort"'--> 
    
    var Temp1 = :="DB_Ort".Geb_Ort:;
    Das will irgendwie nicht gehen. Ich hatte den erfolgreichen Test mit diesem Code gemacht:
    Code:
    var Temp1 = 1234; //statisch
    Ich denke jetzt fehlt nicht mehr viel! Ich versuchs noch ein wenig!

    Gruss

  11. #18
    Janitor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe es leider nicht hingekriegt, da ich nächste Woche weg bin werde ich mich erst wieder in 1 Woche melden! Auf jedenfall werde ich mich hier noch mal melden, wenn ich die Lösung gefunden habe. Vielleicht hast du Thomas oder jemand anders ja mein Fehler endeckt. Auf jedenfall wünsch ich euch allen ein schönes Wochenende!

    Grüsse aus der Schweiz

Ähnliche Themen

  1. Antworten: 30
    Letzter Beitrag: 06.07.2013, 23:04
  2. Panel über Web Access einbinden
    Von Teimo im Forum HMI
    Antworten: 0
    Letzter Beitrag: 14.09.2011, 09:59
  3. Touch Panel über Web Browser beobachten
    Von komatze im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 30.03.2011, 17:21
  4. SPS über Ethernet auslesen
    Von Sophie6 im Forum Sonstige Steuerungen
    Antworten: 15
    Letzter Beitrag: 13.04.2008, 11:32
  5. S5 über PC und Web steuern
    Von Fire1985 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 03.04.2006, 17:59

Stichworte

Lesezeichen

Berechtigungen

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