Addressing types

Addressing data point attributes

Data points have a wide range of attributes. These are either holders of data point element values or provide the settings for editing these elements. One can configure which individual attributes a data point element possesses by attaching a config - see dpSet() or the "reference PARA" section of the manual. In Control scripts, the names of data point attributes are specified as strings.

Syntax

  1. [System:]dpName.[dpElem1[.dpElem2...]]:_Config.[Detail]._Attribute

Only the configs for lock, user entitlement, conversion and message handling use the Detail feature. The appendix contains a table of the configs and attributes that exist. Provided a project consists of just one system, or only its own system is to be addressed, the address for other configs shortens to: dpName.[dpElem1[.dpElem2...]]:Config.[Detail].Attribute

There must be at least one full stop between the data point name, the colon and the config label.

Example

A.:_original.._value

Pump12.Command_On:_original.._value

A.:_msg_conv.2._round_val

MySystem.:_pv_range.._min

Addressing structure elements

In principle, structure elements are addressed using the same syntax as for data point attributes. For specific elements ("leaves"), you can also use a different form of addressing. This addressing applies to all elements located below structure elements (leaves) with a defined type. Since these lower elements automatically adopt the type of the given structure element, they can also be addressed with indices instead of names.

If in a data point address

dpName.dpElem1.dpElem2:Config..Attribute

dpElem1 has a defined structure (as mentioned above, e.g. type int), then "[i]" can be set instead of dpElem2, where "i" stands for the i th leave of the structure dpElem1. The smallest index is one. Thus for the first structure element below dpElem1 one can write:

  1. dpName.dpElem1[1]:Config..Attribute

This line specifies that leave which lies uppermost in the data point tree diagram in the PARA module. An index of two is assigned to the next structure element, and so on. This sequence is not specified by the User Interface Manager, but by the data point configurator.

Example

There are two options for referring to the same value of a structure element.

Test_Structure.Fifthelement:_original.._value

Test_Structure[5]:_original.._value

There is no full stop between the structure element name and the colon in front of the Config label in the second address.

Addressing data point elements with aliases

In addition to the full addressing of data point elements used above, data point elements can also be addressed via an alias, that is, a short form. Instead of the form

  1. [SysName:]dpName.[dpElem1[.dpElem2...]]:Config.[Detail].Attribute

one can also write

[SysName:]@Alias:Config.[Detail].Attribute

Each alias must be unique, that is, one alias must specify precisely one data point element, and one data point element must have precisely one alias. The function dpSetAlias() or the reference PARA (Config _common) is used to assign an alias to a data point element. The control system always returns just full addresses, that is, not the alias name, for instance as arguments of Work functions. See dpConnect() and alertConnect(), or in general queries using dpGetPeriod().

Example

Two examples of data point aliases:

Pump12.Command_On:_original.._value

@P12Com_On:_original.._value

Mausi1:Test_Structure.FifthElement:_original.._value

Mausi1:@T_Str5:_original.._value

In the first example "Pump12:Command_On" has the alias "P12Com_On"; in the second example "T+Str5" is the alias for "Test_Structure.FifthElement".

Read about addressing of graphics objects in references in the chapter Control graphics.