Step 7 315 + CP -> HTTP-Adresse aufrufen um eine Antwort zu erhalten

Krumnix

Level-3
Beiträge
1.464
Reaktionspunkte
192
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Hab eine 315er mit einer Advance Ethernet-CP.
Im Ethernet befindet sich ein Auswertegerät, welches durch Aufruf einer speziellen http-Adresse eine Antwort per TCP zurückschickt (string-stream).

Wenn ich die http-Adresse (z.B. http://192.168.100.100/GetLogFile) von Hand aufrufe, kann der danach verschickte String in der SPS ausgewertet werden.
Dies funktioniert also.

Nur frage ich mich grad, wie ich die http-Adresse in der SPS aufrufen kann, um das Gerät zum Senden der Daten zu bewegen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"Problem".
Die Antwort schickt das Gerät über Port 1880. Gleiche Adresse, aber 2 Ports dann.
80 für HTTP (habs halt erst über 1880 versucht...) und Antwort auf 1880.

Ich schau mal nachher, wenn ich wieder an der Anlage bin, ob ich die gleiche Verbindung 2 Mal anlegen kann mit unterschiedlichen Ports
 
Die Portnummer des Clients wird üblicherweise vom jeweiligen Betriebssystem dynamisch vergeben. Bei Windows fängt dieser Portbereich bei 1025 an. Es ist absolut unüblich, dass der Webserver als Quellport eine bestimmte Portnummer verlangt. Dann würdest du diese Webseite mit einem normalen Client nicht aufrufen können

Ein TCP Socket ist eine zweiseitige Verbindung, darüber können nach dem Aufbau beide Teilnehmer senden. D.h. du lässt deine SPS eine TCP-Verbindung zu der Adresse auf Port 80 aufbauen. Den Quellport kannst du auch bei der SPS dynamisch auswählen lassen, meistens wird das gemacht wenn als Quell-Portnummer die 0 angegeben wird.
Du darfst nach deinem http-get die Verbindung natürlich nicht schließen sondern musst diese aufgebaut lassen und dann versuchen daraus zu lesen. Bei der Antwort liest du den http-header mit der content-length, damit weißt du noch genau wie viele Zeichen du noch lesen musst.
 
Es war früher so, dass der Kunde auf einem Windows Rechner ein Python-Script starten lies, was dann die Adresse aufgerufen hat und die Daten dann zur SPS geschickt wurden.
Das soll nun die SPS selbst machen. Der Rechner soll entfernt werden.

Das Auswertegerät soll nicht verändert werden (auch weil keiner sich mehr damit auskennt und die Kosten für TryAndError zu hoch sind).
 
Zurück
Oben