А.В. КАПЦАН (фирма “Компас плюс”)
Инструментальные пакеты для разработки
АСУ. Система “Флора”.
Рассматриваются существующие средства разработки, применяющиеся при создании АСУ различных уровней. Приводится краткая характеристика новой инструментальной системы “Флора”, а также некоторые проекты, реализованные с ее помощью.
The existing development tools applied for creating automatized control systems on various levels are considered. Concise characteristics of a new development system Flora are presented as well as some projects, realized with its help.
Одна из важнейших проблем, стоящих перед разработчиками любых компьютерных систем, будь то АСУТП прокатного стана или платежная система банка – это правильный выбор инструментального программного обеспечения (ПО), определяющего технологию проектирования, отладки и сопровождения системы, а значит, длительность, качество и стоимость разработки.
Круг задач, которые приходится решать разработчикам АСУ, очень широк. Рассмотрим далеко не полный список этих задач.
I. Задачи АСУТП и диспетчерских систем:
- сбор и обработка технологической информации, взаимодействие с промышленными контроллерами, датчиками, измерительными приборами, исполнительными механизмами;
- визуализация технологического процесса, техническая анимация, человеко-машинный интерфейс;
- автоматическое управление и регулирование;
- накопление истории работы системы, представление ее в виде графиков, таблиц, отчетов и т.д.
II. Задачи АСУП и информационных систем:
- организация потоков информации в локальных и глобальных сетях;
- работа с локальными базами данных (БД) и SQL серверами;
- создание клиентских и серверных компонентов в архитектуре клиент – сервер, а также клиент – сервер приложений – сервер данных;
- развитые средства ввода и отображения данных (формы, таблицы, многостраничные и многооконные диалоги);
- сложная обработка и анализ данных (статистика, корреляционный анализ, моделирование), генерация отчетов и других документов.
Инструментальные средства (ИС), использующиеся при создании АСУ, можно разделить на группы: 1) SCADA-системы; 2) средства БД; 3) универсальные системы программирования.
SCADA-системы широко используются для создания АСУТП, систем диспетчеризации и мониторинга, т.е. для решения задач группы I (см. ранее). При помощи ИС SCADA можно быстро разработать полнофункциональную систему, причем сделать это может непрограммист.
Главный недостаток такой технологии проектирования является оборотной стороной его достоинств. Скорость проектирования и качество разрабатываемого ПО (ясность, устойчивость, надежность, простота модификации и отладки) резко падают при попытке выйти за рамки стандартного набора функций, осуществляемых средствами SCADA-системы. Реализация нестандартных функций обычно требует применения дополнительных ИС, знания внутренних интерфейсов и форматов данных (зачастую недокументированных). В результате оказывается, что для реализации какой-нибудь простой нестандартной функции приходится прилагать больше усилий, чем для создания всей остальной части системы. Ситуация осложняется еще и тем, что на каком-то этапе проектирования или модернизации вдруг обнаруживается нехватка штатных средств используемой SCADA-системы.
Вторая группа ИС, ориентированных на работу с БД, служит в основном для создания АСУ верхних уровней. В этой области с успехом применяются такие продукты, как Oracle, Sybase, которые хорошо подходят для решения задач хранения, представления и обработки данных, создания серверных компонентов и офисных приложений. Однако они плохо приспособлены для работы в режиме реального времени (так называемого “мягкого” реального времени), и поэтому их использование в промышленных условиях зачастую невозможно.
Универсальные системы, основанные на языках программирования третьего поколения (C, C++, PASCAL), дают проектировщику максимальную свободу действий. С их помощью можно решить любую задачу (которая в принципе решаема) в любой области, но для этого требуются большие затраты квалифицированного труда; полученный продукт трудно сопровождать и модифицировать, особенно если в этом не могут принять участие разработчики.
Современные средства визуального программирования: Borland Delphi, C Builder, Microsoft Visual C++ – сочетают в себе достоинства второй и третьей групп ИС. С их помощью можно легко решать задачи, связанные с обработкой данных в БД, однако для реализации задач АСУТП нижнего уровня они практически не годятся, поскольку не ориентированы на это.
Предложенную классификацию можно условно проиллюстрировать приведенной на рисунке схемой.
Таким образом, несмотря на обилие разнообразных инструментальных пакетов, ощущается нехватка в инструменте, который бы облегчал создание систем с функциями, не укладывающимися в набор возможностей ни SCADA-системы, ни БД. Такими возможностями в полной мере обладает система “Флора”: это объектно-ориентированная, открытая, переносимая, мультизадачная, сетевая, 32-разрядная среда разработки и исполнения приложений.
Уникальная архитектура “Флоры” позволяет быстро создавать, отлаживать и модифицировать эффективные и надежные приложения; предоставляет разработчику широкий набор классов объектов для решения любых задач АСУ: связей с нижним уровнем, автоматического управления и обработки информации, визуализации и технической анимации, организации диалогового пользовательского интерфейса, доступа к БД, передачи информации по сети. Средства разработки включают в себя удобные визуальные редакторы, мощный подобный С++ язык программирования и отладчик для него, приложения-помощники, а также средства для ведения проектов, контроля версий и многое другое1.
Кривая 5 на рисунке показывает эффективность применения “Флоры” при решении широкого спектра задач АСУ: от нижнего уровня, работающего в режиме “мягкого” реального времени, до АСУП. И хотя в некоторых областях можно с бoльшим успехом применять другие средства разработки, – здесь преимущества от использования единого универсального инструмента перекрывают некоторое увеличение трудозатрат и требований к квалификации разработчиков.
В настоящее время “Флора” прошла более чем полугодовое бета-тестирование и с ее помощью уже реализовано несколько проектов. Рассмотрим некоторых из них.
Система охранной сигнализации включает в себя центральный диспетчерский пульт (Windows’95, “Флора”), несколько десятков пунктов охраны, которые содержат датчики пожарной, охранной и другой сигнализации, а также микропроцессорное устройство сбора и передачи информации. Центральный пункт и пункты охраны обмениваются информацией при помощи радиопакетных модемов по протоколу Х28.
Диспетчерский пункт энергоснабжения предприятия. Около 100 сигналов (токов, напряжения, мощности) раз в секунду запрашиваются из нижнего уровня (сеть PC-совместимых контроллеров) через интерфейс RS-422. Изменения параметров записываются на диск и хранятся в течение месяца. Оператор может произвольным образом сгруппировать данные и просмотреть графики изменения параметров любой группы за любой интервал времени и в текущий момент (в виде тренда) в любом масштабе. Кроме того, можно просуммировать любые данные графиков, напечатать их, сгенерировать и напечатать протокол изменения любых параметров с усреднением. При этом предусмотрено разграничение при помощи паролей прав доступа операторов к некоторым функциям системы.
Процессинговая система – кстати, весьма крупная – предназначена для обслуживания сети банкоматов и POS-терминалов. В ней поддерживаются редактирование и загрузка экранов, сценариев работы и настроек банкоматов, мониторинг их состояния, прием и маршрутизация запросов на транзакции, взаимодействие с центрами авторизации, криптование, обработка нештатных ситуаций. Системой используются сети X25, TCP/IP, БД Oracle. Как ядро системы, осуществляющее взаимодействие с терминалами и центрами авторизации, так и средства редактирования, конфигурирования и мониторинга разработаны целиком на базе системы “Флора”.
Опыт применения системы “Флора” в самых разных областях продемонстрировал ее гибкость, многофункциональность и эффективность. Ее преимущество перед другими средствами разработки особенно проявляется при решении нестандартных задач, создании приложений, сочетающих в себе функции АСУ верхнего и нижнего уровней, при создании крупных многоуровневых систем и т.д.
Дополнительная информация и демоверсия системы “Флора” могут быть переданы заинтересованным лицам.
Контактный телефон в Магнитогорске (3511) 33-89-92. E-mail: flora@compassplus.ru, http://www.compassplus.ru