...
- Possibility of duplicate connection of objects: connection of one object into several rows of a structured variable (for the value type Object).
- Anonymous rows: individual rows of the structure are addressed by a numeric index. If the rows of one structured variable belong to several groups (e.g. each row corresponds to one generator and several generators create a block and several blocks create a power plant), this is not obvious when working with numerical indices and a mistake may occur.
- Memory fragmentation: structured variables are represented in the D2000 system as contiguous blocks of memory. When using large structures (tens to hundreds of rows and columns), memory fragmentation occurs (especially in the D2000 Server process).
- Archiving problems: when using structured archives (archiving a column or possibly an entire structured variable), all values are stored in one database table, which can be large and its maintenance (reorganization of data and indexes) can be demanding in terms of disk operations and CPU. At the same time, such a structured archive object is assigned to one write archive task, so that writes cannot be parallelized. If other archive objects (computed and/or statistical archives) are built on top of such an archive object, each of them is again handled by one write archive task. If e.g. a recalc of the archive by the RECALC tell command is started, it is serialized and performed sequentially for individual rows of the structured archive.
- Editing: a structured variable can only be edited by one user at a time.
These problems are solved by the device concept brought by the D2000 in version 21. The Device can be perceived as a one-line structured variable, whereby:
...
* Attribute is defined at the level of the object of Device definition type and cannot be changed.
You can create template schemes, template eval tags, and template archives for devices. All of these object types are configured using a Device definition. Using the template pictures, the Device with the corresponding Device definition can then be displayed. Configuring template eval tags and template archives will cause instances of these objects, i.e. eval tags and archived objects for each Device with the relevant Device definition, to be created.