Fehlerbehebung

Diese Seite beschreibt Probleme und Fehlermeldungen von LumiScan Area Detector, nach Kategorien geordnet. Beginnen Sie mit den allgemeinen Prüfungen und suchen Sie dann unten Ihr Symptom: Jedes Problem nennt die Symptome, die möglichen Ursachen, eine Diagnose und die Lösung. Probleme des Data Layer selbst sind in der Fehlerbehebung des Data Layer beschrieben, Lizenzprobleme in der Fehlerbehebung der Lizenzierung.

Allgemeine Prüfungen

  1. Prüfen Sie den Statuscode. Lesen Sie output/status-code der Operation, die fehlgeschlagen ist. Erwartet: 1. Ein Wert größer als 0 bedeutet Erfolg, 0 bedeutet, dass die Operation seit dem Start der Anwendung nicht ausgeführt wurde, und ein Wert kleiner als 0 bedeutet, dass sie fehlgeschlagen ist und nichts erzeugt hat; verwenden Sie das Ergebnis dann nicht. Die Codes stehen in Ausführungsstatus.

  2. Lesen Sie den Statustext. Lesen Sie output/status-text derselben Operation. Er beginnt mit ok: oder error: und nennt den fehlerhaften Wert, wenn es einen gibt. Ein fehlgeschlagener Schreibvorgang auf execute antwortet nur mit einem Statuscode (über REST mit einem bloßen 400); der Grund steht also nur auf output/status-text.

  3. Lesen Sie das Protokoll der Anwendung. Es enthält denselben Text, mit einer eigenen Warnzeile für jede ungültige Eingabe: auf ctrlX OS über das ctrlX Logbook oder journalctl, auf einem PC über die Konsolenausgabe der Anwendung. Wie viel protokolliert wird, legt logLevel im Block system von lumiscan-area-detector.json fest (TRACE, DEBUG, INFO, WARN, ERROR, FATAL oder OFF). Der Wert wird beim Start gelesen; starten Sie die Anwendung nach einer Änderung also neu. Siehe Konfigurationsdatei.

  4. Prüfen Sie die Bildquelle. Die Kameraanwendung, normalerweise LumiScan Cam Driver, muss auf demselben Gerät laufen - demselben ctrlX CORE oder ctrlX IPC oder demselben PC - und ein Bild aufgenommen haben. Ein Zugriff auf einen entfernten Data Layer wird nicht unterstützt. Erwartet: Der in input/input-image-address genannte Knoten stellt data, width, height und pixel-type bereit.

  5. Prüfen Sie die Reihenfolge der Aufrufe. Ein Modul führt jeweils eine Operation aus, und jeder Durchlauf leert beim Start seine Ausgaben. Erwartet: Ihr Programm wartet, bis execute zurückkehrt, liest die Ausgaben und löst erst dann den nächsten Durchlauf aus.

  6. Prüfen Sie die Lizenz (ctrlX OS). Erwartet: Die Anwendung läuft nach dem Start weiter. Ohne Lizenz beendet sie sich kurz nach dem Start; siehe Problem: Die Anwendung beendet sich kurz nach dem Start.

Das Konfigurationsverzeichnis enthält lumiscan-area-detector.json, die Moduldateien <module-id>.json und settings-history/:

Plattform Konfigurationsverzeichnis

ctrlX OS

/var/snap/rexroth-solutions/common/solutions/activeConfiguration/lumiscan-area-detector, Teil der aktiven Solution

PC (Windows)

%APP_RESOURCE_DIR%\etc\lumiscan-area-detector; ohne APP_RESOURCE_DIR C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-areadetect\etc\lumiscan-area-detector

Statuscodes und Fehlermeldungen

Problem: Statuscode -1 (belegt)

Symptome

output/status-code von detect-area ist -1. Der Schreibvorgang auf execute antwortet mit DL_TOO_MANY_OPERATIONS (auf einem PC TooManyOperations). Es wurde nichts getan, und output/result und output/blob-labels behalten ihre Werte. Bei einer streamenden Kamera passiert das oft. Auch system/remove-module kann mit -1 (belegt) antworten.

Mögliche Ursachen
  • Eine andere Operation desselben Moduls lief noch. Der Aufruf wird nicht in eine Warteschlange gestellt; er kehrt sofort zurück und tut nichts.

  • Der Bild-Stream des Moduls durchsucht gerade einen Frame. Der Stream und detect-area laufen auf einem Modul nie gleichzeitig.

Diagnose
  1. Prüfen Sie in Ihrem Programm, ob es erneut auf execute desselben Moduls schreibt, bevor der vorherige Schreibvorgang zurückgekehrt ist. Erwartet: ein Aufruf pro Modul zur Zeit.

  2. Lesen Sie <module-id>/control/subscribe/output/stream/active. true bedeutet, dass der Stream dieses Moduls läuft.

Lösung
  • Wenn eine andere Operation noch lief: Warten Sie, bis das laufende execute zurückkehrt, und rufen Sie die Methode dann erneut auf. Die Sperre gilt pro Modul, andere Module werden also nicht aufgehalten. system/analyse-scene hat eine eigene Sperre und blockiert die Erkennung nicht.

  • Wenn der Stream des Moduls läuft:

    1. Stoppen Sie den Stream, bevor Sie die Methode aufrufen: Setzen Sie control/subscribe/input/enable auf false und schreiben Sie auf control/subscribe/execute. Oder rufen Sie die Methode erneut auf.

    2. Um stattdessen das neueste Ergebnis des Streams zu lesen, setzen Sie control/subscribe/input/keep-latest-output auf true und lesen detect-area/output/result.

  • Wenn system/remove-module mit belegt antwortet: Stoppen Sie zuerst den Stream des Moduls. Das Entfernen eines Moduls stoppt seinen Stream.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit der Modul-ID, der Antwort des Schreibvorgangs auf execute und dem Wert von control/subscribe/output/stream/active.

Problem: Statuscode -2 (ungültige Eingabe)

Symptome

output/status-code von detect-area oder system/analyse-scene ist -2. output/status-text beginnt mit error: und nennt den fehlerhaften Wert. Sind mehrere Eingaben falsch, erhält jede eine eigene Warnzeile im Protokoll.

Mögliche Ursachen
  • Eine erforderliche Eingabe ist leer.

  • input/method ist nicht FIXED. FIXED ist die einzige Methode, die diese Version bietet; alles andere wird abgelehnt.

  • input/preprocess/method ist unbekannt. Akzeptiert werden NONE, LOG, DOG und DOH.

  • Ein Parameter liegt außerhalb seines Bereichs, zum Beispiel input/method-specific/fixed/level außerhalb von 0-255, input/preprocess/dog/sigma-first gleich sigma-second, input/preprocess/doh/kernel-size anders als 1, 3, 5 oder 7, oder system/analyse-scene/input/histogram-bins außerhalb von 2-256. Nur die Parameter der gewählten Vorverarbeitungsmethode werden geprüft.

  • Die Bildadresse zeigt auf diese Anwendung selbst.

Diagnose
  1. Lesen Sie output/status-text der Operation. Erwartet: Er nennt die fehlerhafte Eingabe und ihren Wert.

  2. Lesen Sie das Protokoll der Anwendung. Jede ungültige Eingabe hat eine eigene Warnzeile.

  3. Vergleichen Sie die Eingaben mit den Bereichen in der Data-Layer-Referenz.

Lösung
  • Wenn eine erforderliche Eingabe leer ist: Setzen Sie sie.

  • Wenn input/method nicht FIXED ist: Setzen Sie es auf FIXED.

  • Wenn input/preprocess/method unbekannt ist: Setzen Sie es auf NONE, LOG, DOG oder DOH.

  • Wenn ein Parameter außerhalb seines Bereichs liegt: Korrigieren Sie ihn auf einen Wert innerhalb des Bereichs, den die Data-Layer-Referenz nennt.

  • Wenn die Bildadresse auf diese Anwendung zeigt: Setzen Sie input/input-image-address auf den Bildknoten der Kameraanwendung, zum Beispiel hdvisionsystems/lumiscan-cam-driver/camera1/output/image.

Führen Sie die Operation dann erneut aus. Erwartet: output/status-code ist 1. Siehe Ausführungsstatus.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Inhalt von output/status-text.

Problem: Statuscode -3 (Bild konnte nicht gelesen werden)

Symptome

output/status-code von detect-area oder system/analyse-scene ist -3.

Mögliche Ursachen
  • Die Kameraanwendung läuft nicht, oder sie läuft auf einem anderen Gerät.

  • Die Kameraanwendung hat noch kein Bild aufgenommen.

  • Die Adresse in input/input-image-address ist falsch.

  • Der Bildknoten unter der Adresse fehlt, ist leer oder inkonsistent.

  • Das Bild verwendet ein nicht unterstütztes Pixelformat. Unterstützt werden Mono8, Mono12, RGB8, RGB12, BGR8, BGR12, BayerGR8, BayerGR12, BayerRG8 und BayerRG12.

Diagnose
  1. Prüfen Sie, ob die Kameraanwendung, normalerweise LumiScan Cam Driver, auf demselben Gerät läuft. Erwartet: Sie läuft auf demselben ctrlX CORE oder ctrlX IPC oder auf demselben PC.

  2. Vergleichen Sie input/input-image-address mit der Adresse des Bildknotens der Kamera, zum Beispiel hdvisionsystems/lumiscan-cam-driver/camera1/output/image. Erwartet: identisch. system/analyse-scene hat einen eigenen Adressknoten, nicht den eines Moduls.

  3. Lesen Sie width, height und pixel-type des Bildknotens. Erwartet: Werte größer als 0 und ein pixel-type aus der obigen Liste.

Lösung
  • Wenn die Kameraanwendung nicht läuft: Starten Sie sie auf demselben Gerät und nehmen Sie ein Bild auf.

  • Wenn noch kein Bild aufgenommen wurde: Nehmen Sie in der Kameraanwendung ein Bild auf.

  • Wenn die Adresse falsch ist: Korrigieren Sie input/input-image-address.

  • Wenn das Pixelformat nicht unterstützt wird: Verwenden Sie eines der unterstützten Pixelformate, siehe Voraussetzungen.

Führen Sie die Operation dann erneut aus. Erwartet: output/status-code ist 1.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Inhalt von output/status-text, der Bildadresse und dem pixel-type des Bildknotens.

Problem: Die Ausschnittsregion passt nicht in das Bild

Symptome

detect-area schlägt mit einem negativen Statuscode fehl, und output/status-text nennt die Eingabe und die Grenze, die sie verletzt hat, zum Beispiel:

error: crop/startX + crop/width (100 + 900 = 1000) exceeds the image width 640

Im Bild-Stream schlägt der Frame fehl, und control/subscribe/output/stream/last-failure nennt eine Ausschnittsregion, die nicht in den Frame passt.

Mögliche Ursachen
  • Die Region reicht über einen Rand des Bildes hinaus. Eine Region, die über einen Rand hinausreicht, wird abgelehnt und nicht beschnitten.

Diagnose
  1. Lesen Sie die Bildgröße aus der Meldung ab, oder width und height des Bildknotens.

  2. Addieren Sie input/crop/startX und input/crop/width sowie input/crop/startY und input/crop/height. Erwartet: Die Summen sind nicht größer als die Bildbreite und die Bildhöhe.

Lösung
  • Korrigieren Sie input/crop/startX, startY, width oder height, sodass die Region in das Bild passt. Eine Breite oder Höhe von null reicht bis zum rechten bzw. unteren Rand; lauter Nullen durchsuchen also das ganze Bild.

Führen Sie detect-area dann erneut aus. Erwartet: output/status-code ist 1. Siehe Flächen erkennen.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Inhalt von output/status-text und den vier Werten unter input/crop/.

Problem: Statuscode -6 (Schreiben fehlgeschlagen)

Symptome

output/status-code von system/save-module-inputs ist -6.

Mögliche Ursachen
  • Eine Datei konnte nicht geschrieben werden - meist ein Berechtigungsproblem oder ein voller Datenträger.

Diagnose
  1. Lesen Sie output/status-text der Operation. Erwartet: Er nennt die Datei, die nicht geschrieben werden konnte.

  2. Lesen Sie das Protokoll der Anwendung zum Zeitpunkt des Aufrufs.

  3. Prüfen Sie das Konfigurationsverzeichnis (siehe Allgemeine Prüfungen). Erwartet: Es existiert, und die Anwendung kann hineinschreiben.

Lösung
  • Wenn es ein Berechtigungsproblem ist: Machen Sie das Konfigurationsverzeichnis für die Anwendung beschreibbar.

  • Wenn der Datenträger voll ist: Geben Sie auf dem Gerät Speicherplatz frei.

Führen Sie die Operation dann erneut aus. Erwartet: output/status-code ist 1.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Inhalt von output/status-text.

Erkennungsergebnisse

Problem: Nichts wird gefunden, oder das Ergebnis ist leer

Symptome

output/status-code von detect-area ist 1, aber blobs in output/result ist leer, und blob_count ist 0.

Mögliche Ursachen

