Recipes

The Recipes module in PLCVisu enables you to define, store, and apply groups of variable values as reusable configurations. Recipes are ideal for machine presets, production batches, or user-defined operating states. Recipes are created and managed in two layers: Recipe Definitions and Recipe Lists.


1. Recipe Definition

In the Recipe Definition section, you declare the structure of each recipe by specifying which variables will be included.

Parameters

Each entry includes:

  • Name: Full variable name from the PLC (e.g., [code_block_0])
  • Label: Display name in the UI (purpose TBD)
  • Min Value / Max Value: Input limits enforced in the frontend — users cannot enter values outside this range.
  • Value: Default or last-used value
  • Path: Variable binding to the target PLC (e.g., [code_block_1])

Variables defined here will be available as fields in any recipe item created in the Recipe List section.


2. Recipe List

The Recipe List contains named instances of actual recipes. Each item in the list represents a snapshot of values assigned to the variables defined in the Recipe Definition.

Parameters per Recipe

When creating or editing a recipe item:

  • You assign concrete values for each variable.
  • The UI respects the min/max limits defined earlier.
  • Each recipe can be labeled and named for selection in the frontend.

3. Frontend Recipe Control

In the HMI (frontend), a dedicated Recipe control allows operators to:

  • Switch between recipes using a dropdown selector
  • Download File: Export the current list of recipes (likely as [code_block_2], possibly also CSV – TBD)
  • Upload File: Import one or more recipes from file
  • View or edit existing recipes (based on permission)
  • Apply recipe: Push selected recipe values to the PLC

The "Status" field shows recipe state — details TBD.


4. Connection Binding

Recipe variables can be connected to different data sources:

  • [code_block_3] for Ethernet (local PLC)
  • WAGO Cloud (remote/cloud PLCs)

These connections are selected when defining variables in the Recipe Definition.


Summary

Feature Backend Frontend
Define Variables Recipe Definition
Create Recipe Items Recipe List Recipe Dropdown / Edit
Upload/Download Upload/Download File Btns
Bind to PLC Via variable Path + Connection Values pushed via control

Open Documentation Questions

These are pending until confirmed with your team:

  1. Min/Max enforcement
    Confirmed → enforced in UI; no manual entry beyond limits.

  2. Purpose of “Label” vs “Name”
    Is "Label" purely cosmetic, or does it affect display/localization?

  3. Recipe file format details
    [code_block_2] confirmed; but format contents (CSV, JSON?) still open.

  4. Behavior if uploaded recipe contains unknown variables
    Will the system ignore, warn, or error?

  5. Meaning of "Status" column in Recipe List and frontend
    What do values like “0” or “-” represent?

  6. Are value changes pushed instantly to the PLC when saved?
    Or only when "Apply" is triggered in frontend?