TIA TCP. beliebige Website abrufen

volker

Supermoderator
Teammitglied
Beiträge
5.891
Reaktionspunkte
1.063
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich versuche aktuell eine webseite von einem meiner shelly abzurufen.
CPU: IM151-8

Erste Frage. Geht das überhaupt?
Eine TCP-Verbindung kann man ja unter Verbindungen nicht hinzufügen.

Ich habe mal den TCON mit entsprechenden Parametern bestückt. Als RemotePort: 80
Der TCON bleibt permanet auf Status 7000. Egal ob Req 0 oder 1.
An den Ausgängen vom TCON passiert nichts.
Unter Verbindungen wird auch keine hergestellte Verbindung angezeigt. Aber auch kein Fehler.
1707752571358.png
 
Zuletzt bearbeitet:
kurzes update

hab auf einem pc welcher im gleichen netz hängt mal mit hercules (https://www.hw-group.com/software/hercules-setup-utility)
einen tcp-server gestartet und die parameter in s7 entsprechend angepasst.
verbindungsaufbau, senden an hercules, und empfangen von hercules klappt.

funktioniert also ein verbindungsaufbau zu einem webserver grundsätzlich nicht?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker,
was genau hast du denn da vor - also was versprichst du dir von dem Zugang zum Webserver ?
Die Shelly's kommunizieren ja grundsätzlich über JSON-Strings ... den Webserver des Shelly könnte also m.E. maximal ein Bediengerät nutzen.
 
zur zeit rufe ich die daten von den shellys mit der pc-runtime über ein vb-script ab.
wäre aber schön wenn ich die daten auch unabhängig von der runtime direkt mit der cpu abrufen könnte.
wenn ich hercules als tcp-server starte und tcon starte geht der status auf 7002.
beim verbindungsversuch zum shelly oder auch zu meinem lokalem webserver bleibt der status auf 7000
es kommt also gar keine verbindung zu stande.
es scheint also ein grundsätzlicher unterschied zwischen diesen beiden arten zu bestehen. aber was das betrifft bin ich nicht so wirklich informiert.

im browser kann ich direkt den status vom shelly abfragen. das versuche ich halt über die cpu
1707759748770.png
 
Ich versuche es mal anders ...
Die einfache Status-Abfrage des Shelly wäre ja http://Ip-Adresse/Shelly
Darauf bekämst du dann die Geräte-Info.
Das kann ich so auch prinzipiell über den Browser machen (nur das der die Antwort dann nicht sinnvoll versteht).
Wie machst du das denn im Falle deiner TCon-Verbindung ? Nur das Anwählen der IP-Adresse bringt hier sehr wahrscheinlich gar keinen Kontakt weil der Shelly im Grundsatz einen Request erwartet (also das "/shelly" z.B.)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
verstehe ich jetzt nicht so ganz.
also mit z.b. 192.168.1.33 komme ich auf die eingangsseite von dem shelly.
mit http://192.168.1.33/cm?cmnd=status 10 kann ich direkt den status abrufen (bild in #4)
ich versuche also erst mal eine verbinding zum ..33 mittels tcon aufzubauen um dann den abfragestring zu senden.
aber es kommt ja keine verbindung zustande. vlt ist meine vorgehensweise ja auch falsch.
hab auch mal versucht mit tsend die anfrage zu senden. was natürlich nicht geklappt hat da ja keine verbindung aufgebaut wurde.

wie meinst du das?
Nur das Anwählen der IP-Adresse bringt hier sehr wahrscheinlich gar keinen Kontakt weil der Shelly im Grundsatz einen Request erwartet (also das "/shelly" z.B.)
 
hmmm. mir dämmert da was, was du evtl meinst.
der shelly erwartet direkt mit dem verbindungsaufbau die abfrage was ich möchte.
aber wie kann ich die beiden sachen auf der s7-seite kombinieren?
(falls du das so meinst)
 
hmmm. mir dämmert da was, was du evtl meinst.
der shelly erwartet direkt mit dem verbindungsaufbau die abfrage was ich möchte.
aber wie kann ich die beiden sachen auf der s7-seite kombinieren?
(falls du das so meinst)
Genau so meinte ich das und genau dazu fällt mir gerade nichts ein.
Unter VB-Script machst du ja einen HTTP-Request - dazu fällt mir bei der SPS gerade kein Pendant ein ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal etwas anders :
Woher hast du den Request : http://192.168.1.33/cm?cmnd=status 10
Ich kenne nun schon eine ganze Menge Abfragen an die Shelly's - die aber nicht. Was genau bewirkt die ?

Edit : bei mir bewirkt das einen Fehler - bzw. ich erhalte keine Antwort ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal etwas anders :
Woher hast du den Request : http://192.168.1.33/cm?cmnd=status 10
Ich kenne nun schon eine ganze Menge Abfragen an die Shelly's - die aber nicht. Was genau bewirkt die ?

Edit : bei mir bewirkt das einen Fehler - bzw. ich erhalte keine Antwort ...
Sorry das ich hier für Verwirrung gesorgt habe. Das ist kein shelly. Das hier ist die Abfrage vom bitshake SmartMeterReader.

Meine Shelly-Abfragen sehen so aus.
shelly plug
shelly plug s
shelly em

Aber vom Prinzip, was mein Problem betrifft, egal.

@van
Ich habe TIA 18 nicht installiert.
Ich hab bei 16 eine Pause eingelegt. ;)
Ich hab mir das mal von Siemens runtergeladen.
Das klappt bei mir nicht da ich eine IM151-8 habe und keine 1200/1500er
Ob man das für für meine CPU migrieren kann......? Ich schaue mir das mal genauer an.
 
Wenn du die LHTTP Bib nicht nutzen kannst: irgendwo hier im Forum gab es auch mal ein Thema, wo es um das erzeugen von http-Abfragen mit S7-300/400 ging, evtl. war da @Thomas_v2.1 beteiligt.
Übrigens: das http-Protokoll hat nichts mit TCP-Verbindungen zu tun.
 
Das einzige was ich finde ist das hier.
Führt aber nicht zum Ziel. Mache ich im Prinzip genauso.
Hab mir das mal in der LHTTP angeschaut. Dort wird TSEND_C verwendet. Aber der verwendet ja zum Verbindungsaufbau auch TCON.
Und hier scheitert die ganze Sache ja. Der TCON bleibt im Status 7000.

Wie oben erwähnt hab ich das ja auch mal mit Hercules getestet. Das funktioniert.
Also liegt das Prob nicht bei meinem Baustein sondern wohl ehr darin, dass der TCON keine Verbindung zu einem Webinterface aufbauen kann. Zumindest nicht mit meiner Hardware. (denke ich jedenfalls)
 
Zurück
Oben