Eine leere blobs-Liste mit Statuscode 1 bedeutet, dass keine Regionen zutrafen, sonst nichts. Jeder andere Grund, aus dem ein Durchlauf nichts erzeugen könnte, wird als negativer Statuscode gemeldet. Sind die Teile vorhanden:

  • input/detect-dark passt nicht zu der Seite, auf der die Teile liegen. Setzen Sie es auf true, wenn die Teile dunkler als der Hintergrund sind.

  • Der Schwellwert input/method-specific/fixed/level liegt über jedem Pixel im Teil.

Diagnose
  1. Lesen Sie output/status-code. Erwartet: 1. Ist er negativ, ist der Durchlauf fehlgeschlagen: Lesen Sie output/status-text und sehen Sie sich die Einträge unter Statuscodes und Fehlermeldungen an.

  2. Lesen Sie input/detect-dark. Erwartet: true, wenn die Teile dunkler als der Hintergrund sind, false, wenn sie heller sind.

  3. Führen Sie system/analyse-scene auf demselben Bild aus: Setzen Sie system/analyse-scene/input/input-image-address und schreiben Sie auf system/analyse-scene/execute. Lesen Sie output/parts-are-dark und output/recommended-settings. Erwartet: input/detect-dark und der Schwellwert des Moduls entsprechen dem Rat.

  4. Prüfen Sie den Rat mit output/histogram. Erwartet: Der Schwellwert liegt im Tal zwischen dem Buckel des Teils und dem des Hintergrunds.

Lösung
  • Wenn input/detect-dark falsch ist: Setzen Sie es auf true, wenn die Teile dunkler als der Hintergrund sind.

  • Wenn der Schwellwert über jedem Pixel im Teil liegt: Setzen Sie input/method-specific/fixed/level auf den Schwellwert, den output/recommended-settings angibt. Nichts wird für Sie geschrieben.

  • Wenn das Histogramm einen einzigen Buckel zeigt: Kein Schwellwert wird funktionieren; korrigieren Sie die Beleuchtung, siehe Problem: Der Messwert driftet mit der Beleuchtung, oder kein Schwellwert funktioniert.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Eingaben von detect-area und den Ausgaben von system/analyse-scene.

Problem: Die gemessene Fläche ist größer oder kleiner als das Teil

Symptome

blobs[0].area oder total_area weicht von der echten Fläche des Teils ab: viel größer, durchgehend zu klein, oder ein Teil mit einem Loch wird als Ring gemessen.

Mögliche Ursachen
  • Die Fläche ist viel größer als das Teil: Der Schwellwert lässt Hintergrund durch.

  • Die Fläche ist durchgehend zu klein: Der Schwellwert beschneidet den Rand des Teils.

  • input/detect-dark passt nicht zu der Seite, auf der das Teil liegt.

  • Das Teil hat ein Loch, und input/fill-holes ist aus. Eine Region wird als die Pixel gezählt, die den Schwellwert passiert haben; ein Loch wird also nicht mitgezählt, es sei denn, fill-holes ist gesetzt.

Diagnose
  1. Messen Sie ein Teil, dessen echte Fläche Sie kennen, oder zählen Sie seine Pixel einmal in einem Bildbetrachter, und vergleichen Sie das mit blobs[0].area. Erwartet: Beide stimmen eng überein.

  2. Sehen Sie sich die Region in output/blob-labels an: Jedes Pixel, das das blobs[].label der Region enthält, wurde gezählt. Im Cockpit wird jede Region in einer eigenen Farbe über dem Kamerabild eingefärbt.

  3. Lesen Sie input/detect-dark und input/fill-holes.

Lösung
  • Wenn der Schwellwert Hintergrund durchlässt: Prüfen Sie input/detect-dark, und stellen Sie den Schwellwert dann mit system/analyse-scene neu ein, siehe Problem: Nichts wird gefunden, oder das Ergebnis ist leer.

  • Wenn die Fläche durchgehend zu klein ist: Senken Sie input/method-specific/fixed/level, und probieren Sie input/detect-dark, wenn das Teil das dunklere von beiden ist.

  • Wenn ein Teil mit einem Loch als Ring gemessen wird: Schalten Sie input/fill-holes ein, um die Form zu messen, die sein Umriss einschließt. Eine Unterlegscheibe wird dann als Scheibe gemessen.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Eingaben von detect-area, output/result und der erwarteten Fläche.

Problem: Viele winzige Regionen werden gemeldet

Symptome

blob_count ist viel höher als die Zahl der Teile, und blobs enthält viele Einträge mit einer kleinen area.

