Самый верхний уровень любой автоматизированной системы - это, конечно, человек. Однако в современной технической литературе под верхним уровнем понимается комплекс аппаратных и программных средств, выполняющих роль полуавтоматического диспетчерского узла АСУТП, ядром которого служит ПК или более мощный компьютер. Человек-оператор входит в систему как одно из функциональных звеньев верхнего уровня управления. Такой подход имеет и положительные, и отрицательные стороны. Положительный момент состоит в том, что круг обязанностей оператора в таком случае заранее определен, и от него не требуется детального знания технологического процесса. Другими словами, управлять процессом сможет не только квалифицированный технолог. Отрицательные же стороны - следствие того, что уменьшается гибкость управления за счет снижения влияния на процесс.
В связи с этим разработчикам АСУТП приходится учитывать дополнительные требования. Необходимо не только принять во внимание аппаратную составляющую процесса, не только подобрать режимы работы оборудования, но и разработать надежное и корректно работающее ПО. Конечно, оптимальный вариант - это такая организация работы, когда одна и та же группа разработчиков отвечает и за технологическую карту процесса, и за подбор и отладку оборудования, и за разработку ПО. В таком случае разработчики должны быть одинаково сильны и в технологии конкретного процесса, и в применении специального оборудования, и в написании сложных управляющих, сервисных и коммуникационных программ. Однако подобрать такую команду бывает затруднительно.
Для упрощения разработки программной составляющей АСУТП сейчас используются так называемые программы ММI (Man-Machine Interface - интерфейс человек-машина) и SCADA (Supervisory Control and Data Acquisition - диспетчерское управление и сбор данных). Применение этих пакетов позволяет вести автоматизированную разработку ПО АСУТП; осуществлять в реальном времени контроль и управление технологическим процессом; получать и обрабатывать информацию о процессе в удобном виде.
Самый захватывающий и на первый взгляд простой этап при использовании SCADA-систем - это моделирование технологического процесса на экране монитора. Графический аналогичный Windows интерфейс системы интуитивно понятен и прост. Для установки исполнительных механизмов, электродвигателей, клапанов, емкостей, трубопроводов и прочего используемого в технологическом процессе оборудования достаточно щелчка мышью. Привязка параметров оборудования к потребностям процесса также проста, выполняется за несколько щелчков мышью. Глобальные и «тактические» параметры процесса заносятся в формы, организованные в виде таблиц или баз данных. Устанавливаются стандартные органы управления процессом, организуется опрос датчиков контроля. После чего можно щелкнуть мышью по кнопке «Пуск» и запустить работу технологического процесса. Так происходит в теории или при демонстрации возможностей конкретной SCADA-системы. Но на практике все сложнее.
Разработка АСУТП, использующих SCADA-системы, вне зависимости от процесса и конкретного пакета SCADA подразумевает следующие основные этапы:
- разработка архитектуры системы в целом. АСУТП строится в клиент-серверной архитектуре. Определяется функциональное назначение отдельных узлов автоматизации и их взаимодействие;
- создание прикладной системы управления каждым узлом автоматизации (вернее, алгоритма автоматизированного управления этим узлом);
- анализ и устранение аварийных ситуаций;
- решение вопросов взаимодействия между уровнями АСУТП; подбор линий связи, протоколов обмена; разработка алгоритмов логического взаимодействия различных подсистем;
- решение вопросов возможного наращивания или модернизации системы;
- создание интерфейсов оператора;
- программная и аппаратная отладка системы.
Все эти вопросы необходимо решать на этапе проектирования и создания именно верхнего уровня АСУТП, иначе могут возникнуть ситуации, когда разнообразные функциональные модули технологического процесса будет затруднительно увязать с единой по идеологии и техническому воплощению системой управления. Использование системы SCADA позволяет вполне успешно провести все вышеперечисленные этапы проектирования и отладки.
Как работают SCADA-системы
SCADA-пакеты состоят из нескольких программных блоков: модули доступа и управления, сигнализации, базы данных реального времени, базы данных и модули ввода-вывода и аварийных ситуаций.
Главное требование к SCADA-системам - корректная работа в режиме реального времени. Причем главным приоритетом при передаче и обработке обладают сигналы, поступающие от технологического процесса или на него и влияющие на его протекание. Они имеют приоритет даже больший, чем обращение к диску или действия оператора по перемещению мыши или сворачиванию окон. Для этих целей многие пакеты реализованы с применением операционных систем ОС реального времени, однако в последнее время все больше разработчиков создает свои SCADA-продукты на платформе Microsoft Windows NT, встраивая в нее подсистемы жесткого реального времени RTX (Real Time Extension). При таком подходе можно использовать Windows NT как единую ОС при создании многоуровневых систем, задействовать стандартные функции Win32 API и строить интегрированные информационные системы - АСУП.
Источники данных в системах SCADA могут быть следующими.
- Драйверы связи с контроллерами. Очень важна надежность драйверов связи. Драйверы должны иметь средства защиты и восстановления данных при сбоях, автоматически уведомлять оператора и систему об утере связи, при необходимости подавать сигнал тревоги.
- Реляционные базы данных. SCADA-системы поддерживают протоколы, независимые от типа базы данных, благодаря чему в качестве источника данных может выступать большинство популярных СУБД: Access, Oracle и т. д. Такой подход позволяет оперативно изменять настройки технологического процесса и анализировать его ход вне систем реального времени, различными, специально созданными для этого программами.
- Приложения, содержащие стандартный интерфейс DDE (Dynamic Data Exchange) или OLE-технологию (Object Linking and Embedding), позволяющую включать и встраивать объекты. Это дает возможность использовать в качестве источника данных даже некоторые стандартные офисные приложения, например Microsoft Excel.
Ввод поступающих и вывод передаваемых данных организованы как система специальных функциональных блоков. Текущая информация о процессе хранится в специальных базах ввода-вывода. Входные блоки получают информацию и приводят ее в вид, пригодный для дальнейшего анализа и обработки. Блоки обработки реализуют алгоритмы контроля и управления, такие как ПИД-регулирование, задержка, суммирование, статистическая обработка; над цифровыми данными могут проводиться операции булевой алгебры и др. Выходные блоки передают управляющий сигнал от системы к объекту. Для связи с объектами используются широко распространенные интерфейсы RS-232, RS-422, RS-485, Ethernet. Для увеличения скорости передачи применяются различные методы кэширования данных, что устраняет перегрузку низкоскоростных сетей. Иными словами, если два различных клиента одновременно запрашивают у сервера одни и те же данные, он посылает контроллеру не два запроса, а лишь один, возвращая второму клиенту данные из кэш-памяти.
Едва ли не самый важный момент при создании АСУТП - это организация такой системы управления, которая обеспечивала бы надежность и оперативную отработку аварийных ситуаций как в самой системе управления, так и в технологическом процессе. Аварийное сигнализирование и отработка аварийных ситуаций в технологическом процессе в большинстве SCADA-систем выделяются в отдельный модуль с наивысшим приоритетом. Надежность же системы управления достигается за счет горячего резервирования. Можно зарезервировать все: сервер, его отдельные задачи, сетевые соединения и отдельные (или все) связи с аппаратурой. Резервирование происходит по интеллектуальному алгоритму: чтобы не создавать удвоенную нагрузку на сеть, основной сервер взаимодействует с аппаратурой и периодически посылает сообщения резервному серверу, который сохраняет в памяти текущий статус системы. Если основной сервер выходит из строя, резервный берет управление на себя и работает до тех пор, пока основной не приступит к работе. Сразу после этого базы данных основного сервера обновляются данными резервного и управление возвращается основному серверу.
Все SCADA-системы открыты для дальнейшего расширения и усовершенствования и имеют для этих целей встроенные языки высокого уровня, чаще всего Visual Basic, либо допускают подключение программных кодов, написанных самим пользователем. Кроме того, к системам можно подключать разработки иных фирм, объекты ActiveX, стандартные библиотеки DLL Windows. Для реализации этих технологий разработаны специальные инструментальные средства и специализированный интерфейс.
SCADA-система может быть интегрирована с самыми разными сетями: другими SCADA-системами, офисными сетями предприятия, регистрирующими и сигнализирующими сетями (например, охрана и пожарная сигнализация) и т.п. Для эффективной работы в этой разнородной среде SCADA-системы используют стандартные протоколы NETBIOS и TCP/IP. Одно только упоминание протокола TCP/IP уже говорит о том, что SCADA-системы могут работать и в Интернете, тем более что все более актуальной становится передача оперативной и статической информации о процессе на Web-узлы.
В заключение хотелось бы сказать, что понятие АСУТП изначально шире, чем SCADA. Когда в литературе иногда говорят о SCADA-системах, подразумевая АСУТП, это не совсем правильно. SCADA разрабатывались именно как системы, позволяющие предоставлять оператору информационные услуги на верхнем уровне управления технологическим процессом. Но они не могут обеспечить полностью автоматизированное управление сверху донизу хотя бы по той простой причине, что это всего лишь программный продукт, устанавливаемый на персональном компьютере. А любой технологический процесс требует, кроме того, еще разнообразного специфического оборудования и происходит он в реальной жизни, а не в виртуальной среде.
Однако сложившаяся практика построения автоматизированных систем управления достаточной сложности свидетельствует о том, что применение SCADA-систем в проектировании АСУТП значительно упрощает жизнь разработчикам и позволяет организовать надежное и качественное управление при эксплуатации систем.
Юрий Давидюк - инженер, специалист по системам управления технологическими процессами. С ним можно связаться по e-mail: muraw@inbox.ru. |