Kanäle

<< Click to Display Table of Contents >>

Navigation:  Komponenten > Kommunikation > Multi-IO-IP >

Kanäle

Kanal Editor

 

Die Eigenschaften des Einträge-Editors sind vom gewählten Transport-Protokoll abhängig.

 

Vom Übertragungsart unabhängige Eigenschaften:

 

Name

Dieser Name wird als Eingangsname an der Komponente angezeigt.

 

Prefix/Postfix

Hier kann aus einer Liste ein zuvor definierte Prefix/Postfix ausgewählt werden.

 

Datenfilter

Hier kann aus einer Liste ein zuvor definierte Datenfilter ausgewählt werden.

 

Antwort umleiten

Um empfangene Daten von mehreren Filtern verarbeiten zu lassen, können Einträge verkettet werden. Das Feld "Antwort umleiten" eines jeden Eintrags enthält eine Liste aller weiteren Einträge. Wird hier ein Eintrag ausgewählt bedeutet das, dass die empfangenen Daten vom Filter des aktuellen Eintrags sowie vom Filter des hier ausgewählten Eintrags verarbeitet wird. Es besteht die Möglichkeit, mehrere Filter zu verketten, indem weitere Einträge ausgewählt werden. Wenn ein Filter keine Daten extrahieren kann und es ist ein Eintrag im Feld "Antwort umleiten" ausgewählt, werden die Daten trotzdem an den ausgewählten Eintrag weitergeleitet.

So besteht die Möglichkeit, eine Antwort an beliebig viele MultiIO Ausgänge zu leiten.

 

 

Von Übertragungsart abhängige Protokoll :

 

TCP/UDP

 

Befehl

Wenn ein "An" oder "Aus" an dem entsprechenden Datenpunkt eintrifft, wird der Wert des Feldes "Befehl (Hex oder ASCII)" verschickt. Bei einem Wert ungleich bool, wird dieser Wert zur Bildung der Request URL genommen und der Wert im Feld "Befehl (Hex oder ASCII)" ignoriert. Da TCP/UDP den Versand binärer Daten ohne Weiteres zulässt, können hier auch Hex-Werte und Escapesequenzen angegeben werden (siehe Kapitel "Binärdarstellung und Escapesequenzen").

 

Wird der Wert des Feldes "Befehl (Hex oder ASCII)" für die Nutzdaten genommen,  werden folgende Schritte und Konvertierungsversuche auf die Daten angewendet:

 

•Es wird zunächst versucht die Zeichenkette komplett in eine binäre Darstellung zu konvertieren. Dazu darf der gesamte String lediglich aus Hex-Werten bestehen. Ist das erfolgreich, liegen bereits die zu versendenden Binärdaten vor und die Daten werden versandt.

•Ist die Konvertierung nicht erfolgreich, so werden alle unterstützten Escapesequenzen substituiert.

•Anschließend werden die Daten mit den möglichen Prefix/Postfix Werten verkettet (hier die gleiche Strategie, erst Hex-Werte versuchen zu konvertieren, dann die Escapesequenzen konvertieren) und die fertigen Nutzdaten werden versandt.

 

Wenn die Daten über das EisBär Netz an die Komponente übergeben wurden, so werden Werte vom Typ DataPointValue und String in ein Byte Array umgewandelt. Danach werden die selben  Konvertierungsregeln, wie oben erläutert, angewandt.

 

Beispiel:

<PREFIX><DATA><POSTFIX>

 

Erwartete Antwort

Nachdem die Komponente die Daten über das TCP oder UDP Protokoll an den Server bzw. ein Gerät übermittelt hat, wird auf eine Antwort gewartet, die mit dem Wert dieses Feldes verglichen wird, um das Prinzip des positiven und negativen Bestätigens umzusetzen. Entspricht der empfangene Wert diesem hier eingetragenen, hat das Gerät den Empfang quittiert und es passiert nichts weiter. Ist der Wert ungleich, wird eine Meldung an der Fehlernmeldungsausgang gesendet. Ebenso, wenn eine Verbindung nicht zustande gekommen ist. Auf diesen Wert wird ebenfalls die Konvertierung von Hex in ein Byte Array sowie die Substitution der Escapesequenzen versucht.

 

Nur empfangbar

Um ohne vorangegangen Request Daten asynchron empfangen zu können, kann das Feld "Nur empfangbar" aktiviert werden. Daten, die vom Netzwerk empfangen werden ohne dass ein Request vorangegangen ist, werden nur von denjenigen Einträgen gefiltert, die mit diesem Häkchen versehen sind. So können beispielsweise zwei EisBär-Instanzen miteinander kommunizieren, indem diese UDP Telegramme mit einer bestimmten Struktur austauschen.

 

Kodierung

Über diesen Parameter wird die Kodierung der Daten, zum versenden über das Netzwerk, definiert. Abhängig von der Gegenstelle muss hier die Richtige Kodierung eingestellt werden.

Es kann zwischen folgenden Kodierungen gewählt werden:

 

•ASCII (7 Bit)

•Unicode (16 Bit, little endian)

•Unicode (16 Bit, big endian)

 

HTTP

 

Mit der Komponente können HTTP-GET Web Requests und HTTP-Post Befehle versendet werden.

Die ersten beiden Felder bieten dem User die Möglichkeit, Einträge aus der Prefix-Postfix und der Datenfilter Editor Liste auszuwählen.

 

Befehl

Hier kann ein fixer Wert angegeben werden, der als Web Request von der Komponente verschickt werden kann. Dieser Wert wird nur dann von der Komponente verschickt, wenn an dem entsprechenden Eingang ein "An" oder "Aus" eintrifft. Trifft ein Wert ungleich bool für diesen Eingang ein, so wird die Zeichenkette aus dem Feld "Befehl" ignoriert und der empfangene Wert, in Zeichenketten Repräsentation, anstatt des Wertes des Feldes "Befehl" zur Bildung der Request URL genommen. Der Prefix/Postfix Eintrag wird trotzdem darauf angewendet.

 

Beispiel:

<PREFIX><DATA><POSTFIX>

 

URL

Im Feld „URL“ kann sowohl die IP als auch der Zielport als auch Teile der Request URL angehängt werden, an die anschließend die komplette Zeichenkette (siehe oben) angehängt wird.

 

Beispiel:

http://<IP_ADDRESS>:<PORT>/XXX

 

Die entstehende Request URL hat folgendes Muster:

http://<IP_ADDRESS>:<PORT>/XXX<PREFIX><DATA><POSTFIX>

 

Http Method

 

GET - Anfragen von Daten aus einer angegebenen Ressource

POST - Sendet Daten an eine angegebene Ressource die verarbeitet werden sollen