Skip to main content
Skip table of contents

TCP/IP

Die Kamera evoVIU unterstützt die Kommunikation über das TCP/IP-Protokoll, um Daten mit anderen Geräten im Netzwerk auszutauschen. Dabei kann sie sowohl als Client als auch als Server agieren – je nach Anwendung.

Im Client-Modus stellt die evoVIU-Kamera eine Verbindung zu einem externen Server her. Sobald eine Verbindung besteht, kann die Kamera gezielt Daten wie Bildinformationen oder Metadaten senden – etwa an eine zentrale Steuerungseinheit oder ein Auswertungssystem. Dieser Modus eignet sich besonders, wenn die Kamera aktiv Daten an ein bekanntes Ziel übermitteln soll.

Im Server-Modus hingegen wartet die evoVIU-Kamera auf eingehende Verbindungen. Externe Clients, beispielsweise Maschinensteuerungen oder PCs, können sich mit der Kamera verbinden, um Daten abzufragen oder Aktionen (z. B. eine Bildaufnahme) auszulösen. Dieser Modus ist ideal, wenn die Kamera passiv auf Steuerbefehle reagieren soll.

Beide Modi basieren auf stabilen, verbindungsorientierten TCP/IP-Verbindungen. Die Auswahl des Betriebsmodus hängt von der Systemarchitektur und den Anforderungen der Anwendung ab.

Die Konfiguration erfolgt direkt über die Weboberfläche der evoVIU, wobei IP-Adresse, Port und Übertragungsrichtung klar definiert werden müssen.

Verbindungsparameter

TCP Server

Parameter

Type

Einheit

Erklärung

Beispiel

Port

Integer

Die Portadresse mit der die evoVIU im Netzwerk als TCP Server erreicht werden soll.

Bitte beachten Sie, dass bestimmte Ports bei der Integration der Kamera von der IT freigegeben werden müssen.

7778

Buffer Size

Integer

Byte

Die Größe des Eingangsbuffer.

Entscheidend ist hier, wie groß das Telegramm ist. Es empfiehlt sich den Buffer generell immer mit etwas Puffer bereitzustellen. Ist der Buffer zu klein gewählt kommen mehrere Events, bis die gesamten Daten gesendet sind.

5000

TCP-Client

Parameter

Type

Einheit

Erklärung

Beispiel

Hostname

String

Die Zieladresse des Brokers. Diese wird in der Regel von der IT bereitgestellt.

mytcpserver.mydomain.de
192.168.0.123

Port

Integer

Die Portadresse des TCP Servers im Netzwerk.

Bitte beachten Sie, dass bestimmte Ports bei der Integration der Kamera von der IT freigegeben werden müssen.

7778

Timeout

Integer

ms

Nach dieser Zeit bricht er das Senden an den Client mit Fehlermeldung ab.

1000

Workflow Setup

Unterschied zwischen TCP Server und TCP Client

Die evoVIU-Kamera kann entweder als TCP Server oder TCP Client betrieben werden:

  • Im Server-Modus wartet die Kamera auf eingehende Verbindungen von einem Steuergerät oder PC. Das externe Gerät stellt die Verbindung zur Kamera her.

  • Im Client-Modus verbindet sich die Kamera aktiv mit einem festgelegten Server (z. B. PC oder Steuerzentrale) über IP-Adresse und Port.

Der Vorteil im evoVIU Kamerasystem ist es, dass beliebig viele Server und Clients angebunden werden können. Wichtig ist nur das Event-Scheduling und die Ports entsprechend anzupassen.

Anlegen eines TCP Servers - Schritt für Schritt

Der TCP Server ist erst für die anderen Teilnehmer im Netzwerk sichtbar, wenn der Workflow gestartet wurde. Beim Stoppen des Workflows werden die Verbindungen automatisch abgebaut. Es muss geprüft werden, ob sich beim Neustart die Teilnehmer wieder auf die Kamera automatisch verbinden.

Nach Anlegen eines TCP Servers kann der Event Node Receive Bytes (TCP Server) zum Workflow hinzugefügt werden. Dieser wird bei einer eingehenden Nachricht vom Client an die Eventknoten gesendet und kann von dort für die weitere Verarbeitung verwendet werden.

  1. Gehen Sie in Workflows unter Components auf ➕.

  2. Suchen Sie nach “TCP Server”.

image-20250716-121223.png

Komponentenübersicht TCP-Server

  1. Es erscheint eine neue Komponente mit dem Namen “TCP Server”.

Den Namen der Komponente kann man ändern. Jedoch ist dabei zu bedenken, dass man dann nicht mehr nach TCP Server, sondern nach dem geänderten Namen suchen muss.

  1. Geben Sie die Zugangsdaten und Parameter entsprechend Ihrer Wünsche ein.

image-20250716-121254.png
  1. Öffnen Sie per Rechtsklick das Context-Menü und suchen Sie nach dem “TCP Server” unter “Events”.

image-20250716-121419.png

  1. Wählen Sie den Knoten “Receive Bytes (TCP Server)”.

  2. Um die Daten greifbar zu machen, suchen Sie ebenfalls im Context-Menü über “Break Tcp Server Payload” und verbinden Sie den Output “Parameter” des Events mit dem Eingang “Struct” des “Break Tcp Server Payload”.

image-20250716-121521.png

Der Event-Knoten ist bereit Daten zu empfangen.

Erweiterung des TCP Servers mit Rückantwort an Client - Schritt für Schritt

  1. Übernehmen Sie alle Schritte bis Schritt 7. Neben den Received Bytes enthält die “Break Tcp Server Payload” ebenfalls den Output “Connected Client”. Mit diesem können Sie direkt über TCP Send ohne Anlage einer TCP Client Komponente eine Rückantwort nach der Verarbeitung der Daten senden. Die genaue Verwendung des TCP Send wird im nachfolgenden Kapitel erklärt. Dabei wird aber eine eigene Komponente erstellt.

