Надежда Куцевич
Системные интеграторы или конечные пользователи, приступая к разработке прикладного программного обеспечения (ППО) для создания системы управления, оказываются перед выбором: программировать с использованием “традиционных” средств (традиционные языки программирования, стандартные средства отладки и пр.) или применить готовые- COTS (Commercial Of The Shelf)- инструментальные проблемно-ориентированные средства.
Конечно, качественное, хорошо отлаженное ППО, написанное высококвалифицированным программистом специально для того или иного проекта,- решение наиболее оптимальное. Но следующую задачу программисту придется решать опять-таки практически с нуля. Таким образом, процесс создания сложных распределенных систем становится недопустимо длительным, а затраты на их разработку- высокими. Сегодня, в условиях, когда затраты на ППО все более возрастают и соответственно все более ужесточаются требования к интенсификации труда программистов, вариант с непосредственным программированием привлекателен лишь для простых систем или небольших фрагментов большой системы, для которых нет стандартных решений (не написан, например, подходящий драйвер) или они не устраивают разработчиков в принципе. В любом случае процесс разработки собственного ППО важно упростить, сократить временные и прямые финансовые затраты на его разработку, минимизировать затраты труда высококлассных программистов, по возможности привлекая к разработке специалистов в области автоматизируемых процессов.
Современный бизнес в области разработки ПО заметно дифференцируется и специализируется. Причина проста- ПО становится все более сложным и дорогостоящим. Разработчики операционных систем, инструментальных средств, прикладного ПО и т. д., по существу, “говорят на разных языках”. Таким образом сама логика развития современного бизнеса в области разработки ППО для конечных систем управления подталкивает к использованию все более развитых инструментальных средств типа SCADA-систем (Supervisory Control And Data Acquisition). Разработка современной SCADA-системы требует больших вложений и выполняется в длительные сроки. Именно поэтому в большинстве случаев разработчикам управляющего ППО, в частности ППО для АСУ ТП, целесообразно осваивать и адаптировать какой-либо готовый, уже апробированный, универсальный инструментарий.
Если для вас это очевидно, то возникает вопрос выбора SCADA-системы. Ниже перечислены некоторые популярные SCADA-системы, имеющие поддержку в России (см. табл.1).
Таблица 1
На основе этих пакетов предлагается рассмотреть некоторые основные возможности и характерные особенности SCADA-систем.
Характеристики SCADA-систем
В силу тех требований, которые предъявляются к системам SCADA, спектр их функциональных возможностей определен и реализован практически во всех пакетах. Перечислим основные возможности и средства, присущие всем системам и различающиеся лишь техническими особенностями реализации:
- автоматизированная разработка, позволяющая создавать ПО системы автоматизации без реального программирования;
- средства сбора первичной информации от устройств нижнего уровня;
- средства управления и регистрации сигналов об аварийных ситуациях;
- средства хранения информации с возможностью ее последующей обработки (как правило, реализуется через интерфейсы к наиболее популярным базам данных);
- средства обработки первичной информации;
- средства визуализации представления информации в виде графиков, гистограмм и т. п.;
- возможность работы прикладной системы с наборами параметров, рассматриваемых как “единое целое”.
Основу большинства SCADA-пакетов составляют несколько программных компонентов (база данных реального времени, ввода-вывода, предыстории, аварийных ситуаций) и администраторов (доступа, управления, сообщений).
Технические характеристики
Ниже перечисляются и анализируются характеристики, важные для оценки функциональности SCADA-систем.
Рис. 1. Обобщенная схема сетевой SCADA-системы
Программно-аппаратные платформы для которых существуют SCADA-системы. Анализ перечня таких платформ необходим, поскольку от него зависит распространение SCADA-системы на имеющиеся вычислительные средства, а также оценка стоимости эксплуатации системы (будучи разработанной в одной операционной среде, прикладная программа может быть выполнена в любой другой, которую поддерживает выбранный SCADA-пакет). В различных SCADA-системах этот вопрос решен по-разному. Так, FactoryLink имеет весьма широкий список поддерживаемых программно-аппаратных платформ (см. табл.2).
Таблица 2
В то же время в таких SCADA-системах, как RealFlex и Sitex, основу программной платформы принципиально составляет единственная, хотя и удовлетворяющая многим требованиям операционная система реального времени QNX.
Подавляющее большинство SCADA-систем реализовано на MS Windows платформах. Именно такие системы предлагают наиболее полные и легко наращиваемые MMI (Man Machine Interface) средства. Учитывая продолжающееся усиление позиций Microsoft на рынке операционных систем (ОС), следует отметить, что даже разработчики многоплатформных SCADA-систем, такие, как компания United States DATA, приоритетным считают дальнейшее развитие своих SCADA-систем на платформе Windows NT. Некоторые фирмы, до сих пор поддерживавшие SCADA-системы на базе ОС реального времени (РВ), начали менять ориентацию, предпочитая системы на Windows NT платформе.
Современный мир систем автоматизации характеризует высокая степень интеграции этих систем. В любой из них могут быть задействованы объекты управления, исполнительные механизмы, аппаратура, регистрирующая и обрабатывающая информацию, рабочие места операторов, серверы баз данных и т. д. Очевидно, что для эффективного функционирования в этой разнородной среде SCADA-система должна обеспечивать высокий уровень сетевого сервиса. Желательно, чтобы она поддерживала работу в стандартных сетевых средах (Arcnet, Ethernet и т. д.) с использованием стандартных протоколов (NetBIOS, TCP/IP и др.), а также обеспечивала поддержку наиболее популярных сетевых стандартов из класса промышленных интерфейсов (Profibus, CanBus, LON, ModBus и т. д.).
Этим требованиям в той или иной степени удовлетворяют практически все рассматриваемые SCADA-системы, с тем только различием, что набор поддерживаемых сетевых интерфейсов, конечно же, разный.
Большинство SCADA-систем имеют встроенные языки высокого уровня, Visual Basic-подобные языки, позволяющие сгенерировать адекватную реакцию на события, связанные с изменением значения переменной, с выполнением некоторого логического условия, с нажатием комбинации клавиш, а также с выполнением некоторого фрагмента с заданной частотой относительно всего приложения или отдельного окна.
Практически все SCADA-системы, в частности Genesis, InTouch, используют ANSI SQL-синтаксис, который не зависит от типа базы данных. Таким образом, приложения виртуально изолированы, что позволяет менять базу данных без серьезного изменения самой прикладной задачи, создавать независимые программы для анализа информации, использовать уже наработанное программное обеспечение, ориентированное на обработку данных.
Для специалиста-разработчика системы автоматизации, так же как и для специалиста-“технолога”, очень важен графический пользовательский интерфейс. Функционально графические интерфейсы SCADA-систем очень похожи. В каждой из них существует графический объектно-ориентированный редактор с определенным набором анимационных функций. Используемая векторная графика дает возможность осуществлять широкий набор операций над выбранным объектом, а также быстро обновлять изображение на экране, используя средства анимации.
Крайне важен также вопрос о поддержке в рассматриваемых системах стандартных функций (графического пользовательского интерфейса) GUI (Graphic Users Interface). Поскольку большинство рассматриваемых SCADA-систем работают под управлением Windows, это и определяет тип используемого GUI.
Открытость систем
Система считается открытой, если для нее определены и описаны используемые форматы данных и процедурный интерфейс, что позволяет подключить к ней “внешние”, независимо разработанные компоненты.
Фирмы- разработчики систем автоматизации часто вынуждены создавать собственные (не предусмотренные в рамках систем SCADA) программные модули и включать их в создаваемую систему автоматизации. Поэтому открытость системы важно для характеристики SCADA-систем. Фактически открытость системы означает доступность спецификаций системных (в смысле SCADA) вызовов, реализующих тот или иной системный сервис. Это может быть и доступ к графическим функциям, функциям работы с базами данных и т. д.
Современные SCADA-системы не ограничивают выбора аппаратуры нижнего уровня, так как предоставляют большой набор драйверов или серверов ввода-вывода и имеют хорошо развитые средства создания собственных программных модулей или драйверов новых устройств нижнего уровня. Сами драйверы разрабатываются с использованием стандартных языков программирования. Вопрос, однако, в том, достаточно ли для доступа к ядру системы только спецификаций, поставляемых фирмой-разработчиком в штатном комплекте (система Trace Mode), или для создания драйверов необходимы специальные пакеты (системы FactoryLink, InTouch), или же вообще разработку драйвера нужно заказывать у фирмы-разработчика.
Для подсоединения драйверов ввода-вывода к SCADA используются два механизма- стандартный DDE (Dynamic Data Exchange) и обмен по внутреннему (известному только фирме-разработчику) протоколу. Взамен DDE компания Microsoft предложила более эффективное и надежное средство передачи данных между процессами- OLE (Object Linking and Embedding- включение и встраивание объектов). Механизм OLE поддерживается в RSView, Fix, InTouch, Factory Link и др. На базе OLE появляется новый стандарт OPC (OLE for Process Control), ориентированный на рынок промышленной автоматизации. Новый стандарт, во-первых, позволяет объединять на уровне объектов различные системы управления и контроля, функционирующие в распределенной гетерогенной среде; во-вторых, OPC устраняет необходимость использования различного нестандартного оборудования и соответствующих коммуникационных программных драйверов. С точки зрения SCADA-систем появление OPC-серверов означает разработку программных стандартов обмена с технологическими устройствами. Поскольку производители полностью разбираются в своих устройствах, то эти спецификации являются для них руководством к разработке соответствующих серверов. Так как эти программные драйверы уже появляются на рынке, разработчики SCADA-систем предлагают свои механизмы связи с ними. OPC-интерфейс допускает различные варианты обмена: получение “сырых” данных с физических устройств, из распределенной системы управления или из любого приложения (рис. 2). На рынке появились инструментальные пакеты для написания OPC-компонентов, например OPC-Toolkits фирмы FactorySoft, включающий OPC Server Toolkit, OPC Client Toolkit, примеры OPC-программ.
Рис. 2. ОРС-интерфейс SCADA-систем
Многие компании занимаются разработкой драйверов, другого программного обеспечения для SCADA-систем. Этот факт очень важен при выборе SCADA-пакета, поскольку это расширяет область применения системы непрофессиональными программистами.
Одним из существенных недостатков SCADA-систем на платформах Windows 3.хх/95 по сравнению с такими же системами на платформах ОСРВ является отсутствие поддержки реального времени. Ситуация стала изменяться с появлением Windows NT. Выход в свет этой ОС стимулировал разработку новых подходов в поддержке реального времени.
Ряд фирм (LP Elektronik, Imagination Systems, RadSys, Spectron Microsystems, VenturCom) предприняли более радикальные попытки превратить Windows NT в ОС жесткого реального времени. Рассмотрим, как воплощены некоторые ключевые особенности такой идеи, на примере подсистемы реального времени RTX (Real Time Extension), предложенной фирмой Ventur Com. Именно эта реализация получает в настоящее время наиболее широкое распространение. Фирмы- разработчики SCADA-систем незамедлительно начали предлагать новые решения. Так, набор прикладных интерфейсов программирования RTX 4.1 (Ventur Com) в FIX позволяет:
- осуществлять полный контроль над задачами реального времени;
- использовать фиксированную систему из 128 приоритетов для контроля RTX-задач;
- применять стандартные средства обмена данными между задачами;
- обращаться к стандартным функциям из Win32 API.
Эксплуатационные характеристики
Эксплуатационные характеристики SCADA-системы имеют большое значение, поскольку от них зависит скорость освоения продукта и разработки прикладных систем. Они в конечном итоге отражаются на стоимости проектов.
Следует отметить, что уровень сервиса, предоставляемый SCADA-системами на этапе разработки прикладного ПО, обычно очень высок- это вытекает из основных требований к таким системам. Почти все они имеют Windows-подобный пользовательский интерфейс, что во многом повышает удобство их использования, как в процессе разработки, так и в период эксплуатации прикладной задачи.
Необходимо обращать внимание не только на наличие технической поддержки SCADA-систем как таковой, но и на ее качество. Для зарубежных систем в России возможны следующие уровни поддержки: услуги фирмы-разработчика; обслуживание региональными представителями фирмы-разработчика; взаимодействие с системными интеграторами. Судя по числу установленных зарубежных систем (InTouch- 80 000, Genesis- 30 000), можно предположить, что поддержка их достаточно эффективна.
Отечественные системы, несмотря на сравнительно небольшое число установок по сравнению с системами ведущих зарубежных фирм (имеется в виду глобальный рынок), создавались и поддерживаются фирмами-разработчиками, содержащими штаты высокопрофессиональных программистов, которые имеют все предпосылки для качественного технического обслуживания своих продуктов. Так, для освоения Trace Mode фирма AdAstra предоставляет на русском языке полную документацию, организует периодические курсы обучения, “горячую линию”, готова по заказу внести в систему функциональные изменения или разработать необходимые драйверы.
Любая система управления, имеющая интерфейс с оператором, должна общаться с человеком на его родном языке. Для некоторых систем (Image, Trace Mode) эта проблема вообще не существует, так как они разрабатывались отечественными фирмами. Для многих зарубежных продуктов проблема русификации в значительной мере снимается, во всяком случае для подсистем исполнения или RunTime подсистем, если они используют наборы шрифтов Windows. У части зарубежных систем документация переведена на русский язык (InTouch). Нужна ли русифицированная среда разработки? Положительный ответ не очевиден. Но если “да”, то среда, обязательно протестированная и рекомендованная фирмой-разработчиком.
Рис. 3. Уровни управления предприятия
SCADA-системы ответственны за получение информации “снизу” с уровня управления, т. е. от различных датчиков через устройства сопряжения, от программируемых контроллеров, поставляющих информацию для непосредственного управления производственным процессом. Далее информация с уровня управления поступает на вход SCADA-систем. Схематично уровни управления предприятием показаны на рис. 3. На SCADA-уровне возможно оперативное управление процессом, принятие тактических решений на основе информации, полученной на уровне управления. Информация поступает на производство “сверху” и “снизу”. “Сверху” формируется информация, отвечающая за работу предприятия в целом, осуществляется планирование производства. На рис. 4 дана информационная модель предприятия.
Рис. 4. Информационная модель предприятия
Точная, своевременная, достоверная информация на каждом уровне производства позволяет оценить издержки, качество и конкурентоспособность продукции. Для организации связи между информацией “сверху” и “снизу” необходим класс инструментальных средств управления производством, ответственный за доставку информации с возможной обработкой данных в реальном времени с уровня управления “наверх” и наоборот. Поэтому критерием сравнения инструментальных средств, поддерживающих разработку АСУТП, является наличие средств доставки информации со SCADA-уровня наверх, на уровень планирования производства. Ряд фирм (Intellution, Wonderware) предлагает продукты (Fix BOS, InTrack, InBatch), представляющие собой системы управления производством. Основное их назначение заключается в создании прикладных программ, моделирующих и прослеживающих каждую стадию производственных процессов- от загрузки сырья до выпуска готовой продукции.
Огромное значение имеет то, насколько инструментальные системы АСУТП связаны с Microsoft BackOffice Suite, поскольку последние стали распространенными офисными программными продуктами. Все более актуальным становится требование передачи на Web-узлы как статической (в определенные моменты времени), так и динамической (постоянно) информации. Появившиеся ActiveX-объекты (в четвертой версии Microsoft Explorer, например) позволяют передавать данные из SCADA-системы на Web-страницы. Но есть и более многофункциональные компоненты типа Scout фирмы Wonderware, обеспечивающие возможность доступа к системам автоматизации на базе InTouch через Internet/intranet, позволяющие удаленному пользователю взаимодействовать с прикладной задачей автоматизации, как с простой Web-страницей.
Заключение
По функциональным возможностям все рассмотренные системы в целом сравнимы. Технология программирования близка к интуитивному восприятию автоматизируемого процесса плюс мощное объектно-ориентированное программирование, используемое в большинстве этих пакетов, делает эти продукты легкими в освоении и доступными для широкого круга пользователей.
Все системы можно считать открытыми, имеющими открытый протокол для разработки собственных драйверов, развитую сетевую поддержку, возможность включения ActiveX-объектов и доступность к стандартным базам данных.
Построение прикладной системы на основе любой из рассмотренных SCADA-систем резко сокращает набор необходимых знаний в области классического программирования, позволяя концентрировать усилия по освоению знаний в прикладной области.
Следует отметить тенденции включения SCADA-систем в системы комплексной автоматизации предприятия. Это обеспечивает точную, своевременную информацию на каждом уровне производства.
Главный упор делается на качество технической поддержки, на качество обучения пользователей, на концентрацию и качество дополнительных комплексных услуг по освоению и внедрению конечной системы управления. Другими словами, на сокращение издержек системных интеграторов и конечных пользователей, на инжиниринг и менеджмент своих проектов, на уменьшение стоимости сопровождения конечной системы. Именно эти показатели сегодня в основном влияют на рейтинг и рыночный успех той или иной SCADA-системы. Пожалуй, эти показатели даже более важны, чем абсолютные стоимостные характеристики SCADA-систем.
C автором статьи Надеждой Куцевич- менеджером АО RTSoft по SCADA-системам- можно связаться по телефонам: (095) 742-6828, 465-6702 или по адресу: nak@rtsoft.msk.ru.