Skip to content

MaximPriyatkin/scada_io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCADA Signal Database (cis.db)

База данных сигналов 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.yaml
  • exit - завершить работу программы
  • help <arg> - вывести справку, с <arg> по команде
  • export - выгрузить все таблицы в csv файлы для редактирования
  • import <arg> - загрузить изменения
    • sys - системы
    • dpt - типы точек данных/технологических объектов
    • dp - технологические объекты
    • grp - группы элементов точек данных/типы сигналов
    • dpe - типы сигналов
    • sg - сигналы
  • exp_sg - выгрузить список сигналов для драйверов 60870
  • sg_rel - заполняет столбцы dp и dpe таблицы sg по name
  • exp_wcc - выгружает dpl для wincc oa

Руководство пользователя

Импорт и экспорт файлов выполняется на основании существующих id, id находятся под контролем, поэтому всегда можно переименовать сущность при сохранении id.

Создать базу

Создаются базы данных автоматически, по списку определенному в файле conf.yaml в секции create.order. DDL для создания расположены в секциях create.[table_name]

Список таблиц:

  • sys
  • dpt
  • grp
  • dpe
  • dp
  • sg
  • sg_rel
  • alm_lim_type
  • alm
  • iec_addr

Заполнить базу

Заполнить базу данных можно из файлов 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.

В секции определяются:

  • имя файла
  • столбцы файла для экспорта
  • запрос для получения данных

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages