Незабудка - открытая система архивирования на базе СУБД FIREBIRD. Часть 1. (исходники)

Группа разработчиков под незатейливым названием "КЕМЕРОВОЗ"

Введение

Система НЕЗАБУДКА разрабатывается как бесплатный инструмент c открытым кодом (OPEN SOURCE) для  решения задач АСУТП среднего класса (до 20000 тэгов) с невысокой скоростью процесса (не требуется регистрация данных чаще чем 1 раз в секунду). Она предназначена для предприятий, которые имеют многочисленные объекты

АСУТП, опытных программистов и стремятся разрабатывать собственные элементы SCADA- системы в целях экономии средств и обретения независимости от сторонних фирм. Учитывая высокую стоимость коммерческих SCADA- систем, а также их значительную избыточность в случае применения в АСУТП среднего класса, количество таких предприятий стремительно возрастает. Для их поддержки впервые в России разрабатывается  бесплатная SCADA-система КемеНеЯ, автономной и самодостаточной подсистемой которой является НЕЗАБУДКА (наш адрес ???).

Назначение
            Сбор, хранение и предоставление средств просмотра данных процесса управления.

Возможности

  • Для оптимизации процесса сохранения данных для каждого архивируемого параметра можно указать уставки, границы и апертуру.
  • Можно использовать в составе с любой SCADA системой, поддерживающей возможность подключения внешних библиотек.

Компоненты

- модуль периодического архива (nz_history.dll);

- модуль архива событий и сообщений (nz_message.dll);

- главный модуль просмотра архивов (nezabudka.dll), который подключается к SCADA системе и подключает 2 указанных выше модуля.

Системные требования
Операционная система Windows NT4/2000/XP/2003
Процессор Pentium или старше
Оперативная память 128Мб или больше
Для хранения данных необходима СУБД: Firebird 2.0.3 и выше.

Основные функции главного модуля (номер функции в nezabudka.dll и ее назначение)  :

0 - Инициализация структур данных

2 - Инициализация часовых блоков.Запуск потоков архивации.Начало работы

1 - Вызов журнала сообщений

3 - Вызов среднечасовой статистики по параметру

5 - Добавить параметр в группу графиков на указанное место

6 - Регистрация события

7 - Регистрация сообщения

8 - Вызов группы графиков

99 - завершение работы

 

Алгоритм работы ( nezabudka.dll)

 

1.      Начало работы.

Работа осуществляется под управлением внешнего приложения.

При старте инициализируются все внутренние структуры и запускается процесс периодической архивации (функции 0 и 2).

2.      Регистрация.

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

Напротив для регистрации событий и сообщений приложение должно вызвать функции 6 или 7.

3.      Просмотр архивов.

Для просмотра архива сообщений вызывается журнал сообщений (функция 1).

Для просмотра периодического архива используются функции 3 (тренд среднечасовой), а также функции 5 и 8 (тренд секундный индивидуальный или групповой) .

4.      Завершение работы происходит при вызове функции 99.

            Аналоги (платные):

1.      "Комплексные системы"  http://www.complexsystems.ru

2.   ООО "ЧЭТА"                    http://www.cheta.ru

1. Характеристика периодического архива

 

Периодический архив параметров предназначен для хранения предыстории параметров технологического объекта. Список таких параметров определяется при настройке программы и не может быть изменен в процессе работы программы.

            Программа периодически сохраняет данные в память компьютера. Каждые минуту содержание памяти частично сохраняется на жестком диске в базу данных FIREBIRD.

Для уменьшения размера архива значения хранятся с допустимой погрешностью(апертурой). Апертура устанавливается при настройке программы индивидуально для каждого параметра (например 0.3 % шкалы).

Во избежание неумеренного разрастания архива его размер ограничивается заданием  периода хранения (например 100 суток).

2. Принцип работы периодического архива.

Значения параметров регистрируются 1 раз в секунду. В идеале после окончания цикла данные должны сразу же фиксироваться на жестком диске, но на практике

данные сначала накапливаются в памяти в течении какого-то времени и только потом записываются на диск. Недостаток такого подхода - пропажа данных в памяти в случае сбоя питания компьютера. Преимущества - повышение производительности программы и возможность сохранять данные целыми блоками. 

  

Поэтому архив имеет блочную структуру. Блок содержит последовательность значений по одному параметру за один час ( с начала текущего часа) с периодом  равным периоду опроса (минимальный период=1 секунда).Такая структура архива позволяет использовать новый(!) эффективный способ упаковки данных для значительного уменьшения размера архива и ускорения операций чтения/записи.

Часовой блок содержит следующую информацию:

 индекс параметра, значения которого содержатся в блоке;

 дата и час  - координаты часового блока;

массив значений в упакованном виде (с учетом апертуры);

 минимальное, максимальное и среднее значение параметра за час (без учета апертуры).

Значения по параметру накапливаются в памяти в часовом блоке при каждом опросе.

В начале каждой минуты на жестоком диске фиксируется 1/N часть всех блоков, так чтобы через N минут все блоки были сохранены на диске. Таким образом, при пропаже питания могут быть потеряны данные не более чем за N минут.

По умолчанию N=20, но может принимать значения от 1 до 30.

В начале каждого часа все блоки фиксируются на жестоком диске и начинаются сначала. Таким образом, в памяти всегда хранится предыстория за текущий час.

При старте программы если в архиве уже есть данные за текущий час, то они загружаются в часовой блок в памяти, в противном случае блок начинает заполняться заново.

При нормальном завершении программы все часовые блоки находящиеся в памяти фиксируются на жестоком диске.

 

3. Просмотр содержания периодического архива.

            Приятной особенностью системы НЕЗАБУДКА явлется тот факт, что запрвшиваемые из архива данные возвращаются не виде числового массива, а в форме графического тренда, который автоматически настраивается на особенности вызываемых параметров: шкала, уставки, единицы измерения и т.п.

            В программе предусмотрено 2 способа просмотра содержания периодического архива.

Наименование

Представление информации

Период просмотра

Количество

параметров

Примечание

1.Часовая статистика по параметру

Минимум, максимум и среднее за час. Минимум, максимум и среднее за сутки.

От 1 до 31 суток

(от 24 до 744 часов)

один

Пользователь  выбирает параметр

2. Реальные значения группы параметров

Реальные значения либо

средние значения за период 1,5,10,15,30,60

минут.

От 1 до 25 часов

От 1 до 16

Пользователь  формирует группу или выбирает из списка фиксированых

групп

  


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=18138