What is a Recipe ?
A recipe in the context of this specification is a description of single steps (called recipe elements) that can be performed sequentially and/or in parallel. Within a recipe there can be different types of steps. This specification defines the following recipe steps:
- user instruction
- conditional sleep
The list of defined steps is not complete and can be extended vendor-specifically or in later versions.
Structures of Recipes for Weighing Technology
In this chapter, the structure of a recipe will be described in more detail. Each recipe contains a start and an end element as well as many recipe steps and dependencies between the individual steps. The following sequences must be modeled for typical scale applications:
- A recipe element is activated when another recipe element is finished (sequential).
Figure B.1 – Sequential part of a recipe with two recipe steps
- Several steps can be activated in parallel (forking). If several recipe elements are activated, the scale must decide whether they can be started independent of each other (“real simultaneous”) or must be processed sequentially (“quasi-simultaneous”). The scale does not guarantee a sequential sequence.
Figure B.2 – Forking part of a recipe with two simultaneous steps
- A step is not activated until several other steps have been completed (joining).
Figure B.3 – Joining part of a recipe waiting on two other steps
A recipe represents a directed graph without cycles. A recipe element A may therefore only refer to a recipe element B if there is no path between the start and A where B is an element.