---
title: "Einen Code lesen"
product: "LumiScan Barcode Reader"
component: "lumiscan-barcode-reader-de"
version: "1.0.0"
display_version: "1.0.0.5"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-barcode-reader-de/1.0.0/lumiscan-barcode-reader/reading-a-code.html"
---

# Einen Code lesen – LumiScan Barcode Reader

Ein Lauf hat zwei Schritte: angeben, welches Bild gelesen werden soll, dann `execute` aufrufen. Alle Pfade unten sind relativ zum Basispfad der Anwendung, `hdvisionsystems/lumiscan-barcode-reader`.

## 1. Den Reader auf ein Bild richten

Schreiben Sie die Adresse des Bildknotens in `input/image-address`:

```
hdvisionsystems/lumiscan-cam-driver/camera1/output/image
```

Das ist die Adresse des Bildknotens **selbst**, nicht die seines Kindknotens `data` - der Reader hängt beim Lesen `/data`, `/width`, `/height` und `/pixel-type` an.

Die Adresse wird gemerkt; sie muss also nur neu gesetzt werden, wenn sich die Bildquelle ändert.

## 2. execute aufrufen

Schreiben Sie einen leeren Wert in die Methode `execute`.

Der Aufruf ist **blockierend**: Er kehrt zurück, wenn die Suche abgeschlossen ist. Danach enthält `output/results` jeden in diesem Bild gefundenen Barcode - siehe [Das Ergebnis](https://docs.hdvisionsystems.com/de/lumiscan-barcode-reader-de/1.0.0/lumiscan-barcode-reader/the-result.html).

## Was ein Lauf tut

1. Liest die Adresse aus `input/image-address`.
2. Liest `data`, `width`, `height` und `pixel-type` von dieser Adresse und wandelt die Pixel in ein Bild um - mit De-Bayering, wenn das Format es verlangt.
3. Durchsucht das **gesamte** Bild nach Barcodes.
4. Schreibt jeden gefundenen Code in `output/results`.

Es gibt keine Region of Interest und keine Teilsuche: Jeder Lauf liest den gesamten aktuellen Inhalt des Bildknotens.

## Wenn ein Lauf fehlschlägt

Ein Lauf schlägt fehl, wenn das Bild nicht gelesen werden kann - keine Adresse gesetzt, eine Adresse, die sich nicht auflösen lässt, ein fehlender oder zu kurzer `data`-Puffer oder ein Pixelformat, das der Reader nicht unterstützt. Der Grund wird in das Protokoll der Anwendung geschrieben; auf ctrlX OS ist das das Systemprotokoll.

> [!WARNING]
> Ein fehlgeschlagener Lauf lässt `output/results` **unverändert**, mit den Codes des vorherigen Laufs. Diese Version veröffentlicht keinen Statusknoten und gibt keinen Identifier zurück; am Ergebnis allein lässt sich also nicht erkennen, ob es aktuell ist. Kommt es auf den Ausgang eines Laufs an, prüfen Sie das Protokoll - oder lesen Sie `output/results` vorher und nachher und vergleichen Sie.
>
> Ein leeres `output/results` bedeutet, dass das Bild erfolgreich gelesen wurde und keinen Barcode enthielt.
