Основные подсистемы SCADA-пакетов

Создание современной системы управления потребует от разработчика некоторого набора знаний применяемого в проекте SCADA-пакета. Что же надо знать о SCADA разработчику, приступая к созданию проекта?

Для реализации рассмотренных в разделе 2.1 базовых функций SCADA-системы разработчику потребуется, как минимум:

- организовать взаимодействие SCADA-пакета с аппаратными средствами автоматизации (контроллерами);

- создать графический интерфейс для диспетчера/оператора, т.е. отображение технологического процесса и значений параметров на динамизированных мнемосхемах;

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

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

Можно перечислить еще ряд типовых задач, решаемых в процессе разработки системы управления (шаблоны отчетов, статистическая обработка данных, взаимодействие с РБД и др.). Более того, практически каждый производитель SCADA предлагает свои специализированные механизмы, направленные на повышение информативности операторского интерфейса, удобства работы с ним. Безусловно, все они не могут быть рассмотрены в рамках данного учебного пособия.

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

Таким образом, SCADA – это набор инструментов (подсистем) для решения перечисленных выше задач.

· Взаимодействие SCADA-пакетов с контроллерами

Сбор данных и управление предполагают перемещение информации между объектом и станцией оператора. Обязательным промежуточным звеном в этой цепочке является контроллер. Взаимодействие контроллера, как поставщика и приемника информации, со SCADA-системой обеспечивается драйверами (раздел 2.3). Какие драйверы поставляются с тем или иным SCADA-пакетом, как установить драйвер, какие диалоги при этом должны быть заполнены, какая информация потребуется разработчику, имеется ли инструментарий для разработки собственных драйверов? На эти и многие другие вопросы еще предстоит ответить.

Кроме этого, система управления включает, как правило, еще ряд компонентов: серверы данных, рабочие станции специалистов и т.п. Все компоненты системы управления объединены между собой промышленной (управляющей) сетью. Системы управления отдельными технологическими процессами (АСУТП) и другие подразделения предприятия объединены между собой в локальную вычислительную сеть (ЛВС). И здесь возникает еще целый ряд вопросов: какие популярные промышленные сети поддерживает SCADA-пакет, какие протоколы обмена с типовыми реляционными базами данных могут быть использованы?

· Графический интерфейс

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

При создании компонентов операторских интерфейсов (например, мнемосхем) разработчику приходится использовать графические объекты, представляющие собой технологические аппараты (колонны, емкости, теплообменники и т. д.), участки трубопровода и такие устройства, как клапаны, насосы, электродвигатели, контроллеры, компьютеры и т. д. Как правило, это сложные объекты, полученные объединением множества простых объектов или рисунки типа Bitmap.

Создание каждого из этих объектов требует большого времени и может значительно затянуть разработку проекта. Для ускорения работы над проектом практически все SCADA-пакеты предлагает разработчику библиотеки готовых объектов, включающие сотни и тысячи графических компонентов (рис. 2.13).

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

Основные подсистемы SCADA-пакетов - student2.ru Рис. 2.13. Библиотека «Насосы» SCADA-пакета iFIX.

Основные подсистемы SCADA-пакетов - student2.ru Часто при разработке графического интерфейса приходится создавать типовые группы объектов, предназначенные для решения конкретной задачи. Например, группа из трех объектов (кнопка «ПУСК», кнопка «СТОП» и индикатор состояния - лампочка зеленого/красного цвета) предназначена для пуска/останова насоса, электродвигателя, конвейера и т. д. с индикацией их состояния. Тогда каждый раз для решения этой задачи разработчику придется создавать эти три объекта и конфигурировать их (задавать динамические свойства). Но таких объектов в одном окне может оказаться несколько. Время специалиста в этом случае будет расходоваться неэффективно.

Для решения подобных задач SCADA-пакеты предлагают различные решения:

- готовые сложные объекты с заданным набором динамических свойств, хранящиеся в специальных библиотеках;

- инструментарий для их создания с возможностью сохранения в библиотеке для многократного использования.

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

В SCADA-системах различных производителей набор динамических свойств объектов достаточно типизирован. В режиме исполнения при определенных условиях объекты интерфейса могут:

- перемещаться (горизонтально, вертикально);

- изменять размеры (по горизонтали, по вертикали);

- заполняться цветом (по горизонтали, по вертикали);

- быть ползунковыми регуляторами (горизонтального

или вертикального типа);

- появляться на экране и исчезать с него (видимость);

- мерцать;

- вращаться;

- изменять цвет.

Один и тот же объект может иметь набор различных динамических свойств. Комбинации этих свойств предоставляют возможность создавать на экране в режиме исполнения (Runtime) практически любые динамические эффекты, облегчая оператору/диспетчеру восприятие информации.

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

· Подсистема сигнализации

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

В русском языке понятие «сигнализация» стоит рядом с понятием «тревога». Английским аналогом этих понятий является Alarm (аларм). В дальнейшем изложении материала по подсистемам сигнализации различных SCADA-пакетов авторами будет использоваться та терминология, которая одобрена их производителями при переводе документации на русский язык (iFIX – тревоги, InTouch – алармы).

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

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

Наряду с алармами в SCADA - системах существует понятие событий. Под событием следует понимать обычные статусные сообщения системы, не требующие подтверждения их получения и ответной реакции оператора. Обычно события генерируются при возникновении в системе определенных условий (регистрация оператора в системе, ввод информации оператором).

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

- отказ аппаратных средств (датчиков, контроллеров, каналов связи);

- отказ технологического оборудования (насоса, электродвигателя и т. п.);

- выход параметров технологического процесса за заданные границы.

q Все SCADA - системы поддерживают алармы двух типов: дискретные и аналоговые.

Дискретныеалармы срабатывают при изменении состояния дискретной переменной (кран открыт/закрыт, насос включен/выключен). По умолчанию дискретный аларм может срабатывать при переходе на 1 (ON) или на 0 (OFF), в зависимости от конкретного SCADA - пакета.

Аналоговые алармыбазируются на анализе выхода значений переменной за указанные верхние и нижние пределы. Аналоговые алармы могут быть заданы в нескольких комбинациях (рис. 2.14):

- верхние пределы (предаварийный и аварийный);

-нижний пределы (предаварийный и аварийный);

-отклонение от заданного значения;

- скорость изменения параметра.

Основные подсистемы SCADA-пакетов - student2.ru

Рис. 2.14. Графическая интерпретация верхних предаварийного

и аварийного алармов.

Для выхода переменной из состояния аларма необходимо, чтобы ее значение стало меньше порогового на величину, называемую зоной нечувствительности. Аналогично можно интерпретировать нижние предаварийные и аварийные алармы.

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

Алармы, определяемые скоростью изменения параметра, возникают в случае, если она становится больше (меньше) предельно допустимой. Понятие «зона нечувствительности» к алармам этого типа не применяется.

q Важную роль в подсистеме алармов любого SCADA-пакета играют приоритеты. Приоритеты алармов могут быть использованы в различных целях: для определения способа вывода алармов (на принтер, в файл, в текущую сводку), для определения порядка их появления в окнах текущих алармов, для запуска скриптов, для определения действия, вызываемого срабатыванием аларма определенного приоритета (например, включение звукового сигнала) и т. п.

Как правило, важность приоритета уменьшается с увеличением его значения. Таким образом, приоритет с номером 1 - самый высокий. Например, если алармы с приоритетами от 1 до 10 должны выводиться на экран, то первыми будут выводиться алармы с приоритетом 1 в порядке их поступления, затем - алармы с приоритетом 2 и т. д. Количество значений (уровней) приоритетов в разных SCADA-пакетах различно (десятки и сотни).

q Подсистема алармов предусматривает возможность классификации алармов по самым различным признакам: по аппаратам технологического процесса, по типу алармов, имени, приоритету и т. д. В зависимости от этого каждый аларм может быть отнесен к определенной группе (зоне, категории). Подобная группировка – удобный способ фильтрации алармов и их обработки (подтверждение, способ вывода, формат, цвет и т. п.).

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

Кроме того, эту аварийную информацию можно отображать непосредственно на мнемосхемах интерфейса оперативного персонала:

- вывод в специальные текстовые поля;

- динамизация объектов (изменение цвета, мерцание и т .п.).

Формат вывода (информация, включаемая в аварийное сообщение) определяется на стадии проектирования. В строку аварийного сообщения можно включить текущую время и дату, тип аларма, его приоритет, имя переменной, ее текущее значение, зону нечувствительности, размерность, а также группу алармов и его состояние (подтвержден/неподтвержден). Для дискретных алармов можно создать поле on (вкл.)/off (выкл.). Для алармов с метками времени в поле текущего времени можно выводить информацию с точностью до миллисекунд.

Пример объекта вывода аварийной информации приведен на рис. 2.15.

Основные подсистемы SCADA-пакетов - student2.ru

Рис. 2.15. Пример формата вывода информации об алармах.

· Подсистема регистрации, архивирования и отображения данных в

Виде трендов

Представление данных в виде графиков (трендов) реализуется в современных SCADA-пакетах специальными подсистемами. К характеристикам таких подсистем можно отнести способы регистрации архивных данных, способы отображения трендов, удобство по конфигурированию трендов, возможности по переконфигурированию трендов в режиме Runtime, предоставляемый сервис при работе с архивными трендами, возможность построения графиков y(x) и т. п.

Тренды реального времени (Real Time)отображаютдинамические изменения параметра в текущем времени (в темпе с протеканием технологического процесса). При появлении нового значения параметра в окне тренда происходит прокрутка графика. Текущее значение параметра выводится, как правило, в правой части окна.

Исторические (Historical) или архивные тренды не являются динамическими и строятсяна основе выборки архивных данных. Отображаемые значения переменных на архивных трендах неподвижны и могут быть отображены только на определенном выборкой отрезке времени.

При работе SCADA-системы в режиме Runtime (среда исполнения) производится запись значений переменных в регистрационные файлы.

Для записи значений переменных в регистрационный файл могут использоваться различные способы:

- регистрация при изменении переменной на величину, превышающую

некоторый порог;

- периодически с заданной частотой.

Предпочтительна регистрация данных в несколько небольших по размеру файлов, чем в один большой файл, т. к. при этом проще осуществлять выборку данных для последующего анализа. Объем выборки для хранения в файлах задается в процессе конфигурирования системы временным периодом (от нескольких часов до недель).

Некоторые SCADA-пакеты используют круговую систему записи в файлы. При этом определяется количество файлов, продолжительность регистрации в каждый из них, время смены регистрационного файла. После того, как истечет время регистрации в последний файл, регистрация будет продолжена снова в первый файл, уничтожая при этом старую информацию (рис. 2.16).

Основные подсистемы SCADA-пакетов - student2.ru

Рис. 2.16. Круговая система регистрации данных.

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

Для графического отображения информации SCADA-системы различных производителей предлагают два решения:

- использование двух различных инструментов для создания диаграмм под тренды реального времени и архивные тренды;

- единый инструмент для трендов реального времени и архивных трендов.

По числу перьев на одной диаграмме также возможны варианты. В одних SCADA-системах количество перьев на диаграмме задано жестко (4, 8, 16 перьев). Другие предлагают диаграммы на неограниченное количество перьев. Настройка диаграмм производится в специальных диалогах. Параметрами настройки могут быть диапазон времени, охватываемый трендом, частота вывода значений переменной (период обновления), разрешение сетки по горизонтальной и вертикальной осям. Могут настраиваться и параметры перьев: маркеры, стиль и толщина линии, цвет.

Возможность переконфигурирования перьев тренда в режиме Runtime – важная характеристика SCADA-пакета. Она закладывается на стадии проектирования с использованием различных методов: с помощью встроенных функций, уникальных встроенных механизмов.

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

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

· Встроенные языки программирования

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

Многие функции присутствуют практически во всех языках: математические функции, функции управления экранами, алармами, трендами, ActiveX - объектами, DDE - обменом и т. д.

Полный набор требуемых функций конкретной системы управления обычно не может быть обеспечен только базовым ПО. Существует большое количество задач, в том числе и расчетных, для решения которых потребуется встроенный в SCADA-систему язык программирования. Для повышения функциональности интерфейса в разрабатываемом приложении могут создаваться программные фрагменты (скрипты), выполнение которых связывается с разнообразными событиями в приложении, такими как нажатие кнопки, открытие окна и т.п.

«Хорошо», если это Basic-подобный язык с небогатым набором операторов типа IF - THEN - ELSE или FOR - NEXT. Но в последнее время наметилась тенденция применения в SCADA-программах таких высокоуровневых языков программирования, как C или VBA.

Взаимодействие SCADA-системы с базами данных требует применения стандартных интерфейсов ODBC и SQL. «Технологу» может не хватить знаний для установки драйверов, конфигурирования интерфейса и т.п.

Таким образом, использование SCADA-пакетов при разработке прикладного ПО АРМов операторов/диспетчеров в большинстве случаев не означает, что для этой работы не придется привлекать квалифицированных специалистов в области программирования («системщиков» и «прикладников»).

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

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

Наши рекомендации