Fehlerbehebung

Diese Seite nennt zuerst die allgemeinen Prüfungen, die bei jedem Problem helfen. Beginnen Sie mit ihnen. Suchen Sie dann Ihr Symptom in den folgenden Kategorien: Zu jedem Problem finden Sie die Symptome, mögliche Ursachen, eine Diagnose und die Lösung. Der letzte Abschnitt nennt, was Sie an den Support senden.

Allgemeine Prüfungen

Konfiguration

LumiScan Calibration verwendet:

  • eine Anwendungs-Konfigurationsdatei (lumiscan-calibration.json), die auf

  • eine oder mehrere Modul-Konfigurationsdateien (<module name>.json) verweist, von denen jede eine TIFF-Datei benennt.

Die Konfigurationsdateien finden Sie unter:

  • Auf ctrlX OS: Manage App Data > active > lumiscan-calibration

  • Auf einem PC (Windows): %APP_RESOURCE_DIR%\etc\lumiscan-calibration, oder ohne APP_RESOURCE_DIR C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-calib\etc\lumiscan-calibration

Ihr Inhalt wird auch auf dem Data Layer angezeigt, auf hdvisionsystems/lumiscan-calibration/system/settings. Eine Moduldatei, die nicht gelesen werden konnte, erscheint dort mit einem "$error", das den Grund nennt. Siehe Einstellungen auf dem Data Layer.

Starten Sie LumiScan Calibration nach einer Änderung von lumiscan-calibration.json neu. Nach einer Änderung einer Modul-Konfigurationsdatei oder ihrer TIFF-Datei genügt ein Reset des Moduls (control/reset).

Weitere Informationen zu den Konfigurationsdateien finden Sie unter Anwendungs-Einstellungsdatei und Modul-Konfigurationsdatei.

Status der Anwendung und ihrer Module

  • hdvisionsystems/lumiscan-calibration/system/found-modules führt die Module auf, die die Anwendung bedient. hdvisionsystems/lumiscan-calibration/system/status-text ist "Initialized", sobald sie ihre Module bedient, oder nennt den Grund, warum sie keines bedient.

  • hdvisionsystems/lumiscan-calibration/<module name>/control/status/code und .../control/status/text melden den Ausgang der letzten Funktion. Ein Fehlerstatus bleibt bis zum nächsten Request stehen. Die Bedeutung jedes Werts steht in Statuscodes.

  • Status -5 (restartRequired) bedeutet, dass die Einstellungen auf dem Data Layer geändert wurden: Starten Sie die Anwendung mit hdvisionsystems/lumiscan-calibration/system/control/restart/execute neu. Siehe Einstellungen auf dem Data Layer.

Protokolle

Lässt sich ein Problem mit den unten beschriebenen Prüfungen nicht lösen, sehen Sie im Protokoll nach. Jedes Modul schreibt, warum es seine Dateien nicht laden oder seinen Stream nicht starten konnte.

  • ctrlX OS: das Systemprotokoll von ctrlX OS. Lesen Sie es im Logbuch der ctrlX-Weboberfläche oder mit journalctl. Siehe ctrlX Data Layer auf ctrlX OS.

  • PC: die Ausgabe von LumiScan Calibration in seiner Konsole.

Data Layer

Bei Problemen mit dem Data Layer selbst siehe Fehlerbehebung Data Layer.

Module und Adressen

Problem: Ein Calibration-Modul erscheint nicht im Data Layer

Symptome
  • Für ein Modul, das Sie konfiguriert haben, gibt es keinen Knoten hdvisionsystems/lumiscan-calibration/<module name>, und hdvisionsystems/lumiscan-calibration/system/found-modules führt es nicht auf.

  • Es erscheint überhaupt kein Modul, oder die Anwendung selbst fehlt im Data Layer.

Mögliche Ursachen
  • Die Modul-Konfigurationsdatei ist nicht unter modules in lumiscan-calibration.json aufgeführt. Ein aufgeführtes Modul erscheint auch dann, wenn seine Datei nicht geladen werden kann.

  • Das Modul wird unter dem falschen Namen gesucht. Sein Name ist der Name seiner Datei ohne .json, in Kleinbuchstaben. Der name im Block transform des Moduls ändert ihn nicht.

  • lumiscan-calibration.json wurde geändert, aber die Anwendung wurde nicht neu gestartet.

  • lumiscan-calibration.json führt kein Modul auf.

  • Die Anwendung hat sich beim Start beendet, zum Beispiel weil lumiscan-calibration.json kein gültiges JSON ist oder (ctrlX OS) weil die Lizenz fehlt.

Diagnose
  1. Lesen Sie hdvisionsystems/lumiscan-calibration/system/found-modules - erwartet: der Name des Moduls.

  2. Prüfen Sie modules in lumiscan-calibration.json - erwartet: Die Modul-Konfigurationsdatei ist aufgeführt.

  3. Suchen Sie das Modul unter dem Namen seiner Datei ohne .json, in Kleinbuchstaben.

  4. Lesen Sie hdvisionsystems/lumiscan-calibration/system/status-text - erwartet: "Initialized". Andernfalls nennt er den Grund, warum die Anwendung kein Modul bedient, zum Beispiel wenn lumiscan-calibration.json kein Modul aufführt.

  5. Fehlt die Anwendung selbst im Data Layer, lesen Sie das Protokoll (siehe Protokolle) - es nennt den Grund, warum sich die Anwendung beim Start beendet hat.

Lösung
  • Wenn die Datei nicht aufgeführt ist: Fügen Sie den Dateinamen der Liste modules von lumiscan-calibration.json hinzu, und starten Sie dann LumiScan Calibration neu. Siehe Neues Modul hinzufügen.

  • Wenn Sie unter dem falschen Namen gesucht haben: Verwenden Sie den Namen der Datei ohne .json, in Kleinbuchstaben: hdvisionsystems/lumiscan-calibration/<module name>.

  • Wenn lumiscan-calibration.json ohne Neustart geändert wurde: Starten Sie LumiScan Calibration neu, zum Beispiel mit hdvisionsystems/lumiscan-calibration/system/control/restart/execute.

  • Wenn sich die Anwendung beim Start beendet hat: Korrigieren Sie lumiscan-calibration.json so, wie es das Protokoll angibt, und starten Sie die Anwendung dann erneut. Nennt das Protokoll eine fehlende Lizenz, siehe Voraussetzungen.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit dem Inhalt von system/status-text und system/found-modules sowie lumiscan-calibration.json.

Problem: Data-Layer-Adressen unter lumiscan-cam-calibration funktionieren nicht mehr

Symptome

Adressen, die mit hdvisionsystems/lumiscan-cam-calibration/…​ beginnen, funktionieren nicht mehr.

Mögliche Ursachen
  • Ab v1.2.1 hat sich der Data-Layer-Name der Anwendung von lumiscan-cam-calibration in lumiscan-calibration geändert.

Diagnose
  1. Prüfen Sie die Version von LumiScan Calibration - die Änderung betrifft v1.2.1 und neuer.

  2. Prüfen Sie die Adressen, die Ihr Programm oder Ihre SPS verwendet - erwartet: Sie beginnen mit hdvisionsystems/lumiscan-calibration/.

Lösung
  • Wenn die Adressen noch den alten Namen verwenden: Aktualisieren Sie alle Adressen auf hdvisionsystems/lumiscan-calibration/…​. Siehe Release Notes: v1.2.1.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit den Adressen, die nicht funktionieren.

Punkte transformieren

Problem: transform/ready bleibt false, und der Status ist -2

Symptome
  • control/transform/ready bleibt false.

  • control/status/code ist -2 (invalidSetting).

  • control/transform/execute antwortet mit DL_INVALID_OPERATION_MODE.

  • Ein laufender Stream veröffentlicht NaN für jeden Punkt.

Mögliche Ursachen
  • Das Modul hat keine Lookup-Tabelle: Seine Modul-Konfigurationsdatei oder die darin benannte TIFF-Datei konnte nicht geladen werden, zum Beispiel weil die TIFF-Datei fehlt.

  • Die Modul-Konfigurationsdatei hat ungültige oder fehlende Parameter, einschließlich ihres Abschnitts stream. Ein fehlerhafter Abschnitt stream ist eine fehlerhafte Moduldatei, zum Beispiel Stream-Modus ohne Quelle (enable auf true und keine address), ein Schritt einer anderen kind oder ein Schlüssel eines Schritts, der oben im Abschnitt statt in onEntry steht.

  • Die Lizenz ist nicht verfügbar. Der Status ist dann -4 (missingLicense), und das Modul führt keine Funktion aus, bis die Lizenz wieder vorhanden ist.

Diagnose
  1. Lesen Sie control/status/code - -2: Eine Datei konnte nicht geladen werden; -4: Die Lizenz fehlt.

  2. Lesen Sie das Protokoll (siehe Protokolle) - es nennt den Grund, warum die Dateien nicht geladen werden konnten, und benennt einen fehlerhaften Schlüssel.

  3. Prüfen Sie, ob die in relativePathToTiff benannte TIFF-Datei neben der Modul-Konfigurationsdatei liegt.

  4. Prüfen Sie die Modul-Konfigurationsdatei auf ungültige oder fehlende Parameter, einschließlich ihres Abschnitts stream.

Lösung
  • Wenn eine Datei nicht geladen werden konnte (Status -2): Korrigieren Sie die Dateien, und setzen Sie das Modul zurück. Das Modul rechnet nicht mit der alten Tabelle weiter, damit eine korrigierte Datei nie mit einer veralteten vermischt wird. Siehe Die Einstellungen neu laden.

    1. Korrigieren Sie die Modul-Konfigurationsdatei oder die TIFF-Datei.

    2. Setzen Sie das Modul zurück (control/reset). Ein Neustart ist nicht nötig.

    3. Prüfen Sie, ob control/status/code 0 und control/transform/ready true ist.

  • Wenn die Lizenz fehlt (Status -4): Installieren Sie die Lizenz SWL-W-XCx-CALIBRATExHDVSx-V2NN. Auf ctrlX OS beendet sich die Anwendung kurz nach dem Start, wenn die Lizenz fehlt. Siehe Voraussetzungen.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit der Modul-Konfigurationsdatei, dem Namen ihrer TIFF-Datei und den Protokollzeilen des fehlgeschlagenen Ladens.

Problem: Die Anwendung reagiert nicht auf einen Request

Symptome

Nachdem Sie XXX/control/<function name>/request auf true gesetzt haben, wechselt XXX/control/<function name>/ready nicht auf false, oder die Funktion läuft nicht. XXX ist hdvisionsystems/lumiscan-calibration/<module name>.

Mögliche Ursachen
  • Mehr als ein Prozess schreibt den Knoten request. Das Verhalten ist dann undefiniert, weil die Anwendung einen Request verpassen kann.

  • request wurde nicht auf false zurückgesetzt. Das Modul wartet darauf, dass request zurückfällt, so lange es dauert.

  • Ihr Programm verwendet eine andere Data-Layer-Version als die Anwendung.

Diagnose
  1. Prüfen Sie, welche Programme XXX/control/<function name>/request schreiben - erwartet: nur ein Prozess.

  2. Lesen Sie, nachdem Sie request auf true gesetzt haben, ready - erwartet: false (das Modul hat den Request erkannt).

  3. Lesen Sie, nachdem Sie request wieder auf false gesetzt haben, ready - erwartet: wieder true, wenn die Funktion abgeschlossen ist.

  4. Prüfen Sie die Data-Layer-Version, die Ihr Programm verwendet - erwartet: dieselbe wie die der Anwendung.

Lösung
  • Wenn mehr als ein Prozess request schreibt: Stellen Sie sicher, dass immer nur ein Prozess auf XXX/control/<function name>/request zugreift. Ein Programm, das sich nicht mit anderen abstimmen kann, kann stattdessen die execute-Methode verwenden (XXX/control/<function name>/execute), die einen zweiten Aufruf ablehnt, solange einer läuft.

  • Wenn request nicht zurückgesetzt wurde: Setzen Sie request auf false, nachdem ready auf false gewechselt ist. Siehe Eine Funktion ausführen.

  • Wenn sich die Data-Layer-Versionen unterscheiden: Verwenden Sie dieselbe Data-Layer-Version wie die Anwendung.

Wenn das Problem weiterhin besteht

Wenden Sie sich mit den unter Informationen für den Support genannten Informationen an HD Vision Systems, zusammen mit der angeforderten Funktion und den Werten von ready, request und control/status/code.

Problem: Die transformierten Koordinaten passen nicht zum Bild

Symptome

Die transformierten Koordinaten entsprechen nicht den erwarteten Positionen.

Mögliche Ursachen
  • Eine Achse ist invertiert.

  • Der benötigte Ursprung ist nicht korrekt definiert. Die Kalibrierung legt den anwendungsspezifischen Referenzpunkt nicht automatisch fest.

  • Einheiten wie Millimeter und Pixel werden in der Anwendung und in den angebundenen Systemen gemischt.

  • Die konfigurierte TIFF-Datei gehört nicht zur verwendeten Kamera und kalibrierten Ebene.

  • Ein Punkt liegt außerhalb der Lookup-Tabelle. Er liefert einen Wert vom Rand der Tabelle, ohne Fehler.

Diagnose
  1. Bewegen Sie ein Objekt in eine bekannte Richtung und beobachten Sie, wie sich die Koordinaten ändern - erwartet: Jede Koordinate ändert sich in die erwartete Richtung.

  2. Prüfen Sie den Referenzpunkt - erwartet: Der Ursprung, den Ihre Anwendung benötigt, ist definiert.

  3. Prüfen Sie die Einheiten der Anwendung und der angebundenen Systeme - erwartet: überall dieselben Einheiten.

  4. Prüfen Sie relativePathToTiff in der Modul-Konfigurationsdatei - erwartet: die TIFF-Datei für die verwendete Kamera und kalibrierte Ebene.

  5. Prüfen Sie die Eingabepunkte - erwartet: innerhalb des Bildes, für das die Lookup-Tabelle erstellt wurde.

Lösung
  • Wenn eine Achse invertiert ist: Eine Koordinate ändert sich in die entgegengesetzte Richtung. Senden Sie die beobachtete und die erwartete Richtung an den Support (siehe Informationen für den Support).

  • Wenn der Referenzpunkt nicht definiert ist: Definieren Sie den Ursprung, den Ihre Anwendung benötigt. Die Kalibrierung tut das nicht automatisch.

  • Wenn Einheiten gemischt werden: Verwenden Sie in der gesamten Anwendung und in den angebundenen Systemen einheitliche Einheiten.

  • Wenn die falsche TIFF-Datei konfiguriert ist: Konfigurieren Sie die TIFF-Datei für die verwendete Kamera und kalibrierte Ebene, und setzen Sie dann das Modul zurück (control/reset).

  • Wenn Punkte außerhalb der Lookup-Tabelle liegen: Halten Sie die Punkte innerhalb des Bildes, für das die Tabelle erstellt wurde.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit einigen Eingabepunkten, den Koordinaten, die Sie erhalten, und den Koordinaten, die Sie erwarten.

Streams (experimentell)

Problem: Der Stream startet nicht

Symptome

control/subscribe/output/stream/active bleibt false, nachdem control/subscribe/execute mit control/subscribe/input/enable auf true aufgerufen wurde.

Mögliche Ursachen
  • control/subscribe/input/address ist leer, oder die Warteschlangengröße liegt nicht zwischen 1 und 4096: Der Aufruf antwortet mit DL_INVALID_VALUE (ctrlX Data Layer) oder Rejected (LumiScan Keryx).

  • Die Modul-Konfigurationsdatei ist fehlerhaft (Status -2), zum Beispiel ein Schritt in stream.onEntry, den das Modul nicht kennt, oder ein Schlüssel eines Schritts, der oben im Abschnitt stream steht.

  • Ein Remap-Pfad passt nicht zum Schema.

  • Die Änderung konnte nicht in der Modul-Konfigurationsdatei gespeichert werden: Der Aufruf antwortet mit DL_CREATION_FAILED.

  • Die Einstellungen wurden auf system/settings bearbeitet, und die Anwendung wartet auf einen Neustart: Der Aufruf antwortet mit DL_RESOURCE_UNAVAILABLE.

  • Die Lizenz fehlt. Der Stream läuft nur, solange die Lizenz vorhanden ist.

Diagnose
  1. Prüfen Sie die Antwort von control/subscribe/execute - erwartet: DL_OK.

  2. Prüfen Sie control/status/code - -2: Die Modul-Konfigurationsdatei ist fehlerhaft; das Protokoll benennt den Schlüssel.

  3. Prüfen Sie setting/stream/enable und setting/stream/address - sie zeigen, was das Modul anwendet.

  4. Lesen Sie das Protokoll (siehe Protokolle) - das Modul schreibt, warum der Stream nicht starten konnte, zum Beispiel ein Remap-Pfad, der nicht zum Schema passt.

Lösung
  • Wenn die Adresse leer ist oder die Warteschlangengröße außerhalb des Bereichs liegt: Schreiben Sie den Ordner der Quelle auf control/subscribe/input/address oder eine Warteschlangengröße von 1 bis 4096 auf control/subscribe/input/queue-size, und rufen Sie control/subscribe/execute erneut auf.

  • Wenn der Abschnitt stream fehlerhaft ist oder ein Remap-Pfad nicht passt: Korrigieren Sie den Abschnitt stream und setzen Sie das Modul zurück. Ein fehlgeschlagener Start wird nach dem Reset erneut versucht, oder nachdem der Stream-Modus mit control/subscribe/execute aus- und wieder eingeschaltet wurde. Siehe Einen Stream konfigurieren.

  • Wenn der Aufruf mit DL_CREATION_FAILED antwortet: Die Modul-Konfigurationsdatei konnte nicht gelesen oder geschrieben werden. Die Antwort und das Protokoll nennen den Grund. Es wurde nichts geändert.

  • Wenn der Aufruf mit DL_RESOURCE_UNAVAILABLE antwortet: Starten Sie die Anwendung neu, siehe Status der Anwendung und ihrer Module.

  • Wenn die Lizenz fehlt: Siehe Voraussetzungen.

Eine Quelle, die der Stream nicht abonnieren kann, hindert ihn nicht am Starten: Es wird alle 5 Sekunden erneut versucht, und der erste Fehlschlag steht im Protokoll. Siehe Problem: Der Stream läuft, aber es kommen keine Punkte an.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit der Antwort von control/subscribe/execute, den Werten von setting/stream/enable und setting/stream/address sowie dem Abschnitt stream der Modul-Konfigurationsdatei.

Problem: Der Stream läuft, aber es kommen keine Punkte an

Symptome

control/subscribe/output/stream/active ist true, aber auf control/subscribe/output/stream/points oder control/subscribe/output/stream/plain-points kommen keine oder ungültige Punkte an.

