СТА 2/2010
туре и механизму сообщений все компо ненты операционной системы, в том числе драйверы, представлены как внеш ние приложения. Это увеличивает на дёжность ОС, поскольку отказ одного из компонентов не приводит к краху всей системы. Также это обеспечивает масш табируемость: можно легко добавлять или удалять компоненты ОС в зависи мости от назначения целевой системы. Вторая причина выбора ОС QNX – это поддержка ею сетевых протоколов TCP/IP и QNet. С помощью стека TCP/IP можно использовать QNX с другими операционными системами. Собственный сетевой протокол QNet и механизм обмена сообщениями позво ляют создавать распределённые вычис лительные системы. Третья причина – программный ин терфейс POSIX. Этот интерфейс хоро шо документирован, существует огром ное количество свободно распространя емых кодов, которые можно адаптиро вать для QNX. Четвёртая причина заключается в том, что ОС QNX Neutrino – это операцион ная система реального времени (ОС РВ). Термин «реальное время» в данном слу чае означает, что время реакции системы на внешнее воздействие не будет превы шать определённой величины. Это осо бенно важно при управлении быстродей ствующими техническими объектами. Технологическая программа выполня ется в среде, создаваемой технологичес ким сервером. Технологическая програм ма имеет ацикличную структуру и явля ется событийно управляемой: программ ные блоки выполняются только тогда, когда изменяются связанные с ними ячейки памяти. Это значительно умень шает вычислительную нагрузку и время цикла технологической программы. Технологическая программа не зави сит от используемого оборудования и может быть реализована на различных технических платформах. Взаимодей ствие технологического программного обеспечения с оборудованием ввода вы вода осуществляется через драйверы устройств. Сервер отображает драйверы устройств на пространство переменных технологической программы. Операционная система QNX Neutrino обеспечивает взаимодействие компо нентов системы друг с другом [1, 2]. Драйверы могут быть использованы не только для работы с оборудованием, но и для создания сложных алгоритмов уп равления. Драйверы в ОС QNX Neutrino являются независимыми приложения ми и могут загружаться по мере необхо димости [3]. Модульная структура поз воляет создавать распределённые систе мы управления: можно загрузить ресур соёмкий драйвер на другом узле сети (рис. 1) или организовать обмен данны ми между серверами. Взаимодействие узлов происходит через сеть QNet, обес печивающую прозрачный доступ ко всем ресурсам вычислительной сети [4]. Для отладки технологического прог раммного обеспечения разработан на бор инструментов, позволяющих уда лённо следить за работой системы. Программное обеспечение для отладки может быть запущено на любой рабочей станции сети АСУ ТП, а с помощью GSM модема и сети Интернет к вычис лительной системе можно подключить ся из любой точки земного шара. Отладочное программное обеспече ние состоит из отладчика, который поз воляет просматривать и модифициро вать ячейки памяти технологической программы, и многоканального осцил лографа, с помощью которого можно исследовать быстрые процессы во вре мени. Программный комплекс содержит несколько готовых систем визуализации и библиотеку на языке Си для разработ ки новых клиентских приложений в гра фической оболочке Photon для QNX. Технологический сервер допускает од новременное подключение нескольких десятков графических клиентов, при этом обмен данными может осущест вляться с периодом 5 мс для обычных переменных и 500 мкс для трендовых переменных (рис. 2). РАЗ РА БОТ КИ / МЕ ТАЛЛУ Р Г ИЯ 43 СТА 2/2010 www.cta.ru Технологический сервер Драйвер 1 Драйвер 2 Устройство 1 Устройство 2 Технологическая программа Драйвер 3 Сложный математический алгоритм Узел 1 Узел 3 Узел 2 Технологический сервер 2 Технологическая программа 2 Сеть QNet Рис. 1. Конфигурация распределённой системы ТРЕБОВАНИЯ К АППАРАТНОМУ ОБЕСПЕЧЕНИЮ Платформа IBM PC совместимые компьютеры Устройства ввода/вывода Любые устройства, для которых могут быть написаны драйверы ТРЕБОВАНИЯ К БАЗОВОМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ Операционная система QNX Neutrino 6 Драйверы устройств Спецификация отрытая ВОЗМОЖНОСТИ АРХИТЕКТУРЫ Распределённая архитектура ● Вынесение драйверов на другие узлы вычислительной системы ● Организация обмена данными по сети между контроллерами Клиентские приложения ● Средства удалённой отладки программ ● Система архивирования и сбора данных с реляционной СУБД и Web*интерфейсом ● Средства визуализации технологических процессов для графической оболочки Photon ОС QNX ● Библиотека на языке Си для создания новых клиентских приложений ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ Время цикла программы До 100 мкс Набор инструкций ● Поддержка чисел с плавающей точкой ● Типовые П* и ПИ*регуляторы ● Статические нелинейные регуляторы с табулированной функцией ● Цифровые фильтры Число переменных До нескольких тысяч (зависит от производительности оборудования) Таблица 1 Характеристики программного комплекса © СТА-ПРЕСС
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy