---
title: "Erste Schritte mit LumiScan Keryx"
description: "LumiScan Keryx in etwa 30 Minuten ausprobieren, ohne Kamera - den Broker starten, den Baum ansehen, Knoten lesen und schreiben, einen Handshake von Hand und mit krxclient ausführen, eine Execute-Methode aufrufen."
product: "LumiScan Keryx"
component: "lumiscan-keryx-de"
version: "1.0.0"
display_version: "1.0.0.7"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/getting-started.html"
---

# Erste Schritte mit LumiScan Keryx

In dieser Anleitung probieren Sie LumiScan Keryx auf einem Windows-PC aus, ohne Kamera und ohne SPS. LumiScan Cam Driver mit einer **simulierten Kamera** stellt die Knoten bereit; Sie sind der Client - zuerst von Hand auf der Keryx-Seite, dann mit dem Kommandozeilen-Client `krxclient`, der genau so arbeitet wie eine SPS.

Am Ende haben Sie:

1. den Broker gestartet und den Baum angesehen,
2. Werte gelesen und einen geschrieben,
3. die Kamera mit einem ready/request-Handshake verbunden - von Hand und mit einem Befehl,
4. ein Bild mit einer Execute-Methode aufgenommen und das Ergebnis geprüft,
5. die Kamera wieder getrennt.

Was Sie hier lernen, gilt genauso für jede LumiScan-App, auf einem PC und auf ctrlX OS. Das Konzept erklärt [Was ist LumiScan Keryx?](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/what-is-keryx.html).

> [!NOTE]
> Diese Anleitung verwendet einen Windows-PC. Auf ctrlX OS folgen Sie [Anleitung: Mit Beispielbildern statt einer Kamera testen](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/latest/how-tos/test-with-example-images.html) im Handbuch des Cam Drivers: Sie verbindet eine simulierte Kamera und nimmt ein Bild in der Weboberfläche von ctrlX OS auf, deren Data-Layer-Ansicht dort leistet, was hier die Keryx-Seite leistet.

## Bevor Sie beginnen {#before-you-start}

- Ein PC mit Windows 11.
- **LumiScan Keryx** und **LumiScan Cam Driver** installiert: zuerst Keryx, jedes Installationsprogramm als Administrator. Siehe [Installation unter Windows](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/keryx.html#installing).
- Eine Lizenz für LumiScan Cam Driver: CodeMeter Runtime installiert und der LumiScan Key eingesteckt, siehe [LumiScan Lizenzierung](https://docs.hdvisionsystems.com/de/lumiscan-licensing-de/1.0.4/index.html).
- Optional: ein paar PNG-Bilder, damit die simulierte Kamera in Schritt 6 etwas liefern kann.

Öffnen Sie nach der Installation ein **neues** Terminal (Eingabeaufforderung oder PowerShell), damit es die Einstellungen kennt, die das Keryx-Installationsprogramm vorgenommen hat. Wird `krxclient` nicht gefunden, starten Sie es aus dem Installationsordner von LumiScan Keryx.

> [!TIP]
> Unter Ubuntu 24.04 sind alle `krxclient`-Befehle gleich. Die Keryx-Seite und ihr Fenster gehören nur zur Windows-Installation.

## Schritt 1 - Keryx starten und die Keryx-Seite öffnen {#step-1}

1. Starten Sie **LumiScan Keryx** über das Windows-Startmenü.

   Ein Fenster mit der **Keryx-Seite** öffnet sich. Läuft noch kein Broker, startet LumiScan Keryx ihn.

2. Sehen Sie sich den Baum an. Ohne App ist er noch leer: Keryx selbst stellt keine Knoten bereit - das tun die Apps.

Dieselbe Seite ist in jedem Browser auf diesem PC unter `http://127.0.0.1:7555/` erreichbar.

**Fertig, wenn:** die Keryx-Seite zeigt, dass der Broker läuft.

## Schritt 2 - Eine App mit simulierter Kamera starten {#step-2}

Der Cam Driver schreibt Beispiel-Einstellungen mit einer simulierten Kamera. Eine Kamera, deren Seriennummer `simulation` enthält, braucht keine Hardware.

1. Schreiben Sie die Beispiel-Einstellungen in einen Arbeitsordner:
   ```shell
   lumiscan-cam-driver --generate-settings C:\work\cam-driver-settings
   ```

   Der Cam Driver schreibt `lumiscan-cam-driver.json`, die Moduldatei `lumiscan-cam-driver-example-module.json` und ihre Schemas, nennt den Ordner, aus dem er seine Einstellungen liest, und beendet sich.

2. Öffnen Sie die Moduldatei und prüfen Sie, dass `id` den Wert `camera1` und `serial` den Wert `simulation` hat. Weicht die `id` ab, verwenden Sie in allen Adressen unten Ihre `id` statt `camera1`.

3. Kopieren Sie die Dateien in den Einstellungsordner, den der Cam Driver genannt hat, standardmäßig `C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-cam-driver\etc\lumiscan-cam-driver`.

4. Starten Sie den Cam Driver:
   ```shell
   lumiscan-cam-driver
   ```

   Lassen Sie das Terminal offen: Es zeigt die Meldungen des Cam Driver.

Auf der Keryx-Seite hat der Baum jetzt den Ordner `hdvisionsystems` mit `lumiscan-cam-driver` darin.

**Fertig, wenn:** `hdvisionsystems/lumiscan-cam-driver/system/found-modules` den Eintrag `camera1` enthält und der Ordner `hdvisionsystems/lumiscan-cam-driver/camera1` existiert.

## Schritt 3 - Werte lesen {#step-3}

**Auf der Keryx-Seite:** Öffnen Sie `hdvisionsystems/lumiscan-cam-driver/camera1/control/status` und wählen Sie `code`. Die Seite zeigt seinen Wert, seinen Typ und was damit getan werden darf. `0` bedeutet **bereit**.

**Mit krxclient:** Öffnen Sie ein zweites Terminal und lesen Sie denselben Knoten:

```shell
krxclient read hdvisionsystems/lumiscan-cam-driver/camera1/control/status/code
krxclient read hdvisionsystems/lumiscan-cam-driver/camera1/control/status/text
```

`krxclient` gibt den Wert zusammen mit seinem Typ als JSON aus. Drei weitere Befehle helfen bei der Orientierung:

```shell
krxclient browse   hdvisionsystems/lumiscan-cam-driver/camera1/control
krxclient metadata hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute
krxclient tree     hdvisionsystems/lumiscan-cam-driver/camera1 --depth 2
```

`browse` listet die Kinder eines Ordners, `metadata` zeigt, was ein Knoten ist und was damit getan werden darf, `tree` gibt einen ganzen Zweig aus.

**Fertig, wenn:** `krxclient read` den Statuscode `0` zeigt.

## Schritt 4 - Einen Wert schreiben {#step-4}

Eingaben sind Knoten, die Sie schreiben, bevor Sie eine Funktion aufrufen. Schalten Sie als Beispiel die Vorschau des Kameramoduls ein, ein PNG jedes neuen Bildes:

**Auf der Keryx-Seite:** Wählen Sie `hdvisionsystems/lumiscan-cam-driver/camera1/input/preview/enable`, setzen Sie den Wert in seinem Editor auf `true` und bestätigen Sie.

**Mit krxclient:**

```shell
krxclient write hdvisionsystems/lumiscan-cam-driver/camera1/input/preview/enable true
krxclient read  hdvisionsystems/lumiscan-cam-driver/camera1/input/preview/enable
```

`krxclient write` übernimmt den Typ des aktuellen Werts des Knotens; ein Wert, der nicht zum Typ passt, wird abgelehnt, bevor etwas gesendet wird.

> [!TIP]
> Nehmen Sie die Knoten, die Sie verfolgen, in die **Beobachtungsliste** (Watch list) der Keryx-Seite auf. Sie zeigt ihre Werte, während sie sich ändern - nützlich im nächsten Schritt.

**Fertig, wenn:** `hdvisionsystems/lumiscan-cam-driver/camera1/input/preview/enable` den Wert `true` hat.

## Schritt 5 - Die Kamera mit einem Handshake verbinden {#step-5}

Das Verbinden einer Kamera kann einige Sekunden dauern, deshalb ist es ein **Handshake**: Sie und die App wechseln sich auf zwei Knoten ab, `ready` (gesetzt von der App) und `request` (gesetzt von Ihnen).

### Von Hand, auf der Keryx-Seite {#step-5-by-hand}

Nehmen Sie diese Knoten in die Beobachtungsliste auf:

- `hdvisionsystems/lumiscan-cam-driver/camera1/control/connect-camera/ready`
- `hdvisionsystems/lumiscan-cam-driver/camera1/control/connect-camera/request`
- `hdvisionsystems/lumiscan-cam-driver/camera1/control/status/code`
- `hdvisionsystems/lumiscan-cam-driver/camera1/device-info/is-connected`

Dann:

1. Prüfen Sie, dass `ready` den Wert `true` hat: Die App kann die Funktion starten.
2. Setzen Sie `request` auf `true`: Sie fordern sie an.
3. Beobachten Sie, wie `ready` auf `false` wechselt: Die App hat die Anforderung gesehen. Der Statuscode zeigt `3` (wartet auf Sie).
4. Setzen Sie `request` wieder auf `false`: Sie bestätigen. Die App verbindet jetzt die Kamera.
5. Beobachten Sie, wie `is-connected` auf `true` wechselt und der Statuscode wieder `0` wird.

> [!NOTE]
> Nach einer erfolgreichen Verbindung bleibt `connect-camera/ready` auf `false` - die Kamera ist ja schon verbunden. Prüfen Sie das Ergebnis mit `is-connected`, nicht mit `ready`.

### Mit einem Befehl {#step-5-krxclient}

`krxclient handshake` führt dieselbe Abfolge so aus, wie es eine SPS tut. Um es auszuprobieren, trennen Sie die Kamera zuerst - ebenfalls ein Handshake - und verbinden sie dann wieder:

```shell
krxclient handshake hdvisionsystems/lumiscan-cam-driver/camera1/control/disconnect-camera --status hdvisionsystems/lumiscan-cam-driver/camera1/control/status
krxclient handshake hdvisionsystems/lumiscan-cam-driver/camera1/control/connect-camera --status hdvisionsystems/lumiscan-cam-driver/camera1/control/status
krxclient read hdvisionsystems/lumiscan-cam-driver/camera1/device-info/is-connected
```

Jeder Handshake gibt am Ende Statuscode und -text aus. Mit `--trace handshake.jsonl` schreibt er jede Änderung von `ready` und des Status mit Zeitpunkt in eine Datei - ein Protokoll dessen, was die App wann getan hat.

**Fertig, wenn:** `hdvisionsystems/lumiscan-cam-driver/camera1/device-info/is-connected` den Wert `true` hat.

## Schritt 6 - Ein Bild mit einer Execute-Methode aufnehmen {#step-6}

Ein Bild aufzunehmen geht schnell, deshalb ist es eine **Execute-Methode**: ein Schreibzugriff, beantwortet, wenn die Arbeit erledigt ist.

```shell
krxclient read    hdvisionsystems/lumiscan-cam-driver/camera1/output/package-identifier
krxclient execute hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute
krxclient read    hdvisionsystems/lumiscan-cam-driver/camera1/control/status/code
krxclient read    hdvisionsystems/lumiscan-cam-driver/camera1/output/package-identifier
```

Auf der Keryx-Seite hat dieselbe Methode eine Schaltfläche **Invoke**.

Prüfen Sie immer zwei Dinge:

1. **Konnte der Aufruf ausgeführt werden?** `krxclient` endet mit `0`, wenn die App den Aufruf angenommen hat, mit `1`, wenn Keryx ihn abgelehnt hat - zum Beispiel weil die Kamera nicht verbunden ist - und mit `2` bei einer Zeitüberschreitung.
2. **War er erfolgreich?** Der Statuscode ist `0`, und `output/package-identifier` ist um eins gestiegen. Das Bild liegt jetzt auf `hdvisionsystems/lumiscan-cam-driver/camera1/output/image`, mit `width`, `height` und `pixel-type`.

> [!NOTE]
> Eine simulierte Kamera spielt die Bilder aus ihrem Speicherordner ab, eines je Aufnahme. Ist der Ordner leer, schlägt die Aufnahme fehl: Der Statuscode ist kleiner als `0`, und `control/status/text` nennt den Grund. Auch das ist eine nützliche Übung. Um Bilder zu bekommen, legen Sie ein paar PNG-Dateien in den Unterordner `camera1` des Speicherordners, den `system/storage` in `lumiscan-cam-driver.json` nennt - fügen Sie einen Speicher hinzu, wenn keiner eingetragen ist -, starten Sie den Cam Driver neu und verbinden Sie erneut. [Anleitung: Mit Beispielbildern statt einer Kamera testen](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/latest/how-tos/test-with-example-images.html) zeigt dasselbe auf ctrlX OS; die Einstellungen sind auf einem PC dieselben.

**Fertig, wenn:** Sie `capture/execute` aufgerufen und das Ergebnis auf `control/status/code` gelesen haben.

## Schritt 7 - Aufräumen {#step-7}

1. Trennen Sie die Kamera:
   ```shell
   krxclient handshake hdvisionsystems/lumiscan-cam-driver/camera1/control/disconnect-camera --status hdvisionsystems/lumiscan-cam-driver/camera1/control/status
   ```
2. Beenden Sie den Cam Driver mit Strg+C in seinem Terminal.

Der Broker läuft weiter; die nächste App, die Sie starten, nutzt ihn wieder.

## Was Sie getan haben {#what-you-did}

| Sie haben | Auf der Keryx-Seite | Mit krxclient - und in einer SPS oder einem Programm |
| --- | --- | --- |
| einen Wert gelesen | den Knoten wählen | `krxclient read`; eine SPS liest den OPC-UA- oder ctrlX-Data-Layer-Knoten |
| einen Wert geschrieben | der Editor des Knotens | `krxclient write`; eine SPS schreibt den Knoten |
| einen Handshake ausgeführt | `request` setzen, `ready` beobachten | `krxclient handshake`; eine SPS setzt `request` und fragt `ready` alle 50 bis 100 ms ab |
| eine Execute-Methode aufgerufen | **Invoke** | `krxclient execute`; über OPC UA ein Methodenaufruf |

## Wie es weitergeht {#next}

- Die Apps aus einer SPS nutzen: [OPC UA Connector](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/opc-ua.html) auf einem PC [Eine SPS anbinden](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/ctrlx-data-layer.html#connecting-a-plc) auf ctrlX OS.
- Jedes Bild ohne Aufruf je Bild erhalten: [Streams](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/streams.html).
- Die Regeln jedes Musters: [Handshake](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/handshake.html) und [Execute-Methoden](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/execute.html).
- Was die Statuscodes bedeuten: [Statuscodes und Ergebnisse](https://docs.hdvisionsystems.com/de/lumiscan-keryx-de/1.0.0/status-codes.html).
- Eine vollständige Anwendung mit Kamera, Teilesuche und SPS: [Ihre erste industrielle Vision-Anwendung](https://docs.hdvisionsystems.com/de/getting-started/first-application.html).
