Socket lesen

Dieses Tool ist als veraltet festgelegt. Es ist aus Gründen der Abwärtskompatibilität weiterhin verfügbar, wird aber in kommenden MERLIC-Versionen nicht mehr gepflegt oder aktualisiert.

Mit diesem Tool können Sie Daten aus einem Socket (eines Servers) lesen.

Legen Sie das Socket, von dem gelesen werden soll, im Parameter „URL“ fest und stellen Sie die Verbindung her, indem Sie den Parameter „Verbinden“ auf 1 festlegen. Da dieses Tool eine Clientverbindung herstellt, muss ein Server verfügbar sein. Mit der Schaltfläche zum einmaligen Ausführen von MERLIC können Sie dieses Tool in einzelnen Schritten ausführen. Dies ermöglicht es Ihnen, die Daten Schritt für Schritt zu lesen.

Bei einer „Socket-Handle“-Verbindung von einem vorherigen Socket-Tool werden alle Parameter nur aus dem ersten Tool übernommen. Wenn Sie also die Parametereinstellungen im aktuellen Tool ändern möchten, müssen Sie diese Anpassungen im ersten Tool vornehmen, da ansonsten die Parameteränderungen ignoriert werden.

Ausführungsverhalten

Das Ausführungsverhalten dieses Tools weicht vom Standardverhalten ab. Normalerweise wird ein MERLIC-Tool in den folgenden Fällen ausgeführt:

  • Die MERLIC-Vision-App wird explizit im kontinuierlichen Modus ausgeführt.
  • Die MERLIC-Vision-App wird explizit im Modus „Einmal ausführen“ ausgeführt.
  • Eine MERLIC-Vision-App mit dem Tool wird im MERLIC Creator geöffnet.
  • Ein Parameterwert des Tools wurde im MERLIC Creator geändert.

Das Tool „Socket lesen“ wird jedoch nur in den folgenden Fällen ausgeführt:

  • Die MERLIC-Vision-App wird explizit im kontinuierlichen Modus ausgeführt.
  • Die MERLIC-Vision-App wird explizit im Modus „Einmal ausführen“ ausgeführt.

Dadurch wird sichergestellt, dass beim Laden einer MVApp oder beim Ändern eines Parameterwerts des Tools keine Lese- und Schreibvorgänge durchgeführt werden. Wenn der Parameter Verbinden auf 1 festgelegt ist, versucht das Tool jedoch weiterhin, eine Verbindung zum Remote-Gerät herzustellen.

Parameter

Standardparameter

URL:

Dieser Parameter legt die URL des Sockets fest, in das geschrieben wird. Eine gültige „URL“ umfasst das verwendete Protokoll, den Hostnamen des Computers, zu dem eine Verbindung hergestellt werden soll, und die durch einen Doppelpunkt getrennte Portnummer, z. B. „tcp://localhost:4000“.

Verbinden:

Dieser Parameter legt fest, ob die Verbindung zum Socket aktiviert oder deaktiviert ist. Der Parameter ist standardmäßig auf 0 festgelegt. Das bedeutet, dass die Verbindung zum Socket nicht aktiv ist und daher keine Verbindung zum Lesen hergestellt wird. Wenn Sie die Daten vom Socket lesen möchten, müssen Sie den Parameter auf 1 festlegen, damit die Datei zum Lesen geöffnet werden kann.

Es wird empfohlen, den Parameter „Verbinden“ auf „0“ festzulegen, bis das Tool vollständig konfiguriert wurde, da es andernfalls bei jeder Werteänderung erneut ausgeführt wird.

Timeout:

Dieser Parameter definiert das Timeout für Schreibvorgänge. Er wird in Sekunden angegeben und ist standardmäßig auf 0,5 s festgelegt. Sie können den Parameter „Timeout“ über die zugehörige Verbindungsstelle ändern.

Datenformat:

Dieser Parameter legt fest, wie die Daten zum Schreiben konvertiert werden. Dies ist notwendig, weil die Daten als Binärpaket gesendet werden. Die Standardeinstellung ist „z“. Sie können den Wert über die zugehörige Verbindungsstelle ändern. Das „Datenformat“ kann ein oder mehrere Qualifiziererzeichen jeweils gefolgt von einem optionalen Modifizierer und einer Wiederholungsanzahl umfassen.

Ganzzahlige Werte

Wert

Beschreibung

c

1 Byte = 8 Bit, mit Vorzeichen

C

1 Byte = 8 Bit, ohne Vorzeichen

s

2 Bytes = 16 Bit, mit Vorzeichen

S

2 Bytes = 16 Bit, ohne Vorzeichen

i

4 Bytes = 32 Bit, mit Vorzeichen

I

4 Bytes = 32 Bit, ohne Vorzeichen

