OpenSCADAWiki: Doc/API/part17
 

17. Организация и структура базы данных компонентов системы

Узлы и подсистемы системы OpenSCADA могут иметь собственные таблицы в БД для хранения своих данных. При этом структура таблиц индивидуальна и определяется объектом "TConfig". Узлы и подсистемы должны создавать и конфигурировать объект "TConfig" под свои требования.

17.1. Системные таблицы

Система OpenSCADA имеет две системные таблицы BD и SYS. Таблица BD содержит записи зарегистрированных БД, а таблица SYS содержит данные общесистемных параметров.

Таблица 7. Cтруктура таблицы общесистемных параметров (SYS).
Пользователь <user>Идентификатор параметра <id>Значение параметра <val>
root/DemoStation/MessLev0
user/DemoStation/Workdir/mnt/home/roman/work/OScadaD/share/OpenScada
user/DemoStation/UI/QTStarter/StartModQTCfg

Таблица 8. Cтруктура таблицы зарегистрированных БД.
Идентификатор <ID>Тип БД <TYPE>Имя <NAME>Описание <DESCR>Адрес <ADDR>Кодировка содержимого БД <CODEPAGE>Включать <EN>
LibBDMySQLБиблиотека функций server.diya.org;roman;123456;oscadaUserLibsKOI8-U1
AnastModelSQLiteМодель АГЛКС ./DATA/AGLKSModel.dbUTF81
GenDBMySQLОсновная БД server.diya.org;roman;123456;oscadaDemoStKOI8-U1

17.2. Таблицы подсистемы "Сбор данных"

Контроллеры (источники данных) подсистемы "Сбор данных" хранятся в таблицах своих подсистем с именем DQA_{ModName}. Структуры этих таблиц могут значительно отличаться, однако у всех них присутствуют обязательные поля. Общая структура таблиц контроллеров представлена в таблице 9.

Таблица 9. Общая структура таблиц контроллеров подсистемы "Сбор данных" (DQA_{ModName}).
Идентификатор <ID>Имя контроллера <NAME>Описание <DESCR>Включать<ENABLE>Запускать <START>Индивидуальные параметры
AutoDAАвтоматический источникСбор данных из активных источников с автоматическим их выявлением.11 ...

Также как и таблица контроллеров, таблицы параметров для различных типов источников данных могут значительно отличаться, но также имеют обязательные поля. Кроме отличия, характерного для типа источника данных, таблицы параметров ещё могут быть разными для различных типов параметров. Общая структура таблицы параметров приведена в таблице 10.

Таблица 10. Общая структура таблиц параметров подсистемы "Сбор данных".
Шифр параметра <SHIFR>Имя параметра <NAME>Описание параметра <DESCR>Включать <EN>Индивидуальные параметры
P3P3Давление на диафрагме1...

Кроме контроллеров и параметров подсистема "Сбор данных" содержит шаблоны параметров. Шаблоны параметров сгруппированы по библиотекам шаблонов и хранятся в таблицах трёх типов: таблица библиотек шаблонов (ParamTemplLibs) таблица 11, таблица шаблонов параметров таблица 12 и таблица параметр шаблонов таблица 13.

Таблица 11. Структура таблицы библиотек шаблонов.
Идентификатор <ID>Имя <NAME>Описание <DESCR>Таблица БД библиотеки <DB>
baseБазовые шаблоныБиблиотека базовых шаблоновtmplib_base
S7 Библиотека шаблонов для контроллеров серии Siemens S7.tmplib_S7

Таблица 12. Структура таблицы шаблонов.
Идентификатор <ID>Имя <NAME>Описание <DESCR>Текст процедуры шаблона <PROGRAM>
digAlarmДискр. сигналСигнализация по дискретному параметруJavaLikeCalc.JavaScript
simpleBoardПростые границыФормирование простых границ для аналогового сигнала.JavaLikeCalc.JavaScript

Таблица 13. Структура таблицы параметров шаблонов.
Идентификатор шаблона <TMPL_ID>Идентификатор параметра <ID>Имя <NAME>Тип <TYPE>Флаги <FLAGS>Значение <VALUE>Позиция <POS>
digAlarminВход3144 2
digitBlockcmdOpenКоманда открытия3161Параметр:com0

17.3. Таблицы подсистемы “Транспорты”