Mögliche Ursachen
  • Sensorrauschen und Staub überschreiten den Schwellwert. Die Anwendung meldet jede Region, die sie getrennt hat; ein Flächenfenster gibt es nicht.

Diagnose
  1. Sehen Sie sich die kleinsten Einträge in blobs an. Erwartet: Ihre area liegt weit unter der Fläche eines Teils.

  2. Sehen Sie sich diese Regionen in output/blob-labels an.

Lösung

Behandeln Sie Rauschen und Staub an einer von zwei Stellen:

  • Am Schwellwert: Erhöhen Sie input/method-specific/fixed/level, bis das Rauschen den Schwellwert nicht mehr überschreitet. Das ist die bessere Lösung, weil das Finden dieser Regionen dann nichts mehr kostet.

  • In Ihrem Steuerungsprogramm: Ignorieren Sie blobs[]-Einträge, deren area unter dem liegt, was ein Teil sein kann. Ein Viertel der Fläche des kleinsten Teils, das Sie interessiert, ist ein guter Ausgangspunkt.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Eingaben von detect-area und output/result.

Problem: Ein Teil wird als mehrere Regionen gemeldet

Symptome

Ein Teil erscheint als mehrere Einträge in blobs; in output/blob-labels tragen seine Pixel mehrere Labels.

Mögliche Ursachen
  • Das Teil wird durch einen Schatten oder ein Glanzlicht geteilt.

Diagnose
  1. Sehen Sie sich das Teil in output/blob-labels an. Im Cockpit erscheinen benachbarte Regionen in verschiedenen Farben.

  2. Vergleichen Sie die Teilung mit dem Kamerabild. Erwartet: Ein Schatten oder ein Glanzlicht verläuft dort, wo das Teil geteilt ist.

Lösung
  • Probieren Sie die Vorverarbeitung mit input/preprocess/method (LOG, DOG oder DOH) oder input/detect-dark. Alle drei Filter normalisieren ihre Ausgabe; prüfen Sie den Schwellwert also nach dem Einschalten eines Filters erneut.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Eingaben von detect-area und output/result.

Problem: Der Messwert driftet mit der Beleuchtung, oder kein Schwellwert funktioniert

Symptome

Die gemessene Fläche ändert sich, wenn sich die Beleuchtung ändert, stabilisiert sich nicht, oder kein Schwellwert trennt die Teile vom Hintergrund.

Mögliche Ursachen
  • Das Bild ist spröde: system/analyse-scene/output/area-sensitivity liegt über 0.05, ein Grauwert kostet also 5 % der gemessenen Fläche, und ein fester Schwellwert ist nicht sicher einzustellen. Kein Wert in detect-area/input/ behebt das; es wird an der Kamera behoben.

  • Ungleichmäßige Beleuchtung: Das Licht variiert um mehr als etwa ein Drittel des Abstands zwischen Teil und Hintergrund.

  • Die Merkmale sind zu fein: unter etwa 8 px.

  • Die Kanten sind weich (Defokussierung, Bewegungsunschärfe, Sensorrauschen bei hoher Verstärkung), oder der Kontrast ist gering.

Diagnose
  1. Führen Sie system/analyse-scene auf dem Bild aus und lesen Sie output/area-sensitivity. Erwartet: deutlich unter 0.05 - 0.01 ist immer noch komfortabel; über 0.05 ist das Bild spröde.

  2. Lesen Sie output/findings. Es sagt in Worten, welchen Hebel es getroffen hat, das Wichtigste zuerst.

  3. Lesen Sie output/illumination-spread, gemessen am Abstand zwischen Teil und Hintergrund. Erwartet: weniger als etwa ein Drittel dieses Abstands.

  4. Lesen Sie output/feature-thickness. Erwartet: etwa 8 px oder mehr.

Lösung

Arbeiten Sie die Hebel in dieser Reihenfolge ab:

  • Wenn die Beleuchtung ungleichmäßig ist: Beheben Sie zuerst die ungleichmäßige Beleuchtung. Kein einzelner Schwellwert passt zum ganzen Bild.

  • Wenn die Merkmale unter etwa 8 px liegen: Bringen Sie mehr Pixel auf das Teil: Vergrößerung, ein kürzerer Arbeitsabstand oder ein Sensor mit höherer Auflösung.

  • Wenn die Kanten weich sind: Fokussieren Sie neu, verkürzen Sie die Belichtungszeit oder stellen Sie das Teil ruhig, senken Sie die Verstärkung und fügen Sie stattdessen Licht hinzu.

  • Wenn der Kontrast gering ist: Ändern Sie die Beleuchtung: Durchlicht, ein anderer Winkel, ein Diffusor oder Polarisator, ein anderer Hintergrund.

