База данных сигналов SCADA — каталог технологических объектов, их параметров и привязка к сигналам телемеханики.
io/
├── common.py # Утилиты: чтение conf.yaml, подключение к SQLite
├── conf.yaml # DDL, триггеры, SQL-запросы (INSERT/UPDATE/SELECT/EXPORT)
├── db_editor.py # Функции для создания и обновления базы данных
├── db_control.py # Функции для управления. Запуск cli программы
├── cis.db # SQLite база (генерируется)
└── ref/ # Исходные CSV-справочники для импорта
├── in # Файлы для импорта в базу данных
└── out # Файл экспорта из базы данных
| Таблица | Назначение |
|---|---|
sys |
Системы (СДКУ, ЦСПА, …) |
dpt |
Типы технологических объектов в рамках системы |
dpe |
Свойства/параметры типа (давление, состояние, аварии) |
grp |
Группы параметров, единицы измерения, форматы |
dp |
Экземпляры объектов (конкретная задвижка, агрегат) |
sg |
Сигналы телемеханики связанные с dp, dpe |
sg_rel |
Отношения между сигналами для деревьев |
alarm |
Конфигурация уставок алармов |
alm_lim_type |
Справочник типов уставок |
iec_addr |
Адреса телемеханики IEC 60870-5-104 для сигналов |
val |
Последние значения сигналов |
val_hist |
История изменений значений сигналов |
create - cоздать таблицы по списку conf.yamlexit - завершить работу программыhelp <arg> - вывести справку, с <arg> по командеexport - выгрузить все таблицы в csv файлы для редактированияimport <arg> - загрузить изменения
sys - системыdpt - типы точек данных/технологических объектовdp - технологические объектыgrp - группы элементов точек данных/типы сигналовdpe - типы сигналовsg - сигналыexp_sg - выгрузить список сигналов для драйверов 60870sg_rel - заполняет столбцы dp и dpe таблицы sg по nameexp_wcc - выгружает dpl для wincc oaИмпорт и экспорт файлов выполняется на основании существующих id, id находятся под контролем, поэтому всегда можно переименовать сущность при сохранении id.
Создаются базы данных автоматически, по списку определенному в файле conf.yaml в секции create.order.
DDL для создания расположены в секциях create.[table_name]
Список таблиц:
Заполнить базу данных можно из файлов csv, с разделителями табуляция, расположенными в каталоге ref/in.
Порядок получения данных для импорта определен в файле conf.yaml в секции upd.[table_name].
Импортировать файлы в указанном порядке:
sys список систем [id, name, dsc, disable]dpt список типов объектов [id, sys, name, dsc, disable]dp список объектов [id, sys, dpt, name, dsc, disable]grp список групп типов сигналов [id, parent, name, dsc, unit, fmt, type]dpe список типов сигналов [id, sys, dpt, name, dsc, grp, disable]sg список сигналов (id, name, dsc, disable, grp - опционально, может быть определено из dpe)iec_addr мэк адреса для сигналов [id, name, dsc, disable, asdu, ca, ioa, is_cot, threshold, conv]alm_lim_type список разрешенных дипазонов [id, name, dsc]alm конфигурация для генерации сообщений [id, sg, id_lim, lim_type, val, msg, hyst_h, hyst_l, severity, disable]Файлы импорта можно получить из базы данных, загрузив их из каталога ref/out и отредактировав с соблюдением правил.
Экспорт выполняется сразу для всех таблиц, определенных в conf.yaml в секции exp.
В секции определяются: