KlassenKlassen | | Operatoren

set_spyset_spySetSpySetSpy (Operator)

Name

set_spyset_spySetSpySetSpy — Steuern des HALCON Debugging Tools.

Signatur

set_spy( : : Class, Value : )

Herror set_spy(const char* Class, const char* Value)

Herror T_set_spy(const Htuple Class, const Htuple Value)

void SetSpy(const HTuple& Class, const HTuple& Value)

static void HSystem::SetSpy(const HString& Class, const HTuple& Value)

static void HSystem::SetSpy(const HString& Class, const HString& Value)

static void HSystem::SetSpy(const char* Class, const char* Value)

static void HOperatorSet.SetSpy(HTuple classVal, HTuple value)

static void HSystem.SetSpy(string classVal, HTuple value)

static void HSystem.SetSpy(string classVal, string value)

Beschreibung

set_spyset_spySetSpySetSpySetSpy ist das HALCON Debugging Tool. Es erlaubt die flexible Überwachung der Ein- und Ausgabedaten von HALCON-Operatoren - sowohl graphisch als auch textuell. Aktiviert wird die Datenkonrolle mittels

set_spy(::'mode','on':)set_spy("mode","on")SetSpy("mode","on")SetSpy("mode","on")SetSpy("mode","on"),

ausgeschaltet mittels

set_spy(::'mode','off':)set_spy("mode","off")SetSpy("mode","off")SetSpy("mode","off")SetSpy("mode","off").

Außerdem kann das Debugging Tool mit der Environmentvariable HALCONSPY aktiviert werden: Wenn diese Variable definiert ist, entspricht das dem Aufruf mit 'mode'"mode""mode""mode""mode" und 'on'"on""on""on""on".

Folgende Überwachungsmodi können (natürlich in beliebiger Kombination) über ClassClassClassClassclassVal/ValueValueValueValuevalue eingestellt werden:

Class Bedeutung / Value

'operator'

Bei Aufruf einer Routine werden deren Name und die Namen ihrer Parameter (in TRIAS Notation) ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'input_control'

Bei Aufruf einer Routine werden die Namen und Werte der Eingabesteuerparameter ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'output_control'

Bei Aufruf einer Routine werden die Namen und Werte der Ausgabesteuerparameter ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'db'

Informationen über die 4 Relationen in der HALCON-Datenbank. Dies ist insbesondere bei der Suche nach vergessenen clear_objclear_objClearObjClearObjClearObj zu suchen.

Value: 'on' oder 'off'

default: 'off'

'parameter_values'

Ergänzung zu 'input_control' und 'output_control': Gibt an, wieviele Werte pro Parameter maximal ausgegeben werden sollen (maximale Tupellänge für Ausgabe).

Value: Tupellänge (integer)

default: 4

'input_gray_window'

Bei jedem lesenden Zugriff auf eine Grauwertkomponente eines (Eingabe-)Bildobjektes, wird diese auf dem angegebenen Fenster ausgegeben (Window-ID; 'none' schaltet diese Überwachung aus).

Value: Window-ID (integer) oder 'none'

default: 'none'

'input_region_window'

Bei jedem lesenden Zugriff auf die Region eines (Eingabe-)Bildobjektes wird diese auf dem angegebenen Fenster ausgegeben (Window-ID; 'none' schaltet diese Überwachung aus).

Value: Window-ID (integer) oder 'none'

default: 'none'

'input_xld_window'

Bei jedem lesenden Zugriff auf die XLD wird diese auf dem angegebenen Fenster ausgegeben (Window-ID; 'none' schaltet diese Überwachung aus).

Value: Window-ID (integer) oder 'none'

default: 'none'

'time'

Rechenzeit für die Ausführung des Operators

Value: 'on' oder 'off'

default: 'off'

'halt'

Legt fest, ob nach jeder Einzelaktion ('multiple') oder nur jeweils am Operatorende ('single') gewartet werden soll. Der Parameter ist nur von Bedeutung, wenn mit 'timeout' oder 'button_window' das Warten eingeschaltet wurde.

Value: 'single' oder 'multiple'

default: 'multiple'

Value: 'single' oder 'multiple'

default: 'multiple'

'timeout'

Nach jeder Ausgabe wird die angegebene Anzahl von Sekunden gewartet.

