FabyaVisionUser Manual
/

Designing recipes

14 min readRecipes

Defining recipes, their elements and ready-made records; group, approval, total rule and PLC transfer settings; recipe objects and design screens.

A recipe is a data set that brings together the production parameters of a product (quantities, temperatures, times …). In Studio you define a recipe in the Recipes section; each element of the recipe is bound to a tag. The records of the recipe (product recipes) can be entered in advance in Studio or are created by the operator in Live and loaded to the PLC. For the operator side, see Operator recipe handling.

The section consists of four tabs: Recipes (definition and elements), Recipe data records, Screen design and Transfer and rules.

Defining recipes and elements

  1. Add the recipe

    On the Recipes tab, click Add; enter a Name (example: Serbet) and, optionally, a Display name.

  2. Add the elements

    With a recipe row selected, add one row to the Recipe elements table for each parameter. Select the tag to which the value will be written from the Tag list; if no tag is selected, the element cannot be loaded to the PLC (the Problems list warns about this).

  3. Enter the type and limits

    Fill in the Data type (integer, decimal, text), Default, Min and At most fields. Every value entered in the records is checked against these rules.

  4. Enter the records or create them in Live

    For ready-made recipes, use the Recipe data records tab.

Recipes tab: the recipe on the left, its elements on the right. You can adjust the width of the two tables by dragging the splitter.12345
Recipes tab: the recipe on the left, its elements on the right. You can adjust the width of the two tables by dragging the splitter.
  1. Display name — the recipe name shown in Live.
  2. Maximum records — the number of records kept in this recipe.
  3. Element — one value of the recipe (the name is unique).
  4. Tag — the tag the value is written to.
  5. Data type — integer, decimal or text.

For a similar recipe, duplicate the recipe row (Ctrl+D; Table editor). The copy comes with its elements, records, element groups and total rule; the records and rules of the copy are linked to the copy's own elements and do not affect the original recipe. Design screens linked to the recipe are not copied.

Recipe columns

ColumnMeaning
Name, Display nameDefinition name and the name shown in Live.
Max. recordsThe number of records that can be kept in the recipe (1 – 100 000, default 500). When the limit is reached, a new record, a copy or a record from the PLC is rejected.
Authorization groupIf selected, only users in this group can modify the recipe (save, delete, load to the PLC …). If empty ((herkes)), everyone with the Recipe change authorization can modify it (Using authorizations).
PLC transfer, RulesCalculated summary columns: the DIRECT or HANDSHAKE mode and read-back; number of groups, total rule and approval condition. They reflect the settings on the Transfer and rules tab.

Element columns

Right-hand columns of the element table (scrolled horizontally): length, default, limits, unit, group, appearance, tolerance and lock.
Right-hand columns of the element table (scrolled horizontally): length, default, limits, unit, group, appearance, tolerance and lock.
ColumnMeaning
Element, Display nameDefinition name (unique) and the name shown in Live.
TagThe tag through which the value is written to the PLC and the PLC value is read.
Data type, LengthInteger, Decimal or Text. The length (1 – 254) is enabled only for the text type; a text value cannot exceed this length. When the type changes, the default and the limits are adapted.
DefaultThe start value of the new record; the tolerance is also calculated relative to this value. A decimal default is rejected for an integer element.
Min, At mostAccepted value range (disabled for text). The minimum cannot be greater than the maximum.
UnitThe unit shown in the title and in the box (kg, L, °C …).
GroupA group defined in the Transfer and rules tab; in Live it becomes a tab or a heading.
ViewHow the operator enters the value: Automatic, Number box, Slider (between min / max), Switch (off / on) or Selection list. A slider requires minimum and maximum values and a selection list requires a list of options; otherwise a box is used.
Step, DecimalStep of the increase / decrease button and the slider (empty = automatic, 1 for integers); number of decimal places shown in the box (0 – 6, empty = as is).
Tolerance, Tol. typeThe tolerance accepted around the target (default) value: Absolute (in the unit of the element) or Percent (% of the default). A record value outside it gets a yellow warning in Live; it is the “counts as equal” margin in the PLC comparison and in read-back.
LockedIf checked, the operator cannot change the value; it can be changed only from Studio or from Excel.
DescriptionThe description shown below the element in Live.