Mögliche Ursachen
  • received-updates bleibt 0: Die Quelle ändert sich nicht, oder setting/stream/address und das node des Schritts benennen einen anderen Knoten als beabsichtigt.

  • failed-updates steigt: Die Updates sind nicht von der erwarteten Art.

  • invalid-points steigt mit points: Die Punkte liegen außerhalb der Lookup-Tabelle, oder das Modul hat keine Tabelle (Status -2).

  • skipped-updates steigt: Die Quelle aktualisiert schneller, als das Modul transformiert.

Diagnose
  1. Prüfen Sie die Zähler unter control/subscribe/output/stream/statistics - erwartet: received-updates steigt, und failed-updates, invalid-points und skipped-updates bleiben bei 0.

  2. Vergleichen Sie setting/stream/address und das node des Schritts mit dem beabsichtigten Knoten - erwartet: der Knoten node im Ordner address, genau wie geschrieben, einschließlich Groß-/Kleinschreibung.

  3. Lesen Sie das Protokoll (siehe Protokolle) - es warnt vor einer Adresse, die den Knoten doppelt benennt, meldet, wenn die Quelle nicht abonniert werden konnte, und zeigt das erste fehlgeschlagene Update.

Lösung
  • Wenn received-updates bei 0 bleibt: Sorgen Sie dafür, dass sich die Quelle ändert, oder korrigieren Sie address und node. Das Modul abonniert den Knoten node im Ordner address, genau wie geschrieben, einschließlich Groß-/Kleinschreibung. Eine Adresse, die noch mit dem Knoten endet, benennt ihn doppelt. Auf dem ctrlX Data Layer wird ein gewöhnlicher Knoten wie ein SPS-Array etwa alle 100 ms gelesen, und Änderungen dazwischen werden nicht gesehen; auf LumiScan Keryx ist das erneute Schreiben derselben Werte kein Update. Siehe Was ein Stream empfängt.

  • Wenn failed-updates steigt: Senden Sie Updates der erwarteten Art. Ein Plain-Stream benötigt ein float32- oder float64-Array mit einer ganzen Anzahl von Punkten; ein Remap-Stream benötigt einen FlatBuffer des Typs, den sein schema benennt.

  • Wenn invalid-points steigt: Halten Sie die Punkte innerhalb der Lookup-Tabelle, oder folgen Sie bei Status -2 Problem: transform/ready bleibt false, und der Status ist -2.

  • Wenn skipped-updates steigt: Verringern Sie die Rate der Quelle oder die Zahl der Punkte pro Update. Bei kurzen Lastspitzen hilft eine größere Warteschlange (control/subscribe/input/queue-size, gespeichert als queueSize). Siehe Die Warteschlange.

Wenn das Problem weiterhin besteht

Senden Sie die unter Informationen für den Support genannten Informationen an den Support, zusammen mit den Werten der Zähler unter control/subscribe/output/stream/statistics und dem Abschnitt stream der Modul-Konfigurationsdatei.

Informationen für den Support

Besteht ein Problem weiterhin, senden Sie Folgendes an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905. Für Lizenzen wenden Sie sich an licenses@hdvisionsystems.com.

  • Die Version von LumiScan Calibration.

  • Die Plattform: ctrlX OS und seine Version auf einer ctrlX CORE oder einem ctrlX IPC, oder einen PC mit Windows 11 oder Ubuntu 24.04 und LumiScan Keryx.

  • Das Protokoll: auf ctrlX OS das Systemprotokoll von ctrlX OS (Logbuch der ctrlX-Weboberfläche oder journalctl), auf einem PC die Konsolenausgabe von LumiScan Calibration.

  • Datum und Uhrzeit, zu denen der Fehler aufgetreten ist.

  • Den Data-Layer-Status: system/status-text, system/found-modules und für das betroffene Modul control/status/code, control/status/text und das Ergebnis, mit dem ein execute-Aufruf antwortete.

  • Die Konfiguration: lumiscan-calibration.json und die Modul-Konfigurationsdateien, oder den Inhalt von hdvisionsystems/lumiscan-calibration/system/settings, und den Namen der TIFF-Datei.