WinCC V7.2 auf Daten von Webserver zugreifen

Guido1976

Level-2
Beiträge
52
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

zunächst muss ich vorweg sagen, dass ich mich in diesem Gebiet nicht so super auskenne. Ich will mal kurz erklären worum es geht...

Ich habe eine S7-1500 im firmeneigenen Steuerungs-Ethernet hängen. Diese wird eingesetzt zur Kopplung zu allen möglichen Anlagen bei uns im Hause, um von diesen Anlagen die Anlagenzustände auszulesen. Um die Anlagenzustände darzustellen ist ein WinCC mit V7.2 im Einsatz. Soweit so gut...

Nun haben wir eine Kompressoranlage mit einer herstellerspezifischen Steuerung im Einsatz. Um den Anlagenzustand der Kompressoranlage anzusehen, stellt der Hersteller eine Webserver bereit. Dieser läuft auf einem PC und ich kann mir über den Webbrowser nun die Anlagenzustände ansehen. Ich will nun aber diese Anlagenzustände im WinCC darstellen und muss nun irgendwie an die Daten des Webservers heran kommen. Der Webserver stellt auch verschiedene Daten-Schnittstellen bereit. Dies sind u.a. SOAP Werbservice, JSON Interface und System Interface AJAX. Ich kann mit diesen Dingen leider nicht so viel anfangen. Im Webbrowser selbst kann ich diese Daten abrufen und darstellen. Die Frage ist, kann ich diese Daten-Schnittstellen in irgendeiner Weise von der S7 oder WinCC ansprechen. Im WinCC vielleicht durch ein VBS Script, o.ä.?

Für Hinweise, Beispiele, usw. wäre ich sehr dankbar.

Guido
 
Wir hatten auch mal eine ähnliche Anfrage von einem Kunden, da ging es um eine Airleader Kompressorsteuerung welche auch die Daten nur über eine Webseite zur Verfügung gestellt hatte.

Meine Idee war damals auf dem WinCC-PC einen Dienst einzurichten, der die Daten aus der Webseite extrahiert und in eine CSV Datei schreibt. Die CSV Datei wird dann von einem WinCC Skript zyklisch eingelesen und die Werte auf interne Variablen geschrieben.

Den Dienst habe ich in Perl geschrieben, weil damit die Abfrage von Webseiten und die Textverarbeitung relativ einfach ist.
Man könnte das Ganze auch direkt in einem WinCC-Skript programmieren, aber C ist mir dazu zu Low-Level und mit VBA bricht man sich dabei auch einen ab.

Die Kompressorsteuerung ist aber dann wieder rausgeflogen, und somit war das Ganze hinfällig. Ich würds aber trotzdem so in der Art machen (bzw. nicht als Dienst, sondern als Batch-Datei oder eigenständige exe die aus WinCC aufgerufen wird).
Wenn du die Daten auch in der S7 benötigst kannst du das theoretisch auch dort programmieren, das wird aber aufgrund der begrenzten Möglichkeiten wesentlich aufwändiger.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es handelt sich auch bei uns um eine Airleader Steuerung. Das Problem ist nur, dass ich keinerlei Erfahrung in Pearl Programmierung habe. Du sagst, es würde theoretisch auch in S7 gehen, wie sieht denn sowas dann aus?
 
In der S7 ist das ungemein aufwändiger als auf einem PC
Du musst eine TCP-Verbindung zur Airleader-Master anlegen, Verbindung aufbauen, HTTP-Request abschicken und Daten auswerten.
Auf dem PC ein Klacks, in der SPS ein relativ großer Aufwand. Vor allem weil Textverarbeitung in der S7 richtig Rechenleistung kostet.

Ich habe mal geguckt was ich damals so programmiert habe. Auf der Airleader-Seite gibts eine Demo-Anlage an der ich damals getestet hatte.
http://www.airleader.biz/airleader/index.jsp

Die interessanten Daten wie Betriebszustand der Kompressoren, Druck und Durchfluss kann man direkt hierüber als XML-Datei abfragen:
http://www.airleader.biz/airleader/frontControler_airleader.jsp

Wenn ich mir das so angucke, würde ich die Daten mittlerweile doch direkt aus WinCC auslesen.
Evtl. über ein externes Tool wie wget die Seite abfragen und den Inhalt in eine Datei schreiben, und die Datei dann mit WinCC (VBA oder C) einlesen.
 
Deine Anmerkung mit wget hat mich schon weiter gebracht. Damit kann ich doch jetzt im WinCC über ein VBS Script die Daten schon mal auslesen. Das habe ich auch schon mal direkt getestet und es funktioniert. Ich kann mir die Daten jetzt in eine Datei o.ä schreiben. Nun muss ich mir im Grunde noch ein Script bauen, dass in der Datei die Zustände herausliest und in meine WinCC Variablen schreibt...
 
Zurück
Oben