Socket schreiben

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 an ein Socket (eines Servers) senden.

Legen Sie das Socket für den Schreibzugriff 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. Über die Schaltfläche können Sie dieses Tool in Einzelschritten ausführen. Dies bietet die Möglichkeit, die Daten Schritt für Schritt zu schreiben.

Bei einer „Socket-Handle“-Verbindung von einem vorherigen Socket-Tool werden alle Parameter nur aus dem ersten Socket-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 schreiben 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 Schreiben hergestellt wird. Wenn Sie die Daten in das Socket schreiben möchten, müssen Sie den Parameter auf 1 festlegen, damit die Verbindung zum Schreiben 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.

Daten:

Dieser Parameter enthält die Daten, die in das Socket geschrieben werden. Er enthält standardmäßig den String „MyString“. Die Daten können als ganzzahliger Wert, reeller Wert oder Zeichenfolgewert dargestellt werden. Es ist auch möglich, die Daten als Tupel zu senden. Wenn Sie das Ergebnis eines vorherigen Tools schreiben möchten, können Sie Parameter mit dem jeweiligen Ergebnis der vorherigen Tools verbinden. Die verbundenen Daten werden in das Socket geschrieben.

Damit die Daten ordnungsgemäß gesendet werden, muss im Parameter „Datenformat“ das richtige Format festgelegt werden.

Timeout:

Dieser Parameter definiert das Timeout für Schreibvorgänge. Er wird in Sekunden angegeben und ist standardmäßig auf 0,5 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ätzliche Parameter

Socket-Handle:

Mit diesem Parameter wird das Handle des Sockets angegeben, in das die Daten geschrieben 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

Dieses Tool weist keine Standardergebnisse auf, die in MERLIC sichtbar sind. Das eigentliche Ergebnis ist die Datei, in die der Text geschrieben wurde.

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, in das die Daten geschrieben 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.

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.