Универсальная SCADA-система "Блакарт" под управлением операционной системы QNX

Универсальная SCADA-система "Блакарт" под управлением операционной системы QNX

А. И. Благодарный, Л. С. Каратышева Конструкторско-технологический институт вычислительной техники СО РАН, 630090, Новосибирск, Россия

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

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

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

SCADA-system BLAKART which is a generalization of several projects of the automated control systems by engineering procedures is described in the article. These systems have been developed in Design Technological institute of Digital Techniques the Siberian Branch of the Russian Academy of Science, and realized on a number of enterprises: a mineral industry (collieries), a manufacturing industry (factories of isotope separation on uranium) and petroleum transportation (oil pipelines).

The SCADA-system is the universal instrument which allows creating various projects of ACS EP for management automation by almost any engineering procedures in various industries. Creation of such projects is possible for industries where there is a danger of fires, explosions, or for ecologically dangerous ones.

Key words: SCADA, industrial automation, process control graphical user interface, operating system QNX, reliability, real time, automated control systems, software.

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

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

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

Требование универсальности SCADA-системы предполагает хорошую структурированность программного кода, что должно позволять при разработке конкретного проекта АСУ ТП вносить необходимые изменения в наборы логических объектов с их специфическими функциями обработки.

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

- максимально возможная надежность;

- работа в жестком реальном времени;

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

- открытость программного обеспечения;

- универсальность программного обеспечения.

Следует отметить, что практически все известные SCADA-системы работают под управлением операционных систем семейства Windows Microsoft (например, Genesis или Trace Mode и т. д.) и не обладают сформулированными выше дополнительными свойствами [1]. Это относится и к SCADA-системам, работающим под управлением других операционных систем, например Realflex под QNX. В связи с этим была поставлена задача разработки новой SCADA-системы, в которой должны быть реализованы указанные выше дополнительные требования.

Основные решения проекта SCADA-системы. Требования максимальной надежности программного обеспечения и его работы в масштабе жесткого реального времени резко ограничивают круг выбора возможных операционных систем (ОС), поскольку указанные выше требования относятся, прежде всего, к используемой ОС. Наиболее полно указанным требованиям удовлетворяет сетевая многозадачная операционная система реального времени QNX 4.25xx, достоинствами которой являются многозадачность, высокая скорость межзадачного переключения, защита программ друг от друга и др. Защита программ друг от друга полностью исключает блокировку одной задачей других задач или ОС, что в значительной степени обеспечивает живучесть АСУ ТП. В сочетании с развитым межзадачным интерфейсом и доступностью всех ресурсов ОС указанные достоинства позволили полностью исключить в разработанной SCADA-системе возможность возникновения логических конфликтов и тем самым обеспечить очень высокую надежность SCADA-системы. Указанные выше свойства ОС QNX 4.25xx позволили также минимизировать временные издержки на обработку поступающей информации. Время реакции SCADA-системы на любое одиночное событие не превышает 100 мс и является допустимым в рамках технических заданий на управление большинством технологических процессов. В ближайшее время также планируется переход на более современную шестую версию QNX.

Рассматриваемая в настоящей работе SCADA-система является обобщением нескольких проектов АСУ ТП, разработанных в Конструкторско-технологическом институте вычислительной техники СО РАН [2, 3]. Указанная SCADA-система реализована как распределенная вычислительная сеть, одновременно являющаяся локальной вычислительной сетью (ЛВС) на основе сетевых протоколов ОС QNX 4.25, что обеспечивает быстрый и прозрачный обмен данными между различными узлами ЛВС. Локальные вычислительные сети АСУ ТП также называются технологическими сетями. Проблема удаленного доступа на различные узлы ЛВС решается автоматически, поскольку операционная система является сетевой, т. е. фактически объединяет ресурсы вычислительных машин различных узлов ЛВС. Взаимодействие между ЛВС и другими вычислительными сетями (например, административными сетями предприятий) производится только через дополнительные сетевые адаптеры с использованием стека протоколов TCP/IP. Таким образом, защита технологических сетей от несанкционированного доступа извне осуществляется физической развязкой различных сетей и контролем используемых сервисов стека протоколов TCP/IP.

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

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

