Anleitung: Mit Beispielbildern statt einer Kamera testen

Eine simulierte Kamera ist ein Kameramodul von LumiScan Cam Driver, das mit keiner Kamera spricht. Jede Aufnahme lädt stattdessen das nächste Bild aus einem Ordner. Für die anderen LumiScan-Anwendungen sieht sie genau wie eine echte Kamera aus: Das Bild erscheint auf denselben Knoten des Data Layer.

Damit richten Sie eine Auswertung - einen Code-Leser, LumiScan Template Finder, LumiScan AI Object Matching - mit bekannten Beispielbildern ein und testen sie, bevor die Kamera montiert ist oder ohne die Linie anzuhalten.

Am Ende liefert ein Modul namens simulation Ihre Beispielbilder, eines je Aufnahme, auf hdvisionsystems/lumiscan-cam-driver/simulation/output/image.

Bevor Sie beginnen

  • LumiScan Cam Driver auf der ctrlX CORE installiert, mit Lizenz, siehe Voraussetzungen

  • Beispielbilder als PNG-Dateien, am besten mit der Kamera und Beleuchtung aufgenommen, die später verwendet werden

  • Ein Browser mit Zugriff auf die ctrlX-Weboberfläche

Wie es zusammenhängt

Ob ein Kameramodul simuliert ist, hängt von seiner serial ab: Eine Seriennummer, die simulation enthält, lässt das Modul Bilder aus dem Speicherordner abspielen, statt eine Kamera zu suchen. Die id ist frei wählbar.

Die Bilder kommen aus dem in lumiscan-cam-driver.json konfigurierten Speicherordner, aus einem Unterordner mit der id des Moduls: images/simulation für die Einstellungen dieser Anleitung. Beim Verbinden durchsucht das Modul diesen Ordner; jede Aufnahme lädt dann das nächste Bild.

Seit v2.0.0 kommen die Bilder aus dem Unterordner <id>, nicht aus dem Speicherordner selbst. Ist unifiedStorage in den Systemeinstellungen auf true gesetzt (ab v2.2.0), wird der Speicherordner selbst verwendet.

Schritt 1 - Die Moduldatei anlegen

  1. Gehen Sie in der ctrlX-Weboberfläche zu Home > Manage app data und klicken Sie auf Open file view.

    Seite Manage app data der ctrlX-Weboberfläche mit der Schaltfläche Open file view
    Abbildung 1. Manage app data mit der Schaltfläche Open file view
  2. Öffnen Sie den Ordner lumiscan-cam-driver.

  3. Legen Sie die Datei simulation.json an, zum Beispiel als Kopie der Beispiel-Moduldatei, mit diesen Werten:

    {
      "id": "simulation",
      "serial": "simulation"
    }

    Behalten Sie die Einträge $schema und meta der Beispieldatei bei.

    Moduldatei in der Dateiansicht mit der Seriennummer simulation
    Abbildung 2. Moduldatei einer simulierten Kamera: Die Seriennummer enthält simulation
  4. Öffnen Sie lumiscan-cam-driver.json und tragen Sie simulation.json in die Liste modules ein:

    "modules": [
      "simulation.json"
    ]
  5. Prüfen Sie, dass system einen Speicher enthält, zum Beispiel den internen Speicher:

    "storage": {
      "type": "Internal",
      "parameters": {
        "rootPath": "images"
      }
    }

Schritt 2 - Die Beispielbilder hochladen

  1. Öffnen Sie in der Dateiansicht von lumiscan-cam-driver den Speicherordner, images bei den Einstellungen oben.

  2. Legen Sie einen Unterordner an, der genau wie die id des Moduls heißt: simulation.

  3. Laden Sie die Beispielbilder in diesen Ordner hoch.

Die erste Aufnahme lädt das erste Bild des Ordners. Größere Mengen an Bildern laden Sie per WebDAV hoch, siehe Daten hochladen.

Schritt 3 - LumiScan Cam Driver neu starten

Wählen Sie unter Settings > Apps LumiScan Cam Driver aus und klicken Sie auf Restart. Die Anwendung liest ihre Einstellungsdateien nur beim Start.

Erwartet: Unter hdvisionsystems/lumiscan-cam-driver gibt es einen Ordner simulation.

Schritt 4 - Verbinden und aufnehmen

Werte auf dem Data Layer setzen Sie in der ctrlX-Weboberfläche unter Settings > Data Layer oder aus einer anderen Anwendung, zum Beispiel einem SPS-Programm.

  1. Verbinden Sie die simulierte Kamera mit dem Handshake auf hdvisionsystems/lumiscan-cam-driver/simulation/control/connect-camera: warten, bis ready true ist, request auf true setzen, warten, bis ready false ist, request auf false setzen.

  2. Prüfen Sie, dass simulation/device-info/is-connected den Wert true hat.

  3. Schreiben Sie auf hdvisionsystems/lumiscan-cam-driver/simulation/control/capture/execute.

Erwartet: simulation/control/status/code ist 0, und das erste Beispielbild liegt auf hdvisionsystems/lumiscan-cam-driver/simulation/output/image. Jede weitere Aufnahme lädt das nächste Bild.

Welches Bild geladen ist, sehen Sie in LumiScan Cockpit. Es zeigt das Bild des Moduls simulation wie das einer echten Kamera.

Schritt 5 - Die Bilder in einer anderen Anwendung verwenden

Richten Sie die Bildadresse der auswertenden Anwendung auf die simulierte Kamera:

hdvisionsystems/lumiscan-cam-driver/simulation/output/image

Bei LumiScan DMC Reader ist das zum Beispiel input/image-address, bei LumiScan AI Object Matching externalImagePath in der Moduldatei. Um später auf die echte Kamera zu wechseln, ändern Sie nur diese Adresse oder ersetzen die serial des Moduls durch die der Kamera.

Ergebnis

  • LumiScan Cam Driver hat eine simulierte Kamera, simulation.

  • Jede Aufnahme lädt das nächste Beispielbild auf hdvisionsystems/lumiscan-cam-driver/simulation/output/image.

  • Andere LumiScan-Anwendungen lassen sich mit diesen Bildern einrichten und testen, ohne Kamera-Hardware.