Gemäß Bedingung verzweigen
Mit diesem Tool können Sie festlegen, welche Tools ausgeführt werden sollen, wenn eine bestimmte Bedingung erfüllt ist, und welche Tools ausgeführt werden sollen, wenn die Bedingung nicht zutrifft. Es weist Ähnlichkeit mit dem Tool Ausdruck auswerten auf. Der Unterschied liegt darin, dass Sie mit diesem Tool die weitere Verarbeitung abhängig von der ausgewerteten Bedingung festlegen können.
Die Bedingung kann numerische Ergebnisse oder Zeichenfolgeergebnisse vorheriger Tools oder manuell eingegebene Werte enthalten. Die Bedingung muss jedoch so definiert werden, dass das Ergebnis einem booleschen Wert zugeordnet werden kann.
Im Gegensatz zu anderen MERLIC-Tools verfügt dieses Tool über keine Standardparameter, wenn es eingefügt wird. Wenn Sie Parameter in der Bedingung verwenden möchten, müssen Sie diese manuell zum Tool hinzufügen. Weitere Informationen finden Sie im Abschnitt Hinzufügen von Parametern. Am unteren Rand des Toolboards werden standardmäßig zwei Verbindungsstellen für Zweigtrigger aufgelistet: „Bedingung“ und „Standardwert“. Weitere Informationen zu Triggerverbindungsstellen finden Sie unter Triggerverbindungsstellen.
Anstelle eines Grafikfensters umfasst dieses Tool ein Eingabefeld, in dem die Bedingung definiert werden kann. Bei der Eingabe einer Bedingung in ein Eingabefeld wird eine automatische Vervollständigungsliste mit möglichen Funktionen und Operatoren für die jeweilige Eingabe eingeblendet. Die Liste enthält auch manuell hinzugefügte Parameter und zuvor definierte Ergebnisse.
Sie können die gesamte Liste direkt manuell über die Tastenkombination STRG+Leertaste aufrufen und durchsuchen. Weitere Informationen zu den möglichen Funktionen und Operatoren finden Sie auf der Seite Ausdruck auswerten.
Das Symbol zeigt an, welcher Zweigtrigger aktiviert ist. Es ist immer ein Zweigtrigger aktiviert: Wenn die Bedingung erfüllt ist, wird die Verbindungsstelle „Bedingung“ aktiv und es wird ein Triggersignal gesendet. In jedem anderen Fall ist der Zweigtrigger „Standardwert“ aktiv und es wird ein Triggersignal gesendet, d. h., wenn die Bedingung nicht zutrifft, noch keine Bedingung definiert wurde oder sich das Tool in einem fehlerhaften Status befindet. Alle Tools, die mit der aktiven Verbindungsstelle verbunden sind, werden ausgeführt.
Sie können Ergebnisse unten im Tool-Arbeitsbereich ausblenden, wenn es beispielsweise Zwischenergebnisse gibt, die mit keinem anderen Tool verbunden sind und lediglich weiter unten im Tool-Flow verwendet werden. Klicken Sie mit der rechten Maustaste auf das Ergebnis, das Sie ausblenden möchten, und wählen Sie „Ausblenden“ aus. Klicken Sie auf die Schaltfläche rechts neben den Ergebnissen, um ein ausgeblendetes Ergebnis anzuzeigen.

