TIA S7-1500 Zugriff auf Web Service

SirHenry1607

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich bin schon den ganzen Tag am Suchen und Grübeln. Ich muss mit meiner S7-1500 eine Kommunikation über http realisieren. Ich sage http, weil ich nicht weiß, wie ich das sonst sagen soll. Vereinfacht gesagt, gebe ich in einem Browser folgende URL ein: z.b. http://localhost/web/service/123456789 wobei localhost eine webadresse und 12345.... eine Variable ist. Als Antwort zeigt der Browser einen XML Text an, in dem wiederum Variablen zu der 12345.... stehen und ausgelesen werden müssen.
Hat so etwas schon mal jemand gemacht oder gibt es Gateways von Drittanbietern die so etwas machen ?
Wäre für jede Hilfe dankbar !!
 
Also http-Anfragen lassen sich mit entsprechendem Aufwand auch von der SPS abwickeln. Du musst das http-Protokoll dann in Software selber programmieren. Wenn deine Webseite keine feste IP-Adresse besitzt, dann kommt das DNS-Protokoll zur Namensauflösung noch hinzu.
Ob das mit der Auswertung der xml-Datei dann auch noch sinnvoll in der SPS umzusetzen ist, hängt von der Komplexität der xml-Datei ab. Wenn das eine mehrere kByte Große Datei mit verschachtelten Datenstrukturen ist, dann ist es meiner Meinung nach nicht sinnvoll in der SPS mit den üblichen Sprachen zu verarbeiten, zumindest nicht wenn die SPS nebenher auch noch eine Maschine oder Anlage steuern soll.

Falls die Webseite nur über https (nicht nur http) erreichbar und womöglich noch ein Login notwendig ist, dann kannst du es mit der SPS gleich bleiben lassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK....das ganze scheint nicht so einfach zu sein. Ich habe gerade versucht, die URL als String Variable im HMI Web Browser darzustellen. Das funktioniert auch. Also ich gebe die URL ein und der Browser zeigt mit den Inhalt, quasi die Antwort auf meine URL Anfrage. Das sind eigentlich nur ein par Zeichen, also z.B. NNNNNNJ02 oder JJNJNNJ06
Kann man den Inhalt des Browsers nicht irgendwie auslesen und als String wieder in eine Variable packen ?
Unbenannt.JPG
 
Was hast du denn für ein HMI?
Vielleicht kannst du dort ein kleines Script schreiben welches die Webseite abfragt und passend die Antwort vorverarbeitet. Die meisten Sprachen bringen schon Programmbibliotheken für die Verarbeitung von XML mit, was das Ganze dann wesentlich einfacher macht.
 
Das Panel ist ein TP1500 Comfort. VB Scripte sind also möglich. Ich habe da schon mal mit gearbeitet, bin aber auch nicht so der Held. Wenn das hier jemand bewerkstelligen kann ?? Wäre super.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe am Freitag beim Kunden vergeblich versucht was an den Web Server zu schicken. Der Server hat den String nicht als http interpretiert. Eine Verbindung konnte erfolgreich aufgebaut werden. Aber irgendwie stimmt das Protokoll nicht. Hat damit jemand Erfahrung ?
 
Du musst das was du sendest eben in den für http notwendigen Rahmen einpacken. Und du musst die Methode wissen die dein Webserver zur Übermittlung deiner Daten erwartet, also ob http-post oder http-get (was sich erst mal nur als Abholung anhört). Davon hängt es ab wie deine Daten überhaupt übermittelt werden. Ggf. musst du evtl. vorkommende Sonderzeichen in deinen Nutzdaten auch noch "escapen", also durch andere Zeichenfolgen ersetzen.

Du findest eigentlich alles was du dazu brauchst schon im Wikipedia Artikel zu http. Aktuelle Webbrowser bringen dir auch meistens Werkzeuge für Web-Entwickler mit. Oft gibt es die Option dir dort die Daten inkl. http-header anzeigen zu lassen. Da kannst du dir dann ansehen was passiert wenn du selber eine Webseite aufrufst, oder eingegebene Daten abschickst.
 
Zurück
Oben