OpenSCADAWiki: Doc/API/part5
 

5. Подсистема "Архивы" (TArchiveS)

Подсистема "Архивы" представлена объектом TArchiveS, который содержит на уровне подсистемы модульные объекты типов архиваторов TTypeArchivator. Каждый объект типа архиватора содержит объекты архиваторов сообщений TMArchivator и архиваторов значений TVArchivator. Кроме этого объект подсистемы архивы содержит методы архива сообщений и объекты архивов значений TVArchive. Объект архива значений TVArchive содержит буфер значений путём наследования объекта буфера TValBuf. Для связи архива значений с архиваторами предназначен объект элемента значения TVArchEl. Этот объект содержится в архиваторе и на него ссылается архив. Структура подсистемы "Архивы" представлена на рис. 5.

Иерархическая структура подсистемы архивов (15 Kb)
Рис. 5. Иерархическая структура подсистемы архивов.


Подсистема "Архивы" содержит механизмы архивирования сообщений и значений. Непосредственно содержит архив сообщений вместе с его буфером. Содержит методы доступа к архивам значений и архиваторам значений и сообщений. Кроме этого выполняет задачу активного сбора данных из источников значений для архивов значений, а также архивирование архива сообщений по архиваторам.

Архив значений (TVArchive) содержит буфер (TValBuf) для промежуточного накопления значений перед архивированием. Связывается с источником значений в лице параметров системы OpenSCADA в активном или пассивном режиме, а также с другими источниками в пассивном режиме. Для архивирования на физические хранилища связывается с архиваторами значений различных типов.

Объект буфера TValBuf содержит массив значений основных типов системы OpenSCADA: строка, целое, вещественное и логичное. Поддерживается хранение значений в режимах жесткой, мягкой сетки и режиме свободного доступа. Предусмотрен также режим времени высокого разрешения (микросекунды). Используется как для непосредственного хранения больших массивов значений, так и для обмена с большими массивами методом покадрового доступа.

Корневой объект модуля подсистемы "Архивы" (TTypeArchivator) содержит информацию о конкретно взятом типе модуля. В рамках отдельных модулей может реализовывать собственные общемодульные функции. В общем для модулей этого типа содержит методы доступа к хранилищам значений и сообщений.

Объект архиватора сообщений (TMArchivator) содержит конкретную реализацию хранилища сообщений. В общем для архиваторов сообщений предоставляется интерфейс доступа к реализации механизма архивирования в модулях.

Объект архиватора значений (TVArchivator) содержит конкретную реализацию хранилища значений. В общем для архиваторов значений предоставляется интерфейс доступа к реализации механизма архивирования и назначение архивов значений на обслуживание архиватором.

Объект элемента архива TVArchEl связывает объекты архивов с архиваторами. Используется для доступа к архиваторам из архива, а также к архивам из архиватора, т.е. для перекрёстных вызовов.

5.1. Объект подсистемы "Архивы" (TArchiveS)

Наследует:SubSYS.

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

Публичные атрибуты:

5.2. Объект архива значений (TVArchive)

Наследует:TCntrNode, TValBuf, TConfig

Данные:
Режим сбора данных/источник (struct — TVArchive::SrcMode):

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

5.3. Объект буфера значений (TValBuf)

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

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

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

5.4. Модульный объект типа архиватора (TTypeArchivator)

Наследует:TModule.
Наследуется:Корневыми объектами модулей подсистемы "Архивы".

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

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

5.5. Объект архиватора сообщений (TMArchivator)

Наследует:TCntrNode, TConfig
Наследуется:Объектами архиваторов сообщений модулей подсистемы "Архивы".

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

Защищённые атрибуты:

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

5.6. Объект архиватора значений (TVArchivator)

Наследует:TCntrNode, TConfig
Наследуется:Объектами архиваторов значений модулей подсистемы "Архивы".

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

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

Защищённые атрибуты:

5.7. Объект элемента архива в архиваторе (TVArchEl)

Наследуется:Объектами архиваторов значений модулей подсистемы "Архивы".

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

Публичные атрибуты:

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