Datalink types

When adding a datalink to a display, you must select a datalink type (String, Numeric, Scaled Numeric, Mode, Named Set, or Scaling). The datalink type you choose determines the value type to be returned and the parameters that can be included in the data source expression. String, numeric, and scaled numeric datalinks return numerical values by default; to return a string value, you must use a string-type datalink and the .STR suffix after the field value. Mode, named set, and scaling datalinks return an object that is of the same type as the datalink. In the expressions for these three datalink types, the path string cannot include a field value; instead, the path string ends with the object parameter. The table below summarizes the return value types and provides examples for each datalink type.
Table: Parameter path field addressing for datalink expressions
Datalink type Returns Example of expressions with valid parameter path addresses Example of expressions with INVALID parameter path addresses
String Numeric values, unless the path string includes the .STR suffix.

DLSYS["PID_LOOP_1/PID1/PV.CV"] returns a numeric value.

DLSYS["PID_LOOP_1/PID1/PV.CV.STR"] returns a string value.

Numeric Numeric values only. If the path string includes the .STR suffix, the datalink returns NaN.

DLSYS["PID_LOOP_1/PID1/PV.CV"] returns a numeric value.

DLSYS["PID_LOOP_1/PID1/MODE.TARGET"] returns a numeric value.

DLSYS["PID_LOOP_1/PID1/PV.CV.STR"] returns NaN.

DLSYS["PID_LOOP_1/PID1/MODE.TARGET.STR"] returns NaN.

When using these two expressions, the datalink type must be string.

Scaled Numeric Numeric values only. If the path string includes the .STR suffix, the datalink returns unresolved.

DLSYS["PID_LOOP_1/PID1/PV.CV"] returns a numeric value.

DLSYS["PID_LOOP_1/PID1/PV.CV.STR"] returns undefined.

When using this expression, the datalink type must be string.

Mode (1) A mode object. The path string cannot include a field value; if it does include a field value, the datalink returns ****.

DLSYS["PID_LOOP_1/PID1/MODE"] returns a mode object.

DLSYS["PID_LOOP_1/PID1/MODE.TARGET"] returns undefined. When using this expression, the datalink type must be numeric.

DLSYS["PID_LOOP_1/PID1/MODE.TARGET.STR"]returns undefined. When using this expression, the datalink type must be string.

Named Set A named set object. The path string cannot include a field value; if it does include a field value, the datalink returns ****.

DLSYS["PID_LOOP_1/PID1/PROCESS_TYPE"] returns a named set object.

DLSYS["PID_LOOP_1/MSTATE.CV"] returns undefined.

DLSYS["PID_LOOP_1/MSTATE"] returns a named set object.

Scaling A scaling object. The path string cannot include a field value; if it does include a field value, the datalink returns ****.

DLSYS["PID_LOOP_1/PID1/PV_SCALE"] returns a scaling object.

DLSYS["PID_LOOP_1/PID1/PV_SCALE.CV"] returns undefined.

(1) A mode-type datalink is intended to be used only on mode parameters inside DeltaV function blocks. Function blocks using mode-type datalinks should have tightly controlled values as well as write-checks that prevent attempts to write to the .ACTUAL field. (Writing to this value in DeltaV Live changes the .TARGET field rather than the .ACTUAL field.)
Notes

The .STR suffix returns meaningful data only when a string-type datalink is used.

When a datalink value cannot be read, DeltaV Live displays symbols, rather than a value, to indicate the type of error. ????????? indicates that the parameter has a Bad status, while @@@@@@@@ indicates that the parameter is not communicating.