Recipes and Batch Processing

VTScada's Recipe Page, Recipe Book Tag and related tools provide support for batch processing operations.

Control over running the batch is expected to remain with the PLC. VTScada's role is to provide sets of values for the recipe used in a batch, start the run (if allowed by the PLC), and report when the batch has finished (if that information is provided by the PLC).

Recipes are not stored in databases

Recipes are stored under the VTScada Distributed Version Control System using CSV files, rather than under the Historian. Unlike other systems, where loss of access to the central database could cause downtime, the VTScada system ensures that production can continue because the files are synchronized across all workstations, automatically.

Any changes by an operator on any workstation will immediately be reflected in the running copy (and files) on all connected workstations. If a workstation was offline when an update was made, its copy of the recipes will be updated as soon as it comes back online.

The other benefit of storing recipes in the version control system is that you get a complete revision log of every change, including the ID of the operator and on which workstation that change was made.

Recipes can be imported from and exported to an external database to facilitate the use of other recipe management tools.

 

General Process

1) In all cases, the first step is to create a Recipe Book Tag. This will hold your recipes, and define the communication link to the PLC. (Refer to Tag Structure for Recipes)

2) A recipe needs ingredients, each of which is stored in a Recipe Ingredient Tag. These should be created as child tags of your RecipeBook\Ingredients tag.

Each Recipe Ingredient is a two-tag structure where the parent Ingredient tag holds the overall description of what the ingredient is, and a child I/O tag holds the I/O address and other parameters required to write a value for that ingredient to the PLC.

Optionally, some or all of your Recipe Ingredients can use a Recipe Proportions Tag. Use these when ingredient amounts should be multiplied by a given factor from one batch to another, or when amounts can vary proportionally to each other.

In each Recipe Book, there is only one Ingredient tag structure for each ingredient, no matter how many recipes or recipe versions call for that ingredient in varying amounts (including the amount of zero).

3) After creating the Recipe Book tag and a set of Recipe Ingredient tags, open The Recipe Page to set, retrieve, edit, and store ingredient amounts for each recipe in the Recipe Book. (It is possible, but rarely necessary, to build your own recipe page using the library of Recipe Management Widgets

After setting values for the ingredients that are included in a recipe, save them to a new recipe name. The option to set a version number is available only if you selected that feature when you created the Recipe Book tag.

Any ingredient that is not used in a given recipe should have a blank (or zero) value.

4) If your Recipe Book tag has a Start address and a Done address, run the batch when ready. The following example uses a single (optional) Recipe Proportion tag for both the key ingredients.

Notes:

The amount for each ingredient in a recipe or recipe version is stored in a file that is controlled and maintained as part of the application's version control system. While ingredient values can be set individually by working with your Recipe Ingredient tags in the Recipe Page, it is also common to import ingredient values from either of:

  • A Microsoft Access file
  • A Microsoft Excel file

See: Import / Export Recipes

You can also start the retrieve process from the Tag Browser by a Recipe Book then clicking the Import button.