---
title: "Rezepteinstellungen"
description: "Rezepteinstellungen von LumiScan VGR (ab v2.0.0) - Produktionszyklen mit Kamera, Pipeline, Roboter und Befehlen, per SPS, OPC UA oder Skript gestartet."
product: "LumiScan VGR"
component: "lumiscan-vgr-de"
version: "1.8.4"
display_version: "1.8.4.8"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-vgr-de/json-settings/recipes.html"
---

# Rezepteinstellungen – LumiScan VGR

*Ab v2.0.0.*

Der optionale Abschnitt `recipes` listet benannte Produktionszyklen auf. Ein Rezept nennt die Kamera, die Pipeline und den Roboter, die ausgewählt werden, und die Befehle, die damit ausgeführt werden. Die SPS (Prozedur **RunRecipe**, siehe [Ein Rezept ausführen](https://docs.hdvisionsystems.com/de/lumiscan-vgr-de/plc-settings.html#run-recipe)), ein OPC-UA-Client (`RunRecipe`, `RunRecipeWithPose`) oder der Skriptmodus (`RUN_RECIPE`) führt dann einen ganzen Zyklus mit einem Aufruf aus, statt Kamera, Pipeline und Roboter auszuwählen und jeden Schritt einzeln zu starten.

```json
"recipes": [
    {
        "recipeId": "small-parts",
        "cameraId": "camera-1",
        "pipelineId": "small-parts",
        "robotId": "robot-1",
        "commands": [
            { "command": "CAPTURE_IMAGE" },
            { "command": "COMPUTE_2D" },
            { "command": "COMPUTE_3D" },
            { "command": "GET_BEST_RESULT" }
        ]
    }
]
```

| Schlüssel | Bedeutung |
| --- | --- |
| `recipeId` | Die ID, mit der **RunRecipe** aufgerufen wird; eindeutig unter den Rezepten. Bei PROFINET hat sie höchstens 32 Zeichen, weil die SPS sie im 32-Byte-Feld `IN_ParamArgString` übergibt; LumiScan VGR weist eine längere ID beim Start zurück. |
| `cameraId`, `pipelineId`, `robotId` | Die Kamera (`cameras[]`), die Pipeline (`pipelines[]`) und der Roboter (`robots[]`), die das Rezept auswählt. |
| `commands` | Optional. Befehle des Skriptmodus mit denselben Namen, die der Reihe nach ausgeführt werden. Ohne `commands` läuft der Standardzyklus `CAPTURE_IMAGE`, `COMPUTE_2D`, `COMPUTE_3D`, `GET_BEST_RESULT`; eine leere Liste wählt nur Kamera, Pipeline und Roboter aus.<br> `SET_CAMERA`, `SET_PIPELINE`, `SET_ROBOT` und `RUN_RECIPE` sind nicht erlaubt: Diese werden durch die IDs des Rezepts ausgewählt.<br> `SET_POSE` mit einem `argument` setzt die Roboterpose für eine Kamera, die der Roboter trägt, im `poseFormat` des Roboters (siehe [Hand-Auge-Kalibrierung](https://docs.hdvisionsystems.com/de/lumiscan-vgr-de/json-settings/robots.html#hand-eye-calibration)); sie hat Vorrang vor einer Pose, die der Aufrufer übergibt. |

Der erste fehlschlagende Befehl beendet den Lauf. Ausnahmen sind nur `GET_POSE`, `GET_TEMPERATURE`, `GET_BEST_TRAJECTORY` und `GET_USED_HALCON_MODULES`: Sie melden nur, daher wird ihr Fehlschlagen protokolliert und das Rezept läuft weiter.

Ein Rezept kann direkt in `recipes[]` stehen oder in einer eigenen Datei gehalten und per `$import` eingebunden werden. Sein Schema ist `recipe.schema.json`.
