---
title: "Einen Code lesen"
product: "LumiScan DMC Reader"
component: "lumiscan-dmc-reader-de"
version: "1.1.0"
display_version: "1.1.0.6"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-dmc-reader-de/1.1.0/lumiscan-dmc-reader/reading-a-code.html"
---

# Einen Code lesen – LumiScan DMC Reader

Ein Lauf hat zwei Schritte: angeben, welches Bild gelesen werden soll, und dann `execute` aufrufen. Alle Pfade unten sind relativ zum Basispfad der Anwendung, `hdvisionsystems/lumiscan-dmc-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 Data-Matrix-Code, der in diesem Bild gefunden wurde – siehe [Das Ergebnis](https://docs.hdvisionsystems.com/de/lumiscan-dmc-reader-de/1.1.0/lumiscan-dmc-reader/the-result.html).

## Was ein Lauf tut

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

Es gibt keine Region of Interest und keine Teilsuche: Jeder Lauf liest den vollständigen 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**; der Knoten enthält weiterhin die Codes des vorherigen Laufs. Diese Version veröffentlicht keinen Statusknoten und gibt keine Kennung zurück, sodass das Ergebnis allein nicht verrät, ob es aktuell ist. Wenn der Ausgang eines Laufs wichtig ist, 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 Data-Matrix-Code enthielt.
