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 | |
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.
Gehen Sie in Workflows unter Components auf ➕.
Suchen Sie nach “TCP Server”.

Komponentenübersicht TCP-Server
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.
Geben Sie die Zugangsdaten und Parameter entsprechend Ihrer Wünsche ein.

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

Wählen Sie den Knoten “Receive Bytes (TCP Server)”.
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”.

Der Event-Knoten ist bereit Daten zu empfangen.
Erweiterung des TCP Servers mit Rückantwort an Client - Schritt für Schritt
Ü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.

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

Beispiel 2: Rückantwort, welche nach einen Flow Control-Element aufgerufen werden
Für das Verwenden einer Variable zum Halten der Verbindung “Client” muss unter Variables eine neue Variable vom Typ “I Tcp Client” angelegt werden.

Anlage Variable
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.

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.

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 | { | A9472 |
Time | 2025-01-20 14:15:16 | |
UseMeasure | True |
Legen Sie dafür eine Struktur unter “Structs” an.

Integrieren Sie die Struktur in den Workflow. Bei “UseMeasure” könnte auch ein Boolean verwendet werden.

Anlegen eines TCP Clients - Schritt für Schritt
Gehen Sie in Workflows unter Components auf ➕.
Suchen Sie nach “TCP Client”.

Geben Sie die Zugangsdaten und Parameter entsprechend Ihres Endpunkts ein.

Öffnen Sie per Rechtsklick das Context-Menü und suchen Sie nach “Get TCP Client” unter “Components”.
Wählen Sie zudem den “TCP Send” Knoten und verbinden Sie beide Knoten miteinander.

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.

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

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

Beispiel 3: Senden von Daten mit mehreren Startzeichen (ESC) und Stoppzeichen (LF + CR)
Setzen der Start/Stopp-Zeichen über Settings im “TCP Send” Knoten

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.

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