Я работаю в компании, которая занимается автоматизацией производственных процессов. Знаком не по наслышке с программируемыми логическими контроллерами (PLC), человеко-машинным интерфейсом (HMI) и SCADA (диспетчерское управление и сбор данных).
Далее я опишу то, что у меня получилось сделать. Исходный код проекта доступен по ссылке https://github.com/phmi/phmi.
Установка
Разработка проекта
Разработку проекта можно разделить на две фазы: конфигурирование сервера и разработку проекта клиента.
Конфигурирование сервера
Запустим PHmiConfigurator.exe. Появится следующее окно:
Нажмем на кнопку “New project”. Появится окно “New project”:
Введем параметры связи с PostgreSQL и желаемое название базы данных:
После нажатия на кнопку “Ok” новый проект будет создан:
Нажмем на кнопку “I/O devices”. В конфигураторе откроется вкладка “I/O devices”:
Добавим новое устройство ввода-вывода “IoDev” типа “Generic”. «Generic» — это устройство ввода вывода для отладочных целей. Либо оно используется, когда не нужно соединяться с реальным устройством. Оно поддерживает любые адреса тегов:
Нажмем на кнопку «Save» и закроем вкладку.
Откроем вкладку “Digital tags” и создадим новый цифровой тег.
Откроем вкладку “Numeric tags” и создадим новый аналоговый тег:
Поля описания, формата, единицы измерения, калибровочные границы необязательны и могут быть опущены.
Создадим новую категорию аварий:
Создадим новый тег аварий:
Создадим категорию трендов:
Создадим новый тег трендов:
Разработка проекта клиента
В конфигураторе нажмем на кнопку “Build client”:
Выберем путь к файлам, чтобы их создать.
«Namespace» должно совпадать с названием будущего проекта Visual Studio.
Нажмем на кнопку “Build”.
По указанному пути должны появиться файлы:
Запустим Microsoft Visual Studio и создадим новый проект WPF. Целевой фреймворк должен быть “.Net Framework 4.0” или выше:
Добавим ссылку к PHmiClient.dll:
Добавим файлы PHmi.cs и PHmiResources.resx, созданные заранее:
Кликнем двойным щелчком по PHmiResources.resx и поменяем “Access modifier” на Public:
Откроем MainWindow.xaml. Добавим кнотрол Root в корневой Grid.
Привяжем PHmi к DataContext Rootа. Для этого создадим новый объект PHmi в ресурсах окна.
Добавим папку «Pages» для страниц. Добавим туда UserControl под названием «HomePage».
Страницы должны реализовывать интерфейс IPage. Листинг HomePage.xaml.cs представлен ниже.
А вот разметка Xaml файла:
Мы добавили TextBlock для отображения значения тегов.
Привяжем тип домашней страницы к Root:
Запустим приложение и посмотрим, что получилось:
Значений тегов не видно. Это потому что не запущен PHmiRunner.exe. Нажмем кнопку “Run” в конфигураторе.
Теперь добавим на страницу элементы управления.
Если включить “Digital tag», возникнет авария.
Добавим на страницу тренд.
Задание языка окна
Для отображения строк в соответствии с региональными настройками (дата, время и прочее), необходимо изменить XmlLanguage в конструкторе окна:
Что такое Скада система и что собой представляет
SCADA-система – программно-аппаратный комплекс, предназначенный для контроля со стороны диспетчера и сбора данных. Терминология СКАДА видоизменялась со временем, совместно с развитием технологий автоматизации и управления. Например, SCADA системы восьмидесятых годов обозначали программно-аппаратные комплексы по сбору данный «здесь и сейчас», а в девяностые – уклон в формулировке пошел в сторону программ, в частности интерфейса автоматических систем управления техпроцессами.
Назначение и задачи SCADA-систем
Контроль и мониторинг многочисленных удаленных объектов – это главная задача Скада систем. Иногда, эти объекты могут быть удалены друг от друга на тысячи километров. В качестве основных потребителей Скада выступают электро-распредстанции, нефтепроводы, газопроводы, системы водоснабжения и так далее. Можно сказать, что Скада реализуют во всех хозяйственных отраслях, где необходимо автоматическое управление техпроцессами в режиме «real-time».
Диспетчер взаимодействует с программным обеспечением, установленным на ПК, а реализация связи с объектами, нуждающимися в контроле, осуществима через драйвер ввода-вывода или сопряженные с ними серверы. Программное обеспечение может использовать в своей структуре коды, сгенерированные в среде автоматизированного проектирования.
Разработка СКАДА ведется АСУ ТП в клиент-серверной или же в архитектуре распределенной.
Преимущества
Структура SCADA-систем
RTU имеет непосредственное подключение к объекту управления. То есть контроль или управление объектом реализовывается в real-time режиме. В качестве терминала может быть датчик с примитивным способом взаимодействия, или же процессорный, многопоточный, отказоустойчивый МПЦ, занимающийся обработкой данных и управлением в real-time режиме.
Особенности процесса управления в SCADA-системах
Защита SCADA-систем
Эксплуатируемые SCADA-системы создавались заточенными на конкретные задачи, не имеют высоких степеней защиты и уязвимы для кибератак.
Подобного рода системы, например, применяемые в энергетическом секторе, разрабатывались только для управления напряжением электроцепи. Больших способностей (по типу протоколов безопасности сети) в СКАДА нет.
Хотя большинство современных SCADA-систем могут работать с популярным сетевым протоколом TCP/IP, им ограждают выход в интернет (они соединяются от точки до точки через выделенные линии связи). Но это не значит, что защита от кибератак им обеспечена на 100%.
Делают это ограничение не для всех SCADA поголовно. Многое зависит от задач и применяемой структуры построения системы.
Примеры SCADA-систем
WebSCADA интерфейс системы, осуществляемый через Web-браузер, реализуется не часто, поскольку работа через веб противоречит модели безопасного ведения контроля и управления промышленного аппарата. Однако, ее можно применять во время настроек собственной безопасной сети, или с ограниченными опциями «только мониторинг» в сети Интернет.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
SCADA (Supervisory Control And Data Acquisition)
Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными и к ним добавляют термин SoftLogic.
Термин “SCADA” имеет двоякое толкование. Наиболее широко распространено понимание SCADA как приложения, то есть программного комплекса, обеспечивающего выполнение указанных функций, а также инструментальных средств для разработки этого программного обеспечения. Однако, часто под SCADA-системой подразумевают программно-аппаратный комплекс. Подобное понимание термина SCADA более характерно для раздела телеметрия.
Значение термина SCADA претерпело изменения вместе с развитием технологий автоматизации и управления технологическими процессами. В 80-е годы под SCADA-системами чаще понимали программно-аппаратные комплексы сбора данных реального времени. С 90-х годов в связи с тем, что всё большая часть функций автоматического управления решается не аппаратными, а программными средствами, термин SCADA больше используется для обозначения только программной части человеко-машинного интерфейса АСУ ТП.
Содержание
Основные задачи, решаемые SCADA-системами
SCADA-системы решают следующие задачи:
SCADA-системы позвол яют разрабатывать АСУ ТП в клиент-серверной или в распределённой архитектуре.
Основные компоненты SCADA
SCADA—система обычно содержит следующие подсистемы:
Концепции систем
Термин SCADA обычно относится к централизованным системам контроля и управления всей системой, или комплексами систем, осуществляемого с участием человека. Большинство управляющих воздействий выполняется автоматически RTU или ПЛК. Непосредственное управление процессом обычно обеспечивается RTU или PLC, а SCADA управляет режимами работы. Например, PLC может управлять потоком охлаждающей воды внутри части производственного процесса, а SCADA система может позволить операторам изменять уста для потока, менять маршруты движения жидкости, заполнять те или иные ёмкости, а также следить за тревожными сообщениями (алармами), такими как — потеря потока и высокая температура, которые должны быть отображены, записаны, и на которые оператор должен своевременно реагировать. Цикл управления с обратной связью проходит через RTU или ПЛК, в то время как SCADA система контролирует полное выполнение цикла.
Сбор данных начинается в RTU или на уровне PLC и включает показания измерительного прибора. Далее данные собираются и форматируются таким способом, чтобы оператор диспетчерской, используя HMI мог принять контролирующие решения — корректировать или прервать стандартное управление средствами RTU/ПЛК. Данные могут также быть записаны в архив для построения трендов и другой аналитической обработки накопленных данных. [1]
Архитектура SCADA-систем
В зависимости от сложности управляемого технологического процесса, а также требований к надёжности, SCADA-системы строятся по одной из следующих архитектур [2]
Одиночные
При использовании данной архитектуры система состоит из одной или нескольких рабочих станций оператора, которые не «знают» друг о друге. Все функции системы выполняются на единственной (нескольких независимых) станции(ях). Преимущества:
Клиент-Серверные
Виртуализация
Современные технологии виртуализации уже глубоко проникли в промышленную автоматизацию. Применение кластеров и виртуальных серверов с разделением функций SCADA-системы позволяет обеспечивать высокую отказоустойчивость, гибкое распределение вычислительных ресурсов, изолирование системы и сетевых подключений от постороннего сетевого трафика, безопасность данных. При использовании виртуализации клиентские станции уже не требуют полноценного ПК(Толстый клиент), достаточно тонкого клиента с подключением к виртуальному клиенту. Облачные вычисления также применяются в промышленной автоматизации либо автоматизации зданий.
Некоторые распространенные SCADA
На мировом рынке представлено более 50 продуктов, которые можно отнести к SCADA-системам, продукты различаются:
Полностью бесплатные SCADA: OpenSCADA, Rapid SCADA, FreeSCADA, scada-ГИНЭС, Inductive Automation Ignition.
Условно-бесплатные SCADA, достаточные для автоматизации малого технологического процесса и изучения без покупки лицензии, возможность работы в течение неограниченного времени:
Прочие SCADA: Simatic WinCC, Intouch Wonderware, Trace mode, Genesis, SCADA Infinity, PcVue Solutions, RSView, ClearSCADA, DATARate, Контур, Круг-2000, ZenOn, Winlog, iFix, InduSoft Web Studio SCADA, Wizcon, Vijeo Citect, Статус-4, Каскад, Энтек, Sitex, Elipse E3, Elvis, Realflex RealWin SCADA, Broadwin (Advantech) WebAccess, General Electric Proficy Cimplicity, WellinTech SCADA, Factory Link (с 2012 года не поддерживается разработчиком), Monitor Pro (базировалась на Factory Link, рекомендована замена на Vijeo Citect), Vijeo Look (рекомендована замена на Vijeo Citect).
WebSCADA
Под термином WebSCADA, как правило, понимается реализация человеко-машинного интерфейса (HMI) SCADA-систем на основе web-технологий.
Это позволяет осуществлять контроль и управление SCADA-системой через стандартный браузер, выступающего в этом случае в роли тонкого клиента.
Архитектура таких систем включает в себя WebSCADA-сервер и клиентские терминалы — ПК, КПК или мобильные телефоны с Web-браузером. Подключение клиентов к WebSCADA-серверу через Internet/Intranet позволяет им взаимодействовать с прикладной задачей автоматизации как с простой web или WAP-страницей. Однако на данном этапе развития WebSCADA ещё не достигло уровня широкого промышленного внедрения, так как существуют сложности с защитой передаваемой информации. Кроме этого, реализация функций управления через незащищенные каналы связи противоречит соображениям безопасности любого промышленного объекта. В связи с этим, в большинстве случаев Web-интерфейсы используются в качестве удаленных клиентов для контроля и сбора данных.
Уязвимость
SCADA-системы могут быть уязвимы для хакерских атак, так, в 2010 году с использованием вируса Stuxnet была осуществлена атака на центрифуги для обогащения урана в Иране. Таким образом, для защиты информационных комплексов, содержащих SCADA-системы, требуется соблюдение общих требований информационной безопасности.
SCADA: в поисках идеала
По моим наблюдениям, большинство толковых специалистов АСУ, работающих со SCADA, проходят несколько стадий «эмоционального роста»: освоение какой-либо SCADA, поиск чего-то лучшего, идеи и попытки написания своего варианта, выработка философского отношения к проблеме и использование одного из существующих продуктов.
Да, бывают исключения. Например, встречаются сильно увлеченные и упорные энтузиасты, которые создают что-то работающее, но картины они не меняют совершенно.
Попробуем разобраться, почему так происходит и может ли быть выход из этого порочного круга.
Примечание: дальнейшие рассуждения будут касаться преимущественно коммерческих продуктов, но во многом справедливы и для проектов с открытым кодом, о которых будет сказано отдельно.
В первом приближении процесс работы со SCADA-системой сводится к нескольким действиям: выбор параметров обмена данными с ПЛК, разработка мнемосхем в специальном редакторе, настройка логирования событий и состояний параметров. Для обеспечения сложного поведения графических элементов мнемосхем и несложных математических расчетов используется написание скриптов или вообще предполагается, что достаточно средств простейшей анимации, настраиваемой в редакторе.
Такой подход во многом себя оправдывает — легко обучиться, можно быстро реализовать несложные проекты. По большому счету, можно даже не иметь минимальных знаний о программировании для начала работы.
Сегодня существует довольно большое количество SCADA-систем, различающихся по своим возможностям, стоимости, удобству разработки и т.д. Казалось бы, выбирай подходящий вариант и начинай творить доброе, светлое, вечное… Но тут-то и выясняется, что все не так просто.
Теперь, получив представление о трудностях, попробуем сформулировать требования к идеальной SCADA и посмотрим, можно ли решить проблему, если слегка выйти за рамки традиционной парадигмы.
Когда я впервые познакомился с Qt, то был просто поражен внутренней логичностью и богатством этой библиотеки. Как только возникает задача сделать что-нибудь, очень часто выясняется, что это уже практически реализовано в Qt и надо просто адаптировать под свои нужды.
Когда задача правильно сформулирована, остается ее просто реализовать, что я и начал делать некоторое время назад. К текущему моменту удалось реализовать минимальный джентльменский набор компонентов.
Созданный набор можно условно поделить на несколько групп.
Конечно, предстоит пройти еще немалый путь, но уже сейчас просматривается несколько возможных направлений для применения, помимо собственно всех видов классических задач промышленной автоматизации:
Как-то незаметно для меня, мое хобби превратилось во что-то большее, вызывающее интерес у других людей. Появилась мысль превратить это творчество в стартап, но пока все упирается в недостаток людей, готовых разделить со мной эту работу. Если у Вас есть желание принять участие в развитии стартапа, встать у истоков новой компании или попробовать себя в роли сооснователя, напишите мне в личку.
Чуть больше информации можно найти на странице в Facebook.
Также буду очень благодарен за конструктивную критику и новые идеи.
Автоматизированные системы диспетчерского и технологического управления. Всё о SCADA-системах
Supervisory Control And Data Acquisition (SCADA)
SCADA-система — это инструментальная программа, обеспечивающая создание программного обеспечения для автоматизации контроля и управления технологическим процессом в режиме реального времени. Основная цель создаваемой с помощью SCADA программы — дать оператору, управляющему технологическим процессом, полную информацию об этом процессе и необходимые средства для воздействия на него.
ОСНОВНЫЕ ЗАДАЧИ SCADA-СИСТЕМЫ:
От надежности, быстродействия и эргономичности SCADA-системы зависит не только эффективность управления технологическим процессом, но и его безопасность.
КАКИЕ КОМПОНЕНТЫ SCADA НАИБОЛЕЕ ВАЖНЫ В РАБОТЕ И ПОЧЕМУ?
Специалисты отдела АСУТП промышленного предприятия по изготовлению соды утверждают, что в основном используют такие компоненты, как мониторинг и управление, архивирование технологических параметров, сообщений, подсистему формирования отчетов.
Мониторинг и управление, собственно, то, для чего и устанавливается система управления. Архивы параметров, сообщений и отчеты необходимы для оценки и анализа ведения технологического процесса, действий оператора и т.д. Также для них важен один из базовых инструментов SCADA — разграничение прав доступа к управлению по уровням (оператор, технолог, инженер АСУТП).
В связи с тенденцией к интеграции систем управления технологическими процессами и систем управления предприятием все чаще возникает необходимость использования SCADA в качестве источника данных для вышестоящих систем. Некоторые SCADA могут выступать и как сервер консолидации всех технологических данных, и как сервер генерации отчетов на базе этих данных.
Если система управления, построена на базе ПЛК одного производителя (к примеру, Siemens SIMATIC), то обмен данными между контроллерами и SCADA происходит с помощью встроенных драйверов протоколов связи. Некоторые независимые от производителей оборудования SCADA предлагают набор драйверов ко многим (но не всем) имеющимся на рынке контроллерам и интеллектуальными приборам. Наиболее универсальный способ взаимодействия — это использование драйверов, разработанных в соответствии со стандартом OPC. Такие OPC-серверы могут быть разработаны производителями контроллеров или независимыми разработчиками, а использоваться вместе с любой SCADA- системой. Для эффективной работы с OPC- серверами SCADA должна использовать их напрямую, по технологии «OPC в ядре системы», а не через промежуточные интерфейсы. Некоторые SCADA являются вертикально-интегрированными: в их состав входят системы программирования для свободно-программируемых контроллеров. В них также используются внутренние драйверы для связи с контроллером. Такие SCADA позволяют создать ПТК с использованием оборудования разных производителей.
УРОВНИ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ SCADA

