На главную

Опыт использования InterBase 6

 
Новости
Продукты
Цены
Услуги
Проекты
События
Download
Документы
Команда
Контакт
Партнеры
Ссылки
FAQ
Гостевая
 
Рассылки Subscribe.Ru
SCADA-система КАСКАД.
Новости сайта

Использование SQL-сервера баз данных InterBase 6 в SCADA-системе «КАСКАД»

Бурмистров А.В., ведущий разработчик SCADA-системы "КАСКАД", 2002 год

В статье рассматривается опыт применения SQL-сервера баз данных InterBase 6 в SCADA-системе "КАСКАД", особенности, связанные с адаптацией этого продукта для использования в качестве основной платформы при создании проектов АСУ ТП и интеграция с системами управления предприятием.


Введение

Базы данных являются неотъемлемой частью любой SCADA-системы. Многие разработчики таких систем предпочитают работать с базами собственного формата, предоставляя конечным пользователям, если это нужно, механизмы экспорта в форматы распространенных баз данных, или разрабатывая драйвера для доступа к своим архивам через такие интерфейсы, как ODBC.

Обычно такое решение аргументируется тем, что:

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

  • Большой поток информации в течении более-менее продолжительного времени вызовет громадный размер самой базы данных.

  • Язык SQL, используемый для работы с современными базами данных, да и сама идеология реляционных баз данных мало приспособлены для работы с наборами временных рядов, коими, по сути, является историческая информация в SCADA-системах.

Но, несмотря на эти очевидные недостатки, можно привести пример очень удачной разработки - всем известный Industrial SQL Server компании Wonderware, реализованный на платформе Microsoft SQL Server.


При разработке SCADA-системы "КАСКАД" разработчики изначально хотели сориентироваться на существующую полноценную клиент-серверную технологию баз данных, дабы облегчить себе дальнейший рост на пути интеграции с системами управления предприятием и т.п. Но, при этом были учтены и все требования, присущие непосредственно системам АСУ ТП.

В результате анализа и тестирования нескольких продуктов была выбрана разработка компании Borland - SQL-сервер баз данных InterBase 6.

Преимущества использования сервера InterBase 6 по сравнению с необходимостью разработки собственной базы данных или продуктами других компаний следующие:

  • Готовая архитектура клиент/сервер, позволяющая строить распределенные системы АСУ ТП.

  • Полноценная поддержка языка SQL. Хоть SQL мало пригоден для нужд АСУ ТП, для интеграции с системами управления предприятием его можно использовать очень широко.

  • Расширение функциональности сервера за счет хранимых процедур, библиотек пользователя, триггеров и пр. Несмотря на то, что технологическая информация хранится в неудобном, закрытом формате, клиентам это незаметно. Всю работу с базой они ведут через набор хранимых процедур, полностью скрывающих внутренности реализации.

  • Высокая надежность и высокое быстродействие сервера InterBase.

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

  • Существующие драйвера для поддержки интерфейсов OLE DB и ODBC.

  • Встроенный механизм сервера InterBase для резервирования баз данных. Дополнительно, существует возможность резервирования средствами самой SCADA-системы "КАСКАД".

  • Небольшой размер. В типовой конфигурации сервер занимает на диске около 5 мегабайт. При желании можно уменьшить это значение еще раза в два.

  • Практически полное отсутствие необходимости администрирования сервера. Очень простая установка.

Все эти особенности и послужили основой для выбора сервера InterBase 6 как основной платформы, используемой в SCADA-системе "КАСКАД" для хранения всей исторической и служебной информации.


Аутентификация пользователей

Любая SCADA-система должна в той или иной мере предоставлять механизмы для разграничения прав пользователей. В SCADA-системе "КАСКАД" этот механизм полностью опирается на сервер InterBase. Имеется централизованная база данных, в которой хранится список пользователей, групп пользователей, список действий, возможных в SCADA-системе и права пользователей на совершение определенных действий.


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

Регистрация событий, происходящих в ходе технологического процесса - также неотъемлемая часть любой SCADA-системы. В SCADA-системе "КАСКАД" регистрация событий также происходит в базы данных сервера InterBase. Событием может быть все, что угодно - сообщения о нарушениях в ходе технологического процесса, действия оператора, загрузка и выгрузка модулей, просто какая-то отладочная информация. Каждому событию при его генерации автоматически присваивается временная метка с точность до 1 миллисекунды.


Регистрация технологических параметров

Особый интерес в SCADA-системе "КАСКАД" представляет механизм регистрации технологических параметров - то есть так называемое ведение истории технологического процесса. Этот механизм так же функционирует под управлением сервера InterBase. Рассмотрим подробнее его реализацию, и то, как удалось обойти ограничения, высказываемые выше, которые в равной мере присущи и серверу InterBase.

Вся технологическая информация хранится не во внешних таблицах, а в BLOB-полях. При использовании внешних таблиц не работает механизм транзакций, и надежность хранения информации снижается. Этого не происходит при использовании BLOB-полей. Из опыта эксплуатации можно сказать, что созданная база регистрации технологических параметров очень устойчива к сбоям.

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

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

Механизм регистрации технологических параметров в SCADA-системе "КАСКАД" очень гибок и легко масштабируем. Он позволяет создавать и небольшие локальные архивы непосредственно на рабочих станциях, и распределенные хранилища исторической информации большого объема на специально отведенных для этого серверах. Такие параметры регистрации, как число баз в проекте, количество переменных в базе, число самих баз, резервирование баз данных, длительность хранения информации ограничиваются только мощностью используемой вычислительной техники.