The Options… button on the toolbar edits the “value → text” list for the selected element (example: 0 = Kapalı, 1 = Açık). In Live the element's value is selected from this list; the switch appearance uses 0 / 1.

Recipe data records

This tab has the recipe list on the left and the records of the selected recipe on the right: each row is a record and each element is a column. The Status column is either Approved or Draft; a new row is created with the default values of the elements; Fill with defaults resets all values of the selected records to their defaults. Each cell is checked against the rule of its element (number, integer, minimum / maximum, text length). The table can be exported to Excel, filled in and imported back (Working with Excel).

Recipe data records: each row is a recipe, each column an element.
Recipe data records: each row is a recipe, each column an element.

Transfer and rules

Enter the groups, the approval condition, the total rule and the PLC transfer settings of the selected recipe on this tab.

Transfer and rules tab: element groups, approval, total rule, PLC transfer, handshake tags and validation settings.
Transfer and rules tab: element groups, approval, total rule, PLC transfer, handshake tags and validation settings.
Element groups
Table of names and colors. Elements are bound to the group through the Group column; in Live, the elements are collected under tabs or headings.
Approval › Approval required for loading
If on, only Approved records are loaded to the PLC. A modified record becomes Draft again; approval is given in Live with the Approve button.
Approval › Group that can approve
If empty, everyone with the Recipe change authorization approves; if a group is selected, only the users in that group.
Total rule
The sum of the selected elements must be Target total ± Tolerance (example: mixture quantities 900 ± 5). If out of rule: Block saving and loading to the PLC or Warn only. The placeholders {toplam}, {hedef} and {fark} can be used in the Warning text. The elements to be included in the sum are checked in the list next to it.
PLC transfer
Transfer mode, Ask for confirmation before loading and On a write error (Stop at first error or Log the error and continue writing the remaining elements).
Handshake tags
Only in handshake mode: Trigger tag (required), Ready tag, Busy tag, Done tag, Error tag, Error code tag and Timeout (s) (1 – 600, default 10).
Verification and script
Read-back verification (on / off), Read-back tolerance, Wait before reading (ms) (default 300), Before script, After script and Transfers kept in history (10 – 2000, default 200).

How the transfer works

When the operator clicks Load to PLC, Live performs the following steps in order; only the steps you have configured run, and a preview of this sequence appears below the tab.

  1. Validation and preparation

    The record is checked (including the total rule and the approval condition); in handshake mode the trigger tag must be defined, and all selected tags must exist in the project.

  2. Script first

    It runs if selected; if the script raises an error, the transfer does not start.

  3. PLC ready

    (With handshake) Waits up to the timeout period until the Ready tag is 1 and the Busy tag is 0.

  4. Write values

    The value of every element that has a bound tag is written. If Stop at first error is selected, the PLC is not triggered when a write error occurs.

  5. Trigger, PLC busy, wait for Done / error

    (With handshake) 1 is written to the trigger tag; the transfer is considered finished when the PLC becomes busy and then the Done tag becomes 1 (or, if there is no done tag, when busy changes from 1 → 0). If the Error tag becomes 1, the transfer ends with an error; if there is an Error code tag, the code is added to the message. When the job ends (success, error, timeout, cancellation), the trigger tag returns to 0.

  6. Read-back verification

    The written values are read back after a wait; if the difference exceeds the larger of the read-back tolerance and the element's tolerance, the transfer returns an error.

  7. After script and result log

    The after script runs; the active recipe and the transfer history are updated and written to the event log.

Screen design and recipe objects

The default Recipe view object (Controls group) offers the list, table, comparison and history in one package. If you want your own layout, you design a free 2D screen for this recipe on the Screen design tab. The screen is opened directly from the navigation menu, or embedded in another screen with the Screen design property of the Recipe view.

Creating a design screen from a template

  1. Open the window

    On the Screen design tab, click the New design screen… button or the Add new design screen row below the table. The same command is also available in the project tree under the Recipes node and in its context menu. If the project has no recipe, you are first asked to define one.

  2. Select the recipe and the template

    On the left of the New recipe design screen window, select the recipe. The template cards are arranged in groups, and each card is drawn with the elements of the selected recipe. When you click a card, its large preview, size and description appear on the right.

  3. Select the color theme and logo

    Color theme: Navy, Graphite, Petrol, Burgundy; the last choice is remembered on this computer. Logo: None, one of the project images or From file… (PNG, JPEG, SVG, GIF, WebP, BMP; max. 3 MB). The logo sits in the header band; an image selected from a file is added to the project images.

  4. Give it a name and create it

    Screen name is suggested from the names of the recipe and the template (for example Serbet_Kontrol); you can change it. Create adds the screen and opens it in the editor. The operation is a single undo step. The template only arranges the objects; afterwards you can freely move, delete or change any object.

New recipe design screen: template cards drawn with the Syrup recipe; Control Center selected.123456
New recipe design screen: template cards drawn with the Syrup recipe; Control Center selected.
  1. Recipe — the cards are drawn with the elements of this recipe.
  2. Template groups — desktop, touch and window, basic (Blank).
  3. Large preview — the selected template, its description and size.
  4. Color theme — Navy, Graphite, Teal, Burgundy.
  5. Logo — none, a project image or from a file.
  6. Screen name — suggested from the recipe and template.
GroupTemplateSizeContent
Desktop screenForm1920 × 1080+Header band, record selector and button card, two-column field cards split into groups, status strip.
Master-detail1920 × 1080+Searchable record list on the left; buttons and group cards with PLC values on the right.
Control Center1920 × 1080Four indicator boxes, an element table with group tabs, a PLC transfer panel and the transfer history.
Table Editor1920 × 1080Full-width element table; Export to Excel / Import from Excel, print and PLC buttons.
Comparison1920 × 1080Large difference table (entries ↔ PLC) and change summary boxes.
Dosing Recipe1920 × 1080+Grouped fields; on the right a total indicator, transfer steps and load to PLC / cancel.
Batch Loading Flow1920 × 1080Three steps: select the record, check the differences, load to the PLC.
Touch and windowOperator Card1920 × 1080Large increase / decrease fields for touch panels (first 10 elements) and large action buttons.
Compact Window1024 × 640Pop-up window or small panel: record selector, element table, save and PLC buttons.
BasicEmpty1920 × 1080Screen without objects; objects are placed one by one from the Toolbox.

1920 × 1080+: if there are many elements, the screen grows taller until all fields fit.

A recipe design screen derived from the Form template, shown in Live: record selector, function buttons, element fields, total indicator and information fields.
A recipe design screen derived from the Form template, shown in Live: record selector, function buttons, element fields, total indicator and information fields.

In a design screen, the Recipe group appears in the toolbox:

ObjectPurpose
Recipe fieldThe value box of an element (number box, slider, switch or selection); limit band, PLC value, tolerance color, changed marker.
Record selectorDrop-down list or list box; search and status badges.
Recipe buttonFunction buttons: New, Copy, Rename, Save, Save as, Undo, Delete, Approve, Compare, Read from PLC, New record from PLC, Load to PLC, Cancel transfer, Refresh, Export, Import, Export to CSV, Print, Export to Excel, Import from Excel, Excel template.
Recipe infoRecipe name, record name, record count, state, active recipe, transfer state, total, number of changed items, approval state, last transfer.
Element table, Comparison, Transfer panel, Transfer history, Total indicator, Group tabsThe parts of the view as separate objects.

Limitations and points to note

  • Recipe records are kept not in the PLC but in the data folder of the Live computer (<Proje>.veri\depo\recete_<kimlik>.json). Values are written to the PLC only with Load to PLC.
  • The recipe definition should be checked with F7 before it is saved: warnings are issued by the rules for an element without a tag, an element whose default does not match its type, minimum > maximum, the total rule, handshake tags, and an element that has no field on the design screen.
  • If Recipes is switched off in the Startup sequence, saving, deleting and loading to the PLC do not work; records are not seeded into the store (Live settings›Startup sequence).
  • If the recipe definition is to be sent to the PLC by a script or scheduled task, a script definition is required for the Before script and After script fields.

Related topics

FabyaVision 1.2.1 User Manual · 2 November 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.