Netzwerk Ausgang


Mit dieser Logik können beliebige Netzwerkbefehle an einen Server gesendet werden. Beispielsweise kann eine URL eines Netzwerk Servers aufgerufen werden um eine SMS zu versenden oder Daten aus einem PV Umrichter auszulesen. Alle Befehle die mit einem Browser aufgerufen werden, können auch über diese Logik aufgerufen werden.

Wichtig: https Verbindungen werden zurzeit noch nicht unterstützt.


Eingänge



TR Trigger
Trigger nach dem der Netzwerk Befehl gesendet wird, siehe Parameter Trigger.
VL Wert
Wert. Falls der Datentyp die Angabe "%d" hat, wird dieser Wert in die Abfrage eingefügt.

Ausgänge

VL Wert
Wert. Falls der Server eine numerische Antwort sendet bzw. diese mit der Suchfunktion oder regulärem Ausdruck ermittelt wird, wird dies an diesem Ausgang ausgegeben.
ER Fehler
Anzahl der Fehler, wenn eine Verbindung zum Server nicht hergestellt werden konnte.
AT Anzahl Threads
Anzahl der Verbindungen die gleichzeitig aufgebaut wurden. Steigt diese Anzahl während des Betriebs an, werden zu viele Netzwerktelegramme gleichzeitig gesendet und die Anzahl sollte reduziert werden.


Parameter



Trigger
Einstellung bei welchem Verhalten des Einganges TR Trigger die Netzwerkadresse aufgerufen wird.

  • Steigende Flanke: Netzwerkadresse wird bei steigender 0-1 Flanke aufgerufen.
  • Fallende Flanke: Netzwerkadresse wird bei fallender 1-0 Flanke aufgerufen.
  • Bei Änderung:  Netzwerkadresse wird bei Änderung aufgerufen.
Protokoll
  • TCP RAW: TCP Protokoll mit Rohdaten, es werden nur die Daten aus dem Parameter Daten gesendet.
  • UDP RAW: UDP Protokoll mit Rohdaten, es werden nur die Daten aus dem Parameter Daten gesendet.
  • HTTP-GET: Aus den Parametern Host,Port,URL,Benutzer und Passwort wird eine HTTP 1.1 konforme GET Anfrage generiert, diese kann beispielsweise an einen Webserver gesendet werden.
  • HTTP-PUT: Aus den Parametern Host,Port,URL,Benutzer und Passwort wird eine HTTP konforme PUT Anfrage generiert, diese kann beispielsweise an einen Webserver gesendet werden.
Host
IP Adresse bzw. DNS des Servers an den die Anfrage gesendet wird. Wichtig: Bei HTTP GET/PUT Anweisungen darf die Protokollangabe (http://) nicht mit angegeben werden.
Port
Portnummer des Servers.
URL
Url, welche aufgerufen wird.
Benutzer
Optional. Benutzername falls benötigt.
Passwort
Optional. Passwort falls benötigt.
Daten
Optional. Daten die nach dem Verbindungsaufbau gesendet werden. Bei den Protokollen HTTP GET/POST werden die Daten an die URL angehängt, bei TCP/UDP werden nur diese Daten gesendet.

Folgende Daten werden vor dem Senden ersetzt:
  • %d: Wird durch den Wert aus Eingang VL ersetzt.
  • #HOST: Wird durch den Parameter Host ersetzt.
  • #PORT: Wird durch den Parameter Port ersetzt.

Daten als Hex String
Die Daten sollen als Hex String interpretiert werden. In diesem Fall sind die Daten als Hexadezimalzahlen im Bereich 00 - FF anzugeben, jeweils ein Byte umfasst zwei ASCII Zeichen. In diesem Format können binäre Zeichenfolgen gesendet werden.
Suche Start
Sobald in den Parameter für Suche Start/Ende oder Ausdruck ein Wert angegeben wurde, wird die Antwort nach dem Senden gelesen bevor die Verbindung getrennt wird. Muss aus dem zurückgegebenen Daten ein Wert extrahiert werden, kann diese Suchfunktion verwendet werden. Es wird nach dem String aus Suche Start gesucht, dann nach dem String aus Suche Ende, der Wert zwischen diesen beiden Werten wird in eine Zahl umgewandelt und am Ausgang ausgegeben. Mit Suche Anzahl wird die Suche wiederholt, wenn der Suchstring mehrmals vorkommt, kann damit die Position angegeben werden.

Ein Typisches Beispiel wäre die Abfrage und Auswertung eines Strings im JSON Format, dieses Format sieht in etwas so aus: {"coord":{"lon":15.25,"lat":46.99}
Um den Wert nach "lon:" zu finden, würde der String in Suche Start {"lon": lauten und Suche Ende , (= Komma) als Ergebnis wird am Ausgang 15.25 ausgegeben.

Suche Ende
Suche Anzahl
Ausdruck (Reg.Exp.)
Regulärer Ausdruck. Hier kann ein Regulärer Ausdruck (Regular Expression, siehe Wikipedia) angegeben werden. Mit Hilfe dieser Angaben kann ein Wert aus der Antwort herausgefiltert werden, dieser Wert wird dann am Ausgang ausgegeben.

Beispielsweise um die erste Zahl zu extrahieren kann dieser Ausdruck verwendet werden "[0-9]+", die zweite Zahl "[0-9]+[0-9]+" usw. Um beispielsweise den Wert zwischen runden Klammern zu ermitteln kann folgender Ausdruck verwendet werden: "\(([^()]*)\)" - ohne Anführungszeichen.

Beachten Sie die Ausgaben in der Diagnose, hier werden Fehlermeldungen ausgegeben wenn der Ausdruck nicht ausgewertet werden konnte bzw. Syntaxfehler enthält.
Diagnose Level
Ist dieser Parameter größer 0,werden die empfangenen Daten in den Meldungen ausgegeben. Bei Level 1 als Lesbarer Text, bei Level 2 als Hex String. Wichtig: Es werden maximal 1024 Zeichen in der Diagnose ausgegeben, sind die empfangenen Daten länger, wird die Ausgabe abgeschnitten. Nach der Diagnose sollte dieser Parameter wieder auf 0 gestellt werden da längere Diagnose Ausgaben die Steuerung verlangsamen können.



Hinweise