Value: Sekunden (real)

default 0.0

'button_window'

Alternative zu 'timeout': Nach jeder Ausgabe wartet spy, bis mit der Maus in das angegebene Fenster gezeigt ('button_click' = 'off') oder geklickt ('button_click' = 'on') wird (Window-ID; 'none' schaltet diese Überwachung aus).

Value: Window-ID (integer) oder 'none'

default: 'none'

'button_click'

Ergänzung zu 'button_window': Legt fest, ob nach einer Ausgabe auf einen Mausklick gewartet werden soll oder nicht.

Value: 'on' oder 'off'

default: 'off'

'button_notify'

Ist 'button_notify' eingeschaltet, erzeugt spy nach jeder Ausgabe einen Piepston. Dies ist in Kombination mit 'button_window' sinnvoll.

Value: 'on' oder 'off'

default: 'off'

'log_file'

Umleitung der Textausgabe von spy in ein File, das mit open_file geöffnet wurde.

Value: ein File Handle (siehe open_fileopen_fileOpenFileOpenFileOpenFile)

'error'

Ist 'error' eingeschaltet, gibt spy beim Auftreten eines internen Fehlers die Prozeduren (Datei/Zeilennummer) aus, bei denen der Fehler auftritt.

Value: 'on' oder 'off'

default: 'off'

'internal'

Ist 'internal' eingeschaltet, gibt spy vor dem Aufruf eines internen HALCON-Operators den Prozedurname mit ihren Parametern (Datei/Zeilennummer) aus.

Value: 'on' oder 'off'

default: 'off'

Achtung

HALCON Spy kann nicht zur Fehlersuche in multithreaded Anwendungen und Programmen, die eine automatische Parallelisierung benutzen, verwendet werden.

Unter Windows funktioniert der HALCON Spy nur in Konsolenapplikationen. Dies bedeutet, dass man diesen Mechanismus zum Beispiel nicht in Kombination mit HDevelop verwenden kann.

Ausführungsinformationen

Parameter

ClassClassClassClassclassVal (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Überwachungsmodus

Defaultwert: 'mode' "mode" "mode" "mode" "mode"

Werteliste: 'button_click'"button_click""button_click""button_click""button_click", 'button_notify'"button_notify""button_notify""button_notify""button_notify", 'button_window'"button_window""button_window""button_window""button_window", 'db'"db""db""db""db", 'error'"error""error""error""error", 'halt'"halt""halt""halt""halt", 'input_control'"input_control""input_control""input_control""input_control", 'input_gray_window'"input_gray_window""input_gray_window""input_gray_window""input_gray_window", 'input_region_window'"input_region_window""input_region_window""input_region_window""input_region_window", 'input_region_window'"input_region_window""input_region_window""input_region_window""input_region_window", 'input_xld_window'"input_xld_window""input_xld_window""input_xld_window""input_xld_window", 'internal'"internal""internal""internal""internal", 'log_file'"log_file""log_file""log_file""log_file", 'mode'"mode""mode""mode""mode", 'operator'"operator""operator""operator""operator", 'output_control'"output_control""output_control""output_control""output_control", 'parameter_values'"parameter_values""parameter_values""parameter_values""parameter_values", 'time'"time""time""time""time", 'timeout'"timeout""timeout""timeout""timeout"

ValueValueValueValuevalue (input_control)  string HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Einzustellender Status des Überwachungsmodus.

Defaultwert: 'on' "on" "on" "on" "on"

Wertevorschläge: 'on'"on""on""on""on", 'off'"off""off""off""off", 1, 2, 3, 4, 5, 10, 50, 0.0, 1.0, 2.0, 5.0, 10.0

Beispiel (C)

/* init spy: Setting of the wished control modi */
set_spy("mode","on");
set_spy("operator","on");
set_spy("input_control","on");
set_spy("output_control","on");
/* calling of program section, that will be examined */
set_spy("mode","off");  

Ergebnis

set_spyset_spySetSpySetSpySetSpy liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDb

Siehe auch

get_spyget_spyGetSpyGetSpyGetSpy, query_spyquery_spyQuerySpyQuerySpyQuerySpy

Modul

Foundation


KlassenKlassen | | Operatoren