Нижний уровень — это сами датчики и исполнительные механизмы
Средний уровень — контроллеры. На среднем уровне происходит:
Верхний уровень — это и есть уровень SCADA. На этом уровне происходит:
УПРАВЛЕНИЕ ПРЕДПРИЯТИЕМ
Управление предприятием производится на двух уровнях:
MES (Manufacturing Execution Systems) — система управления производством продукции в реальном времени. Этот уровень служит для планирования производственных заданий для технологических процессов, построения сводных отчетов, глубокого анализа процесса (например, прогнозирование, построение энергетического и материально¬го баланса и др.). Для этих целей также может быть использован инструментарий SCADA.
ERP (Enterprise Resource Planning) — система автоматизированного управления административно-финансовой и административно-хозяйственной деятельностью предприятия. На этом уровне используются другие специализированные системы, например, SAP R3.
ФУНКЦИИ SCADA
■ Мнемосхемы
Мнемосхема — это графическое изображение (с помощью встроенного в SCADA графического редактора) технологической схемы с визуализацией значений датчиков, состояния исполнительных механизмов и др. параметров. Для визуализации используется не только отображение значений в виде цифр и надписей, но и изменение визуальных свойств отображаемых графических объектов. Например, в емкости изменяется уровень жидкости, а ее цвет изменяется в зависимости от температуры (динамизация). Исполнительные механизмы могут не просто показывать свое состояние каким-то графическим признаком (например, цветом), но и наглядно показывать свою работу — например, вращением лопастей насоса, движением ленты конвейера и т.п. (анимация).
■ Архивы
Получаемые от контроллеров данные SCADA складывает в архивы. Предварительно данные могут быть обработаны (отфильтрованы, усреднены, сжаты и т.п.). Часто используется не регулярная запись, а запись по изменению с использованием порога чувствительности («мертвой зоны»). Длительность хранения настраивается в SCADA индивидуально для каждого параметра и может составлять до нескольких лет.
■ Тренды
Тренд — это графическое отображение изменения параметра во времени. Тренды в SCADA- системах могут показывать изменение параметра за всю длительность его хранения в архиве. Оператору предоставляется возможность изменять масштаб, как времени, так и самого параметра. В развитых системах в тренд встроены различные инструменты анализа графика, сравнения его с уставкой или другим параметром, сглаживание или фильтрация, отметки на графике событий (например, нарушение границ) или закладок для памяти и многое другое.
■ Таблицы
Зачастую технологу удобнее просматривать архивы не в графическом виде, а в виде таблиц. Обычно эти таблицы можно не только просматривать, но и экспортировать в другие системы.
■ Графики
Обычно SCADA позволяют смотреть и зависимость одних параметров от других, тоже во времени. Хотя это функция и менее востребована технологами, чем тренды.
■ Гистограммы и диаграммы
Другим распространенным способом представления параметров являются гистрограммы (столбиковые диаграммы).
■ Сообщения
Сообщения — это текстовые строки, которые информируют оператора о событиях на объекте в той последовательности, в которой эти события происходят. Они всплывают на экране или отображаются в специально выделенной для этого зоне.
■Журналы сообщений
Журналы сообщений служат для отображения списков сообщений в том порядке, как они появлялись и были сохранены в архив. Как правило, используются разные экземпляры журналов для разных зон процесса, разных категорий сообщений, разных приоритетов.
■ Контроль прав доступа
Для того, чтобы оператор мог совершить те или иные действия, ему должны быть администратором предоставлены соответствующие права — например, право управлять исполнительным механизмом, или право изменить задание регулятору. В начале смены оператор регистрируется в системе, и она предоставляет ему выполнять только те действия, которые ему разрешены администратором.
■Журнал действий оператора
Управление технологическим процессом очень ответственная задача, поэтому все действия оператора записываются для контроля в специальный журнал, который может быть проанализирован в случае нештатных ситуаций.
■ Формирование отчета
Удобная среда разработки отчетов позволяет легко и быстро подготовить отформатированные и насыщенные информацией отчеты.
ХАРАКТЕРИСТИКИ SCADA-СИСТЕМЫ
ЗАРУБЕЖНЫЕ SCADA-СИСТЕМЫ
Наиболее популярные в России следующие зарубежные SCADA:
— WinCC (Siemens, Германия);
— InTouch (Wonderware, США);
— RSView32 (Rockwell Automation, США);
— Genesis64 (Iconics, США);
— Vijeo Citect (Schneider Electric, Франция).
ОТЕЧЕСТВЕННЫЕ SCADA-СИСТЕМЫ
Наиболее популярные отечественные модели SCADA:
В отличие от большинства западных SCADA все российские содержат встроенные средства программирования контроллеров с использованием языков стандарта МЭК61131-3, в том числе языка функциональных блоков. Причем, если сама SCADA рассчитана на работу в среде Windows на PC-совместимых компьютерах, то исполнительная система для контроллеров может работать и на Logix других платформах, например, Linux на процессоре с архитектурой ARM.
Стандарт OPC поддерживают все перечисленные системы, однако в системе «Trace Mode» упор делается на использование собственных драйверов, а MasterSCADA, хоть и поддерживает использование драйверов, но основывается на технологии «OPC в ядре системы» и предлагает отдельный инструментальный пакет для разработки OPC-серверов.
Сравнительная характеристика зарубежных и отечественных SCADA
Все современные SCADA, как отечественные, так и зарубежные, имеют полный функционал для этого класса программ, поэтому их сравнение по перечню функций в последние годы потеряло смысл. Основное преимущество российских SCADA — это их изначальная нацеленность на российский рынок (русскоязычная, а не переводная документация, техническая поддержка, уровень цен). Можно сделать вывод, что для каждого предприятия или даже применения желательно сделать сравнение нескольких SCADA, как по цене, так и по возможностям. Практически все SCADA имеют пробную версию, которая позволяет проверить ее пригодность для решаемой задачи.
По теме
Популярные товары








