Skip to main content
Version: Next

Using Recipe Management

This guide walks you through configuring and using the Recipe Management system to store and apply production parameters.


Overview

Recipe Management consists of two phases:

  1. Recipe Configuration (Development): Define recipe sets, parameters, and recipes
  2. Recipe Application (Runtime): Switch and apply recipes in production

💡 Tip: Recipe parameter values configured in development are synchronized only on the first runtime. Subsequent changes in development do not affect runtime values.


Part 1: Recipe Configuration

Configure recipes in the development environment before using them in production.

Step 1: Create a Recipe Set

Recipe sets group related recipes together (e.g., all coffee variants, all paint colors).

  1. Navigate to Basic Management > Recipe Management
  2. Click Add Recipe Set
  3. Enter a descriptive name (e.g., "Coffee Recipes", "Paint Formulas")
  4. Click Confirm

📷 [Screenshot: Recipe Management interface showing recipe set list]

💡 Tip: Organize recipes by product line, equipment, or production area for easier management.

Step 2: Define Recipe Parameters

Recipe parameters are the values that vary between recipes (temperature, speed, ingredient ratios, etc.).

  1. Select the recipe set
  2. Click the Parameters tab
  3. Click Add Parameter
  4. Configure parameter properties:
PropertyDescriptionExample
Parameter NameDescriptive nameCoffee_Beans_Ratio
Data TypeValue typeFloat, Int, Bool, String
UnitMeasurement unit (optional)%, °C, kg
Linked TagTag to write value toLine1.CoffeeBeansRatio
Default ValueInitial value0.0
  1. Click Confirm
  2. Repeat to add all parameters

📷 [Screenshot: Parameter configuration dialog]

⚠️ Caution: All recipes in the same recipe set share the same parameter definitions. Ensure parameters are applicable to all recipes in the set.

Example Parameters for Coffee Recipe Set:

Parameter NameData TypeUnitLinked TagDefault
Coffee_BeansFloatgLine1.CoffeeBeansAmount0.0
MilkFloatmlLine1.MilkAmount0.0
SugarFloatgLine1.SugarAmount0.0
WaterFloatmlLine1.WaterAmount0.0
TemperatureFloat°CLine1.BrewTemperature0.0

Step 3: Create Recipes

Create individual recipes with specific parameter values.

  1. Select the recipe set
  2. Click the Recipes tab
  3. Click Add Recipe
  4. Enter recipe name (e.g., "Latte", "Espresso", "Cappuccino")
  5. Set parameter values for this recipe:

Example: Latte Recipe

ParameterValue
Coffee_Beans18.0 g
Milk200.0 ml
Sugar5.0 g
Water50.0 ml
Temperature92.0 °C
  1. Click Save
  2. Repeat to create more recipes

📷 [Screenshot: Recipe configuration showing parameter values]

💡 Tip: Use descriptive recipe names that clearly identify the product variant.

Step 4: Save Configuration

  1. Click Save to save all changes
  2. The recipe configuration is now ready for runtime use

Part 2: Recipe Application

Use recipes in production through the Recipe Management component or custom interfaces.

Method 1: Using Recipe Management Component

The system provides a pre-built Recipe Management component with all recipe operations.

Add Component to View

  1. Open a view in the View Editor
  2. Navigate to Components > Runtime
  3. Drag Recipe Management component to the canvas
  4. Resize and position as needed

📷 [Screenshot: Recipe Management component in component library]

Component Features

The Recipe Management component provides:

FeatureDescription
Recipe Set SelectorDropdown to switch between recipe sets
Recipe ListDisplay all recipes in current set
Recipe SelectorDropdown to switch recipes
Parameter DisplayShow current recipe parameter values
Apply ButtonApply current recipe to equipment
Save ButtonSave changes to recipe
New RecipeCreate new recipe
Delete RecipeRemove current recipe
Duplicate RecipeCreate copy of current recipe
Read from EquipmentRead current tag values into recipe

📷 [Screenshot: Recipe Management component showing all features]

Using the Component

Switch Recipe Set:

  1. Click the recipe set dropdown
  2. Select desired recipe set
  3. Recipe list updates automatically

Switch Recipe:

  1. Click the recipe dropdown
  2. Select desired recipe
  3. Parameter values update automatically

Apply Recipe:

  1. Select the recipe to apply
  2. Click Apply button
  3. Parameter values are written to linked tags
  4. Equipment receives new setpoints

Create New Recipe:

  1. Click New Recipe button
  2. Enter recipe name
  3. Set parameter values
  4. Click Save

Edit Recipe:

  1. Select recipe to edit
  2. Modify parameter values
  3. Click Save to save changes

Delete Recipe:

  1. Select recipe to delete
  2. Click Delete button
  3. Confirm deletion

Duplicate Recipe:

  1. Select recipe to duplicate
  2. Click Duplicate button
  3. New recipe is created with same parameter values
  4. Rename and modify as needed

Read from Equipment:

  1. Select recipe to update
  2. Click Read from Equipment button
  3. Current tag values are read into recipe parameters
  4. Click Save to save updated values

Method 2: Custom Recipe Interface

Build your own recipe interface using event-actions for complete control over the UI and workflow.

Available Recipe Actions

Configure recipe actions through event-actions:

ActionDescriptionParameters
Switch Recipe SetChange active recipe setRecipe set name (fixed or variable)
Switch to First RecipeLoad first recipe in setNone
Switch to Previous RecipeLoad previous recipeNone
Switch to Next RecipeLoad next recipeNone
Switch to Last RecipeLoad last recipe in setNone
Switch RecipeLoad specific recipeRecipe name (fixed or variable)
Add RecipeCreate new recipeNone
Rename RecipeChange recipe nameNew name (variable)
Delete RecipeRemove recipeNone
Save RecipeSave parameter valuesNone
Read from EquipmentRead tag values to recipeNone
Apply RecipeWrite recipe to equipmentNone
Duplicate RecipeCreate copy of recipeNone

💡 Tip: See Creating Event-Actions for detailed instructions on configuring recipe actions.

System Variables for Recipe Display

Use these system variables to display recipe information:

VariableDescriptionUse Case
Current Recipe SetName of active recipe setDisplay in title
Current Editing RecipeName of recipe being editedDisplay in header
Current Applied RecipeName of last applied recipeShow active recipe
Recipe Parameter ValuesArray of current parameter valuesDisplay in table/form
Recipe Parameter NamesArray of parameter namesDisplay labels

Example: Custom Recipe Interface

Scenario: Build a coffee production interface with recipe switching and application.

Components:

  • Text display: Show current editing recipe
  • Text display: Show current applied recipe
  • Dropdown: Select recipe
  • Table: Display parameter values
  • Button: Apply recipe
  • Button: Save recipe

Configuration Steps:

  1. Display Current Editing Recipe:

    • Add Text Display component
    • Link to system variable: Current Editing Recipe
  2. Display Current Applied Recipe:

    • Add Text Display component
    • Link to system variable: Current Applied Recipe
  3. Recipe Selector Dropdown:

    • Add Dropdown component
    • Data source: Data Management > Recipe Records
    • Field: Recipe Name
    • Add event: Input Change
    • Add action: Recipe Control > Switch Recipe
    • Recipe name: event.target.value

📷 [Screenshot: Dropdown configuration for recipe selection]

  1. Parameter Display Table:

    • Add Table component
    • Data source: Data Management > Recipe Records
    • Dimensions: Parameter Name, Parameter Value
  2. Apply Recipe Button:

    • Add Button component
    • Add event: Click
    • Add action: Recipe Control > Apply Recipe
  3. Save Recipe Button:

    • Add Button component
    • Add event: Click
    • Add action: Recipe Control > Save Recipe
  4. Parameter Value Editors:

    • Add Read/Write Box components for each parameter
    • Link to system variable: Recipe Parameter Values[index]
    • Values update automatically when recipe switches

📷 [Screenshot: Custom recipe interface layout]


Advanced Scenarios

Scenario 1: Barcode-Driven Recipe Selection

Use Case: Scan product barcode to automatically load and apply the corresponding recipe.

Implementation:

  1. Configure barcode scan event (Global or View level)
  2. Add condition: Validate barcode format
  3. Add actions:
    • Query database for product info using barcode
    • Switch recipe using product's recipe name
    • Apply recipe
    • Display confirmation notification

Event Configuration:

Event: Barcode Scan
Condition: event.code.StartsWith("PROD")
Actions:
1. Query to Tags: SELECT RecipeName FROM Products WHERE Barcode = event.code
2. Recipe Control > Switch Recipe: RecipeName variable
3. Recipe Control > Apply Recipe
4. System Notification: "Recipe applied: " + RecipeName

Scenario 2: Recipe Switching with Navigation Buttons

Use Case: Provide Previous/Next buttons to cycle through recipes.

Implementation:

  1. Add "Previous Recipe" button:

    • Event: Click
    • Action: Recipe Control > Switch to Previous Recipe
  2. Add "Next Recipe" button:

    • Event: Click
    • Action: Recipe Control > Switch to Next Recipe
  3. Add recipe counter display:

    • Text: "Recipe {current} of {total}"
    • Use system variables or custom calculation

Scenario 3: Recipe Modification with Confirmation

Use Case: Require confirmation before saving recipe changes.

Implementation:

  1. Add "Save" button:

    • Event: Click
    • Action: View > Popup View (Confirmation dialog)
  2. Create confirmation dialog view:

    • Add message: "Save changes to recipe?"
    • Add "Confirm" button:
      • Action 1: Recipe Control > Save Recipe
      • Action 2: View > Close View
      • Action 3: System Notification: "Recipe saved"
    • Add "Cancel" button:
      • Action: View > Close View

Scenario 4: Read Equipment Values into Recipe

Use Case: Capture current equipment settings as a new recipe.

Implementation:

  1. Add "Capture Current Settings" button:

    • Event: Click
    • Actions:
      1. Recipe Control > Add Recipe
      2. Recipe Control > Read from Equipment
      3. Recipe Control > Save Recipe
      4. System Notification: "New recipe created from current settings"
  2. Add recipe name input:

    • Read/Write Box linked to variable: NewRecipeName
    • Modify action 1 to use this variable for recipe name

Scenario 5: Recipe Comparison

Use Case: Compare parameter values between two recipes.

Implementation:

  1. Add two recipe selectors (Dropdown A and Dropdown B)
  2. Add comparison table:
    • Columns: Parameter Name, Recipe A Value, Recipe B Value, Difference
    • Data source: Custom query joining recipe data
  3. Highlight differences with conditional formatting

Data Tables

Recipe Management automatically creates data tables for recipe storage and history.

Recipe Records Table

Stores all recipe configurations.

FieldDescription
Recipe SetRecipe set name
Recipe NameRecipe name
Parameter NameParameter name
Parameter ValueParameter value
Data TypeParameter data type
UnitParameter unit
Linked TagAssociated tag
Last ModifiedLast update timestamp

Usage:

  • Query recipes for dropdown lists
  • Display recipe history
  • Export recipe configurations

Recipe Application Log

Records when recipes are applied.

FieldDescription
TimestampWhen recipe was applied
Recipe SetRecipe set name
Recipe NameRecipe name
UserUser who applied recipe
EquipmentTarget equipment
StatusSuccess/Failure

Usage:

  • Audit trail for recipe changes
  • Troubleshoot production issues
  • Analyze recipe usage patterns

Best Practices

Recipe Organization

Naming Conventions:

  • Use descriptive, consistent names
  • Include product variant: "Coffee_Latte_Medium"
  • Avoid generic names: "Recipe1", "Test"

Recipe Set Structure:

  • Group by product family or equipment
  • Limit recipe sets to 20-30 recipes for usability
  • Create separate sets for different production lines

Parameter Management:

  • Define only essential parameters
  • Use consistent units across parameters
  • Document parameter meanings and ranges

Recipe Application

Testing:

  • Test new recipes in development environment first
  • Verify parameter ranges are within equipment limits
  • Confirm linked tags are correct

Change Control:

  • Document recipe changes with notes
  • Keep backup copies of working recipes
  • Test recipe changes during planned downtime

Operator Training:

  • Train operators on recipe switching procedures
  • Establish clear guidelines for when to switch recipes
  • Define approval process for recipe modifications

Data Management

Recipe Versioning:

  • Use recipe duplication to create versions
  • Name versions clearly: "Latte_v1", "Latte_v2"
  • Archive old recipes instead of deleting

Backup and Recovery:

  • Export recipe configurations regularly
  • Store backups in version control
  • Document recipe restoration procedures

Performance:

  • Limit number of parameters per recipe (< 50)
  • Avoid frequent recipe switching (< 1 per minute)
  • Monitor tag write performance during application

Troubleshooting

Recipe Not Applying

Problem: Clicking "Apply" doesn't update equipment.

Possible Causes:

  1. Linked tags are incorrect or don't exist
  2. Tag write permissions are insufficient
  3. Equipment communication is offline

Solutions:

  1. Verify tag names in parameter configuration
  2. Check tag access mode (must be Read/Write or Write Only)
  3. Test tag writes manually using Read/Write Box
  4. Check equipment communication status
  5. Review system logs for error messages

Parameter Values Not Saving

Problem: Changes to parameter values are lost after switching recipes.

Possible Causes:

  1. "Save" button not clicked
  2. Recipe is read-only
  3. Database write error

Solutions:

  1. Always click "Save" after modifying values
  2. Check recipe permissions
  3. Verify database connection
  4. Review system logs for errors

Recipe Selector Shows No Recipes

Problem: Recipe dropdown is empty.

Possible Causes:

  1. No recipes created in selected recipe set
  2. Recipe set not selected
  3. Data query error

Solutions:

  1. Verify recipes exist in recipe set
  2. Select correct recipe set
  3. Check data source configuration in dropdown
  4. Verify Recipe Records table has data

Custom Interface Not Updating

Problem: System variables don't update when recipe changes.

Possible Causes:

  1. Variables not linked correctly
  2. Event-actions not configured properly
  3. Recipe actions not executing

Solutions:

  1. Verify system variable names are correct
  2. Check event-action configuration
  3. Test recipe actions individually
  4. Add System Notification actions to debug execution flow

Recipe Application Slow

Problem: Applying recipe takes several seconds.

Possible Causes:

  1. Too many parameters
  2. Slow tag writes
  3. Network latency to equipment

Solutions:

  1. Reduce number of parameters
  2. Optimize tag polling settings
  3. Check network connection to equipment
  4. Consider batching tag writes

Next Steps

Now that you know how to use Recipe Management, explore: