OpenSCADAWiki: Home Page En/Doc/API/part4
 

4. The subsystem "Data acquisition" (TDAQS)

The subsystem "Data acquisition" is represented by the TDAQS object which contains modular objects of the data sources' types TTypeDAQ and the objects of the libraries of parameters' templates of subsystem "Data acquisition" TPrmTmplLib. Object of the data sources types contains objects of the controllers TController and objects of the parameters' types TTypeParam. Parameters' types objects are provided by the controller module and contain the DB structure of the separate parameters' types (analog, digital ...). Controllers' objects contain parameters' objects TParamContr. Each parameter is associated with only one type of the parameter. For the attribute storage parameter is inherited from the values object TValue, which contains the attributes' values TVal. The library of the parameters' templates of this subsystem contains templates' objects TPrmTmpl. An example of the described hierarchical structure is shown in Fig. 4.

Hierarchical structure of the data acquisition subsystem. (41 Kb)
Fig. 4. Hierarchical structure of the data acquisition subsystem.


Subsystem contains the types of data sources. The source may be virtually any substance providing any data. Type of source can be divided into individual sources (controllers) within the limits of the particular type. For example, if we take the data from the operating system (OS), then the single source can be the separate operating system of the separate PC.

Data source (controller) is further divided (contains) into the parameters. The parameter is the part of the data source. In the case of the OS it will be, for example,: used RAM, the processor's frequency and many other parts.

Parameter, in its turn, contains the attributes, which provide the data. In addition to the basic data attributes can provide the related or detailing data. In the case of the same operating system and the memory usage, the attributes may not only provide the used memory, and also how much it all, how much in the swap, etc.

Some of the implementation of the data sources may provide the possibility of setting the structure of the parameter based on previously developed parameters' templates. For this purpose subsystem contains templates' libraries, which, in their turn, provide the parameters' templates . The example shows a library of templates "base" with the templates "digAlrm" and "smplBrd".

At the level of the subsystem the redundancy mechanism for data sources is provided. Redundancy means the possibility of coordinated work of several OpenSCADA stations to perform common task of data acquisition from the same data sources.

4.1. Object of subsystem "Data acquisition" (TDAQS)

Inherits:TSubSYS.

Public methods:

4.2. Modular object of the controller's type (TTypeDAQ)

Inherits:TModule, TElem.
Inherited:Root object of the modules of subsystem "Data acquisition".

Public methods:

Protected methods:

4.3. Controller's object (TController)

Inherits:TCntrNode, TConfig.
Inherited:Objects of the modules of subsystem "Data acquisition".

Data:
Redundancy modes (enum TController::Redundant):
Command specific

Public methods:

Protected attributes:

Protected methods:

4.4. Parameters' type object (TTypeParam)

Inherits:TElem.

Public methods:

Public attributes:

4.5. Object of the physical level parameter (TParamContr)

Inherits: TConfig, TValue.
Inherited: Objects of the module's parameters of subsystem "Data acquisition".

Public methods:

Protected methods:

4.6. Object of the value (TValue)

Inherits:TCntrNode, TValElem.
Inherited:TParamContr.

Public methods:

Protected methods:

4.7. Attribute's object (TVal).

Inherits:TCntrNode.

Data:
Additional flags to the object TFld (enum TVal::AttrFlag):

Public methods:

4.8. Object of the templates library of parameters of the "DAQ" subsystem (TPrmTmplLib)

Inherits:TCntrNode, TConfig.

Public methods:

4.9. The object of the parameter's template of the "DAQ" subsystem (TPrmTempl)

Inherits:TFunction, TConfig.

Data:
Additional flags to the attribute's object of the function IO (enum TPrmTempl::IOTmplFlgs):

Public methods: