Abfrage und Auswertung von Web-Seiten und IP-Geräten
Einführung
Diese Funktion erlaubt das Senden von beliebig strukturierten Daten über eine TCP/IP Verbindung
sowie das Auswerten der Antwortdaten. Das Senden und Empfangen ist nicht auf reinen Text (z.B.
HTTP-Befehle) beschränkt, sondern ermöglicht auch das Arbeiten mit Binärdaten.
Daten können auf zwei unterschiedliche Arten ausgewertet werden:
- Einfache Auswertung, Auswertung durch Definierung einzelner
Datenblöcke.
- Komplexe Auswertung, Auswertung anhand eines regulären Ausdrucks und Zuweisung von
Datenblöcken.
Um die Abfrage und Auswertung einer Web-Seite/IP-Gerät anzustossen, gibt es unter
Befehle den Befehlstyp
"Web-Seite/IP-Gerät auswerten". Auf der
Debug-Seite werden im Abschnitt
Event-BiDir die letzten Abfragen teilweise
protokolliert.
Einsatzzweck
- Steuern externer IP-Geräte und Auswertung der Antwort, z.B. IP-Kameras von Mobotix® oder
Sony®.
- Abruf von Web-Seiten und die Auswertung des Inhalts, z.B. von Wetter-Seiten oder zur Anzeige von
RSS-Feeds.
- Ansteuerung serieller Geräte via Seriell-IP-Konverter.
Beispiele
Importieren und Exportieren von Bibliotheken
Mit den Funktionen Importieren und Exportieren können fertige Abfragen als Bibliothek
gespeichert und in anderen Projekten wieder verwendet werden. Es besteht die Möglichkeit,
einzelne Abfragen oder einen kompletten Ordner samt Unterordner zu exportieren. Enthält
eine Bibliothek mehrere Abfragen werden diese immer mit einer maximalen Tiefe von einem Ordner
importiert, d. h. es wird maximal ein Ordner angelegt und alle evtl. in weiteren Unterordnern
darunter liegenden Abfragen diesem zugeordnet. Alle Abfragen sind dann in diesem Ordner zu finden.
Beim Importieren besteht die Möglichkeit, die IP/Host-Adresse, den IP-Port, Benutzernamen und
Passwort für alle Abfragen einzugeben. Hierzu werden die Daten vorgeschlagen, welche in der zu
importierenden Bibliothek vom HS-Experten gefunden werden. Alle importierten Elemente werden mit
diesen Werten vorbesetzt. Abhängig vom Inhalt der Bibliothek können unterschiedliche Felder
aktiv sein. Die Felder Benutzername und Passwort sind bspw. nur in den Fällen aktiv, in
denen eine HTTP-Abfrage mit Passwortschutz in der Bibliothek vorhanden ist.
Sollten in der Bibliothek weitere Objekte (z.B. K.-Objekte, Sequenzen, usw.) verwendet werden, muss
im Registerreiter "Objekte" eine projektspezifische Umsetzung vorgenommen werden. Hierbei kann man
anhand der Objekt-Beschreibung und des Typs erkennen, welche Funktion das Objekt besitzt.
Wichtige Hinweise
- Der HS/FS kann Daten bis zu einer maximalen Größe von 500.000 Bytes empfangen und auswerten.
Daten außerhalb dieses Bereichs können nicht verwertet werden.
- Zum Testen einer Web-Abfrage liefert die Debug-Seite Informationen.
In der Sektion Event-BiDir werden alle durchgeführten Abfragen/Auswertungen mit folgenden
Informationen aufgelistet:
Datum und Uhrzeit der Abfrage, Host-Adresse und IP-Port
Send: Die Anzahl der gesendeten Zeichen, inkl. Anzeige der ersten Zeichen als
Hex-/ASCII-Wert.
Recv: Die Anzahl der empfangenen Daten, inkl. Anzeige der ersten Zeichen als
Hex-/ASCII-Wert.
Gesamt: Die Anzahl der definierten Datenblöcke
Work: Die Anzahl der verarbeiteten Datenblöcke.
OK: 1=Auswertung erfolgreich, 0=Auswertung fehlgeschlagen.
Daten
Unter diesem Begriff wird die Abfrage/Auswertung im HS/FS-Experten geführt.
Adresse der TCP/IP-Gegenstelle. (Z.B. www.example.com oder 192.168.0.1)
Portnummer des Dienstes der Gegenstelle.
Verbindung nach bestimmter Anzahl empfangener Daten beenden
Ja: Der HS/FS beendet die Verbindung nach dem Empfangen der im Feld Max. Länge der Antwort
angegebenen Anzahl an Zeichen vorzeitig.
Nein: Der HS/FS wartet, bis die Gegenstelle die Verbindung beendet oder die maximal mögliche Größe
an Bytes empfangen wurde.
Hinweis: Diese Option empfiehlt sich, wenn die Gegenstelle die Verbindung nicht trennt oder
z.B. in einer Web-Seite nur die ersten n-Zeichen von Bedeutung sind und der Rest der Daten verworfen
werden kann.
Achtung: Wird diese Option nicht aktiviert, setzt der HS/FS den Wert automatisch auf die
maximale Größe von 500.000 Bytes.
Folgende Möglichkeiten bestehen, um Daten an die Gegenstelle zu senden:
- HTTP-Abruf senden
- Datenblöcke senden
Ruft eine Web-Seite von der Gegenstelle ab. Der HS/FS-Experte erstellt automatisch die passenden
Datenblöcke, dabei wird immer ein GET-Befehl generiert.
Hinweis: Auf der Debug-Seite im Abschnitt "Event-BiDir" können die zuletzt gesendeten
Telegramme und die jeweils dazugehörige Antwort eingesehen werden.
Pfad der Web-Seite (z.B. /wetter.html). Sie können Platzhalter für K-Objekte in die URL
integrieren. So können Sie Angaben variabel gestalten. Setzen Sie anstelle eines Wertes
die Gruppenadresse eines K-Objekts, umschlossen von geschweiften Klammern, ein.
Beispiel: Um die PLZ aus einem K-Objekt auszulesen, anstatt sie fest anzugeben,
schreiben Sie "/meinwetter?plz={100/1}"
.
Hinweis: Wenn Sie die geschweiften Klammern in Ihrer URL benötigen, anstatt einen Platzhalter
angeben zu wollen , verwenden Sie anstelle der Klammern die folgenden HTML-Codes:
- Für '{' (Öffnen) = '{'
- Für '}' (Schliessen) = '}'
Ja: Die angegeben URL wird gemäß des HTTP-Standards kodiert. Beispiel: Aus der URL /wetter von
gestern.html wird dann /wetter%20von%20gestern.html
Nein: Die Daten werden so, wie sie eingegeben wurden, an den Web-Server gesendet.
Ja: Die Web-Seite ist durch einen HTTP-Passwortschutz gesichert.
Nein: Die Web-Seite kann ohne Benutzername und Passwort abgerufen werden.
Benutzername für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert
ist.
Passwort für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert ist.
Datenblöcke senden
In dieser Liste können
Datenblöcke definiert werden. Die Datenblöcke
werden in der definierten Reihenfolge an die Gegenstelle gesendet.
Empfangen (Einfache Auswertung)
Das Ergebnis der gesendeten Anfrage wird in dieser Maske ausgewertet. In dieser Liste werden die zu
empfangenden
Datenblöcke definiert.
Empfangen (Komplexe Auswertung)
Wenn beim Anlegen ein komplexes Telegramm definiert wurde, ist die Defintion eines regulären
Ausdrucks notwendig. Hierfür dient das folgende Feld. Die definierten
Datenblöcke sind vom regulären Ausdruck abhängig.
Definiert den regulären Ausdruck, welcher zur Auswertung des Telegramms dient.
Im Zusammenhang mit der Auswertung der Antwortdaten können Befehle ausgeführt werden. Hierbei wird
unterschieden zwischen erfolgreicher und fehlgeschlagener Auswertung.
Hinweis: Die Befehle für fehlgeschlagene Auswertungen eignen sich besonders als Hinweis auf
geänderte Strukturen innerhalb einer Web-Seite.
Hinweis: Bei fehlgeschlagener Verbindung, werden keine Befehle ausgeführt. Zur Fehlersuche
steht auf der
Debug-Seite die Sektion
Event-BiDir zur Verfügung.