Beispiel 1 zeigt dabei eine Rückantwort, die direkt im ausführenden Pfad möglich ist. Mit Beispiel 2 kann man die Verbindung zwischenspeichern und an andere Stelle im Code, beispielsweise nach einen Branch (If / Else) wieder aufrufen.

image-20250716-124725.png

Beispiel 1: Rückantwort direkt im ausführenden Pfad schreiben

image-20250716-125338.png

Beispiel 2: Rückantwort, welche nach einen Flow Control-Element aufgerufen werden

  1. Für das Verwenden einer Variable zum Halten der Verbindung “Client” muss unter Variables eine neue Variable vom Typ “I Tcp Client” angelegt werden.

image-20250716-125155.png

Anlage Variable

  1. Vor dem Flow Control-Element kann mit “Set Client” die Verbindung gesetzt werden und anschließend nach dem Flow Control Element wieder mit “Get Client” geholt werden.

image-20250716-125907.png

Nutzung der Verbindung zwischen Flow Control Element

Allgemeine Informationen zur Verwendung des TCP Servers

  • Der Server startet erst bei Start des Workflows und endet mit diesem.

  • Wird der Eingangsbuffer “Buffer” zu niedrig gewählt, so wird der Event mehrfach - bis alle Daten die Kamera erreicht haben - hintereinander ausgelöst. Dies sollte für einen sauberen Prozess vermieden werden.

  • Für den TCP Server werden keine Start-/ und Stoppzeichen benötigt. Es reicht ein einfaches Senden der gewünschten Daten.

Verwendung - Aufsplittung der Daten im “Receive Bytes (TCP Server”)

Auftrennung des Datentelegramms über “Split String”

Mit dem Split String kann man das eingehende Datentelegramm in verschiedene Parameter aufsplitten.

Beispiel:

Beispiel Telegramm von Client:

Paramter

Telegramm von Client

Variable in Kamera

Varinate

A9472;2025-01-20 14:15:16;True

A9472

Time

2025-01-20 14:15:16

UseMeasure

True

Sobald die Daten an der Kamera ankommen werden diese in ASCII Zeichen umgewandelt und mittels Split String über den Separator geteilt und an die einzelnen Variablen gesendet.

image-20250716-134843.png

Auftrennung des Datentelegramms über “Deserialize JSON”

Eine eingehende JSON Struktur kann ebenfalls mittels eines “Struct” zerlegt und für weitere Schritte verwendbar gemacht werden.

Paramter

Telegramm von Client

Variable in Kamera

Varinate

{
"Variante": "A9472",
"Time": "2025-01-20 14:15:16",
"UseMeasure": "True"
}

A9472

Time

2025-01-20 14:15:16

UseMeasure

True

  1. Legen Sie dafür eine Struktur unter “Structs” an.

image-20250716-135802.png
  1. Integrieren Sie die Struktur in den Workflow. Bei “UseMeasure” könnte auch ein Boolean verwendet werden.

image-20250716-135929.png

Anlegen eines TCP Clients - Schritt für Schritt

  1. Gehen Sie in Workflows unter Components auf ➕.

  2. Suchen Sie nach “TCP Client”.

image-20250716-121223.png
  1. Geben Sie die Zugangsdaten und Parameter entsprechend Ihres Endpunkts ein.

image-20250716-130713.png
  1. Öffnen Sie per Rechtsklick das Context-Menü und suchen Sie nach “Get TCP Client” unter “Components”.

  2. Wählen Sie zudem den “TCP Send” Knoten und verbinden Sie beide Knoten miteinander.

image-20250716-130945.png
  1. Um Daten zu senden verknüpfen Sie den Payload mit den gewünschten Sendedaten. Der “Literal String” Knoten wir nur als Datenbeispiel in diesem Fall genannt. Es kann jedes beliebige Byte-Format gesendet werden.

image-20250716-131223.png

Beispiel 1: Senden von Daten ohne Start-/Stoppzeichen

Der Event-Knoten ist bereit Daten an den entsprechenden Endpunkt zu senden.

Erweiterung des “TCP Send” um Start-/Stoppzeichen

Falls Sie noch Steuerzeichen als Start-/Stoppzeichen in Ihr Telegramm inkludieren wollen oder müssen, kann dies über die Inputs “Start Characters” und “Stop Characters” geschehen. Die Steuerzeichen können aus jeder beliebigen ASCII Tabelle gelesen werden. In die Literal Bytes werden die Dezimalwerte geschrieben. Beispiel ESC = Dezimal 27

Hierzu gibt es zwei Möglichkeiten:

Setzen der Start/Stopp-Zeichen über Workflow-Inputs

image-20250716-132303.png

Beispiel 2: Senden von Daten mit Startzeichen (z.B. ESC) und Stoppzeichen (z.B. CR)

image-20250716-132440.png

Beispiel 3: Senden von Daten mit mehreren Startzeichen (ESC) und Stoppzeichen (LF + CR)

Setzen der Start/Stopp-Zeichen über Settings im “TCP Send” Knoten

image-20250716-132832.png

Eingabe Start-/Stoppzeichen über TCP Send Settings

Flow wie Beispiel 1, jedoch werden die Daten der Start-/Stoppzeichen im Details Tab des Knoten gesetzt. Im Knoten werden die gesetzten Einstellungen über das “Value Configured” Symbol gekennzeichnet.

image-20250716-132811.png

Anzeige im Knoten “TCP Send”, das Daten hinterlegt wurden.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.