Подсистема верхнего уровня представляет собой программное обеспечение интерфейса оператора и базы данных. В совокупности это называется автоматизированным рабочим местом (АРМ) оператора. Количество подключаемых АРМ ограничено лишь максимально допустимым количеством узлов в технологической сети (обычно - 255), одновременно при этом достигается цель многократного резервирования как интерфейса оператора, так и баз данных. Необходимое для этого распараллеливание потоков данных осуществляют программы подсистемы нижнего уровня. Подсистема верхнего уровня может быть также организована по модели client - server. В этом случае в роли сервера выступает база данных (продублированная необходимое количество раз). Клиентские приложения АРМ оператора могут быть доступны и из других операционных систем, например из Windows NT/2000/XP, с помощью утилиты Phindows удаленного доступа.

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

Средой исполнения в ОС QNX 4.25 является графическая оболочка Photon 1.14.xx. В качестве среды разработки выбраны графический редактор Application Builder Photon 1.14.xx и компилятор фирмы Whatcom версии 10.6. Разработка программного обеспечения осуществлялась на языке программирования высокого уровня C/C++. Разработка или модификация проекта АСУ ТП на основе указанной SCADA-системы сводится к следующим основным операциям:

- построение графического интерфейса оператора с помощью системного построителя приложений (графического редактора) Application Builder Photon 1.14.xx;

- составление некоторого набора конфигурационных файлов подсистемы верхнего уровня, которые задают конкретную конфигурацию технологического оборудования и определяют методы отображения данных о состоянии технологического оборудования на экране монитора АРМ оператора;

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

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

Технологическая сеть SCADA-систе-мы представлена некоторой совокупностью вычислительных машин под управлением OC QNX 4.25, объединенных в локальную вычислительную сеть на основе сетевого протокола Ethernet. АРМ оператора реализованы на персональных

Рис. 1. Структура программного обеспечения SCADA-системы: стрелки розового цвета - межзадачный обмен данными через кольцевые

буферы в разделяемой

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

Программное обеспечение подсистемы нижнего уровня представлено набором драйверов ввода (вывода) (на рис. 1 программы драйверов обозначены как "Драйвер"), которые отвечают за сопряжение с конкретными объектами технологического оборудования и некоторой совокупностью вспомогательных программ буферизации данных - "ОПД". Исходная информация об объектах технологического оборудования, необходимая для работы драйвера, записывается в конфигурационные файлы подсистемы нижнего уровня. В подсистеме нижнего уровня с помощью программ буферизации данных реализованы механизм предотвращения блокировки драйверов по операциям приема (передачи) данных и механизм распараллеливания потоков данных на все подключенные АРМ оператора. Задача "ППУ" принимает данные телеуправления объектами технологического оборудования от подсистемы верхнего уровня. В системах управления технологическими объектами различают импульсные и непрерывные сигналы управления. Драйверы работают только с непрерывными сигналами управления. Преобразование импульсных сигналов управления в непрерывные осуществляет вспомогательная задача "ПрУ" - преобразователь управления.

В состав программного обеспечения подсистемы верхнего уровня входят следующие основные задачи (см. рис. 1):

- задача интерфейса оператора "ИФ";

- задача управления базой данных "БД";

- вспомогательные задачи "ПКД", "ОПС", "ППС" и "ОПУ";

- задача "IP-сервер" обмена данными с АСУ, функционирующими в других ОС.

Задача интерфейса оператора "ИФ" - единственная задача подсистемы верхнего уровня, подлежащая модификации и настройке при разработке проекта АСУ ТП на основе данной SCADA-системы. Основными функциями задачи являются: отображение на экране монитора состояния объектов технологического оборудования с помощью выбранной системы графических знаков; удаленное управление объектами технологического оборудования через подачу команд управления оператором; автоматическое управление объектами технологического оборудования по заданным комбинациям сигналов состояния оборудования и в пределах только технологической сети; контроль входа (выхода) персонала в систему.

Система управления базой данных предоставляет необходимый спектр услуг, в том числе множественный доступ через структуру доступа в разделяемой памяти. Исходная информация для запуска и исполнения задачи "БД" находится в тех же конфигурационных файлах верхнего уровня. Списки и форматы различных сводок о состоянии объектов технологического оборудования определяются конфигурационными файлами сводок.

Задача "IP-сервер" работает в паре с задачей "IP-клиент", которая запускается в другой операционной среде Windows NT/2000/XP и предназначена для организации обмена данными с АСУ по технологии ОРС [4]. Обмен данными между задачами "IP-сервер" и "IP-клиент" осуществляется на основе транспортного протокола ТСР, список передаваемых данных задается соответствующим конфигурационным файлом. На рис. 1 задача "IP-сервер" указана только на основном ПК, однако указанная задача запускается и на резервных ПК, но активизируется только при переключении резервного ПК на основной ПК.

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

тами и непосредственно локальной вычислительной сети. Указанная диагностика выводится на экраны мониторов всех АРМ оператора и записывается во все базы данных. Сетевая конфигурация технологической сети и распределение программного обеспечения SCADA-системы по узлам ЛВС задается конфигурационными файлами.

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

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

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

Заключение. В течение пяти последних лет на основе разработанной SCADA-системы [5, 6] создан ряд АСУ ТП горно-шахтных предприятий. Эти АСУ ТП охватывают управлением разнородные производственные процессы: надземное и подземное электроснабжение, контроль перемещений и поиск персонала в шахте, автома-

Рис. 2. Пример графического интерфейса оператора

тическое управление протяженными цепочками ленточных конвейеров, оборудование автоматического пожаротушения, водоотлив и т. д. Получены сертификат соответствия N РОСС RU.ME92.BO1656 и разрешение N РРС ОО-34924 на применение на предприятиях горнодобывающей промышленности. За указанный период значимого программного сбоя не зафиксировано ни на одном предприятии, что доказывает правильность выбора основных решений, положенных в основу SCADA-системы "Блакарт".

Список литературы

1. КУЦЕВИЧ И. В. SCADA-системы, или Муки выбора. [Электрон. ресурс]. htpp://asutp.ru/.

2. БЛАГОДАРНЫЙ А. И., ЗЕНЗИН А. С., МИХАЛЬЦОВ Э. Г. И ДР. Программируемая информационно-управляющая система - инст-

румент создания АСУ ТП магистральных нефтепроводов // Нефть и капитал. 2002. № 6. Спец. прил. IT-решения в нефтегазовой отрасли. С. 51-57.

3. ЗОЛОТУХИН Е. П., МИХАЛЬЦОВ Э. Г., СТАРШИНОВ А. Ф. И ДР. Модернизация АСУ ТП магистральных нефтепроводов // Совре-

менные технологии автоматизации. 1997. № 4. С. 18-26.

4. КУЦЕВИЧ И. В., ГРИГОРЬЕВ А. Б. Стандарт ОРС путь к интеграции разнородных систем. [Электрон. ресурс]. htpp://asutp.ru/.

5. БЛАГОДАРНЫЙ А. И., ГУСЕВ О. З., ЖУРАВЛЕВ С. С. И ДР. Автоматизированная система контроля управления ленточными кон-

вейерами на угольных шахтах // Горн. промышленность. 2008. № 6. С. 38-44.

6. БЛАГОДАРНЫЙ А. И., ГУСЕВ О. З., ЖУРАВЛЕВ С. С. И ДР. Система наблюдения и оповещения персонала шахты // Добывающая

промышленность. 2008. № 4. С. 34-38.

Анатолий Иванович Благодарный — ст. науч. сотр. Конструкторско-технологического ин-та

вычисл. техники СО РАН; тел. (383) 330-17-57 Лидия Сергеевна Каратышева — науч. сотр. Конструкторско-технологического ин-та вычисл. техники СО РАН, тел. (383) 330-17-57; e-mail: kls@kti.nsc.ru