OpenSCADAWiki: Doc/API/part2 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 

2. Общая структура системы. Модульность (TSubSYS, TModule)

Корнем, от которого строится вся система, является объект TSYS. Корень содержит подсистемы (TSubSYS). Подсистемы могут быть: обычными и модульными. Отличие модульных подсистем четко прослеживается на рис. 1. Так, модульные подсистемы обязательно содержат список модульных объектов (TModule), например подсистема архивы TArchiveS содержит модульные объекты TTypeArchivator. В тоже время обычная подсистема таких объектов не содержит. Например, подсистема безопасности TSeсurity (рис.2).


Иерархическая структура системы OpenSCADA (21 Кб)
Рис. 2. Иерархическая структура системы OpenSCADA.

В процессе инициализации корня (TSYS) определяется глобальная переменная SYS. Переменная SYS может использоваться для прямого обращения к корню системы из любого её узла. Инициализация корня выполняется единожды из главной вызывающей функции. После запуска управление захватывается объектом системы до остановки. Корневой объект концентрирует все общесистемные функции системы OpenSCADA.


Продолжением корневого объекта (TSYS), выполняющего функции обслуживания потока системных сообщений, выступает объект TMess. Объект доступен посредством глобальной переменной Mess, которая инициализируется корнем системы. Объект содержит функции кодирования, декодирования и локализации сообщений.


В подсистемах (TSubSYS) реализуются функции характерные для каждой подсистемы индивидуально, с общим для всех подсистем доступом, через объект TSubSYS. Модульная подсистема имеет возможность расширять функциональность посредством модулей. Для этой цели модульная подсистема предоставляет доступ к модулям своего типа в виде модульных объектов.


Модуль — составная часть модульной подсистемы. В общем, для всех модулей и их подсистем, модуль предоставляет информацию о себе, своём происхождении и экспортируемых функциях. Отдельно взятый модуль реализует функциональность в соответствии со своими потребностями.

2.1. Корневой объект системы (TSYS)

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

Данные:
Информационные переменные программы:


Способы кодирования символьных последовательностей (enum — TSYS::Code):


Виды представления целого в функциях TSYS::int2str() и TSYS::ll2str() (enum — TSYS::IntView):


Структура задачи OpenSCADA (class — TSYS::STask):


Структура резервной станции (class — TSYS::SStat):


Шаблоны/определения:


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


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


Короткие вызовы глобальных функций в области имён "OSCADA":

2.2. Объект сообщений системы (TMess)

Данные:
Типы (уровни) сообщений (enum — TMess::Type):


Направления сообщений (enum — TMess::Direct):


Структура сообщения (class — TMess::SRec):


Шаблоны:


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

2.3. Объект подсистемы (TSubSYS)

Наследует:TCntrNode.
Наследуется:TArchiveS, TProtocolS, TBDS, TFunctionS, TSeсurity, TModShedul, TTransportS, TUIS, TSpecialS, TControllerS.

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

2.4. Объект модуля (TModule)

Наследует:TCntrNode.
Наследуется:TProtocol, TTypeBD, TTypeArchive, TTypeTransport, TUI, Tspecial, TTypeDAQ.

Данные:
Структура данных идентифицирующая модуль (class — TModule::SAt):


Структура экспортируемых функций (class — TModule::ExpFunc):


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


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


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


 
There are 3 files on this page.[Display files/form]
Comments [Hide comments/form]