External references are a built-in feature of the DeltaV software that allows you to refer to any input, output, or parameter that is available in any module in the DeltaV system. These external references are best configured by using the parameter browser available in all the expression dialogs. The browser opens a graphical list of areas, blocks, and parameters. By selecting a parameter from the browser, you can avoid the potential of typographical errors and case-sensitivity when referencing block parameters.
When using a reference field other than the .CV field, you will need to include the field name.
References are denoted in expressions by surrounding the reference in single quotes (' '). Paths to external references are denoted by double slashes (//). For example, if a block in module LOOP1 is named BLOCK1, an external reference to a parameter in BLOCK1 looks like:
IF ('//LOOP1/BLOCK1/MODE.ACTUAL' = MAN)
THEN OUT1 := 5.0;
ENDIF;
There are a couple of considerations to be aware of if you are using external references to read data from a remote zone. If you are referring to an external reference in another DeltaV zone, you must prepend the reference with the remote zone name. (If you include the local zone name it is removed when the expression is closed.)
For example, if the IF statement above was referring to a parameter in ZONE_B, the IF statement would look like:
IF ('//ZONE_B%LOOP1/BLOCK1/MODE.ACTUAL' = MAN)
THEN OUT1 := 5.0;
ENDIF;
References to DSTs in another DeltaV zone are not allowed. You must use the physical address (also known as the I/O Parameter path) in the form //<zone name>%<controller>/IO1/<card>/<channel>/<parameter>.
For example, if the IF statement above was referring to a DST in ZONE_B's controller CTRLR1, the IF statement would look like:
IF ('//ZONE_B%CTRLR1/IO1/CO3/CH01/FIELD_VAL_D' = FALSE)
THEN OUT1 := TRUE;
ENDIF;
Browsing to data in other zones is not supported. You must enter the path to the parameter in the other zone.
The expressions of DeltaV recipe transitions may utilize unit class or unit module parameters. However, there are two conditions that need to be considered when using external reference parameter in the DeltaV recipe transitions. Both conditions should be satisfied in order for the recipes, utilizing external reference parameters, to run correctly during batch runtime.
The path of an external reference parameter on ALL unit class instances (existing and newly created) must be
If at least one of the paths of an external reference parameter has an invalid path (blank or non-existing parameter), then all recipe transitions that are using that particular external reference parameter will not parse correctly. However, no parsing error will be generated if one of the paths of the external reference parameter is incompatible with the parameter being referenced in the recipe transition.
In addition, a recipe with an invalid external reference parameter in the transition will fail and generate an error message during recipe verification. However, no verification error will be generated for recipes with incompatible external reference parameters.
To ensure the recipes will run correctly during batch runtime, users must always configure the external reference parameters with valid and compatible paths when creating an instance of a unit class.
Users can parse the expressions of the recipe transitions or perform recipe verification to capture any transitions with invalid paths before loading the recipe in Batch Operator Interface or the operator environment.
Follow this procedure every time you create an instance of a unit class containing external reference parameters: