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

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

Thema: Auslesen SPS über Web

  1. #1
    Registriert seit
    09.08.2012
    Beiträge
    22
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich habe eine Frage, bezüglich auslesen einer Steuerung über den Webserver.

    Hardware:
    ET200S CPU (6ES7 151-8AB01-0AB0)
    2MB MMC
    IP: 192.168.1.100

    Software:
    Step7 v5.5

    Die SPS hat einen Webserver.

    Die Ausgangslage:
    Ich habe bei mir lokal eine .html-Datei gebastelt, nennen wir Sie Startseite. Auf der Startseite ist ganz simpel gesagt eine Verlinkung zum Webserver von der SPS. z.b Button mit Verlinkung auf 192.168.1.100. Von dort aus gelangt man dann üblicherweise mit dem Login auf die Anwender spez. Webseite vom Webserver, welche ja auf der SPS abgespeichert ist.
    Veränderungen an meiner lokalen Startseite, haben keine Auswirkungen auf den Webserver von der SPS.
    Auf der Startseite wurde ein Login-Bereich erstellt, mit welchem man die Anmeldeinformationen in Variablen(javascript) zwischenspeichern kann. Die Variablen werden, dann mit dem Klick auf den Button an die Steuerung gesendet(POST). So hat man die Möglichkeit direkt auf die spez. Anwenderseite zu gelangen in dem man die Verlinkung auf dem Button z.B. so anpasst: 192.168.1.100/awp/MeineSeite.html.

    Meine Frage:
    Wie ist es möglich über meine Startseite(lokal), eine Variable aus der Steuerung(z.B. db1.dbw0) auszulesen. Da ich mich ja Anmelden kann, sollte es sicherlich auch die Möglichkeit geben, Daten auszulesen. Wenn möglich möchte ich den Webserver der SPS nicht verändern, bzw. das SPS-Programm anpassen.
    Gibt es eine Möglichkeit von meiner Startseite auf den DB zuzugreifen?

    Mögliche Lösungsansätze(Stichwortartig):
    XMLHttpRequest, mwsl,...
    Die beiden Lösungsansätze habe ich aus div. Berichten und Forumsbeiträge gesucht. Mir sagt beides im Moment noch nicht wirklich viel.. Bin aber gerne bereit, neues zu lernen
    Ich habe zudem nichts gelesen, aber ist es nicht auch möglich mit einem GET-Formular die Daten auszulesen?

    Bin gespannt auf eure Tipps.

    Gruss
    Janitor
    Zitieren Zitieren Auslesen SPS über Web  

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

    Standard

    Das Problem bei einiem XMLHttpRequest ist in dem Fall, dass die sog. Same-OriginPolicy greift wenn du von einer Webseite auf localhost Daten von einer fremden Domain (bzw. Adresse der SPS) laden willst.
    Das ist eigentlich eine Sicherheitsfunktion. Beim IE lässt sich dafür aber eine Ausnahmeregel einstellen, wenn man es denn will.

    Ansonsten könntest du auch in deine lokale Seite eine kleine Seite vom SPS Webserver als iframe einbinden, in der diese eine Variable angezeigt wird.

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Falls es auch reicht den Variablenwert im Webserver zu sehen:
    - der Webserver dieser CPU müsste schon eine Seite "Variablenstatus" haben
    - man kann auch sehr einfach eigene Variablentabellen in den Webserver einfügen (VAT Häkchen: Webserver)
    - man kann etwas aufwendiger anwenderdefinierte Webseiten erstellen (Web2PLC)

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    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 und Harald

    Erst einmal möchte ich euch danken für die schnellen Antworten.
    @Thomas:
    Ich schaue mir die Thematik iframe im Moment genauer an. Ich habe noch Schwierigkeiten den S7-Webserver in diesem zu öffnen. Ich ahne jedoch, dass sich meine Aufgabe so nicht lösen lässt. Kann ich über das iFrame mit dem Webserver S7 drin, eine Variable an meine Startseite übergeben? Ich möchte nicht nur anzeigen, sondern eine Variabel(z.B. ein String) übergeben.

    Ich tue mich recht schwer mein wirkliches Problem zu schildern. Mein Ziel ist schlussendlich folgendes:
    Beispiel Systemaufbau:
    100 SPS’n mit jeweils einem Router auf mehrere km verteilt. Jetzt kommt der Servicetechniker und steckt sich irgendwo ins Netzwerk. Von dort aus ruft er die Startseite auf und navigiert sich durch alle Anlagen(SPS, Klimagerät, etc..) jeweils zum Webserver. Jetzt hat er jedoch die Möglichkeit auf der Startseite ins „lokale“ Netzwerk zu wechseln und kann sich direkt, nach dem Router, ans lokale Netz anschliessen. (somit ändert sich die ip, statt z.b. (10.22.20.100:Port) nur noch (192.168.1.XY)) Nun möchte ich erreichen, dass die Startseite aus der Steuerung den aktuellen Ort liest, damit dem Servicetechniker gleich die aktuellen Anlagen in diesem lokalen Netzwerk(bei dieser Örtlichkeit) angezeigt werden. Dies möchte ich aus der SPS lesen, das gibt es nämlich schon eine String Variable, die den Ort enthält. So könnte ich die Anlagen an diesem Ort mittels Skript ermitteln und dem Servicetechniker auf der Startseite die aktuellen Anlagen anzeigen.
    Ich hoffe ihr versteht was ich möchte. Ich will von euch keine fertige Lösung, aber eine Idee wie ich das realisieren könnte wäre super!
    Wenn es keine „einfache“ Lösung dafür gibt, werde ich kurzen Prozess machen und einfach alle Anlagen auf der internen Seite anzeigen und verlinken und wenn die Anlage an einem Ort nicht verfügbar wäre, führen halt einige Links ins nichts. Das geht schon, ist jedoch nicht so elegant.

    @Harald
    Irgendwie reden wir wohl an einander vorbei…

    Gruss
    Janitor

  5. #5
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Wenn ich es richtig verstanden habe.
    Du willst Variabeln in den SPS auslesen können ohne weitere Systeme als ein Webbrowser auf ein PC der mit den SPS verbunden ist, und ohne den integrierte Webserver Projekt zu ändern.
    Nein, das geht nicht.

    Aber es gibt viele Webserver basierte Systeme, womit man ein HMI oder SCADA einrichten kann. Diese Webserver Systeme braucht dann normaleweise ein OPC Server um den Verbindung zu den SPS zu bekommen.

    Andere Lösungsvorschläge:
    1. Du verwendest trotzdem den integrierte Webserver, entweder mit Variabeltabellen, oder anwenderdefinierte Webseiten.
    2. Da du pro SPS ein Router hast, dann gibt es Router mit integrierte Webserver und möglichkeiten Variabeln in den SPS zu verlinken. Ewon hat diesen Funktion, selber habe ich es aber nicht probiert.
    Jesper M. Pedersen

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von Janitor Beitrag anzeigen
    Nun möchte ich erreichen, dass die Startseite aus der Steuerung den aktuellen Ort liest, damit dem Servicetechniker gleich die aktuellen Anlagen in diesem lokalen Netzwerk(bei dieser Örtlichkeit) angezeigt werden. Dies möchte ich aus der SPS lesen, das gibt es nämlich schon eine String Variable, die den Ort enthält.
    Du willst ermitteln, an welcher SPS der Techniker angeschlossen ist?
    - Haben die SPS/CPU verschiedene Stationsnamen? --> der Stationsname wird schon auf den Standard-Webseiten angezeigt
    - Haben die SPS verschiedene IP-Adressen oder verschiedene Gateways? --> die IP-Adresse und das eingestellte Gateway wird schon in den Standard-Webseiten angezeigt


    Zitat Zitat von Janitor Beitrag anzeigen
    Jetzt kommt der Servicetechniker und steckt sich irgendwo ins Netzwerk.
    Er steckt sich auf den Switch des lokalen Netzwerks oder wie? Kannst Du das genauer erklären?

    Zitat Zitat von Janitor Beitrag anzeigen
    Jetzt hat er jedoch die Möglichkeit auf der Startseite ins „lokale“ Netzwerk zu wechseln und kann sich direkt, nach dem Router, ans lokale Netz anschliessen. (somit ändert sich die ip, statt z.b. (10.22.20.100:Port) nur noch (192.168.1.XY))
    Ich kann mir echt nicht vorstellen wie das gehen soll bzw. wie Du das meinst ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Und nochmal der Hinweis auf die Standard-Webseite "Variablenstatus" wo man sich die zu lesende(n) Variable(n) nach Belieben zusammenklicken kann.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    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 zusammen
    Danke für die vielen Ideen, Anregungen.

    Ich versuche einmal die Fragen zu beantworten/bzw. zu kommentieren.

    Zitat Zitat von JesperMP Beitrag anzeigen
    Wenn ich es richtig verstanden habe.
    Du willst Variabeln in den SPS auslesen können ohne weitere Systeme als ein Webbrowser auf ein PC der mit den SPS verbunden ist, und ohne den integrierte Webserver Projekt zu ändern.
    Nein, das geht nicht.
    Genau, ich will eine Variable in der SPS auslesen und sie in meinem Skript auf der Startseite einlesen und verarbeiten. Wenn das nicht möglich ist, ist das schon einmal ein Rückschlag.

    Zitat Zitat von JesperMP Beitrag anzeigen
    Andere Lösungsvorschläge:
    1. Du verwendest trotzdem den integrierte Webserver, entweder mit Variabeltabellen, oder anwenderdefinierte Webseiten.
    2. Da du pro SPS ein Router hast, dann gibt es Router mit integrierte Webserver und möglichkeiten Variabeln in den SPS zu verlinken. Ewon hat diesen Funktion, selber habe ich es aber nicht probiert.
    Zitat Zitat von PN/DP Beitrag anzeigen
    Und nochmal der Hinweis auf die Standard-Webseite "Variablenstatus" wo man sich die zu lesende(n) Variable(n) nach Belieben zusammenklicken kann.
    Hier verstehe ich den Zusammenhang mit meiner Aufgabe nicht ganz. Mir ist bewusst, dass ich Variablentabellen im Webserver der S7 anbinden kann, bzw. anzeigen lassen kann. Dies auch schon in der default-Webseite, jedoch will ich die Variable ja auf meiner Startseite. Die Startseite muss man sich als externe Datei vorstellen. Die kann jeder auf sein Notebook laden und Sie brauchen.

    Zitat Zitat von PN/DP Beitrag anzeigen
    Du willst ermitteln, an welcher SPS der Techniker angeschlossen ist?
    - Haben die SPS/CPU verschiedene Stationsnamen? --> der Stationsname wird schon auf den Standard-Webseiten angezeigt
    - Haben die SPS verschiedene IP-Adressen oder verschiedene Gateways? --> die IP-Adresse und das eingestellte Gateway wird schon in den Standard-Webseiten angezeigt
    - Die Örtlichkeit ist in einem String in einem DB gespeichert.
    - Die Ip-Adresse ist im lokalen/internen Netz immer die gleiche für eine Anlage, z.b. Die SPS1 hat immer 192.168.1.10, die Klima4 hat immer 192.168.1.60 etc.

    Zitat Zitat von PN/DP Beitrag anzeigen
    Er steckt sich auf den Switch des lokalen Netzwerks oder wie? Kannst Du das genauer erklären?


    Ich kann mir echt nicht vorstellen wie das gehen soll bzw. wie Du das meinst ...
    Genau, der Servicetechniker steckt sein Kabel im lokalen/internen Netz an einem Switch ein(in dem Fall im Netz: 192.168.1.XY)

    So ich hoffe ich konnte etwas genauer die Ausgangslage schildern. Ich tendiere im Moment zu der Lösung mit der Auflistung aller Anlagen.

    Gruss
    Janitor

  9. #9
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    So tun wir das:

    Wir haben viele Anlagen in viele Länder. In fast alle Anlagen haben wir ein Internet Router, nur nicht in die kleinste und wo die Kunden es nicht haben will.
    Als Router verwenden wir Ewon, aber es gibt mehrere Anbieter mit diesen Funktionalität.
    Alle Anlagen haben denselbe IP Struktur.
    Zu Hause logge ich mich durch Ewons Portal (heisst Talk2M) an das Anlage die ich beobachten will.
    Dann bin ich mit diese Anlage angeschlossen als ob ich direkt verbunden wäre.
    Ich kann STEP7 verwenden um online mit den SPS zu gehen, aber ich kann auch den integrierte Webserver verwenden.
    Ich kann nur 1 Anlage auf einmal in diese weise checken (wegen die IP Adressen). Ob da ein trick gibt um mehrere Anlagen zu beobachten auf einmal weiss ich nicht. Ich habe auch kein bedarf dafür.

    Ist das was du brauchst ? Oder etwas in diesen Stil ?
    Jesper M. Pedersen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Janitor Beitrag anzeigen
    @Thomas:
    Ich schaue mir die Thematik iframe im Moment genauer an. Ich habe noch Schwierigkeiten den S7-Webserver in diesem zu öffnen. Ich ahne jedoch, dass sich meine Aufgabe so nicht lösen lässt. Kann ich über das iFrame mit dem Webserver S7 drin, eine Variable an meine Startseite übergeben? Ich möchte nicht nur anzeigen, sondern eine Variabel(z.B. ein String) übergeben.
    So richtig verstanden was du das vorhast habe ich noch nicht wirklich. Aber nur mit dem Öffnen einer lokalen HTML-Datei ohne echten Webserver im Hintergrund kommst du nicht weiter, weil da einfach die Möglichkeiten fehlen.
    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.

Ä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
  •