Узлы и подсистемы системы OpenSCADA могут иметь собственные таблицы для хранения своих данных. При этом структура таблиц может быть индивидуальной, определяясь объектом <TConfig>. Узлы и подсистемы должны создавать и конфигурировать объект <TConfig> под свои требования.
Система OpenSCADA имеет две системные таблицы BD и SYS. Таблица BD содержит записи зарегистрированных БД, а таблица SYS содержит данные общесистемных параметров.
Таблица 7. Cтруктура таблицы общесистемных параметров (SYS).
Идентификатор параметра <id> | Значение параметра <val> |
/DemoStation/MessLev | 0 |
/DemoStation/Workdir | /mnt/home/roman/work/OScadaD/share/OpenScada |
/DemoStation/UI/QTStarter/StartMod | QTCfg |
Таблица 8. Cтруктура таблицы зарегистрированных БД.
Идентификатор <ID> | Тип БД <TYPE> | Имя <NAME> | Описание <DESCR> | Адрес <ADDR> | Включать <EN> |
LibBD | MySQL | Библиотека функций | server.diya.org;roman;123456;oscadaUserLibs;;;KOI8-U | 1 | |
AnastModel | SQLite | Модель АГЛКС | ./DATA/AGLKSModel.db | 1 | |
GenDB | MySQL | Основная БД | server.diya.org;roman;123456;oscadaDemoSt;;;KOI8-U | 1 |
Контроллеры (источники данных) подсистемы "Сбор данных" хранятся в таблицах своих подсистем с именем DQA_<ModName>. Структуры этих таблиц могут значительно отличаться, однако у всех них присутствуют обязательные поля одинаковые для всех них. Общая структура таблиц контроллеров представлена в таблице 5.
Таблица 9. Общая структура таблиц контроллеров подсистемы "Сбор данных" (DQA_<ModName>).
Идентификатор <ID> | Имя контроллера <NAME> | Описание <DESCR> | Включать<ENABLE> | Запускать <START> | Индивидуальные параметры |
AutoDA | Автоматический источник | Сбор данных из активных источников с автоматическим их выявлением. | 1 | 1 | ... |
Также как и таблица контроллеров, таблицы параметров для различных типов источников данных могут значительно отличаться, но также и имеют обязательные поля. Кроме отличия характерного для типа источника данных, таблицы параметров ещё могут быть разными для различных типов параметров. Общая структура таблицы параметров приведена в таблице 6.
Таблица 10. Общая структура таблиц параметров подсистемы "Сбор данных".
Шифр параметра <SHIFR> | Имя параметра <NAME> | Описание параметра <DESCR> | Включать <EN> | Индивидуальные параметры |
P3 | P3 | Давление на диафрагме | 1 | ... |
Для хранения данных подсистема "Параметры" использует четыре таблицы. Две таблицы для хранения шаблонов параметров (Params_tmpl) и их атрибутов (Params_tmpl_io) и две для хранения параметров логического уровня (Params) и их атрибутов (Params_io):
Таблица 11. Структура таблицы параметров логического уровня (Params).
Шифр <SHIFR> | Имя <NAME> | Описание <DESCR> | Включать <EN> | Режим <MODE> | Шаблон <PRM> |
test | Тестовый параметр | 1 | 2 | test | |
F3 | F3 | Расход через диафрагму | 1 | 2 | border |
Таблица 12. Структура таблицы атрибутов параметров логического уровня (Params_io).
Идентификатор параметра <PRM_ID> | Идентификатор атрибута ID | Значений <VALUE> |
test | stOpen | DAQ.BlockCalc.Anast1to2node.КШ6.open |
test | stClose | DAQ.BlockCalc.Anast1to2node.КШ6.st_close |
test | tCmd | 4 |
Таблица 13. Структура таблицы шаблонов параметров логического уровня (Params_tmpl).
Идентификатор <ID> | Имя <NAME> | Описание <DESCR> | Функция объектной модели <FUNC> |
test | Тестовый шаблон | Special.FLibComplex1.digitBlock | |
border | Граничные условия | DAQ.JavaLikeCalc.lib_TemplFunc.GenBoard |
Таблица 14. Структура таблицы атрибутов шаблонов параметров логического уровня (Params_tmpl_io).
Идентификатор шаблона <TMPL_ID> | Идентификатор атрибута <ID> | Режим <ATTR_MODE> | Доступ <ACCS_MODE> | Значений <VALUE> |
test | stOpen | 1 | 2 | |
test | stClose | 1 | 2 | |
test | tCmd | 0 | 1 | 5 |
Подсистема “Транспорты” делится на входящие и исходящие транспорты. Для каждого типа транспортов существует своя таблица с собственной структурой. Имена таблиц, соответсвенно: Transport_In и Transport_Out. Таблицы могут дополняться полями характерными для каждого типа транспорта.
Таблица 11. Структура таблицы входящих транспортов (Transport_in).
Идентификатор <ID> | Имя <NAME> | Описание <DESCRIPT> | Тип <MODULE> | Адрес <ADDR> | Протокол <PROT> | Запускать <START> | Индивидуальные поля типов транспортов |
web1 | Web 1 | Work web transport for proced http requests. | Sockets | TCP::10002:0 | HTTP | 1 | ... |
tcp1 | TCP 1 | Test TCP input socket! | Sockets | TCP::10001:1 | SelfSystem | 1 | ... |
Таблица 12. Структура таблицы исходящих транспортов (Transport_out).
Идентификатор <ID> | Имя <NAME> | Описание <DESCRIPT> | Тип <MODULE> | Адрес <ADDR> | Запускать <START> | Индивидуальные поля типов транспортов |
tcp_o1 | TCP Out 1 | Output TCP transport 1 | Sockets | TCP::10001 | 1 | ... |
tcp_o2 | TCP Out 2 | Output TCP transport 2 | Sockets | TCP:127.0.0.1:10001 | 1 | ... |
Подсистема “Архивы” содержит три таблицы с предустановленными именами:
Таблицы архиваторов могут дополняться полями характерными для каждого типа архиватора.
Таблица 13. Структура таблицы архивов значений (Archive_val).
Идентификатор <ID> | Имя <NAME> | Описание <DESCR> | Запускать <START> | Тип значений <VTYPE> | Периодичность буфера <BPER> | Размер буфера <BSIZE> | Жесткая сетка буфера <BHGRD> | Высокое разрешение времени буфера <BHRES> | Режим источника значений <SrcMode> | Источник значений <Source> | Перечень обслуживающих архиваторов <ArchS> |
test | Тестовый архив | 1 | 4 | 1 | 100 | 1 | 0 | 1 | DAQ.OperationSystem.AutoDA.CPULoad.load | BaseArh.val_test;BaseArh.val_OneMinutes; | |
MemInfo_use | Используемая память | 1 | 1 | 1 | 100 | 1 | 0 | 1 | DAQ.OperationSystem.AutoDA.MemInfo.use | BaseArh.val_test;BaseArh.val_OneMinutes; |
Таблица 14. Структура таблицы архиваторов значений (Archive_val_proc).
Идентификатор <ID> | Тип архиватора <MODUL> | Имя <NAME> | Описание <DESCR> | Запускать <START> | Адрес <ADDR> | Период значений <V_PER> | Период архивирования <A_PER> | Индивидуальные поля типов архиваторов |
test | BaseArh | Test | 1 | ARCHIVES/VAL/test/ | 1 | 60 | ... | |
OneMinutes | BaseArh | Средний за минуту | 1 | ARCHIVES/VAL/OneMin/ | 60 | 60 | ... |
Таблица 15. Структура таблицы архиваторов сообщений (Archive_mess_proc).
Идентификатор <ID> | Тип архиватора <MODUL> | Имя <NAME> | Описание <DESCR> | Запускать <START> | Шаблон категории сообщений <CATEG> | Уровень сообщений <LEVEL> | Адрес <ADDR> | Индивидуальные поля типов архиваторов |
StatErrors | BaseArh | Ошибки станции | 1 | /DemoStation* | 4 | ARCHIVES/MESS/stError/ | ... | |
NetRequsts | BaseArh | Сетевые запросы | 1 | /DemoStation/Transport/Sockets* | 1 | ARCHIVES/MESS/Net/ | ... |
Каждый модуль может иметь собственные БД для хранения собственных данных. Структура БД модулей может формироваться свободно исходя из внутренних потребностей.