Теоретические сведения и описание SCADA
Диспетчерское управление и сбор данных (SCADA – Supervisory Control And Data Acquisition - система сбора данных и оперативного диспетчерского контроля и управления). На данный момент SCADA является основным методом автоматизированного управления сложными динамическими системами (процессами) в промышленности.
Именно на принципах диспетчерского управления строятся крупные автоматизированные системы в промышленности и энергетике, на транспорте, в космической и военной областях, в различных государственных структурах. SCADA – процесс сбора информации реального времени с удаленных точек (объектов) для обработки, анализа и возможного управления удаленными объектами. Требование обработки реального времени обусловлено необходимостью доставки (выдачи) всех необходимых событий (сообщений) и данных на центральный интерфейс оператора (диспетчера). Пример визуального представления процесса приведен на рисунке 2.1.
Рисунок 2.1 – Пример мнемосхемы SCADA
Термин SCADA обычно относится к централизованным системам контроля и управления всей системой, или комплексами систем, расположенных на больших областях (между промышленной установкой и потребителем). Большинство управляющих воздействий выполняется автоматически RTU (Remote Terminal Unit - удаленный терминал) или ПЛК. Первостепенные функции управления обычно ограничиваются по уровням отмены или контролирующему вмешательству. Например, ПЛК может управлять потоком охлаждающей воды внутри части производственного процесса, а SCADA система может позволить операторам изменять уставку для потока, и установить условия сигнализации, такие как — потеря потока и высокая температура, которые должны быть отображены и записаны. Цикл управления с обратной связью проходит через RTU или ПЛК, в то время как SCADA система контролирует полное выполнение цикла.
Сбор данных начинается в RTU или на уровне ПЛК и включает — показания измерительного прибора и отчеты об отказе оборудования (алармы или тревоги), соединенного со SCADA, по мере надобности. Далее данные собираются и форматируются таким способом, чтобы оператор диспетчерской, используя HMI (Human Machine Interface – Человеко-машинный интерфейс) мог принять контролирующие решения — корректировать или прервать стандартное управление средствами RTU/ ПЛК. Данные могут также быть помещены в Историю, часто основанную на СУБД, для построения трендов и другой аналитической обработки накопленных данных.
Системы SCADA обычно оснащаются распределенной базой данных, часто называемой базой данной тэгов. Эта база содержит элементы данных, названные тэгами или точками. Точка представляет собой единичный ввод или вывод, значения которого контролируют или регулируют в системе. Точки могут быть или аппаратной (hard) или программной (soft). Аппаратная («hard») точка представляет собой фактический ввод или вывод в пределах системы, в то время как точка «soft» — результат математических и логических операций с другими точками. (Большинство реализаций систем снимает концептуальное различие между «soft» и «hard» точками, делая каждое свойство в выражении точкой «soft», которая может, в самом простом случае, равняться единичной аппаратной точке). Точки обычно сохраняются как пары значения-штамп_времени: значение, и штамп времени — то время, когда событие было зарегистрировано или вычислено. Серия пар значение-штамп_времени представляет собой хронологию данной точки. Также распространено сохранение дополнительных метаданных с тэгами, такими как путь до полевого устройства или регистра ПЛК, комментарии во время разработки, и сигнальная информация.
SCADA-системы решают ряд задач:
- обмен данными с УСО (устройства связи с объектом, то есть с промышленными контроллерами и платами ввода/вывода) в реальном времени через драйверы;
- обработка информации в реальном времени;
- отображение информации на экране монитора в удобной и понятной для человека форме;
- ведение базы данных реального времени с технологической информацией;
- аварийная сигнализация и управление тревожными сообщениями;
- подготовка и генерирование отчетов о ходе технологического процесса;
- осуществление сетевого взаимодействия между SCADA ПК;
- обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовые процессоры и т. д.). В системе управления предприятием такими приложениями чаще всего являются приложения, относимые к уровню MES.
SCADA-системы позволяют разрабатывать АСУ ТП в клиент-серверной или в распределенной архитектуре.
Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными и к ним добавляют термин SoftLogіс.
Термин SCADA эволюционировал вместе с развитием технологий автоматизации и управления технологическими процессами. В 80-е годы под SCADA-системами чаще понимали программно-аппаратные комплексы сбора данных реального времени. С 90-х годов термин SCADA больше используется для обозначения только программной части человеко-машинного интерфейса АСУ ТП.
Описание SCADA WinCC
SCADA WinCC разработана в недрах компании SIMENS и служит для построения верхнего уровня АСУ. SIMATIC WinCC (Windows Control Center) - это компьютерная система человеко-машинного интерфейса, работающая под управлением операционных систем Windows 2000/XP/7 и предоставляющая широкие функциональные возможности для построения систем управления различного назначения:
- простое построение конфигураций клиент-сервер;
- поддержка резервированных структур систем автоматизации;
- неограниченное расширение функциональных возможностей благодаря использованию ActiveX элементов;
- открытый OPC-интерфейс (OLE for Process Control) интерфейс для реализации функций обмена данными;
- простое и быстрое конфигурирование системы в сочетании с сервисным пакетом программ STEP 7.
Базовая конфигурация системы включает в свой состав набор функций, позволяющих выполнять событийно управляемую сигнализацию, архивирование результатов измерений, регистрировать технологические данные и параметры настройки конфигурации, функции управления и визуализации.
Целый ряд функций может быть реализован с помощью встроенных ANSI-C компилятора и VisualBasic-script: от простейших операций до полного доступа к системным функциям SIMATIC WinCC. Кроме того, базовая система может дополняться опциональными пакетами WinCC и WinCC Add-ons.
На основе WinCC могут создаваться как простейшие системы человеко-машинного интерфейса с одной станцией оператора, так и мощные многопользовательские системы, включающие в свой состав десятки станций. Поддержка стандартных интерфейсов OLE, ODBC, OLE и SQL обеспечивает универсальность и открытость WinCC позволяет использовать ее в сочетании с любым другим программным обеспечением. Легко интегрируется во внутреннюю информационную сеть компании.
Открытость WinCC поддерживается на всех уровнях работы этой системы за счет использования открытых интерфейсов и доступности внутренних структур WinCC.
Обмен данными с другими Windows-приложениями осуществляется при помощи механизмов DDE, OLE, ODBC/SQL (см. рисунок 2.2). Поддержка интерфейса OLE 2.0 позволяет разработчику встраивать в WinCC-приложение как OLE-документы, так и компоненты ActiveX. Подсистема архивации базируется на известных реляционных базах данных. Существует возможность выбора между dBase и Sybase. Доступ к базам данных осуществляется через стандартный интерфейс ODBC и через API-интерфейс WinCC. Подсистема Global Scripts в WinCC включает в себя ANSI C интерпретатор для написания обработчиков событий и функций на языке С. Кроме стандартных С-функций в основной пакет входит WinCC API. В обработчики событий можно включать свои DLL-библиотеки, разработанные, например, на Visual C++.
Рисунок 2.2 – Поддержка открытых интерфейсов в WinCC
Кроме наличия коммуникационных драйверов для контроллеров SIMATIC, WinCC поддерживает всемирно известные спецификации для обмена данными, среди которых: Modbus Serial, Profibus, Industrial Ethernet и другие. Кроме того, использование коммуникационного драйвера OPC (OLE for Process Control) базирующегося на технологии DCOM, делает WinCC перспективной и современной SCADA-системой. При отсутствии в WinCC нужного драйвера для выбранного программируемого логического контроллера (ПЛК) разработчик может создать свой драйвер, используя Channel Development Kit (CDK).
Система WinCC может использоваться как в однопользовательском варианте, так и в клиент-серверном варианте.
Структура WinCC. Набор опций системы WinCC определяется заказчиком. Установка отдельных опций требует дополнительных лицензий. Количество параметров, которые WinCC-приложение может получать от внешних источников (например, ПЛК), также определяется покупаемой лицензией. В демонстрационной версии WinCC поддерживает до 128 внешних тегов. (Эти пакеты в настоящее время распространяются.
В основной комплект поставки WinCC входят следующие опции:
Alarm Logging - для подготовки, отображения, квитирования и архивирования сообщений;
User Administrator - для управления доступом к ресурсам WinCC;
Text Library - позволяет создавать библиотеку соответствий между словами для переключения языков;
Report Designer - встроенный генератор отчетов, позволяющий создавать отчеты с текущими и архивными значениями параметров и сообщений;
Global Scripts - позволяет делать проект динамичным в зависимости от требований. С помощью этого редактора можно писать С-функции для обработки событий;
Tag Logging - система архивирования измерительных данных в оперативные и долговременные архивы. Совместно с редактором предоставляются средства для табличного и графического отображения значений в базе данных;
Graphics Designer - редактор для рисования мнемосхем и управляемых объектов. Обеспечивает отображение принимаемых данных.
Все редакторы располагаются и запускаются из центрального приложения WinCC - Control Center, которое позволяет легко ориентироваться по проекту. Control Center выполняет роль менеджера всех опций WinCC и является для них связующим звеном (cм. Рисунок 2.3). Каждая опция состоит из системы исполнения (RT) и системы разработки (CS).
Рисунок 2.3 – Модульная структура WinCC
Рассмотрим стандартные опции WinCC более подробно с учетом нашего опыта работы с этой системой.
Alarm Logging - служба сообщений. Данная служба предназначена для вывода сообщений о ходе контролируемого технологического процесса во время работы WinCC-приложения, подтверждения сообщений оператором и ведения архивов этих сообщений. Например, это могут быть сообщения о выходе параметров за уставочные значения, сообщения о входе пользователей в систему и т.д. Система состоит из двух частей - системы конфигурирования и системы исполнения. Система конфигурирования служит для задания таких параметров сообщений, как условия их возникновения, тексты, цвета и т.д, а также для задания параметров архива сообщений. Система исполнения предназначена для вывода сообщений на экран и их архивирования во время работы WinCC-приложения. Вывод сообщений и их архивирование происходит в хронологическом порядке. Время возникновения сообщения может поступать вместе с сообщением от контроллера, а также может формироваться внутри WinCC-приложения.
Каждое сообщение WinCC-приложения имеет блочную структуру. В сообщение могут входить системные блоки (System blocks), блоки данных (Process Value Blocks) и блоки информации, определяемой пользователем (User text blocks). Системные блоки содержат такую информацию, как время, дата и номер сообщения, блоки данных - значения контролируемых параметров, блоки информации, определяемой пользователем - общую характеристику сообщения: текст сообщения, место возникновения неисправности и т.д.
User Administrator - администратор пользователей. Служба User Administrator предназначена для контроля прав доступа пользователей WinCC-приложения. Каждому пользователю в режиме конфигурирования WinCC-приложения или во время его выполнения могут быть присвоены определенные "уровни доступа" (Access Level).
При входе в любой WinCC-редактор, как в режиме конфигурирования, так и во время выполнения WinCC-приложения, проверяется, зарегистрирован ли пользователь в системе и какие уровни доступа он имеет. Если пользователь не зарегистрирован, то он не имеет никаких прав.
Как и другие WinCC-редакторы User Administrator состоит из двух частей - системы конфигурирования и системы исполнения.
Text Library - поддержка различных языков. Этот редактор предназначен для создания библиотеки соответствий слов или символов. Это необходимо когда текст может отображаться на двух или более языках. Если нужно, чтобы ваше WinCC-приложение в процессе работы могло поддерживать, например, два языка - английский и русский, то этот редактор поможет вам в создании и использовании этих соответствий. Каждому соответствию присваивается свой уникальный номер и, используя WinCC API в своих функциях, вы легко сможете переключаться с одного языка на другой.
Report Designer - встроенный генератор отчетов. Report Designer состоит из редактора схемы отчетов и системы генерации отчетов. Удобный графический редактор позволяет спроектировать вид отчета на ваше усмотрение. Отчеты могут содержать как системную информацию (т.е. атрибуты, конфигурация, данные о проекте), так и информацию из архивов (т.е. протоколы сообщений и измеряемые значения) в виде таблиц или графиков.
Global Scripts - подсистема обработки событий. Global Scripts - это общее название для С-функций и обработчиков событий во всем WinCC-проекте. С помощью этой подсистемы можно обрабатывать событие, инициированное любым графическим объектом, а также изменять из скрипта эти объекты.
Graphics Designer - графический редактор. Этот редактор предназначен для создания мнемосхем. Он содержит богатую библиотеку стандартных графических объектов, таких как линии, прямоугольники, эллипсы и т.д.; библиотеку Windows-компонентов - кнопок, списков и т.д. - и библиотеку сложных WinCC-объектов - полей вывода параметров, рисунков, создаваемых пользователем и т.д. Для каждого объекта определен набор свойств, которые могут меняться во время выполнения приложения. В качестве примера можно привести следующие свойства: положение на экране, длина, ширина, шрифт, цвет шрифта, процент заполнения, цвет заполнения, мигание, частота мигания и т.д. По определенному событию контролируемого процесса, например, по выходу за уставочное значение, можно изменять цвет выводимого параметра, или выводить мигающее значение. Также для объекта определен набор событий, на которые этот объект может реагировать во время выполнения приложения. В качестве примера можно привести следующие события: нажатие или правой, или левой кнопки мыши, нажатие определенной клавиши и т.д. Обработчики событий и функции изменения свойств объектов могут быть написаны на языке ANSI C, используемом в WinCC для написания скриптов. Использование ANSI C в качестве языка для написания скриптов позволяет создавать гибкие пользовательские интерфейсы.