OpenSCADAWiki: Doc/API/part13
 

13. Данные в системе OpenSCADA и их хранение в БД (TConfig)

Хранение данных в системе основано на объектах TConfig и TElem. Эти объекты хранят структуру и значения полей БД, что позволяет выполнять прямую загрузку и сохранение конфигурации через подсистему "БД". Для специализированного хранения данных разных типов предусмотрен объект TVariant.

Объект TElem содержит структуру записи БД. Структура записи содержит исчерпывающую информацию об элементах, их типах, размерах и остальных параметрах. Информации в данной структуре достаточно для создания, контроля и управления реальной структурой БД. Элементарной единицей записи является ячейка Tfld.

Объект TСonfig является наследником от TElem и содержит реальные значения элементов. TConfig используется в качестве параметра в функциях манипуляции с записями таблиц в подсистеме "БД". Элементарной единицей записи является ячейка TCfg.

Для предоставления возможности предупреждения хранилища данных о смене структуры предусмотрен объект TValElem, от которого наследуется хранилище TConfig и список которых содержится в структуре TElem.

13.1. Объект данных (TConfig)

Наследует:TValElem
Наследуется:TParamContr, TController, TMArchivator, TPrmTempl, TPrmTmplLib, TUser, TGroup, TTransportIn, TTransportOut, TBD, TVArchive, TVArchivator, а также модульные объекты хранящие свои данные в БД.

Публичные методы:

Защищённые методы:

13.2. Ячейка данных (TCfg)

Наследует:TVariant

Данные:
Дополнительные флаги к TFld (enum — TCfg::AttrFlg):

Флаги запросов (enum — ReqFlg):

Публичные методы:

13.3. Объект структуры данных (TElem)

Наследуется:TTypeParam, TControllerS, TTypeDAQ, а также модульными объектами, совмещающими функции хранения структуры.

Публичные методы:

13.4. Ячейка структуры данных (TFld)

Данные:
Тип ячейки (enum – TFld::Type):

Флаги ячейки (enum — TFld::AttrFlg):

Публичные методы:

13.5. Объект упреждения про смену структуры (TValElem)

Наследуется:TValue, TConfig.

Защищённые методы:

13.6. Ячейка данных (TVariant)

Данные:
Значения ошибки для различных типов данных (define):

Типы данных (enum — TVariant::Type):

Публичные методы:

13.7. Пользовательский объект (TVarObj)

Наследуется:TArrayObj

Публичные методы: