SCADA (аббр. от англ. Supervisory Control And Data Acquisition — диспетчерское управление и сбор данных) — программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и, для связи с объектом, использует драйверы ввода-вывода или OPC/DDE серверы. Программный код может быть как написан на одном из языков программирования, так и сгенерирован в среде проектирования.
Возникла необходимость применения нового подхода при разработке таких систем, а именно, ориентация в первую очередь на человека-оператора (диспетчера) и его задачи. Реализацией такого подхода и являются SCADA-системы, которые иногда даже называют SCADA/HMI.
SCADA-системы наилучшим образом применимы для автоматизации управления непрерывными и распределенными процессами, какими являются нефтегазовые технологические процессы. Кроме нефтяной и газовой промышленности, SCADA-системы применяются в следующих областях:
1) управление производством, передачей и распределением электроэнергии;
2) промышленное производство;
3) водозабор, водоочистка и водораспределение;
4) управление космическими объектами;
5) управление на транспорте (все виды транспорта: авиа, метро, железнодорожный, автомобильный, водный);
6) телекоммуникации;
7) военная область.
В мире насчитывается не один десяток компаний, активно занимающихся разработкой и внедрением SCADA-систем. Программные продукты многих из этих компаний представлены на российском рынке. Кроме того, в России существуют компании, которые занимаются разработкой отечественных SCADA-систем.
Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными и к ним добавляют термин SoftLogic.
Термин «SCADA» имеет двоякое толкование. Наиболее широко распространено понимание SCADA как приложения, то есть программного комплекса, обеспечивающего выполнение указанных функций, а также инструментальных средств для разработки этого программного обеспечения. Однако часто под SCADA-системой подразумевают программно-аппаратный комплекс. Подобное понимание термина SCADA более характерно для раздела телеметрия.
Значение термина SCADA претерпело изменения вместе с развитием технологий автоматизации и управления технологическими процессами. В 80-е годы под SCADA-системами чаще понимали программно-аппаратные комплексы сбора данных в реальном времени. С 90-х годов термин SCADA больше используется для обозначения только программной части человеко-машинного интерфейса АСУТП.
SCADA-системы решают следующие задачи:
- Обмен данными с «устройствами связи с объектом» (то есть с промышленными контроллерами и платами ввода-вывода) в реальном времени через драйверы.
- Обработка информации в реальном времени.
- Логическое управление.
- Отображение информации на экране монитора в удобной и понятной для человека форме.
- Ведение базы данных реального времени с технологической информацией.
- Аварийная сигнализация и управление тревожными сообщениями.
- Подготовка и генерирование отчетов о ходе технологического процесса.
- Осуществление сетевого взаимодействия между SCADA ПК.
- Обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовые процессоры и т. д.).
В системе управления предприятием такими приложениями чаще всего являются приложения, относимые к уровню MES или АСУП.
SCADA-системы позволяют разрабатывать АСУ ТП как автономные приложения, а также в клиент-серверной или в распределённой архитектуре.
SCADA-система обычно содержит следующие подсистемы:
- Драйверы или серверы ввода-вывода — программы, обеспечивающие связь SCADA с промышленными контроллерами, счётчиками, АЦП, ЦАП и другими устройствами ввода-вывода информации.
- Система реального времени — программа, обеспечивающая обработку данных в пределах заданного временного цикла с учётом приоритетов.
- Человеко-машинный интерфейс(HMI, англ. Human Machine Interface) — инструмент, который представляет данные о ходе процесса человеку оператору, что позволяет оператору контролировать процесс и управлять им. В последнее время HMI все чаще работает через встроенный или внешний web-сервер по протоколу https.
- Программа-редактор для разработки человеко-машинного интерфейса.
- Система логического управления — программа, обеспечивающая исполнение пользовательских программ (скриптов) логического управления в SCADA-системе. Набор редакторов для их разработки.
- База данных реального времени — программа, обеспечивающая сохранение истории процесса в режиме реального времени.
- Система управления тревогами — программа, обеспечивающая автоматический контроль технологических событий, отнесение их к категории нормальных, предупреждающих или аварийных, а также обработку событий оператором или компьютером.
- Генератор отчетов — программа, обеспечивающая создание пользовательских отчетов о технологических событиях. Набор редакторов для их разработки.
- Внешние интерфейсы — стандартные интерфейсы обмена данными между SCADA и другими приложениями. Обычно SQL, OPC, DDE, ODBC, JDBC и т. д.
Термин SCADA обычно относится к централизованным системам контроля и управления всей системой, или комплексами систем, осуществляемого с участием человека. Большинство управляющих воздействий выполняется автоматически УСО(RTU) или ПЛК (PLC). Непосредственное управление процессом обычно обеспечивается RTU или PLC, а SCADA управляет режимами работы. Например, PLC может управлять потоком охлаждающей воды внутри части производственного процесса, а SCADA система может позволить операторам изменять уставки для потока, менять маршруты движения жидкости, заполнять те или иные ёмкости, а также следить за тревожными сообщениями (алармами), такими как — потеря потока и высокая температура, которые должны быть отображены, записаны, и на которые оператор должен своевременно реагировать. Цикл управления с обратной связью проходит через RTU или PLC, в то время как SCADA система контролирует полное выполнение цикла.
Сбор данных начинается в RTU или на уровне PLC и включает показания измерительного прибора. Далее данные собираются и форматируются таким способом, чтобы оператор диспетчерской, используя HMI, мог принять контролирующие решения — корректировать или прервать стандартное управление средствами RTU/PLC. Данные также могут быть записаны в архив для построения трендов и другой аналитической обработки накопленных данных.
Как для разработки SCADA систем, так и для их прикладного программирования, широко применяется DevOps.