Eine hohe area-sensitivity unter einer stabilen Lampe ist ein konstanter Versatz; sie kostet Sie nur etwas, wenn sich die Beleuchtung oder der Schwellwert bewegt. Siehe Eine Szene analysieren.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit allen Ausgaben von system/analyse-scene.

Problem: output/result ist leer, obwohl die Erkennung gerade eben funktioniert hat

Symptome

Ein Durchlauf hat Regionen erzeugt, und kurz danach ist output/result (und output/blob-labels) leer.

Mögliche Ursachen
  • Der nächste Durchlauf hat begonnen. Jeder Durchlauf leert seine eigenen Ausgaben, sobald er beginnt, bevor irgendetwas fehlschlagen kann. Ein Durchlauf, der aus irgendeinem Grund fehlschlägt, hinterlässt sie leer.

  • Ein mit -1 (belegt) abgelehnter Aufruf leert nichts; wurde der zweite Aufruf abgelehnt, ist das also nicht die Ursache.

Diagnose
  1. Prüfen Sie die Reihenfolge der Aufrufe in Ihrem Programm. Erwartet: Es liest output/result, bevor es das nächste execute auslöst.

  2. Lesen Sie output/status-code des letzten Durchlaufs. Ein negativer Wert bedeutet, dass dieser Durchlauf fehlgeschlagen ist und output/result leer hinterlassen hat.

Lösung
  • Wenn der nächste Durchlauf zu früh begonnen hat: Warten Sie, bis execute zurückkehrt, lesen Sie die Ausgaben, und lösen Sie erst dann den nächsten Durchlauf aus.

  • Wenn der letzte Durchlauf fehlgeschlagen ist: Folgen Sie dem Eintrag zu seinem Statuscode.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit der Abfolge der Aufrufe Ihres Programms.

Bild-Stream (experimentell)

Problem: Der Bild-Stream liefert keine Ergebnisse

Symptome

control/subscribe/output/stream/active bleibt false, auf control/subscribe/output/stream/result treffen keine Ergebnisse ein, oder control/subscribe/output/stream/statistics/failed-frames wächst.

Mögliche Ursachen
  • Nur die Eingaben wurden geschrieben. control/subscribe/input/enable allein zu schreiben startet nichts; control/subscribe/execute wendet die Eingaben an.

  • control/subscribe/execute wurde abgelehnt (DL_INVALID_VALUE, auf einem PC Rejected): Stream-Modus ohne Adresse oder eine Warteschlangengröße außerhalb von 1 bis 64.

  • Die Einstellungsdatei <module-id>.json konnte nicht geschrieben werden, zum Beispiel weil sie kein gültiges JSON ist (DL_CREATION_FAILED, auf einem PC CreationFailed). Nichts wurde geändert.

  • Der Stream des Cam Driver läuft nicht, es treffen also keine Frames ein.

  • Die Quelle kann nicht abonniert werden. Das Modul versucht es alle 5 Sekunden erneut, solange der Stream läuft, und protokolliert den ersten Fehlschlag.

  • Frames können nicht durchsucht werden, aus den Gründen, die detect-area in seinem status-text nennt.

Diagnose
  1. Lesen Sie hdvisionsystems/lumiscan-cam-driver/<camera name>/control/publish/output/stream/active. Erwartet: true.

  2. Lesen Sie setting/stream/enable und setting/stream/address des Moduls. Erwartet: true und der Stream-Ordner der Kamera, zum Beispiel hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream. Sie zeigen, was zuletzt angewendet wurde.

  3. Prüfen Sie die Antwort des Schreibvorgangs auf control/subscribe/execute. Erwartet: DL_OK (auf einem PC Ok). Diese Methoden haben keinen status-text; der Grund für eine Ablehnung steht im Protokoll der Anwendung.

  4. Lesen Sie control/subscribe/output/stream/active. Erwartet: true.

  5. Lesen Sie received-frames, processed-frames und failed-frames unter control/subscribe/output/stream/statistics/. Der erste Zähler, der nicht wächst, zeigt, wo die Kette abbricht.

  6. Wächst failed-frames, lesen Sie control/subscribe/output/stream/last-failure. Er nennt den Grund für den letzten fehlgeschlagenen Frame, zum Beispiel:

    a frame of 'hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream' failed: invalid input: preprocess/method 'LAPLACE' is unknown; expected NONE, LOG, DOG or DOH