q

8 Bytes = 64 Bit, mit Vorzeichen (nur in 64-Bit-Architekturen verfügbar)

Q

8 Bytes = 64 Bit, ohne Vorzeichen

Fließkommawerte

Wert

Beschreibung

f

Float, 4 Bytes = 32 Bit

d

Double, 8 Bytes = 64 Bit

Zeichenfolgewerte

Wert

Beschreibung

A

Eine Zeichenfolge (Standardlänge: 1024 Bytes) aufgefüllt mit Leerzeichen.

z

Eine Zeichenfolge mit variabler Länge. Der Längenmodifizierer gibt die maximale Länge an (Standardlänge: 1024 Bytes).

Z

Eine Zeichenfolge (Standardlänge: 1024 Bytes) aufgefüllt mit Nullen, die beim Senden durch eine Null abgeschlossen wird.

Sonderzeichen, die keinen Wert als Datenformat benötigen

Wert

Beschreibung

-

Ein Null-Byte wird übersprungen.

_

Ein Leerzeichen-Byte wird übersprungen.

Modifizierer, die hinter einem der oben aufgeführten Qualifizierer verwendet werden können

Wert

Beschreibung

n

Netzwerkbytereihenfolge. Dieser Modifizierer konvertiert den Ganzzahlen- oder Fließkommawert beim Lesen von der Netzwerkbyte-Reihenfolge (Big Endian) in die Hostbyte-Reihenfolge.

Er kann auch als erstes Zeichen in der Formatzeichenfolge verwendet werden.

N

Dieser Modifizierer konvertiert den Ganzzahlen- oder Fließkommawert beim Lesen von der Intel-Byte-Reihenfolge (Little Endian) in die Hostbyte-Reihenfolge.

Er kann auch als erstes Zeichen in der Formatzeichenfolge verwendet werden.

Wiederholungsanzahl für den vorangehenden Qualifizierer

Wert

Beschreibung

n

Bei ganzzahligen und reellen Werten definiert dieser Zähler, wie oft der vorangehende Qualifizierer wiederholt wird, bei n=5 bedeutet „c5“ beispielsweise „ccccc“.

Sie können einen beliebigen ganzzahligen Wert für n verwenden. Bei Zeichenfolgewerten steht n für die Größe der Zeichenfolge. „A2“ bedeutet beispielsweise eine Zeichenfolge mit einer Größe von 2 Bytes.

Wenn Sie ein Tupel aus zwei Zeichenfolgen senden möchten, müssen Sie den Qualifizierer wiederholen, z. B. „AA“ oder „zz“. Im Empfangssocket reicht es aus, das Datenformat mit einem einzelnen Qualifizierer zu definieren, z. B. „z“, um die Zeichenfolgen zu lesen.

Zusätzlicher Parameter

Socket-Handle:

Mit diesem Parameter wird das Handle des Sockets angegeben, von dem die Daten gelesen werden, d. h. aus einem vorherigen Tool, in dem bereits ein Socket-Handle definiert ist. Wenn das Socket-Handle festgelegt ist, werden URL und Timeout aus diesem vorherigen Tool übernommen.

Ergebnisse

Standardergebnisse

Daten:

Dieses Ergebnis enthält die Daten, die aus dem Socket gelesen wurden. Dabei kann es sich um einen ganzzahligen Wert, einen reellen Wert oder einen Zeichenfolgewert handeln.

Toolstatus:

Toolstatus“ gibt Informationen zum Status des Tools aus und kann daher für die Fehlerbehandlung verwendet werden. Weitere Informationen zu den verschiedenen Toolstatus-Ergebnissen finden Sie unter Toolstatus-Ergebnis.

Zusätzliche Ergebnisse

Verwendetes Socket-Handle:

Dieser Parameter stellt das Handle des Sockets dar, von dem die Daten gelesen werden. Es kann von einem nachfolgenden Tool zum Schreiben oder Lesen verwendet werden. Es sollte vermieden werden, dass mehrere Tools dasselbe Handle zum Lesen von demselben oder Schreiben auf dasselbe Socket verwenden, da dies zu unerwarteten Effekten führen könnte.

Absender:

Dieses Ergebnis enthält die IP-Adresse oder den Hostnamen sowie den Port des Sockets.

Verarbeitungszeit:

Dieses Ergebnis gibt die Dauer der letzten Ausführung des Tools in Millisekunden aus. Das Ergebnis wird als zusätzliches Ergebnis bereitgestellt. Es ist daher standardmäßig ausgeblendet, kann aber über die Schaltfläche neben den Toolergebnissen angezeigt werden. Weitere Informationen finden Sie im Abschnitt Verarbeitungszeit in der Tool-Referenz-Übersicht.