Home > Forum > IEC 61131-Programmierung (LogicLab) > FB HTTPGetPage und der REST-Service
- Dieses Thema hat 9 Antworten, 3 Teilnehmer und wurde zuletzt aktualisiert 5 Jahre, 11 Monate da Sergio Bertana.
-
AutorPost
-
November 24, 2015 bei 9: 43 #35883AndreaPartecipante
Ich habe die neue Firmware SFW184B000 mit der neuen HTTP-Verwaltungsfunktion heruntergeladen und installiert. Ich wollte fragen, ob es möglich ist, Beispiele für die Verwendung des FB zu haben HTTPGetPage in ST und in FBD.
November 24, 2015 bei 9: 45 #39208Sergio BertanaAdministrator des ForumsIn der neuen Firmware wurde die Netzwerkverwaltung mit FBs komplett neu gestaltet, um sowohl Client- als auch Serververbindungen in UDP und TCP zu verwalten. Die DNS-Unterstützung für die URL-Auflösung wurde ebenfalls eingeführt. Auf diese Weise konnten wir eine ganze Reihe neuer FBs für das Networking erstellen. Ich schlage vor, Sie konsultieren die neue Version des Handbuchs.
Die FB HTTPGetPage Wenn Sie Webseiten von HTTP-Servern abrufen, können Sie als allgemeiner Browser fungieren. Im Handbuch gibt es bereits ein Beispiel in Kontaktplansprache, das eine Verbindung zu einem auf einem öffentlichen Server veröffentlichten PHP-Skript herstellt. In dem Beispiel, in dem ein digitaler Eingang aktiviert wird, wird die Anforderung einer Seite auf der Altervista-Website ausgeführt und die Dividenden- und Divisor-Parameter werden in GET 2 übergeben.
Die angeforderte Seite ist ein PHP-Skript, das die Aufteilung zwischen den übergebenen Werten durchführt. Hier können Sie die Funktion des Skripts direkt testen http://www.slimline.altervista.org/Mdp095a000/Ptp119b000/Division.php?Dividend=500&Divisor=10.
Wenn das Skript aktiv ist, wird eine Seite zurückgegeben mit: Das Ergebnis ist: 50. Es ist offensichtlich, dass Sie das Skript testen können, indem Sie die Werte in der Browseradresse ändern und unterschiedliche Ergebnisse erhalten. Der Zweck des FB ist genau dies, um sich auf das Programm zu verlassen SlimLine auf einem Webdienst in der Cloud, um Vorgänge auszuführen.
November 24, 2015 bei 10: 30 #39209Sergio BertanaAdministrator des ForumsIch nutze das Thema, um hinzuzufügen, dass der HTTPGetPage-FB die Engine einer neuen Bibliothek ist, die wir für einige Kunden entwickelt haben, um das Internet der Dinge mithilfe des REST-Dienstes zu verwalten. Wir arbeiten derzeit an dieser Bibliothek, die wir hoffentlich so schnell wie möglich anbieten können, während sie Kunden, die sie anfordern, im Beta-Modus zur Verfügung gestellt wird.
Hier ist einer Screenshot der historischen Seite der REST-Site, die für einen Kunden erstellt wurde, der Industriekühlschränke verwaltet. Dort sehen Sie einen Bericht mit der Anzeige der Kühlraumtemperatur in Bezug auf die des Verdampfers.
November 24, 2015 bei 12: 32 pm #39213AndreaPartecipanteDas in Ptp119b000 und in der LD-Sprache vorgeschlagene Beispielprogramm ist für mich etwas schwierig. Wenn es in ST und FBD reproduziert wird, würde ich besser verstehen, wie es in mein System integriert werden kann, vielen Dank.
November 24, 2015 bei 2: 57 pm #39214Sergio BertanaAdministrator des ForumsIn der FBD-Sprache ist es praktisch dasselbe wie in der LD-Sprache, daher habe ich es vorgezogen, ein Beispiel in der ST-Sprache zu erstellen, in dem ich auch die Möglichkeit eingerichtet habe, GET an die Anforderung für Variablenwerte zu übergeben und den Wert des Ergebnisses aus der zurückgegebenen Zeichenfolge zu erfassen und in eine REAL-Variable zu setzen (Hier ist sie Programmdruck).
Ich füge zum Download die aktuelle Version des Beispielprogramms Ptp119b100 mit dem neuen Programm hinzu (Programm herunterladen).
Februar 24, 2017 bei 8: 23 #39852SergioPartecipanteHallo, ich glaube, ich habe einen Fehler im HTTPGetPage-FB von eLLabNetworkLib_A200.plclib gefunden. Wenn die Anforderungszeichenfolge leer ist, wird eine falsche HTTP-Anforderung gestellt. Genau die erste Zeile (z. B. HTTP / Pfad / a / b / c HTTP / 1.1) wird wiederholt, da sie sich auch in der zweiten Zeile befindet.
Das Einfügen eines einzelnen Zeichens (HTTPClient.Request: = ADR ('x');) verursacht das Problem nicht.
Februar 25, 2017 bei 7: 56 #39853Sergio BertanaAdministrator des ForumsDie Bibliothek entwickelt sich (wir arbeiten an eLLabNetworkLib_A400) mit Verbesserungen und Fehlerlösungen in dieser Version im FB HTTPGetPage Der Wert des Anforderungszeigers wird überprüft, und wenn er NULL ist, wird die richtige Anforderung gestellt.
Da die Bibliothek noch nicht offiziell freigegeben ist, füge ich das Programm zum Download hinzu HTTPGetPage die eine Verbindung zum Server auf Altervista herstellt, wo ein PHP-Programm eine Division durchführt. Im Programm gibt es die neue Version des HTTPGetPage FB, die Sie exportieren und in Ihrem Projekt verwenden können (Programm herunterladen).
Februar 27, 2017 bei 7: 24 pm #39860SergioPartecipanteVielen Dank für Ihre Hilfe. Ich bestätige, dass in der neuen Version der Fehler nicht gemeldet wurde.
Um es zuverlässig zu verwenden (mit einem Testprogramm, das ständig neue Operationen über http erfordert), musste ich jedoch die richtige Reihenfolge und Bedingungen für Aktivieren und Fertigstellen durch Ausprobieren finden, da sich der FB sonst nach einigen Anfragen verklemmen würde.
März 2, 2017 bei 4: 08 pm #39861Sergio BertanaAdministrator des ForumsAktivieren Ermöglichen Ein Teil der Seitenanforderung am Ende ist aktiviert Erledigt . Bei Aktivierung von Fertig kann Aktivieren zurückgesetzt werden. Wenn Sie nach einer Programmschleife fortlaufende Anforderungen stellen möchten, können Sie Aktivieren wieder aktivieren. So führen Sie aufeinanderfolgende Anforderungen aus: Beachten Sie, dass die Reihenfolge des Programms wie angegeben beibehalten werden muss.
HTTPPr(); (* FB execution *)
IF NOT(HTTPPr.Done) AND (HTTPPr.Enable) THEN
i:=SysVarsnprintf(ADR(Request), SIZEOF(Request), ‘Dividend=%.3f’, REAL_TYPE, ADR(Dividend));
i:=SysLWVarsnprintf(ADR(Request), SIZEOF(Request), ‘$26Divisor=%.3f’, REAL_TYPE, ADR(Divisor));
END_IF;HTTPPr.Enable:=NOT(HTTPPr.Done); (* HTTP get page enable *)
Mai 10, 2018 bei 4: 12 pm #44046Sergio BertanaAdministrator des ForumsDer HTTPGetPage-FB wurde durch den neuen HTTPClient-FB ersetzt (Betreff).
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.