Физически базы данных могут находиться как непосредственно на самих рабочих станциях АСУ ТП, так и удаленно, на специально выделенных для этого архивных серверах. Возможно построение распределенной архитектуры, в которой задачи сбора информации, ее хранения и представление конечному пользователю выполняются на различных рабочих станциях.

Посмотрим на окно настройки параметров архивирования:

Свойства базы данных

Первое поле - "Период записи значений" - фактически задает период, с которым будет производиться опрос параметров.
Переключатель "Записывать в базу только изменения" управляет включение/выключением режима регистрации по апертуре. Если он выключен, то все параметры опрашиваются и безусловно записываются в базу с периодом, указанным в поле "Период записи значений". Если же он включен, то параметры опрашиваются с заданным периодом, но каждый цикл опроса значение каждого параметра анализируется, и реально значение заносится в базу только в том случае, если оно изменилось на величину, указанную в поле "Чувствительность".
Здесь следует отметить такой момент: период записи значений можно задать достаточно малым. Это обеспечит высокую скорость анализа состояния регистрируемых параметров. Но при этом, если они меняются во времени медленно, это не будет вызывать частой записи в базу, и, соответственно, большого объема архива. Но в аварийной ситуации, когда параметры начнут меняться гораздо быстрее, автоматически и регистрация станет производиться быстрее. То есть, в аварийной ситуации точность регистрации повышается.

Просмотр истории: разное изменение параметров

Просмотр истории: быстро изменяющиеся параметры регистрируются чаще, чем изменяющиеся медленно

В результате принятых мер были достигнуты хорошие характеристики по скорости регистрации параметров, выборки параметров из базы для анализа истории, и результирующим объемам архивов.

Приведем количественные характеристики из реального проекта:

  • Число регистрируемых параметров - 1000 аналоговых.

  • Период записи - 1 секунда.

  • Тип регистрации - по апертуре, без сжатия.

  • Длительность одного цикла "опрос-регистрация" - 20 миллисекунд.

  • Длительность хранения информации - 60 суток.

  • Результирующий объем архива - около 2 Гб.

  • Рабочая станция - Celeron 533, 128 Мб, Fujitsu MPF3102AT 10 Гб, Windows 2000 Pro.

  • Загрузка ЦПУ в процессе регистрации - 5 %.

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

Максимальная частота сбора параметров зависит в основном от быстродействия дисковой подсистемы рабочей станции. При использовании распространенных IDE-винчестеров она обычно составляет 10-20 раз в секунду.

Но, было бы нерационально, если бы такой мощный инструмент, как SQL-сервер InterBase использовался только как хранилище данных. Он предоставляет широкие возможности по расширению функциональности с помощью механизма хранимых процедур, создаваемых на языке SQL, и библиотек UDF (User Define Function), представляющих из себя обычные библиотеки DLL.

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

С помощью связки "хранимые процедуры + UDF" реализуются не только элементарные действия по выборке истории параметров, но и более сложные алгоритмы:

  • Поиск минимумов и максимумов.

  • Получение средних и интегральных значений.

  • Получение статистики о том, как вел себя заданный параметр.

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


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

В SCADA-системе "КАСКАД" имеются два удобных инструмента для анализа истории хода технологического процесса. Это модуль просмотра истории, который представляет информацию в виде графиков, и модуль формирования рапортов, который формирует на выходе документы MS Excel, содержащие сводную информацию, такую как: средние и интегральные значения параметров за заданный промежуток времени, пробег оборудования, список нарушений в ходе технологического процесса, таблицы мгновенных значений параметров и т.п.

Информация, накапливаемая в базах регистрации технологических параметров, может в дальнейшем быть использована в системах управления предприятием. Например, на предприятии ОАО "Химпром" (г. Новочебоксарск), используется система управления предприятием "ИСТОК". В эту систему происходит передача информации о потреблении энергетических и материальных ресурсов на подразделениях предприятия, информации о состоянии запорной арматуры на энергоматериалопроводах и пр. Первоначально эта информация собирается, анализируется, обрабатывается и архивируется непосредственно под управлением самой SCADA-системы "КАСКАД", функционирующей на этих подразделениях.

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

Пример рапорта, сформированного по данным из БРТП

Пример просмотра истории технологического процесса

Пример рапорта, сформированного по данным из базы регистрации технологических параметров


Будущее

SCADA-система "КАСКАД" - постоянно развивающийся и совершенствующийся продукт. И это в первую очередь касается и ее интеграции с сервером InterBase.

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

Предполагается наделить SCADA-систему "КАСКАД" элементами функциональности сервера приложений, чтобы можно было вести полную историю документов, формируемых в процессе работы SCADA-системы, и предоставлять пользователям удобный механизм для доступа к этой истории.

Спецификации OLE for Process Control фактически уже стали промышленным стандартом в области АСУ ТП. В SCADA-системе "КАСКАД" имеется поддержка OPC Data Access для доступа к оперативной информации. Сейчас ведутся работы по внедрению также и интерфейсов OPC Historical Data Access. Это позволит превратить сервер InterBase в полноценный сервер OPC HDA.

   

 

Copyright © 2002-2004 KASKAD Development Team

Hosted by uCoz