Что такое SCADA?
Автоматизированное управление сложными динамическими системами с помощью SCADA систем в настоящее время является самым распространенным и надежным методом построения систем сбора данных и визуализации. Такие системы применяются во многих отраслях: промышленности, энергетике, госструктурах, транспорте. Широкое развитие данных систем связано как со стремительным развитием технологий, вытесняющих участие человека в данных процессах и удешевляющих стоимость конечного решения и обслуживания, так и с уменеьшением вероятных ошибок в случаях принятия решения и увеличения скорости реакции на нештатные ситуации. SCADA Термин SCADA эволюционировал вместе с развитием технологий автоматизации и управления технологическими процессами. В 80-е годы под SCADA-системами чаще понимали программно-аппаратные комплексы сбора данных реального времени. С 90-х годов термин SCADA больше используется для обозначения только программной части человеко-машинного интерфейса АСУ ТП. Процесс работы типичной SCADA заключается в сборе информации в режиме реального времени с удаленных объектов, ее обработке, анализу и обратной связи - управлению, визулизации данной информации в виде графиков, диаграмм и сообщений о событиях. Системы совершенствуются с каждым годом, компании производители выпускают новые версии своих продуктов, происходят слияния, появление на рынке новых компаний с более технологичными решениями и уход старых. Очень часто внедрение новой системы или замена старой, на более приспособленную к требованиям производства, дает эффект экономии сотен и миллионов рублей. Применение SCADA требует обязательного наличия оператора, который отвечает за управление всей системой, настраивает необходимые параметры, вводит корректировки, принимает необходимые действия при наступлении критических ситуаций. Использование системы целесообразно в тех случаях, когда требуется максимальная скорость реакции на внешние воздействия и изменения параметров, в случаях серьезного производства с высокой ценой ошибки.
Примеры SCADA систем
SCADA системы существенно изменились на протяжении последних лет в плане функциональности, масштабируемости, быстродействии и открытости. Уже согласно названию SCADA это не полноценная система управления, а больше система наблюдения, позиционируемое в качестве программного обеспечения верхнего уровня, взаимодействующего с PLC контроллерами или другими устройствами сбора данных.
SCADA системы используются не только в системах контроля производством в сталелитейной промышленности, энергетике, но и на экспериментальных объектах типа ядерных станций. Такие объекты имеют от 1000 до десятков тысяч каналов ввода-вывода. В самом начале SCADA системы разрабатывались и работали под DOS, VMS и UNIX, а затем плавно переместились на Windows XP, Windows Server 2003 и Linux.
Архитектура
Аппаратная архитектура
Архитектура системы состоит из двух основных частей: "клиентской" для реализации человеко-машинного интерфейса и "сервера данных" для взаимодействия с источниками данных уровня оборудования. Контроллеры типа PLC, PAC или даже PC-совместимые подключаются к серверу данных либо напрямую через сеть или с помощью полевых шин - собственных (Siemens H1) или общих (Profibus). Серверы данных соединяются между собой и с клиентами с помощью Ethernet LAN.
Программная архиектура
SCADA - это многозадачная система, построенная на базе базы данных реального времени (RTDB), расположенной на одном или нескольких серверах. Серверы отвечают за сбор данных и управления (опрос контроллеров, проверку сообщений и тревог, формирование журнала событий, вычислений, архивации итд). Возможно разделение задач по отдельным аппаратным серверам, например, на отдельном сервере можно вести архивацию, на отдельном держать журнал событий и тревог, все это позволяет сделать распределенная архитектура.
Коммуникации
Внутренние коммуникации:
Сервер-клиент и клиент-серверные коммуникации происходят с помощью стандартных механизмов ("публикации-подписки" и "событий-обработчиков") и используют TCP/IP протокол для передачи данных. Если подробнее, то выглядит это так - клиентское приложение "подписывается" на параметр и получает уведомление только в случае его изменения. Серверы данных опрашивают контроллеры с определенной пользователем частотой, которая может быть разной для различных параметров. Каждый параметр сопровождается временной меткой и статусом. Все пакеты поставляются с коммуникационными драйверами для большинства известных PLC и основных протоколов типа Modbus. Один сервер данных может работать сразу по нескольким протоколам и ограничивается лишь количеством COM-портов, интерфейсных плат или другими аппаратными ограничениями.
Интерфейс
Наиболее простым способом взаимодействия с оборудованием сбора данных остается стандарт OPC. Стандарт развился от классических OPC DA, OPC HDA и OPC AE, которые базировались на COM/DCOM до введенных в последние годы OPC UA и OPC XML-DA. OPC UA это уже один унифицированный стандарт, который объединил в себе все остальные, отвязался от платформы Microsoft (и соответственно от Windows) и предоставил разработчикам-интеграторам более гибкую информационную модель.
Также почти все SCADA для Windows предоставляют интерфейс ODBC для доступа к логам, архивам и текущим данным. Кроме того они поддерживают DDE, который позволяет динамически визуализировать данные в электронные таблицы Excel и динамические библиотеки (DLL).
База данных
Конфигурационные данные сохраняются в базе данных, которая физически может быть расположена на разных серверах, но логически является одним целым. Формат хранимых данных собственный для каждой SCADA системы и зависит от логической структуры данных.
Масштабируемость
Под масштабируемостью подразумевается возможность расширять возможности SCADA путем добавления переменных процесса, дополнительных серверов и клиентов. Продукт добивается масштабируемости за счет подключения произвольного количества серверов сбора к произвольному количеству контроллеров, причем каждый сервер имеет свою собственную БД и возможность обрабатывать поступаемые данные, формировать сообщения и вести архивацию.
Функциональность
Пользователи системы распределяются по группам, каждая из которых имеет свои привилегии в плане чтения/записи переменных и параметров в системе, доступа к различным экранам, формировании событий итд. Любая система поддерживает набор мнемосхем - экранов оператора, между которыми можно переключаться и которые можно структурировать иерархически. Все они также поддерживают концепцию привязки графических объектов мнемосхемы к переменным состояния или управления. Стандартная SCADA система имеет библиотеку графических элементов для визуализации процессов, как собственной разработки, так и свободно распространяемые (в несколько тысяч элементов). Рабочий стол оператора с мнемосхемой можно масштабировать, скролить, а в некоторых случаях и изменять элементы не выходя из режима исполнения. Практически все SCADA системы обладают возможность строить тренды, на которых переменные процесса отображаются в динамике. Архивные тренды позволяют также визуализировать состояние переменной в прошлом, отображая данные из БД за определенный промежуток времени. На одном графике можно вывести и несколько параметров, а сами тренды могут быть не только линейными, но и, например, барграфическими.
Обработка тревог
Обработка тревог основывается на анализе отдельных значений (выход за пределы, анализе статуса и метки времени) или совокупном анализе нескольких переменных (по заранее заложенным алгоритмам). Тревоги имеют различные уровни важности, определяющие приоритет сообщений, и могут распределяться и выводиться для разных операторов. Их также можно фильтровать, сводить в группы, отправлять на удаленные машины, на е-мэйл или посредством SMS.
Архивация и ведение логов
В лог-файлы записывается информация, касающаяся всех, произошедших в системе событий, снабженных метками времени и значениями переменных в этот момент. Туда же заносятся все ключевые действия операторов системы. В архивы помещаются данные по тем переменным, архивация (хранение их определенное время) которых установлена оператором системы.
Отчеты
Отчеты строятся на основе архивных данных из БД с помощью встроенных генераторов, в которых можно задавать количество и тип выводимых переменных, период построения, проводить дополнительный анализ. Построенные таким образом отчеты можно экспортировать в Excel, выводить на принтер или отправлять другим пользователям, причем делать это как в автоматическом, так и в ручном режимах.
Управление
Очень важной функцией SCADA систем является возможность управления процессом с помощью установки определенных переменных в удаленных контроллерах и станциях ввода/вывода. Формирование сигналов управления и алгоритм их генерации задается с помощью встроенных скриптовых языков, входными параметрами которых являются уже собранные теги.
Веб доступ
Почти все современные SCADA системы имеют встроенный веб-сервер, который позволяет удаленно получать доступ к информации о происходящих на объекте процессах, а при определенных полномочиях и влиять на них. Это самый удобный из всех вариантов решения типа клиент-сервер, поскольку не требуется никаких дополнительных усилий на клиентской стороне. Более того, на текущий момент все больше SCADA систем разрабатывается как "web-based", то есть полностью построенными на базе веб-технологий типа AJAX,Silverlight.
Средства разработки
В стандартной поставке SCADA системы обычно идут следующие приложения: графический редактор (включающий в себя стандартные методы построения изображений); библиотека элементов (вентили, шкалы, индикаторы, трубы); редактор трендов; утилита для работы и настройки базы данных; редактор скриптов на встроенном языке программирования; редактор источников данных (драйверов, ODBC клиентов); OPC клиент для чтения данных с серверов и OPC сервер для публикации собственных; среда исполнения.