Skip to main content
Skip table of contents

Persistente Variablen

In diesem Kapitel finden Sie allgemeine Informationen zur Bedienung von persistenten Variablen der evoVIU-Kamera.

Einleitung

Oftmals gibt es Szenarien, in denen Zähler oder bestimmter Werte nach einem Neustart erneut zur Verfügung stehen müssen. Ein Zurücksetzen oder erneuter Beginn muss in diesen Fällen verhindert werden. Genau an diesem Punkt kommen die persistenten Variablen ins Spiel. Im Workflow können Sie diese nutzen um auf Werte auch nach einem Neustart, ganz egal ob Kamera oder Prozess, zurückgreifen zu können.

Übersicht

Grundsätzlich können Sie den Inhalt der persistenten Variablen auf der Übersichtsseite einsehen. In der Top App Bar, der roten Leiste am oberen Bildschirmrand, können Sie unter Logic Ihren Workflow konfigurieren, unter Dashboard anhand von Widgets Informationen über Ihren aktuellen Prozess anzeigen und über Variants Pfade mit unterschiedlichen Werten, in diesem Fall die initialen Werte Ihrer persistenten Variablen setzen. Sie können auf dieser Übersichtsseite beim laufenden Prozess jedoch auch die aktuellen Werte Ihrer persistenten Variable auslesen.

Wichtig: Bevor Sie einen Workflow mit persistenten Variablen starten können, müssen Sie auf der Übersichtsseite die initialen Werte hinterlegen.

Screenshot 2025-05-14 114907.png

Konfiguration im Workflow

Persistent Attribute

Wie Sie möglicherweise bereits wissen, können Sie im Workflow eine beliebige Anzahl an Variable von unterschiedlichen Typen erstellen und nutzen. Für die Nutzung von persistenten Variablen bietet sich der Int32-Datentyp an. Wenn Sie eine Variable auswählen, dann können Sie im zugehörigen Details-Tab unter dem Attribut Persistent dafür sorgen, dass die Variable als persistente Variable zur Verfügung steht.

Screenshot 2025-05-14 115041.png

Scope

Sobald eine Variable als persistent deklariert ist, muss noch eine Aussage über den Scope, also den Geltungsbereich der Variable getroffen werden. Diese kann für den gesamten Workflow, also global, gültig sein, oder nur für einzelne Varianten.

Screenshot 2025-05-14 115055.png

Anwendungsbeispiel

Aufbau eines Workflows

Zu Grunde liegt ein fiktives Beispiel. Auf der einen Seite soll ein globaler Zähler die Durchläufe protokollieren, auf der anderen Seite soll eine persistente Variablen die Durchläufe der jeweiligen Varianten festhalten. Im Workflow werden letztendlich nur Rechenoperationen durchgeführt. Die entscheidenden Variablen wurden wie in den Bereichen Persistent Attribute und Scope in den beiden möglichen Konstellationen konfiguriert.

Screenshot 2025-05-14 114839.png

Auswertung eines Workflows

Während zum Start des Workflows zunächst alle Variablen den Wert 0 enthielten, so konnte man nach einem Stopp sowie dem Wechsel der Variante feststellen, dass insgesamt 15 Durchläufe stattfanden, wobei die schwarze Variante nur 5, wohingegen die weiße Variante insgesamt 10 mal aufgerufen wurde.

Screenshot 2025-05-14 115015.png

Weiteres Anwendungsbeispiel

Einleitung komplexere Datentypen

In vielen Bildverarbeitungs‑Systemen konnten bisher nur einfache (primitive) Datentypen wie String, Integer oder Boolean dauerhaft gespeichert werden. Mit der Möglichkeit, nun auch komplexere Datentypen zu persistieren, entsteht ein deutlicher praktischer Vorteil für Anwender.

Komplexe Einstellungen sind oft zeitaufwendig aufgebaut – zum Beispiel eine manuell erstellte ROI oder eine Polyline zur Kantenverfolgung. Wenn diese Daten nach einem Neustart verloren gehen, müssen sie jedes Mal neu rekonstruiert werden. Mit Persistenz gilt:

Die Kamera startet genau da, wo der Anwender aufgehört hat.

Das spart Zeit, vermeidet Fehler und erhöht die Prozessstabilität. Viele Prüfaufgaben hängen außerdem von grafischen oder geometrischen Einstellungen ab, z. B. wo gemessen wird (ROI), welche Kante verfolgt wird (Polyline) oder welche Farbe der Sollwert hat (Color). Werden diese Werte komplex gespeichert, bleibt der Prüfprozess identisch und reproduzierbar — unabhängig von Neustarts, Updates oder Stromausfällen.

Ohne persistente komplexe Datentypen müssen Operatoren ROIs neu ziehen, Polylines neu setzen, Farbschwellen neu auswählen oder Bilder manuell neu laden. Das ist fehleranfällig. Persistenz ermöglicht hier das Einrichten sowie das Speichern – und beim nächsten Start ist alles sofort wieder da. Gerade in Produktionsumgebungen erhöht das die Prozesssicherheit erheblich.

Mit der neuen Möglichkeit, komplexe Datentypen wie Image, Polyline oder Color persistent zu speichern, bleibt der gesamte Prüfzustand auch nach einem Neustart vollständig erhalten. Dadurch müssen Anwender keine geometrischen Einstellungen, Farben oder Bilddaten neu einrichten. Das spart Zeit, verhindert Fehler und erhöht die Prozesssicherheit in der industriellen Produktion deutlich. Primitive Datentypen reichen hierfür nicht aus, da sie keine strukturierten Daten wie Bilder, Konturen oder Farbräume abbilden können.

Beispiel

Anhand eines kleinen, simplen Beispiels möchten wir mit Ihnen genauer beleuchten wie komplexe Datentypen im Workflow gesetzt und als Variablen persistiert werden können. Wir werfen dabei einen Blick auf die Inhalte von unterschiedlichen Datentypen, von Polyline über Color bis hin zu Arrays.

Screenshot 2026-03-24 072823.png

Wenn Sie den Workflow mindestens ein Mal gestartet haben und anschließend zur Seite Variants wechseln, werden Sie eine Auflistung all Ihrer persistenten Variablen vorfinden. Das interessante dabei: Im Gegensatz zu den primitiven Datentypen können Sie die Werte Ihrer Variablen über einen Aufklappmechanismus innerhalb der Tabelle auslesen. Dort warten typspezifische Informationen auf Sie.

Screenshot 2026-03-24 072908.png

Sehen wir uns doch mal die Polyline genauer an. Wenn Sie die Detail-Ansicht ausklappen, finden Sie die Polyline in Form eines Bildes vor. Die darunter aufgelisteten Werte der Polyline werden somit grafisch dargestellt und erleichtern Ihnen die Einordnung der Werte.

Screenshot 2026-03-24 073023.png

Lassen Sie uns noch einen weiteren Datentyp ansehen. In der Detail-Ansicht des Datentyps Color werden bspw. die jeweiligen Werte für R, G und B aufgelistet. Das Besondere an diesem Beispiel: Es handelt sich hier um ein Array. Die Werte des Datentyps Color werden somit nicht nur einmal, sondern mehrmals aufgelistet, je nachdem mit wie vielen Einträgen das Array befüllt ist.

Screenshot 2026-03-24 073101.png

JavaScript errors detected

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

If this problem persists, please contact our support.