Allgemein

Ausführung

Jede Job-Instanz besitzt genau einen Hintergrund-Thread für die Auswertung der Toolgroup-Items. Daher kann immer nur eine Auswertung gleichzeitig erfolgen. Erfolgt eine Triggerung des Job, während im Hintergrund bereits eine Ausführung läuft, so wartet der Aufrufer solange, bis der Job wieder freigegeben wird und die gewünschte Ausführung gestartet werden kann oder bis das eingestellte Zeitlimit TimeoutWaitForJobFree erreicht ist. In letzterem Fall wird die Ausführung mit einem Fehler abgebrochen.

Der eigentlich Ausführungsblauf besteht aus folgenden Schritten:

  1. Der Bildeinzug

  2. Die Ausführung des ausgewählten ToolGroup Items

Auswahl ToolGroup Items

Ein BV Job kann mehrere ToolGroup Items enthalten, aber immer nur eines ausführen. Für die Auswahl den ToolGroup Items gibt es mehrere Möglichkeiten.

Siehe auch

Auswahl im Job Editor

Im Job Editor werden die ToolGroup Items über die CheckBox angewählt:

../../_images/job-editor-select-tgitem.png
Siehe auch

Auswahl bei Trigger über Station

Die SPS kann beim Trigger ebenfalls ein bestimmtes ToolGroup Item über dessen ID starten. Diese Funktion muss in der Konfiguration der Station aktiviert und konfiguriert werden.

Darüber hinaus bieten die ToolGroup Item Selektoren im Job Editor noch mehr Flexibilität, da die ToolGroup Items hier auf Basis weiterer SPS Variablen ausgewählt werden.

RunFromDir

Bei der Verwendung von RunFromDir global erfolgt eine automatische Auswahl des ToolGroup Items auf Basis des Dateinamens.

Bildeinzug

Bei der Triggerung können dem Job Eingabebilder übergeben werden. Die passiert zum Beispiel bei Triggerung durch eine Image-Trigger-Station oder beim Laden gespeicherter Bilder. In diesem Fall erfolgt keine Bildaufnahme von den Bildquellen. Stattdessen wird jeder Bildquelle des ausgewählten ToolGroup Items eines der übergebenen Bilder zugeordnet, welches dann der Toolgroup übergeben wird. Die Zuordnung erfolgt anhand der Reihenfolge der übergebenen Eingabe-Bilder und der Reihenfolge der Quellen in der Bildquellenliste.

Bei Triggerung des Jobs ohne explizit übergebene Eingabebilder bezieht der Job diese von den Bildquellen. Der Prozess kann durch Parameter im Tab Einstellungen des Job-Editors angepasst werden und besitzt folgenden Ablauf:

  1. Ist im ausgewählten Toolgroup-Item eigene Lichtsituation eingestellt, so wird gewartet, bis der exklusive Zugriff auf die benötigten Lichtkanäle möglich ist. Überschreitet die Wartezeit den eingestellten TimeoutLockLight, werden Bildeinzug und Jobausführung mit einem Fehler beendet. Wenn die Lichtkanäle innerhalb der Wartezeit gesperrt werden können, so werden die Helligkeiten entsprechend der Lichtsituation eingestellt.

  2. Es wird von allen Quellen, die in der Bildquellenliste des gewählten ToolgroupItems als aktiv markiert sind der Bildeinzug ausgeführt. Abhängig vom eingestellten Parameter GetImgsParallel erfolgt dies parallel für alle Quellen in jeweils separaten Threads oder in der Reihenfolge der Quellen sequentiell. Die Zeitdauer diese Schrittes wird überwacht und durch die Einstellung TimeoutWaitForImages begrenzt. Beim Erreichen des Zeitlimits wird die Job-Ausführung mit einem Fehler abgebrochen.

  3. Falls die Einstellung LightOffAfterJob aktiv ist, werden die Helligkeiten der Lichtkanäle aller Lichtsituation der relevanten Bildquellen auf 0 gesetzt.

Hinweis

Die Einstellung TimeoutLightSituationOnExposureEnd wird in Schritt (2) an alle betroffenen Bildquellen weitergeleitet und steuert, wann die Lichtkanäle wieder freigegeben werden.

Warnung

Wenn Bildquellen Lichtsituation definieren, welche auf die selben Lichtkanäle zugreifen, so wird der Bildeinzug von den Quellen implizit über die Lichtkanäle synchronisiert. Soll ein echt paralleler Bildeinzug erfolgen, muss auf eine geeignete Konfiguration der Beleuchtung geachtet werden. Zum Beispiel durch Definition der Lichtsituation auf Ebene des ToolgroupItems