Lösung
  • Wenn nur die Eingaben geschrieben wurden: Setzen Sie control/subscribe/input/enable auf true und schreiben Sie auf control/subscribe/execute. Warten Sie, bis control/subscribe/output/stream/active true ist.

  • Wenn der Aufruf abgelehnt wurde (DL_INVALID_VALUE, Rejected): Schreiben Sie den Stream-Ordner der Kamera auf control/subscribe/input/address, setzen Sie control/subscribe/input/queue-size auf einen Wert von 1 bis 64 und schreiben Sie erneut auf control/subscribe/execute.

  • Wenn die Einstellungsdatei nicht geschrieben werden konnte (DL_CREATION_FAILED, CreationFailed): Machen Sie <module-id>.json im Konfigurationsverzeichnis wieder zu gültigem JSON, ohne Kommentare, und schreiben Sie dann erneut auf control/subscribe/execute.

  • Wenn der Stream des Cam Driver nicht läuft: Starten Sie ihn. Er bleibt nach einem Neustart nicht erhalten: Rufen Sie nach jedem Start sein control/publish/execute mit enable = true auf, und verbinden Sie zuerst die Kamera. Siehe Ein Stream liefert nichts.

  • Wenn die Quelle nicht abonniert werden kann: Prüfen Sie, ob control/subscribe/input/address der Stream-Ordner der Kamera ist und der Cam Driver auf demselben Gerät läuft.

  • Wenn Frames fehlschlagen: Korrigieren Sie die Eingabe, die last-failure nennt, wie bei einem einzelnen Aufruf von detect-area.

Der Stream veröffentlicht nur die Messwerte: output/blob-labels hat kein Gegenstück im Stream. Siehe Flächen auf einem Bild-Stream erkennen (experimentell).

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Werten unter setting/stream/, den Zählern unter control/subscribe/output/stream/statistics/, control/subscribe/output/stream/last-failure und der <module-id>.json des Moduls.

Module, Einstellungen und Lizenzierung

Problem: Meine Einstellungen oder Module sind nach einem Neustart weg

Symptome

Nach einem Neustart der Anwendung fehlt ein Modul in system/modules, oder die Eingaben eines Moduls stehen wieder auf ihren Standardwerten.

Mögliche Ursachen
  • Die Modulliste wurde nicht gespeichert. Einstellungen und neue Module sind sofort aktiv, aber erst dauerhaft, wenn sie gespeichert wurden; die Modulliste und die Einstellungen jedes Moduls werden getrennt gespeichert.

  • Die Einstellungen des Moduls wurden nicht gespeichert.

  • Ein Speichern ist fehlgeschlagen: system/save-module-inputs oder system/save-current-modules hat nicht Status 1 gemeldet.

  • <module-id>.json enthält Kommentare. Der Stream liest eine solche Datei, aber die Eingaben des Moduls werden dann beim Start nicht wiederhergestellt; das Protokoll meldet die Datei als unlesbar.

  • Eine Einstellung, deren Knoten nach einem Software-Update nicht mehr existiert, wird mit einem Protokolleintrag übersprungen.

Diagnose
  1. Lesen Sie system/modules nach dem Neustart. Erwartet: alle Ihre Module.

  2. Prüfen Sie das Konfigurationsverzeichnis (siehe Allgemeine Prüfungen). Erwartet: lumiscan-area-detector.json nennt Ihre Module, und für jedes Modul, dessen Einstellungen Sie gespeichert haben, gibt es eine <module-id>.json.

  3. Lesen Sie das Protokoll der Anwendung beim Start. Erwartet: keine als unlesbar gemeldete Moduldatei, keine übersprungene Einstellung.

Lösung
  • Wenn die Einstellungen oder die Modulliste nicht gespeichert wurden:

    1. Setzen Sie system/save-module-inputs/input/module-id (zum Beispiel module-1) und schreiben Sie auf system/save-module-inputs/execute. Tun Sie das für jedes Modul.

    2. Schreiben Sie auf system/save-current-modules/execute.

    3. Prüfen Sie, dass beide Status 1 melden.

  • Wenn die Moduldatei Kommentare enthält: Entfernen Sie sie aus <module-id>.json. Von Hand an der Datei vorgenommene Änderungen wirken beim nächsten Start.

  • Wenn nach einem Update eine Einstellung übersprungen wurde: Setzen Sie die Eingabe erneut und speichern Sie die Einstellungen des Moduls.

