Details on data point groups

There is an internal data point type _DpGroup for data point groups:

_DpGroup

Sheet Type Description
.Dps dyn_string Data point filter (e.g. "Reading.C*").
.Types dyn_string Data point type filter (DPT name)
.Level int int == 1 for main group, otherwise 0.

DPs and Types always exist in parallel, that is, each element of DPs is assigned an element of Types and vice-versa.

There are three options:

1. Types[n]!="", Dps[n]!="" : filters by DPE pattern in DPType.

2. Types[n]=="", Dps[n]!="" : searches all DPTypes on DP pattern.

3. Types[n]!="", Dps[n]=="": In this case the filter is a group. A maximum of 20-level nesting is permitted (for example, Group1 contains Group2 as a type filter, Group2 contains Group3 as a type filter and so on up to maximum 20 times), beyond this an error message will be displayed (this also can create an endless loop, that is, if the type filter for Group1 is Group2 and the type filter for Group2 is Group1.)

The data point names of the type are automatically assigned as follows:

_DpGroupNNNNN_Type, where NNNNN is a serial number (automatically created by the panel), Type is either "Public" or a user name (private).

Data points _DpGroupNNNNN_Public can be managed by all users, data points _DpGroupNNNNN_Username can only be used by the owner (for example, DpGroupNNNNN_root by the root user).