TIA HTTP-Request (GET und POST) - Von einer S7-1500 an einen Server

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

hat jemand vielleicht Erfahrungen mit Tado?
Ist es möglich über die LHTTP Bausteine eine OAuth 2.0 anfrage zu senden damit man ein Api Key erstellen kann ?
 
Sorry, dass ich den Fred nochmals aufwärme...
Fehler in unterlagerter Anweisung "TCON"
Der Fehlercode der Anweisung wird an "diagnostics.subfunctionStatus" ausgegeben.
Die Bedeutung des jeweiligen Fehlercodes entnehmen Sie dem TIA Portal
Informationssystem.
Hast Du eine Lösung dafür gefunden? Habe nämlich das selbe Problem mit einem Shelly PlusPlugS .

1723055882609.png

Den Shelly steuern geht...


Danke und Grüße
wayne
 
Moin,

@Ludewig: HWID muss 0 sein, sofern nicht eine Verbindung projektiert wurde.

@wayne5de: „Den Shelly steuern geht“ soll heißen, per Browser oder App, richtig?

Was steht denn in der Diagnose drin? Ohne den Fehlercode der unterlagerten Komponente wird’s schwierig.

Ist in der CPU der Zugriff per Put/Get aktiviert?
 
@ ASI-Master:
Tut mir leid, aber Du bist im falschen Film.
Es geht hier um einen Baustein aus der LHTTP-Bibliothek, nicht um PUT und GET.
Der Baustein braucht die Hardware-ID der Ethernet-Schnittstelle, z.B. so (aus meinem SCL-Code):
hwID:="Local~PROFINET-Schnittstelle_1",
Die genaue Bezeichnung findet man in den Systemkonstanten in den PLC-Variablen.

Das Freischalten von Put/Get ist dafür nicht nötig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Baustein braucht die Hardware-ID der Ethernet-Schnittstelle, z.B. so (aus meinem SCL-Code):
Laut Handbuch:
hwID: Hardware-Kennung der PN/IE-Schnittstelle für den Verbindungsaufbau. Bei "0" wird automatisch eine passende gewählt.

Das funktioniert bei mir auch mit 0, wenn ich den Shelly per LHTTP_PostPut ein/aus schalte...

Der subfunctionStatus ist 16#80AA.
 
Okay, dann findet diese Version die Ethernet-Schnittstelle auch selbst, wenn man nichts vorgibt (und z.B. nur eine vorhanden ist).

Nutzt Du mehrere Bausteine oder tauschst Du nur die URL in der Kommunikation mit demselben Gerät?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wenn Du testhalber nur die URL tauschst? Ich habe mir die benötigten URLs in ein Array of Strings gepackt und rufe alle Befehle mit dem gleichen Baustein auf, so dass die Verbindung nur einmal genutzt wird.
(Ist jetzt nur eine Vermutung. Ich habe das mit meinen Post-Befehlen an einen Funkrouter so gelöst (SMS-Versand)).
 
Auch wenn ich nun den LHTTP_PostPut verwende und den nur einmal, habe ich das selbe Problem...
1723134450372.png

Ist denn die url richtig zum Lesen des Status?
 
Es geht nun mit dem LHTTP_Get Baustein...

Es wird wohl die Verbindung belegt, wenn ich vorher den Shelly steuere...
Der Tipp aus der Hilfe funktioniert bei mir nicht:
Bitte wiederholen Sie den Auftrag durch einen erneuten Flankenanstieg am Parameter REQ.
Wenn ich die CPU neu startet geht's dann...


Ich Schlafmütze... :oops::whistle:
Wenn ich jedem Baustein eine eigene connID gebe, dann funktioniert es auch
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Scheint als ob die COnnection ID schon einmal verwendet wurde:

80AA
A connection is currently being established with the same connection ID by another block. Repeat the job with a new rising edge at the REQ parameter.


 
Wenn eine Verbindungs-ID für TCON verwendet wird, dann wird diese Verbindungs-ID erst wieder frei, wenn explizit TDISCON aufgerufen wird.
Ein erneuter Versuch (Flanke an REQ) mit der bereits belegten Verbindungs-ID wird da nicht helfen. Entweder muss mit einer anderen ID versucht werden, oder die gewünschte ID muss mit TDISCON freigegeben werden.
 
Wenn eine Verbindungs-ID für TCON verwendet wird, dann wird diese Verbindungs-ID erst wieder frei, wenn explizit TDISCON aufgerufen wird.
Ein erneuter Versuch (Flanke an REQ) mit der bereits belegten Verbindungs-ID wird da nicht helfen. Entweder muss mit einer anderen ID versucht werden, oder die gewünschte ID muss mit TDISCON freigegeben werden.
Ich rufe ja den Baustein LHTTP_Get auf und da hätte ich mir eigentlich gedacht, dass sowas im Baustein selber passiert nachdem man "execute"! ansteuert..
 
Zurück
Oben