Job Editor¶
ToolGroup Items¶
Im ersten Reiter des Job-Editors werden die ToolGroup Items des Jobs verwaltet.
In dieser Liste werden alle ToolGroup Items des Jobs angezeigt. Mit dem Häkchen wird das aktive ToolGroup Item ausgewählt, das z.B. beim Ausführen der BV über das Job Display verwendet wird.
Mit (1) werden ToolGroup Items angelegt oder gelöscht sowie die Reihenfolge geändert. Außerdem kann der ToolGroup Item Editor geöffnet werden (alternativ über Doppelklick in der Liste). Über (3) wird das ToolGroup Item umbenannt.
Beim Anlegen eines neuen ToolGroup Items sind folgende Angaben notwendig:
Der Name muss innerhalb eines Jobs eindeutig sein. Ihm kann eine ID vorangestellt werden.
Mit Relatives Verzeichnis wird festgelegt, wo die Dateien des Toolgroup Items relativ zum Job gespeichert werden. Eine Änderung ist nur bei speziellen Konfigurationen erforderlich.
Der Typ kann nur beim Erstellen festgelegt und später nicht verändert werden.
ToolGroup Items können beim Erstellen kopiert werden, entweder von einem anderen derzeit geladenen Typen, oder über Import über das Dateisystem aus einem beliebigen anderen Projekt. Beim Import wird das zu kopierende ToolGroup Item geladen und in die Liste Kopiere von eingefügt:
Beim Import können .tgitem oder .vpp Dateien verwendet werden. Bei .tgitem werden alle Einstellungen geladen, auch die Bildquellen oder IO Zuordnungen, während bei .vpp nur die Cognex ToolGroup importiert wird.
Hinweis
ToolGroup Items, die nicht geladen werden können, können auch nicht importiert werden.
ToolGroup Item Selektoren¶
Hier werden Selektoren definiert, die alternativ zur ID für die Auswahl des auszuführenden ToolGroup-Items verwendet werden können. Statt einer einfachen ID wählt der VPP-Selektor das auszuführende ToolGroupItem aufgrund des Wertes von GInOut-Variablen aus.
Enabled: VPP-Selektor aktivieren oder deaktivieren.
Execute selector: ToolGroupItem aufgrund der aktuellen Werte der GInOutVariablen auswählen.
GIO Variable List: Name der Variablenliste, welche die Hardware-Variablen enthält.
Variables: Kommaseparierte Liste der Variablennamen. Über die Buttons können Variablen per Listen-Auswahl hinzugefügt oder ungültige Variablen entfernt. Ungültig sind Variablen, die nicht in der eingestellten Variablenliste enthalten sind.
Preview: Zeigt bei Buttonklick den Selektor und den Namen des ToolGroupItems, das aufgrund der aktuellen Werte der GInOutVariablen auswählt werden würde. Im Bild ist der Wert der Variablen ‚InTypeName‘=‘VGS2‘. Daher wirkt auch der Selektor mit dem Namen ‚VGS2‘ und das ToolGroupItem ‚02_CheckPart‘ wird ausgewählt. Falls kein zutreffender Selektor gefunden wird erscheint das Feld rot mit einer Fehlermeldung.
+ -: Hinzufügen/Entfernen eines Eintrages in der Liste der VPP-Selektoren (9).
Refresh: Liste der VPP-Selektoren aktualisieren.
Select by condition: Gibt an, ob die Entscheidung über die Auswahl eines Selektors anhand einer logischen Bedingung erfolgt:
Aus: Die Auswahl des ToolGroupItems erfolgt anhand der Selektor-Namen. Die Text-Werte der einzelnen Variablen werden dabei nahtlos aneinander gehängt. Entspricht der Text-Wert der Variablen dem Namen des Selektors, so wird das entsprechende ToolGroupItem ausgewählt.
Ein: Die Auswahl des ToolGroupItems erfolgt anhand der Condition der Selektoren. Die numerische Werte der Variablen werden in die Bedingungsgleichung-Gleichung eingesetzt. Die Liste der Gleichungen, bzw. Bedingungen, wird von oben nach unten abgearbeitet. Ist das Ergebnis einer Bedingung Wahr (ungleich ‚0.0‘), so wird das entsprechende ToolGroupItem ausgewählt.
Liste der VPP-Selektoren:
Selector: Eindeutiger Name des Selektors.
Condition: Logische Gleichung für die Auswahl-Bedingung. Sie muss genau dann angegeben werden, falls Select by condition aktiv ist. Sie darf die Namen der ausgewählten Variablen, Dezimalzahlen, Vergleichs-Operatoren, Klammern und Logische Verknüpfungen enthalten.
Value: Name des ToolGroupItems, das beim Zutreffen des Selektors gewählt wird.
Beispiel für Select by condition:
Ist Select by condition (1) angewählt, so werden die Werte der Variablen (2) in die Gleichungen (3) eingesetzt. Ist das Ergebnis der Gleichung ungleich 0.0, so wird das entsprechende ToolGroupItem ausgewählt. Im folgenden Beispiel soll der Wert der Variable ‚InType‘=‘27‘ sein:
TEST : (27 > 0 ) AND (27 < 10) : NEIN
VGS1 : (27 >= 10 ) AND (27 < 20) : NEIN
VGS2 : (27 >= 20 ) AND (27 < 30) : JA
VGS3 : (27 >= 30 ) AND (27 < 40) : NEIN
Da selector3 die erste erfüllte Bedingung aufweist, wird er aktiv und das ToolgroupItem wird entsprechend gesetzt.
Hinweis
Mehrere sich überschneidende Selektor-Bedingungen sollten vermieden werden, sind aber zulässig. Bei der Bildquellenauswahl wird der erste passende Selektor in der Liste verwendet.
Bildquellen¶
Jeder Job besitzt eine eigene Bildquellen-Listen, die hier bearbeitet werden kann. Die Liste kann anstelle individueller Listen in den ToolgroupItems verwendet werden oder es können Bildquellen als Verweis-Ziele für Referenzbildquellen definiert werden.
Die Oberfläche zeigt den Standardeditor für Bildquellen-Listen.
UI Designer¶
Hier kann für jedes Toolgroup-Item per UI-Designer eine benutzerdefinierte Oberfläche konfiguriert werden. Die BV-Einstellungen zeigen diese Oberfläche zum aktuell gewählten Toolgroupitem.
Globale Parameter¶
Globale Parametern werden verwendet, wenn Vorgabewerte eines BV Typen in mehreren ToolGroup-Items benötigt werden. Die Vorgabewerte müssen dann nur an einer Stelle angepasst werden. Vor der Ausführung eines BV-Jobs werden die Outputterminals von GlobalVisionParams Toolblöcken auf die Werte der globalen Parameter gesetzt. Die Namen der Terminals entsprechen dabei den Namen der globalen Parameter.
Globale Parameter im Job-Editor¶
Nach der Auswahl des ToolGroup-Items (1) werden neue globale Parameter angelegt, bestehende verknüpft oder Verknüpfungen entfernt (2). Beim Anlegen des ersten Parameters wird automatisch ein GlobalVisionParams Toolblock an den Anfang der ToolGroup eingefügt.
Anschließend kann ein neuer oder bestehender Parameter einem Terminal zugeordnet werden:
Der Name des Terminals entspricht dem Namen des Parameters. Das Terminal wird bei Bedarf neu angelegt.
Mit All Globals -> Terminals (5) können alle verfügbaren globalen Parameter auf einmal angelegt und verknüpft werden. Der Button Terminals -> All Globals dagegen ist hilfreich, wenn ein Toolblock nachträglich zu einem GlobalVisionParams Toolblock umbenannt wird, da dann alle im ToolBlock definierten und kompatiblen Output-Terminals als globale Parameter übernommen werden.
Der Taster All Globals (6) öffnet den Dialog zum Einstellen aller globalen Parameter. Also auch derer, die im angewähltem ToolGroup-Item nicht verwendet werden.
Die globalen Parameter können auch in Kategorien unterteilt werden. Die Parameter jeder Kategorie werden in einem eigenen Reiter (7) angezeigt. Den zugehörigen GlobalVisionParams-Toolblöcke wird nach einem Unterstrich der Namen der Kategorie angehängt (z.B. „GlobalVisionParams_WMX“). Um mehrere GlobalVisionParams-Toolblöcke der selben Kategorie auf der selben Ebene anzulegen, muss dem Namen vor der Kategorie ein Suffix angehängt werden (z.B. Suffix=“2“ Kategorie=“WMX“ => „GlobalVisionParams2_WMX“).
Mit ‚Toolblock Name | +TB | -TB‘ (8) wird ein GlobalVisionParams-Toolblock umbenannt, hinzugefügt oder entfernt. Falls ‚Show usage‘ (9) angewählt ist, wird in der Parameterliste auch der Pfad auf das Toolblockterminal („Terminal Path“) angezeigt.
Bestehende Parameter können über ‚Copy/Paste‘ (3) von einer Kategorie in eine andere kopiert werden.
Über den Taster ‚Refresh‘ (4) werden alle Global Parameter Toolblockterminals des ToolGroup-Items neu eingelesen und die List (7) aktualisiert.
Bemerkung
Derzeit werden nur Parameter vom Typ double, int, bool und string unterstützt.
BV Parameter¶
Parameter im Job-Editor¶
Die Liste BV Parameter enthält alle Output-Terminals von InputBlock-Toolblöcken des links ausgewählten ToolGroup-Items (1). Der Parameterwert kann in der Spalte Value geändert werden (2). Mit dem Mapping-Editor (4) können der Anzeigename in der Spalte Name sowie die Beschreibung in (3) angepasst werden.
Die BV Parameter sind auch über die BV Einstellungen (Operator view) einstellbar. Sie können außerdem im UI Designer verwendet werden.
Neben den skalaren Typen double, int, short, bool und string werden auch
Parameter vom Typ double[] (Zahlen-Array) unterstützt. Ein solcher
Array-Parameter entsteht, indem im
InputBlock
ein Output-Terminal vom Typ double[] angelegt wird, zum Beispiel per Skript
mit host.DefineScriptTerminal(new double[10], "MeinArray", false).
Array-Parameter eignen sich für die Eingabe mehrerer zusammengehöriger Werte. Bearbeitet werden sie indexbasiert über das
dafür vorgesehene Steuerelement im
UI Designer.
Mappings¶
Mapping-Editor¶
Für BV Parameter (1) und Analysewerte (2) können im Mapping-Editor Anzeigename und Beschreibung angepasst werden. Für numerische BV Parameter ist außerdem die Angabe eines Min- und Max-Wertes möglich.
Bemerkung
Der Min- und Max-Wert werden nur bei der Eingabe über die BV Parameter verwendet, aber nicht wenn der Wert direkt im ToolBlock geändert wird.
Analyse (Grenzwertprüfung)¶
Im Reiter Analyse werden alle Prüfungen im Job zusammengefasst. Ein Doppelklick auf einen Eintrag öffnet einen Dialog in dem die Grenzen verändert oder deaktiviert werden können.
Trends¶
Ein Trend bzw. ein Verlauf wird verwendet, um die letzten Werte einer Messgröße zu speichern und grafisch darzustellen. Damit können schleichende oder systematische Änderungen an den Messwerten leicht erkannt werden. Als Trends können alle Messwerte aus CogDataAnalysisTools sowie numerische Werte aus ValueBlocks und TrendResult-Blöcken verwendet werden.
Bei den Trends wird zwischen TrendResults (3,4,5) und Extended TrendResults (2) unterschieden.
TrendResults¶
TrendResults werden einzeln ausgewählt und die Darstellung sowie weitere Parameter (4) direkt konfiguriert im Job-Editor konfiguriert:
Axis.AutoScale: Gibt an, ob die Skalierung der Y-Achse automatisch berechnet werden soll.
Axis.AxisVisible: Anzeige der Koordinatenachsen an/aus.
Axis.MajorStep/MinorStep: Schrittweite der „kleinen“ und „großen“ Markierungen auf der Koordinatenachse. Ignoriert wenn
AutoScale=true.Axis.Min/Max: Min. und Max. Wert der Y-Achse. Ignoriert wenn
AutoScale=true.Axis.Name: Optionale Achsenbeschriftung.
Axis.TitleVisible: Anzeige des Kurvennamens in einer Legende.
Trend.CurveName: Name der Trendkurve. Wenn leer wird der Name der Messgröße verwendet.
Trend.MaxCount: Maximale Anzahl der gespeicherten Messwerte für den Trend.
Trend.VisuOnTrendPage: Wenn
truewird diese Trendkurve auf dem Trend-Tab angezeigt.
Die TrendResults können in den Subdisplays Verlaufsdiagramm (Fest) und Verlaufsdiagramm (Auswahl) angezeigt werden.
Extended TrendResults¶
Extended TrendResults werden nur aktiviert und die Anzahl der Messwerte angegeben, die für den Trend gespeichert werden sollen. Es werden dann alle verfügbaren Messwerte gespeichert.
Die Anzeige der Extended TrendResults erfolgt in Verlaufsdiagramm Erweitert, bei dem auch mehrere Messwerte in einem Diagramm überlagert werden können. Für 2D Koordinaten gibt es alternativ auch Verlaufsdiagramm 2D Koordinaten.
Hinweis
Da die Darstellung von Extended TrendResults nicht zentral konfiguriert wird, können die sie nicht im Trend-Tab angezeigt werden.
Shortcuts¶
Einstellungen¶
Dieser Tab enthält verschiedene Einstellungen des Jobs.
Main:
GetImgsParallel: Gibt an, ob bei mehreren Bildquellen ein paralleler (
True) oder sequentieller (False) Bildeinzug erfolgen soll.LightOffAfterJob: Wenn
Truewird die letzte Lichtsituation nach der Bildeinzug wieder deaktiviert. Kann zur Optimierung der Laufzeit deaktiviert werden, allerdings sollte dann über die Globalen Einstellungen sichergestellt werden, dass die Beleuchtung bei längerer Nichtbenutzung abgeschaltet wird.TimeoutLockLight: Maximale Wartezeit für den Zugriff auf die Beleuchtungskanäle bei der Bildaufnahme.
TimeoutWaitForImages: Maximale Zeit, innerhalb derer der Bildeinzug abgeschlossen sein muss.
TimeoutWaitForJobFree: Maximale Wartezeit auf den Start einer Ausführung, innerhalb derer der Job freigegeben sein muss. Bspw. wenn sowohl über die Oberfläche als auch über einen externen Trigger gestartet wurde.
UnlockLightSituationOnExposureEnd: Gibt an, ob die Lichtsituation beim Bildeinzug schon bei dem ExposureEnd-Signal der Kameras (
Yes) oder erst nach der erfolgreichen Bildübertragung (No) deaktiviert werden soll. BeiDefaultwird der Wert aus den Globalen Einstellungen verwendet. Wirkt nur wenn LightOFfAfterJob aufTruesteht.
OperatorView:
Optional: Überschreiben der Globalen Einstellungen für die Operator View.
SaveImages:
RunErrorIfSaveImageFails: Gibt an, ob ein Fehler beim Speichern der Eingabebilder zu einer fehlerhaften Bewertung führen soll.
UseGlobalSaveImgFlags: Die weiteren Parameter wirken nur, wenn hier
falseeingetragen wird. - ImageCompression: Kompressionsgrad beim Bilder speichern, wenn ein komprimierbares Bilderformat ausgewählt wurde. - ImageFormat: Speicherformat für Input-Bilder. - ImagePath: Basispfad für Input-Bilder. - SaveImageFlags: Auswahl der Bewertungen, für die Bilder gespeichert werden sollen. - StoreDataOptions: Konfiguration der Speicheroptionen für Erweiterungsbildquellen, z.B. aus dem Halcon Plugin.
Dokumentation¶
Hier wird die Online-Dokumentation des Jobs und aller ToolGroup-Items angezeigt. Unter Edit kann die Dokumentation des Jobs angepasst werden.
Die Gliederung der Dokumentationsabschnitte folgt dem Aufbau des Jobs: Der Hauptüberschrift mit dem Job-Namen folgt ein Abschnitt mit der Job-Dokumentation. Danach sind die einzelnen Toolgroup Item Dokumentationen als Unterabschnitte angehängt.
Die Job-Dokumentation wird im Edit-Tab des Job Editor erstellt. Textformatierungen erfolgen per Markdown-Syntax. Eine Übersicht dazu kann im Tab Edit->Markdown Cheatsheet nachgelesen werden.