Modus und Quelle des Bild-Streams werden von control/subscribe/execute selbst gespeichert, in der <module-id>.json des Moduls; sie kommen nur zurück, wenn auch die Modulliste gespeichert ist. Siehe Modulverwaltung und In der Einstellungsdatei erhalten.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit lumiscan-area-detector.json und den Moduldateien <module-id>.json.

Problem: Die Anwendung beendet sich kurz nach dem Start

Symptome

Auf ctrlX OS beendet sich die Anwendung kurz nach dem Start. Ihre Knoten unter hdvisionsystems/lumiscan-area-detector verschwinden aus dem Data Layer.

Mögliche Ursachen
Diagnose
  1. Öffnen Sie das Systemprotokoll von ctrlX OS (ctrlX Logbook oder journalctl). Erwartet: Es nennt den Grund und die fehlende Lizenz.

  2. Vergleichen Sie die Lizenz mit der ctrlX-Lizenz von LumiScan Area Detector, SWL-W-XCx-AxxDETECTxHDVSx-V1NN. Erwartet: Sie ist auf dem Gerät installiert, auf dem die Anwendung läuft.

Lösung
  • Wenn die Lizenz fehlt: Installieren Sie eine gültige Lizenz auf dem Gerät und starten Sie die Anwendung erneut. Erwartet: Sie läuft weiter, und ihre Knoten sind im Data Layer.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Zeilen des Systemprotokolls, die die Lizenz nennen. Für Lizenzen wenden Sie sich an licenses@hdvisionsystems.com.

Problem: Statuscode -11 (Lizenz nicht verfügbar)

Symptome

Ein Modul wird mit Statuscode -11 abgelehnt.

Mögliche Ursachen
  • Keine Lizenz auf dem Gerät deckt das Modul ab. Eine Lizenz deckt zehn Module ab; das elfte Modul belegt eine zweite Lizenz desselben Schlüssels.

Diagnose
  1. Zählen Sie die Einträge von system/modules. Erwartet: nicht mehr als zehn Module pro Lizenz auf dem Gerät.

  2. Lesen Sie output/status-text der Operation, die mit -11 geantwortet hat.

Lösung
  • Wenn mehr Module existieren, als die Lizenzen abdecken: Entfernen Sie die nicht benötigten Module mit system/remove-module und speichern Sie die Modulliste mit system/save-current-modules, oder beschaffen Sie eine weitere Lizenz.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit system/modules. Für Lizenzen wenden Sie sich an licenses@hdvisionsystems.com.

Informationen für den Support

Besteht ein Problem weiterhin, senden Sie diese Informationen an den Support:

  • Softwareversion: die Version von LumiScan Area Detector, die Sie verwenden. Die Dateien in settings-history/ im Konfigurationsverzeichnis halten sie als software.version fest.

  • Plattform: ctrlX OS (ctrlX CORE oder ctrlX IPC) und die Version von ctrlX OS, oder ein PC mit Windows 11 oder Ubuntu 24.04. Nennen Sie auch die Bezugsquelle: HD Vision Systems oder ctrlX Store.

  • Data Layer: der ctrlX Data Layer (ctrlX OS) oder LumiScan Keryx (PC). Auf einem PC auch die Data-Layer-Adresse, die die Anwendung verwendet.

  • Protokoll: das Protokoll der Anwendung zum Zeitpunkt des Fehlers - auf ctrlX OS aus dem ctrlX Logbook oder mit journalctl, auf einem PC die Konsolenausgabe der Anwendung.

  • Zeitpunkt: Datum und Uhrzeit des Fehlers.

  • Kommunikationsstatus: output/status-code und output/status-text der fehlgeschlagenen Operation und die Antwort des Schreibvorgangs auf execute (zum Beispiel DL_TOO_MANY_OPERATIONS oder TooManyOperations).

  • Konfigurationsdateien: lumiscan-area-detector.json, die <module-id>.json des betroffenen Moduls und, für den Bild-Stream, die Datei in settings-history/, die sein Einstellungs-Hash nennt. Wo sie liegen, steht unter Allgemeine Prüfungen.

Wenden Sie sich an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905; für Lizenzen an licenses@hdvisionsystems.com. Siehe auch Bevor Sie den Support kontaktieren in der LumiScan-FAQ.