Die folgende Abbildung enthält eine schematische Darstellung eines „Gemäß Bedingung verzweigen“-Tools mit zwei Verzweigungen. Beide Verzweigungen enthalten zwei Tools. Im Beispiel auf der linken Seite ist die Bedingung erfüllt. Daher sendet die Verbindungsstelle „Bedingung“ einen Trigger und der Zweig, der die Tools T11–T12 enthält, wird ausgeführt. Im Beispiel auf der rechten Seite ist die Bedingung nicht erfüllt. Daher sendet die Verbindungsstelle „Standardwert“ einen Trigger und der Zweig, der die Tools T21–T22 enthält, wird ausgeführt.
Tool-Flow-Optionen
MERLIC unterstützt weitere Visualisierungsoptionen für das Tool „Gemäß Bedingung verzweigen“. Wenn die Tool-Flow-Optionen aktiviert sind, werden Tools hervorgehoben, die während der Ausführung übersprungen werden. Weitere Informationen finden Sie unter Tool-Flow.
Parameter
Dieses Tool verfügt über keine Parameter. Daher werden beim Einfügen des Tools keine Parameter angezeigt. Wenn Sie einen Parameterwert im Ausdruck verwenden möchten, können Sie den Ergebniswert eines vorherigen Tools verwenden oder einen neuen Parameter für das Tool definieren.
Unterstützte semantische Typen
Dieses Tool unterstützt die folgenden semantischen Typen für die Parameter:
- beliebig
- double
- long
- string
Obwohl nicht alle semantischen Typen für dieses Tool unterstützt werden, können Sie weiterhin ein beliebiges numerisches Ergebnis oder Zeichenfolgeergebnis eines vorherigen Tools verwenden - auch dann, wenn der semantische Typ des betreffenden Ergebnisses nicht unterstützt wird, z. B. „Toolstatus“. Wird jedoch eine Verbindung zu einem solchen Ergebnis erstellt, wird der semantische Typ des jeweiligen neuen Parameters auf „beliebig“ festgelegt.
Da der semantische Typ „long“ Ganzzahlen mit einem größeren Wertebereich darstellt, wird in der folgenden Beschreibung der Begriff „Ganzzahl“ verwendet.
Parameter hinzufügen
Ergebnis eines vorherigen Tools als Parameter verwenden
Um das Ergebnis eines vorherigen Tools im Ausdruck zu verwenden, müssen Sie das Ergebnis mit dem Tool „Gemäß Bedingung verzweigen“ verbinden.
- Wechseln Sie zum vorherigen Tool, dessen Ergebnis Sie als Parameter im Tool „Gemäß Bedingung verzweigen“ verwenden möchten.
- Ziehen Sie den Pfeil der Verbindung vom gewünschten Toolergebnis an die gewünschte Verbindungsstelle. Alternativ können Sie das Kontextmenü öffnen und den entsprechenden Menüeintrag „Verbinden zu“ auswählen.
- Wählen Sie das Tool „Gemäß Bedingung verzweigen“ aus und klicken Sie auf den Menüeintrag „<Verbindung hinzufügen>“.
Das verbundene Ergebnis wird sofort als neuer Parameter für das Tool „Gemäß Bedingung verzweigen“ hinzugefügt. Name und semantischer Typ des Parameters werden automatisch vom verbundenen Ergebnis übernommen. Wird der semantische Typ des verbundenen Ergebniswerts in diesem Tool nicht unterstützt, wird er für den neuen Parameter automatisch auf „beliebig“ festgelegt.
Alternativ können Sie auch einem neuen Parameter für das Tool definieren (siehe folgende Beschreibung) und den neuen Parameter mit dem Ergebnis eines vorherigen Tools verbinden.
Neuen Parameter definieren
Um einen neuen Parameter zu definieren, müssen Sie eine neue Verbindungsstelle hinzufügen und die Parametereinstellungen definieren.
- Klicken Sie auf die Schaltfläche
oben links im Toolboard. Das Dialogfenster zum Definieren von Parametereinstellungen wird geöffnet.
- Wählen Sie den semantischen Typ für den neuen Parameter im Dialogfenster aus.
- Definieren Sie ggf. den minimalen und maximalen Wert für den neuen Parameter.
- Klicken Sie auf „OK“, um die Einstellungen zu bestätigen. Der neue Parameter wird sofort mit einem Standardnamen hinzugefügt.
- Sie können den Parameter umbenennen, indem Sie auf den Parameternamen doppelklicken. Weitere Informationen zu den zulässigen Namenskonventionen für Toolparameter und -ergebnisse finden Sie im Kapitel Tools und Verbindungsstellen umbenennen.
- Definieren Sie den Wert des hinzugefügten Parameters an der Verbindungsstelle.
Nachdem der semantische Typ und der Wertebereich für einen Parameter gespeichert wurden, können diese Einstellungen nicht mehr geändert werden. Wenn der semantische Typ oder der Wertebereich des Parameters angepasst werden muss, müssen Sie einen anderen neuen Parameter mit den gewünschten Einstellungen hinzufügen.
Bedingung
Der Ausdruck, der ausgewertet werden soll, muss im Eingabefeld des Toolboards definiert werden. Wenn noch keine Bedingung oder eine ungültige Bedingung definiert wurde, zeigt MERLIC einen Fehler im Toolboard und im Tool-Flow-Panel an. Dieser Fehler wird jedoch nur angezeigt, weil die Bedingung fehlt oder falsch ist. Es weist nicht auf einen schwerwiegenden Fehler im Arbeitsbereich hin. Daher gibt das Ergebnis „Toolstatus“ in diesem Fall weiterhin „[0; OK]“ aus.
Um einen Wert eines Toolparameters für die Auswertung zu verwenden, geben Sie den Namen des Parameters in das Eingabefeld der Bedingung ein. Es ist auch möglich, eine Bedingung ohne Parameter zu definieren. Die Bedingung kann auf numerische Werte, Zeichenfolgewerte und auch gemischte Tupel angewendet werden. Sie müssen jedoch sicherstellen, dass die Bedingung einem booleschen Wert zugeordnet werden kann. Das Ereignis muss also „wahr“ oder „nicht wahr“ (falsch) sein, damit zuverlässig ausgewertet werden kann, welche Verzweigung aktiviert wird. Falls ein Tupel Bei einem Tupel handelt es sich um eine Liste von Elementen, z. B. numerischen Werten und Zeichenfolgen. ausgegeben wird, muss jedes Element des Tupels 1 sein, damit die Bedingung erfüllt ist. Falls die Bedingung nicht zutrifft oder nicht einem booleschen Wert zugeordnet werden kann, wird das „Standardwert“-Zweigtriggersignal aktiviert und die entsprechende Verzweigung ausgeführt.
Eine ausführliche Beschreibung der verschiedenartigen Bedingungen finden Sie in der Referenzdokumentation des Tools Ausdruck auswerten.
Eine zuvor gültige Bedingung kann während der Ausführung ungültig werden, wenn das Ergebnis eines vorherigen Tools in der Bedingung verwendet wird. Dazu kommt es, wenn sich der Wert des verbundenen Parameters während der Ausführung ändert. BeispielWenn die Bedingung beispielsweise als Condition := Parameter definiert und der Wert für Parameter 1 ist, ist die Bedingung gültig und wahr. Das Tool gibt also keinen Fehler aus. Ändert sich der Wert für Parameter jedoch zur Ausführungszeit, beispielsweise in das Tupel [1;2], wird die definierte Bedingung ungültig, da sie nicht als wahr oder falsch interpretiert werden kann. Eine ungültige Bedingung wird von dem Tool als falsch interpretiert. Eine geeignetere Bedingung für diesen Fall wäre beispielsweise Condition := Parameter[0] > 0, um sicherzustellen, dass die Bedingung nicht ungültig werden kann.
Zweigtrigger
Bedingung:
Dieser Zweigtrigger sendet ein Triggersignal, wenn die Bedingung zutrifft.
Standardwert:
Dieser Zweigtrigger sendet ein Triggersignal, wenn die Bedingung nicht zutrifft.
Ergebnisse
Standardergebnisse
Ergebnis:
Dieses Ergebnis gibt die resultierenden Werte der Bedingung aus. Der semantische Typ des Ergebnisses wird auf „beliebig“ festgelegt.
Toolstatus:
„Toolstatus“ gibt Informationen zum Status des Tools aus und kann daher für die Fehlerbehandlung verwendet werden. Weitere Informationen zu den verschiedenen Toolstatus-Ergebnissen finden Sie unter Toolstatus-Ergebnis.
Zusätzliche Ergebnisse
Verarbeitungszeit:
Dieses Ergebnis gibt die Dauer der letzten Ausführung des Tools in Millisekunden aus. Das Ergebnis wird als zusätzliches Ergebnis bereitgestellt. Es ist daher standardmäßig ausgeblendet, kann aber über die Schaltfläche neben den Toolergebnissen angezeigt werden. Weitere Informationen finden Sie im Abschnitt Verarbeitungszeit in der Tool-Referenz-Übersicht.
Anwendungsbeispiele
Dieses Tool wird in den folgenden MERLIC-Vision-App-Beispielen verwendet:
- adapt_brightness_for_measuring.mvapp
- check_correct_filling_on_3d_height_images.mvapp
- measure_distance_to_center_led.mvapp