Введение
SCADA-системы предназначены для осуществления мониторинга и диспетчерского контроля большого числа удаленных объектов (от 1 до 10000, иногда на расстоянии в тысячи километров друг от друга) или одного территориально распределенного объекта. К таким объектам относятся нефтепроводы, газопроводы, водопроводы, электрораспределительные подстанции, водозаборы, дизель-генераторные пункты и т.д.
Главная задача SCADA-систем – это сбор информации о множестве удаленных объектов, поступающей с пунктов контроля, и отображение этой информации в едином диспетчерском центре. Также, SCADA-система должна обеспечивать долгосрочное архивирование полученных данных. Диспетчер зачастую обладает возможностью не только пассивно наблюдать за объектом, но и управлять им, реагируя на различные ситуации.[2]
Задачи SCADA-систем:
обмен данными с УСО (устройства связи с объектом, то есть с промышленными контроллерами и платами ввода/вывода) в реальном времени через драйверы;
обработка информации в реальном времени;
отображение информации на экране монитора в понятной для человека форме;
ведение базы данных реального времени с технологической информацией;
аварийная сигнализация и управление тревожными сообщениями;
подготовка и генерирование отчетов о ходе технологического процесса;
обеспечение связи с внешними приложениями (СУБД(Система управления базами данных), электронные таблицы, текстовые процессоры и т. д.).
Структура SCADA-систем
Структура системы SCADA
Любая SCADA-система включает три компонента: удалённый терминал (RTU – Remote Terminal Unit), диспетчерский пункт управления (MTU – Master Terminal Unit) и коммуникационную систему (CS – Communication System).
Удаленный терминал подключается непосредственно к контролируемому объекту и осуществляет управление в режиме реального времени. Таким терминалом может служить как примитивный датчик, осуществляющий съем информации с объекта, так и специализированный многопроцессорный отказоустойчивый вычислительный комплекс, осуществляющий обработку информации и управление в режиме реального времени.
Диспетчерский пункт управления осуществляет обработку данных и управление высокого уровня, как правило, в режиме квазиреального времени. Он обеспечивает человеко-машинный интерфейс. MTU может быть как одиночным компьютером с дополнительными устройствами подключения к каналам связи, так и большой вычислительной системой или локальной сетью рабочих станций и серверов.[2]
Коммуникационная система необходима для передачи данных с RTU на MTU и обратно. В качестве коммуникационной системы могут использоваться следующие каналы передачи данных: выделенные линии, радиосети, аналоговые телефонные линии, ISDN сети, сотовые сети GSM (GPRS). Зачастую устройства подключаются к нескольким сетям для обеспечения надёжности передачи данных.
Технология OPC
OPC — семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC протоколов базируются на Windows-технологиях: OLE, ActiveX, COM/DCOM. Такие OPC протоколы, как OPC XML DA и OPC UA, являются платформо независимыми.[1]
OPC — набор спецификаций стандартов. Каждый стандарт описывает набор функций определенного назначения. Текущие стандарты:
OPC DA (Data Access) — основной и наиболее востребованный стандарт. Описывает набор функций обмена данными в реальном времени с ПЛК, РСУ, ЧМИ, ЧПУ и другими устройствами.
OPC AE (Alarms & Events) — предоставляет функции уведомления по требованию о различных событиях: аварийные ситуации, действия оператора, информационные сообщения и другие.
OPC Batch — предоставляет функции шагового и рецептурного управления технологическим процессом (в соответствии с стандартом S88.01)
OPC DX (Data eXchange) — предоставляет функции организации обмена данными между OPC-серверами через сеть Ethernet. Основное назначение — создание шлюзов для обмена данными между устройствами и программами разных производителей.
OPC HDA (Historical Data Access) — в то время как OPC Data Access предоставляет доступ к данным изменяющимся в реальном времени, OPC Historical Data Access предоставляет доступ к уже сохраненным данным.
OPC Security — определяет функции организации прав доступа клиентов к данным системы управления через OPC-сервер.
OPC XML-DA (XML-Data Access) — предоставляет гибкий, управляемый правилами формат обмена данными через SOAP и HTTP.
OPC UA (Unified Architecture) — последняя по времени выпуска спецификация, которая основана не на технологии Microsoft COM, что предоставляет кросс-платформенную совместимость.
SCADA-системы
Рассмотрим пару примеров SCADA-систем.
MasterSCADA 4D
Примером SCADA-системы нового поколения является MasterSCADA 4D, разрабатываемая компанией ИнСАТ. MasterSCADA 4D состоит из среды разработки и исполнительной системы. Среда разработки, как и прежде, является Windows- приложением и предназначена для работы на персональном компьютере. Исполнительная система – кроссплатформенное приложение, предназначенное для исполнения созданных в среде разработки прикладных программ, а также обеспечения человеко-машинного интерфейса. Таким образом, код прикладных программ независимо от места его последующего исполнения остаётся всегда один и тот же, а исполнительная система для каждой программно-аппаратной платформы различная. На сегодняшний день она поддерживает операционные системы Windows, Linux, Android и Эльбрус.[3]
Внутренняя структура MasterSCADA 4D
Прикладные программы разрабатываются на хорошо знакомых по системам SoftLogic языках стандарта МЭК 61131-3, каковыми являются ST (язык структурного текста), FBD (язык функциональных блоков), SFC (язык функциональных последовательностей) и LD (язык релейной логики). Программы, созданные на графических языках (FBD, SFC и LD) предварительно компилируются в код ST. Затем вместе с кодом, изначально написанном на ST, компилируется MPLC-код, который в зависимости от конкретной системы, либо интерпретируется непосредственно исполнительной системой, либо компилируется с помощью JIT-компилятора.
Система визуализации разрабатывается в этой же среде с помощью редактора мнемосхем, поддерживающего векторную SVG графику с возможностью пользовательской параметризации различных частей изображения (т.е. пользователь может самостоятельно сделать динамически управляемыми различные части изображения). Исполнительная часть системы визуализации представляет собой кроссплатформенный веб-сервер, который может физически располагаться как вместе с исполнительной системой сервера данных, так и отдельно, на другом устройстве или в облаке. Обмен данными между сервером визуализации и сервером данных осуществляется посредством веб - сервисов.
Среда разработки
В среде разработки реализован подход, зарекомендовавший себя среди широкого круга пользователей MasterSCADA предыдущих поколений, и заключающийся в раздельном построении структуры физической реализации системы (дерево системы) и системы абстрактной модели объекта (дерево объектов)
В структуре дерева Системы задаются узлы системы, место их физического расположения, протоколы связи. В качестве узла может служить как физическое (контроллер, персональный компьютер), так и виртуальное устройство (в том числе – облачный сервис). Межузловое взаимодействие реализовано на основе протокола OPC UA, что обеспечивает “бесшовное” (незаметное для пользователя) соединение любых компонентов в рамках одного проекта – различные компоненты прикладной программы могут располагаться на разных узлах системы, при этом пользователю не требуется специально создавать линии связи между узлами или назначать протоколы обмена данными между ними. В структуре дерева Объектов строится иерархия прикладных программ, данных и средств визуализации.
Такой подход позволяет разрабатывать логику управления без привязки к конкретному “железу”, а уже потом привязать параметры структуры объекта к конкретным входным и выходным каналам, заданным в структуре системы. При изменении конфигурации системы потребуется переделать только дерево системы. А всё дерево объектов, которое включает прикладные программы, данные и визуализацию – останется нетронутым. За счёт этого достигается гибкость применения одних и тех же решений в системах различной конфигурации. Ещё одну степень свободы даёт возможность любой программный компонент (как объект, так и просто отдельный функциональный блок) назначить для исполнения в определённом узле системы. [3]
Таким образом можно перераспределять нагрузку в зависимости от вычислительной мощности того или иного оборудования или от специфики выполнения той или иной задачи. Например, логику аварийных блокировок, ввиду высоких требований по быстродействию, назначить для выполнения в контроллере, а введение долгосрочных архивов и их визуализацию – делегировать облачному сервису.
SCADA-система “КАСКАД”
Одним из представителей программных продуктов класса SCADA является SCADA-система «КАСКАД», которая предназначена для построения различных систем промышленной автоматизации, например:
• АСУТП – автоматизированная система управления технологическим процессом
• АСКУЭ – автоматизированная система контроля и учета электрической энергии
• АСКУЭР – автоматизированная система контроля и учета энергоресурсов
• АСДКУ – автоматизированная система диспетчерского контроля управления и др.
SCADA-система «КАСКАД» выполняет следующие основные функции:
• Сбор оперативной информации о ходе технологического процесса
• Обработка полученной информации по алгоритмам пользователя
• Предоставление информации в виде мнемосхем технологического процесса
• Оперативное и диспетчерское управление технологическим процессом
• Ведение истории технологического процесса
• Вычитка накопленных архивов устройств (контроллеров, счетчиков)
• Просмотр и анализ хода технологического процесса
• Формирование отчетной документации
• Экспорт оперативной и исторической информации в WEB
• Регистрация всех действий операторов, а также контроль и регистрация событий и нарушений в ходе технологического процесса
• Информирование персонала о нарушениях при помощи звуковой, световой сигнализации, через короткие сообщения (SMS) и по электронной почте (E-mail)
• Разграничение прав пользователей и уровней доступа к системе
«КАСКАД» — модульная система, имеющая клиент-серверную архитектуру. Можно выделить две основные группы программных модулей SCADA-системы «КАСКАД» — серверные и клиентские. Серверная часть отвечает за сбор данных с различных устройств, их обработку, ведение архивов, отслеживание нарушений в технологическом процессе. К ней относятся следующие модули:
• Сервер Доступа к Данным (СДД) • Модули Доступа к Данным (МДД) – драйвера, реализующие протоколы обмена с различными устройствами: как стандартные (Modbus, OPC), так и специфичные для конкретных устройств
• Модули Обработки Данных (МОД) – модуль обработки паспортов, модуль аварийно-предупредительной сигнализации, менеджер опроса контроллеров KLogic, модуль ведения баз данных (БД) технологических параметров (ТП)
Клиентская часть обеспечивает взаимодействие с пользователем: наблюдение за ходом технологического процесса, управление процессом, просмотр накопленных архивов, формирование отчетов. К ним относятся следующие модули:
• Модуль Визуализации
• Модуль просмотра истории
• Модуль формирования рапортов
Кроме того, в «КАСКАД» интегрированы две обязательные подсистемы, которые используются всеми приложениями — и серверными, и клиентскими — это подсистема аутентификации пользователей и подсистема регистрации событий.[4]
Подсистема аутентификации пользователей необходима для исключения несанкционированного доступа к системе. Кроме того, она позволяет дать пользователям разные права: одним пользователям разрешено только слежение за технологическим процессом, другим управление, третьим – изменение тонких параметров технологического процесса и уставок.
Задачей подсистемы регистрации событий, как следует из названия, является регистрация всех событий, происходящих в системе: действия пользователей, выход за допустимые пределы параметров технологического процесса, сработка защит, а также иные события, генерируемые приложениями.
Модули SCADA-системы “КАСКАД”
Применение OPC
Обычно технологию ОРС применяют для обмена данными между контроллерами и SCADA системой, но также возможна организация сложных систем на разных уровня АСУ ТП
ОРС состоит из двух частей: ОРС клиента и ОРС сервера. ПО ОРС сервера через драйверы устройств по полевым шинам опрашивает различные устройства. ПО ОРС клиента обычно встроено в SCADA систему и предназначено для получения данных с ОРС сервера
На предприятии можно выделить несколько уровней АСУ:
Нижний уровень - полевые шины и отдельные контроллеры
Средний уровень - цеховые сети
Уровень АСУ ТП - уровень работы систем типа SCADA
Уровень АСУП - уровень приложений управления ресурсами предприятия, ERP, MES
Каждый из этих уровней может обслуживаться OPC-сервером, поставляя данные OPC-клиенту на более высоком уровне или соседнему устройству
Работа OPC DA сервера
OPC DA сервер обеспечивает обмен данными (запись и чтение) между клиентской программой (обычно SCADA системой) и конечными устройствами. Данные в OPC представляют собой переменную Тег с некоторыми свойствами. Переменная может быть любого типа, допустимого в OLE: различные целые и вещественные типы, логический тип, строковый, дата, массивом и т. д. Свойства могут быть обязательными, рекомендуемыми и пользовательскими.[5]
Обязательные свойства:
Текущее значение переменной, ее тип и права доступа (чтение и/или запись).
Качество переменнойзависит от выхода измеряемой величины за границы динамического диапазона, отсутствии данных, ошибки связи и других параметров. Обычно принимает значения: хорошее/плохое/неопределенное и дополнительная информация.
Метка временисообщает о времени, когда переменная получила данное значение.
Частота опроса переменной OPC-серверомзадает время обновления значения переменной.
Описание переменной, которое содержит информацию для пользователя о том, что представляет собой эта переменная.
Примеры OPC DA сервера
Для примера возьмём SCADA систему Trace Mode 6, в которой реализована функция OPC DA сервера. Trace Mode 6 можно поставить на ПК, либо сразу на контроллер.
SCADA Trace Mode 6 может опрашивать различные модули ввода-вывода и управлять контроллерами по стандартным промышленным протоколам типа: Modbus, МЭК 60870-5-104, HART и другим. Но промышленные протоколы не предназначены для обмена данными между SCADA и ERP, MES системами. Тут придет на помощь стандарт OPC DA, который позволит собрать различные данные с исполнительных модулей SCADA. OPC DA сервер для получения данных с Trace Mode доступен как отдельный модуль, так и в составе модулей OPC МРВ+ или OPC ДокМРВ+.
Также Trace Mode 6 может выступать в качестве OPC клиента и получать данные с OPC DA серверов различных производителей. Например, есть видео урок подключения Trace Mode 6 к NAPOPC DA Server – это OPC DA сервер от компании ICP DAS. [5]
Стандарт OPC UA
OPC UA (Unified Architecture) – это современный стандарт, описывающий передачу данных в промышленных сетях. Он обеспечивает защищенную и надежную коммуникацию между устройствами, являясь при этом аппаратно- и платформо-независимым, что позволяет обеспечить обмен данными между устройствами с разными операционными системами.
Сильными сторонами OPC UA является объектно-ориентированная информационная модель, которая позволяет «просматривать» данные (в стиле web-браузера), и сервис ориентированная архитектура (SOA). Если раньше приходилось использовать несколько OPC серверов: OPC DA для данных в реальном времени, OPC HDA для истории и OPC AE для событий, то теперь все это и многое другое доступно в одном стандарте OPC UA. Вместо дерева тегов, теперь вводится понятие узлов или объектов. Каждый узел включает в себя переменные, методы и другие структуры данных реального объекта.
Пример OPC UA сервера
Примером OPC UA сервера может стать набор ПО MX-AOPC UA Suite от компании MOXA. В MX-AOPC UA Suite входит 3 программы:
Server – для получения данных с Modbus устройств
Viewer – для просмотра тегов и состояния сервера (Viewer встроен в Server)
Logger – для ведения истории изменения данных, а также интеграции с базами данных и Облачными решениями
В первую очередь MX-AOPC UA Server ориентирован на модули ввода-вывода MOXA, т.к. там реализована функция Active Tag, но также поддерживается подключение сторонних устройств по протоколам Modbus RTU и Modbus TCP. Функция Active Tag позволяет обновлять состояние каналов сразу после их изменения, не дожидаясь команды со стороны сервера.
MX-AOPC UA Logger позволяет отправлять данные в Облако Microsoft Azure и базы данных Microsoft SQL Server, MySQL, Oracle, Microsoft Office 2003 Access или Excel через ODBC.
В MX-AOPC UA реализована защита данных через шифрование ключом Basic128Rsa15 и подтверждение сертификатом X509.[5]
Заключение
В реферате рассмотрены различные SCADA-системы и технология OPC. В производствах широко распространяется тенденция автоматизации технологических процессов и им на помощь приходят различные SCADA-системы. В данном реферате были рассмотрены несколько программ (MasterSCADA 4D, “КАСКАД”)
Список литературы
Технология OPC. (URL: https://ru.wikipedia.org/wiki/OPC) (дата обращения: 17.11.2022)
SCADA. (URL: https://www.tadviser.ru/index.php/Статья:SCADA_назначение_систем)(дата обращения: 17.11.2022)
SCADA-системы нового поколения. Эволюция технологии - революция системостроения. (URL: https://insat.ru/articles/?id=43433) (дата обращения: 17.11.2022)
SCADA-система КАСКАД. Курс лекций для студентов высших учебных заведения. (URL: https://kaskad-asu.com/images/files/uch/lekcii.pdf) (дата обращения: 17.11.2022)
Просто о стандартах OPC DA и OPC UA. (URL: https://asutp.ru/publikacii/2021/04/29/prosto-o-standartah-opc-da-i-opc-ua/) (дата обращения: 17.11.2022)