- Steuern externer IP-Geräte und Auswertung der Antwort
- 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.
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:
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 .
1. Einsatzzweck
1.1. Beispiel
1.2. Importieren und Exportieren von Bibliotheken
Mit den Funktionen Bibliothek -> Bibliothek importieren (Rechtsklick auf dem Root-Element in der Baumansicht, links) und Bibliothek -> Bibliothek exportieren (Rechtsklick auf einem Element in der Baumansicht, links) 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, die in der zu importierenden Bibliothek vom HS/FS-Experte 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.
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, die in der zu importierenden Bibliothek vom HS/FS-Experte 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.
1.3. 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:
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 IP-Adresse) (Host IP-Port)
- Send: Die Anzahl der gesendeten Zeichen, inkl. Anzeige der ersten Zeichen als Hex-Werte, danach in Klartext (ASCII-Werte)
- Recv: Die Anzahl der empfangenen Daten, inkl. Anzeige der ersten Zeichen als Hex-Werte, danach in Klartext (ASCII-Werte)
- Gesamt: Die Anzahl der definierten Datenblöcke
- Work: Die Anzahl der verarbeiteten Datenblöcke.
- Typ:
- Liste: einfache Auswertung wurde projektiert
- RegExp: komplexe Auswertung wurde projektiert - OK:
- 1 = Auswertung erfolgreich
- 0 = Auswertung fehlgeschlagen.
2. Daten
Bezeichnung
Unter diesem Begriff wird die Abfrage/Auswertung im HS/FS-Experten geführt.
IP/Host-Adresse
Adresse der TCP/IP-Gegenstelle. (Z.B. www.example.com oder 192.168.0.1)
IP-Port
Portnummer des Dienstes der Gegenstelle.
Telegramm-Typ
Es gibt zwei Auswahl-Möglichkeiten:
- TCP: Die Verbindung über den oben angegebenen Port erfordert eine Verbindung über das TCP-Protokoll.
- TCP/TLS (ohne Verifzierung): Die Verbindung über den oben angegebenen Port erfordert eine verschlüsselte Verbindung gemäß dem TLSv1.2-Protokoll.
Das digitale Zertifikat (SSL Zertifikat) der Gegenstelle wird nicht verifiziert. Es wird daher auch eine Verbindung aufgebaut, wenn die auf dem HS/FS vorhandenen Root-Zertifikate die Gültigkeit des Zertifikats der Gegenstelle nicht bestätigen können. - TCP/TLS (mit Verifzierung): Die Verbindung über den oben angegebenen Port erfordert eine verschlüsselte Verbindung gemäß dem TLSv1.2-Protokoll.
Das digitale Zertifikat (SSL Zertifikat) der Gegenstelle wird verifiziert anhand der auf dem HS/FS vorhandenen Root-Zertifikate. Ist das Zertifikat aus Sicht des HS/FS nicht gültig, wird keine Verbindung aufgebaut.
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.
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.
3. Senden
Folgende Möglichkeiten bestehen, um Daten an die Gegenstelle zu senden:
- HTTP-Abruf senden
- Datenblöcke senden
HTTP-Abruf 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
Wurde als Telegramm-Typ "TCP/TLS" gewählt, wird eine verschlüsselte Verbindung (HTTPS) verwendet.
Auf der Debug-Seite im Abschnitt "Event-BiDir" können die zuletzt gesendeten Telegramme und die jeweils dazugehörige Antwort eingesehen werden. Siehe dazu auch das Kapitel Wichtige Hinweise .
Auf der Debug-Seite im Abschnitt "Event-BiDir" können die zuletzt gesendeten Telegramme und die jeweils dazugehörige Antwort eingesehen werden. Siehe dazu auch das Kapitel Wichtige Hinweise .
URL (nur Pfad)
Pfad der Web-Seite (z.B. /countries.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 das Land aus dem K-Objekt mit der Gruppenadresse 100/1 auszulesen, anstatt es fest anzugeben, schreiben Sie
Beispiel: Um das Land aus dem K-Objekt mit der Gruppenadresse 100/1 auszulesen, anstatt es fest anzugeben, schreiben Sie
"/countries?name={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) =
- Für '{' (Öffnen) =
'{'
- Für '}' (Schliessen) =
'}'
URL umwandeln
Ja: Die angegebene URL wird gemäß des HTTP-Standards kodiert.
Beispiel: Aus der URL
Nein: Die Daten werden so, wie sie eingegeben wurden, an den Web-Server gesendet.
Beispiel: Aus der URL
/tic tac toe.html
wird dann /tic%20tac%20toe.html
Nein: Die Daten werden so, wie sie eingegeben wurden, an den Web-Server gesendet.
Passwortschutz
Ja: Die Web-Seite ist durch einen HTTP-Passwortschutz gesichert.
Nein: Die Web-Seite kann ohne Benutzername und Passwort abgerufen werden.
Nein: Die Web-Seite kann ohne Benutzername und Passwort abgerufen werden.
Benutzername
Benutzername für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert ist.
Passwort
Passwort für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert ist.
3.1. Datenblöcke senden
In dieser Liste können Datenblöcke definiert werden. Die Datenblöcke werden in der definierten Reihenfolge an die Gegenstelle gesendet.
4. Empfangen
4.1. Empfangen (Einfache Auswertung)
Das Ergebnis der gesendeten Anfrage wird in dieser Maske ausgewertet. In dieser Liste werden die zu empfangenden Datenblöcke definiert.
4.2. 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.
Regulärer Ausdruck
Definiert den regulären Ausdruck, welcher zur Auswertung des Telegramms dient.
5. Befehle
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.
Bei fehlgeschlagener Verbindung, werden keine Befehle ausgeführt. Zur Fehlersuche steht auf der Debug-Seite die Sektion Event-BiDir zur Verfügung. Siehe dazu auch das Kapitel Wichtige Hinweise .
Bei fehlgeschlagener Verbindung, werden keine Befehle ausgeführt. Zur Fehlersuche steht auf der Debug-Seite die Sektion Event-BiDir zur Verfügung. Siehe dazu auch das Kapitel Wichtige Hinweise .