Подсистема “Транспорты” делится на входящие и исходящие транспорты. Для каждого типа транспортов существует своя таблица с собственной структурой. Имена таблиц соответственно: Transport_In и Transport_Out. Таблицы могут дополняться полями, характерными для типа транспорта.

Таблица 14. Структура таблицы входящих транспортов (Transport_in).
Идентификатор <ID>Тип <MODULE>Имя <NAME>Описание <DESCRIPT>Адрес <ADDR>Протокол <PROT>Запускать <START>Индивидуальные поля типов транспортов
web1SocketsWeb 1Work web transport for proced http requests.TCP::10002:0HTTP1...
SelfSelfSystemTCP 1Test TCP input socket!SocketsTCP::10001:11...

Таблица 15. Структура таблицы исходящих транспортов (Transport_out).
Идентификатор <ID>Тип <MODULE>Имя <NAME>Описание <DESCRIPT>Адрес <ADDR>Запускать <START>Индивидуальные поля типов транспортов
tcp_o1SocketsTCP Out 1Output TCP transport 1TCP::100011...

Для централизованного описания перечня внешних OpenSCADA станций используется таблица внешних хостов (CfgExtHosts). Структура этой таблицы приведена в таблице 16.

Таблица 16. Структура таблицы внешних OpenSCADA хостов (CfgExtHosts).
Пользователь системы <OP_USER>Идентификатор <ID>Имя <NAME>Транспорт <TRANSP>Адрес удалённого хоста <ADDR>Пользователь внешнего хоста <USER>Пароль пользователя внешнего хоста <PASS>
tcp_o1SocketsTCP Out 1Output TCP transport 1TCP::100011...

17.4. Таблицы подсистемы “Архивы”

Подсистема “Архивы” содержит три таблицы с фиксированными именами:

Таблицы архиваторов могут дополняться полями, характерными для каждого типа архиватора.

Таблица 17. Структура таблицы архивов значений (Archive_val).
Идентификатор <ID>Имя <NAME>Описание <DESCR>Запускать <START>Режим источника значений <SrcMode>Источник значений <Source>Тип значений <VTYPE>Периодичность буфера <BPER>Размер буфера <BSIZE>Жесткая сетка буфера <BHGRD>Высокое разрешение времени буфера <BHRES>Перечень обслуживающих архиваторов <ArchS>
CPULoad_load 11DAQ.System.AutoDA.CPULoad.load4110000FSArch.1s;DBArch.1m;FSArch.1m;
ai1_dP 00 40.000110011FSArch.POMP_20070301;FSArch.1s;

Таблица 18. Структура таблицы архиваторов значений (Archive_val_proc).
Идентификатор <ID>Тип архиватора <MODUL>Имя <NAME>Описание <DESCR>Запускать <START>Адрес <ADDR>Период значений <V_PER>Период архивирования <A_PER>Индивидуальные поля типов архиваторов
1sFSArch Односекундный1ARCHIVES/VAL/1s160...
POMP_20070301FSArch 0ARCHIVES/VAL/POMP_200703010.000160...

Таблица 19. Структура таблицы архиваторов сообщений (Archive_mess_proc).
Идентификатор <ID>Тип архиватора <MODUL>Имя <NAME>Описание <DESCR>Запускать <START>Шаблон категории сообщений <CATEG>Уровень сообщений <LEVEL>Адрес <ADDR>Индивидуальные поля типов архиваторов
StatErrorsFSArhОшибки станции 1/DemoStation*4ARCHIVES/MESS/stError/...
NetRequstsFSArhСетевые запросы 1/DemoStation/Transport/Sockets*1ARCHIVES/MESS/Net/...

17.5. Таблицы подсистемы “Безопасность”

Подсистема “Безопасность” содержит две таблицы: таблица пользователей системы (Security_user) и групп системы (Security_grp).

Таблица 20. Структура таблицы пользователей системы (Security_user).
Имя <NAME>Описание <DESCR>Пароль <PASS>Изображение <PICTURE>
rootСуперпользовательopenscada
userПользовательuser

Таблица 21. Структура таблицы групп пользователей системы (Security_grp).
Имя <NAME>Описание <DESCR>Пользователи в группе <USERS>
rootГруппа суперпользователейroot;user
usersГруппа пользователейtoot;user

17.6. Структура баз данных модулей

Каждый модуль может иметь собственные таблицы БД для хранения индивидуальных данных. Структура таблиц БД модулей может формироваться свободно, исходя из внутренних потребностей.