Hauptmenü

HTTP_GET

Begonnen von lullnix, 28. August 2017, 16:17:22

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

lullnix

Hallo,

ich versuche mit HTTP_Get unter CodeSys 2.3.9 (Wago 750-841) die Webseite unseres Mähroboters abzufragen - leider ohne Erfolg.
Der Roboter befindet sich im gleichen LAN-Segment wie die SPS.
Hat jemand ein Beispielprogramm in ST - aus den Demos werde ich nicht schlau.

mfg

Lullnix

peewit

na ja

die demo programme sind in st programmiert und zeigen mitunter den umgang mit http_get
das einfachste für dich wird es trotzdem sein das du dir ein möglichst ähnliches demo-programm hernimmst und anpasst


lullnix

das ist es ja, ich schaffe es nicht mehr den st quellcode in den demos anzeigen zu lassen.
würde ich den quellcode sehen, dann würde ich ihn wahrscheinlich passend modifiziert kriegen.

ich schau noch mal... wahrscheinlich sehe ich den wald vor lauter Bäumen nicht.

Gruß Lullnix

peewit

die bibliothek als projekt öffnen
dann kannst du den ordner "demo" sehen und darin befinden sich ausgeblendete programme (vom kompilieren ausgeschlossen)
die musst du wieder aktivieren und dann eventuell exportieren und in dein projekt mit neuen namen importieren
dann kannst du sie auch verändern

lullnix

ok danke, das habe ich jetzt gefunden.
Leider ist die Demo Http_Demo nicht in ST.

Gibt es ein Beispiel in ST?

peewit

zum beispiel verwendet der yahoo_weather baustein  den http_get baustein

lullnix

ja, hatte ich gesehen, aber die Demo YAHOO_WEATHER_DEMO ist auch nicht in ST - schade -

Maiggl

Hallo,

ich hänge mich mal an diesen thread, um keinen neuen mit ähnlichem Hintergrund öffnen zu müssen.

Ich schaffe es nicht eine Verbindung mit einer WLAN-Steckdose herzustellen, die mit einem http-befehl geschaltet werden kann. Dabei verwende ich den fb http_get und den fb IP_control der codesys_network_121_hf1.lib.
Mit dem http_get-Baustein der Wago-lib hatte ich es hinbekommen. Da ich allerdings in meinem Projekt die oscat-lib auch anderweitig verwende,
will ich die WagoLibHttp_02.lib nicht verwenden, da ich sonst einen Konflikt mit dem http_get Baustein bekomme, da er in beiden libs genau gleich heißt.

Ich habe mal einen screenshot angehängt. Vielleicht kann mir hier jemand auf die Sprünge helfen.
Da ich auch den fb IP-Control zum ersten mal verwende, bin ich mir auch hier nicht sicher, ob ich den richtig einsetze.

Was vielleicht noch wichtig ist. Bei der WLAN-Steckdose muss man sich mit admin:admin anmelden.

Wo ist der Fehler?

[gelöscht durch Administrator]

peewit

hallo

die Kommunikation dürfte ja prinzipiell funktionieren
du bekommst vom gerät als Antwort das deine Zugangsdaten nicht passen

wie sieht den der original link aus wenn du es über den Browser eingibst

Maiggl

Hi,

erstmal vielen Dank für die umgehende Rückmeldung.
In den browser gebe ich Folgendes ein, um die Steckdose einzuschalten:
http://192.168.178.111/xml/jsonswitch.php?id=1&set=1

Aber auch wenn ich die Zugriffskontrolle ausschalte und den Benutzer und das Passwort weglasse, bekomme ich die gleiche Reaktion.

Was mich verwirrrt, ist, dass es mit diesen Zugangsdaten mit dem Wago-FB funktioniert.




peewit

kannst du von der wago lösung die kommunikation mittels wireshark aufzeichnen
und dann auch die kommunikation mit der oscat-lib

dann kann ich 100% erkennen was anders und dann normalerweise auch eine lösung für das problem liefern


Maiggl

ich weiß nicht genau, was du alles von der Aufzeichnung brauchst. habe das erste mal wireshark verwendet.
Daher habe ich mal die gesamten Aufzeichnungen angehängt.

Die wago hat die IP 192.168.178.99
die Steckdose hat die IP 192.168.178.111

[gelöscht durch Administrator]

Maiggl

hier noch das codesys programm

[gelöscht durch Administrator]

peewit

irgenwie ist die aufzeichnung sehr merkwürdig

wie hast du denn die wireshark aufzeichnung gemacht

beschreibe mal kurz dein netzwerk und an welcher stelle hast du wie den datenverkehr aufgezeichnet


Was für ein Gerät hat die ip-Adresse 192.168.178.4

Maiggl

Das Gerät mit der 192.168.178.4 müsste mein Laptop sein, mit dem die Aufzeichnung gemacht wurde und auf dem zu dem Zeitpunkt codesys im Online-Modus (also verbunden mit der Wago) lief.
Ich werde das aber noch mal checken, heute Abend.

Zur Vorgehensweise:
- Codesys läuft im Onlinemodus auf Laptop, um den http-request loszutreten
- Wireshark auf Laptop gestartet
- Aufzeichnen Button gedrückt
- request von HTTP_GET gestartet über codesys auf Laptop
- Nachdem der fb HTTP_GET die Statusmeldung '401 unauthorized' gezeigt hatte, Aufzeichnung gestoppt

Zum Netwerk:
-FritzBox mit 192.168.178.1
-Wago mit 192.168.178.99
-WLAN-Steckdose, die von der WAGO geschaltet werden soll mit 192.168.178.111
- Zum Zeitpunkt der Aufzeichnung befanden sich zwei smartphones, ein sat-receiver, ein raspberry, insgesamt zwei laptops, ein tablet, eine netzwerkfestplatte, ein onewire gateway und eine wlan kamera im netzwerk.

hilft das irgenwie weiter?