Functions

Die Bildverarbeitungsalgorithmen sind in Funktionen gekapselt. Komplexere Algorithmen wurden als Funktionsbaustein umgesetzt und sind unter ImageProcessing zu finden.

Aufbau eines Funktionsaufrufs

Funktionen sind wie folgt aufgebaut:

Functions 1:

hr

Statusvariable vom Typ HRESULT. Hiermit kann der Ausführungsstatus jeder Funktion nachvollzogen werden.

F_VN_

Funktionen sind durch das Präfix „F_VN_“ gekennzeichnet.

Parameter <...>

Funktionsparameter erfüllen im Wesentlichen folgenden Zweck:

  • Eingangsparameter (z. B. Bilder oder Container), die verarbeitet werden sollen.
  • Parameter zur Einstellung des Algorithmus
  • Parameter als Referenz zur Rückgabe der Ergebnisse

Gruppierung von Funktionen

Alle Funktionen der TwinCAT Vision Bibliothek sind thematisch in die folgenden Gruppen sortiert:

Bilder

Container

Konturen

Vermessung

Code-Lesung

Optische Zeichenerkennung (OCR)

Zeichnen und Text

Machine Learning

Fortgeschrittene Funktionen

Sonstiges

Expert-Funktionen

Zu vielen Funktionen existieren Expert-Varianten. Diese enthalten zusätzliche Parameter und sind im Regelfall durch das Namenssuffix „Exp“ gekennzeichnet. Bei Funktionen mit Expert-Varianten ist dies zudem unter dem Stichpunkt „Expert-Parameter“ vermerkt.

Die Expert-Variante von F_VN_MaxImage heißt z. B. F_VN_MaxImagesExp und enthält den zusätzlichen Parameter ipMask.

Laufzeitverhalten

Die Ausführungsdauer einiger Bildverarbeitungsalgorithmen hängt neben ihrer Parametrierung auch vom Bildinhalt ab. Sie ist daher nicht deterministisch. Um dennoch zyklisches Echtzeitverhalten zu gewährleisten, können Watchdogs auf diese Funktionen oder Funktionsgruppen angewandt werden, die die Funktionen nach einer vorgegebenen Zeit abbrechen.

WARNUNG

TwinCAT-Absturz bei falscher Verwendung von Funktionen

Bei falscher Verwendung von einigen Funktionen kann es zu Fehlern (und daraus resultierenden TwinCAT-Abstürzen) kommen. Diese werden nicht innerhalb der Funktion abgefangen, da entsprechende Überprüfungen die Ausführungszeit wesentlich verlängern würden. Sie müssen also selbst darauf achten, die Funktionen ordnungsgemäß zu verwenden! Z. B. empfehlen wir, eine Validierung der Eingabeparameter durchzuführen.