User Guide - Recipes

The recipe management system allows hmiMAX to download multiple values to a PLC (or Server Internal Memory data port) simultaneously with a single button. The group of values is stored in a recipe, while the organization of the values is stored in a recipe template.

Recipe Templates

A recipe template is created by the system developer using Maker prior to system commissioning. The template defines the number of steps in the recipe and the data tags where values will be written. The figure below shows an example recipe template definition with 10 steps and 3 data tags.


The step descriptions are the rows in the template definition table. The tag names are the column headers in the table. Supported tag types are: integer, float, and string. Boolean values are not currently supported; if the recipe is created from a Boolean "pin chart", combine the "pins" into a word value and use the word tag in the recipe template. While string tags are supported, it is not recommended to use string tags for Allen Bradley PLC's since writing strings is very inefficient. If possible, use string tags attached to "Internal Memory" data ports instead of actual PLC data ports. 

The tag assigned to the column of the recipe template becomes the first address in the PLC which a value is written to. In the example above, the first column has been assigned the tag "CIP #1.Recipe.Desc". This tag has been assigned the address "st9:0" in an Internal Memory data port. After a recipe has been created and loaded in Viewer, the values of the recipe will be written to the Internal Memory data port as follows: Step 1 value is written to st9:0, Step 2 value is written to st9:1, ... , Step 10 value is written to st9:9. Likewise, the second column in the template has been assigned the tag "CIP #1.Recipe.Time". This tag has been assigned the address "n7:0" in Allen Bradley Micrologix data port. When the recipe is loaded, the values of the recipe will be written to the Micrologix as follows: Step 1 value is written to n7:0, Step 2 value is written to n7:1, ... , Step 10 value is written to n7:9. Values are loaded similarly for the third column in the table "CIP #1.Recipe.Value". (Note that the step values for this column will contain the word equivalent of 16 bit values from the CIP pin chart.) All three columns of data are loaded into their assigned tags/data ports simultaneously when the Viewer operator loads the recipe. 

1. Tags do not necessarily need to be created for every step in the recipe. Only the address of the first step in each column has to have a tag defined in the "Tag Tree" on the left side of the Maker program. The remaining step addresses are inferred from the address of the tag selected for the column. 

2. A new option has been added to the tag definition properties dialog in the "Tag Tree". The word portion of the address of a tag can be offset by the value of a different tag. The table below illustrates a tag "Test" defined with address n7:12 and contains the optional word offset tag "Test Index" (addressed as n7:5). This "word offset option" is particularly useful for displaying values stored in an Internal Memory data port associated with a recipe. 

"Test Index" PLC Value (n7:5)Address Used for Tag "Test"

3. If a recipe template is modified, all existing recipes associated with the modified template will likely contain invalid data. All recipes associated with the template must be manually verified and corrected after any changes are made to the template. Always backup the recipe files before modifying a template. 

Recipe Value Editor 

The figure below illustrates how to enter values for a recipe in Viewer.  


This pop-up window is displayed by Viewer when the "Edit Recipe" button is pressed. Change values in the recipe by directly editing them in the table. To edit an existing recipe, select the recipe name from the drop-down list, make changes to the table, and press "Save". To create a new recipe, make changes to the table, press "Save As...", and enter a name for the new recipe. 

Load Recipe Configuration via Maker 

The figure below illustrates how to configure a "Load Recipe" button in Maker. 


Select the recipe template from the drop-down list. When the "Load Recipe" button is pressed, a pop-up window is displayed listing all the recipes available for this template. When the Viewer operator selects the desired recipe (from the list of recipes available for this template) and presses "Ok", all recipe values are written to the assigned Server data ports. 

If you wish to display the name of the recipe which has been selected and loaded by the Viewer operator on a Viewer screen, a string tag needs to be created to hold the recipe name. Enter this string tag in the "Tag to Display Recipe Name" field (as shown in the figure above). When the recipe has completed loading, the recipe name will be written to this string tag which can then be assigned to a Label element in Maker for display on any Viewer screen. An Internal Memory data port address should be assigned to this string tag in the Maker "Tag Tree". 

Load Recipe by Operator via Viewer 

The figure below illustrates the pop-up window which is displayed when the Viewer operator presses the "Load Recipe" button. 


The operator simply selects the recipe to load from the drop-down list and presses "Ok". All values of the recipe will then be written to the data port(s).