Применение операционной системы QNX
Целевая задача (Qisaker) и задача связи (Qisanet или Qisarfl) не зависят друг от друга. Единственное требование состоит в том, чтобы задача Qisaker была запущена первой так, чтобы она смогла инициализировать систему, а задача связи — связаться с ней. Система ISAGRAF не нарушает работу фоновых процессов и программ обработки прерываний; ПО системы исполнения строится вокруг целевой задачи… Читать ещё >
Применение операционной системы QNX (реферат, курсовая, диплом, контрольная)
Основное применение ОС РВ (Операционная система реального времени) QNX находит в области промышленной автоматизации, где требуется применение «жесткого» РВ, а также в таких областях как банковское дело, торговля, информационные системы, в которых нужно «мягкое» РВ.
Рассмотрим систему исполнения для встраиваемых приложений ISAGRAF для QNX, которая обеспечивает поддержку всех пяти языков стандарта IEC 1131−3 и позволяет создавать программное обеспечение для интеллектуальных контроллеров.
Система ISAGRAF состоит из двух подсистем: разработки (ISAGRAF Workbench) и исполнения (ISAGRAF Target). Программы на ISAGRAF может быть загружена и исполнена на компьютере IBM PC под управлением MS-DOS, Windows NT, Windows 95−98, QNX, LINX, и др. систем. Система разработки компилирует проект в системно-независимый код, который загружается в целевую машину для исполнения. Система исполнения либо загружается либо прожигается в ПЗУ целевой машины. Она включает в себя ядро ISAGRAF и набор модулей связи. Вместе со SCADA-системами под управлением ОС QNX получается функционально-законченное решение для АСУТП (рис. 5.1.).
Программирование логики ISAGRAF ведется с использованием графических языков программирования (SFC, LD, FBD), текстовых языков программирования (IL, ST), дополнительных интерактивных редакторов для описания переменных и конфигураций ввода-вывода.
Язык SFC дает возможность описать логику программы на уровне чередующихся функциональных блоков и условных переходов. Инструкции могут быть написаны на одном из четырех языков. Язык LD используется для описания различных логических выражений и реализует такие элементы, как открытый и закрытый контакты, функции и функциональные блоки. Язык FBD позволяет строить комплексную процедуру, состоящую из различных функциональных блоков библиотеки ISAGRAF. Язык ST относится к языкам высокого уровня и по мнемонике похож на PASCAL. Он служит для создания процедур со сложной логикой. Язык IL принадлежит к классу языков низкого уровня и позволяет создавать высокоэффективные функции.
Система ISAGRAF включает в себя программы:
Qisaker — целевая задача;
Qisatst — задача связи с системой разработки через последовательный порт;
Qisanet — то же, через Ethernet TCP/IP;
Qisarfl — доступ к базе данных ISAGRAF из SCADA-пакетов.
Для повышения времени реакции, система ISAGRAF для QNX разделена на два процесса: программу связи (Qisatst, Qisanet или Qisarfl) и прикладную целевую задачу (Qisaker). Такая архитектура позволяет запускать до четырех задач с одной и той же целевой задачей или до четырех задач с одной и той же задачей связи. Это обеспечивает работу через один и тот же порт с четырьмя целевыми задачами, выполняющий разные программы.
Целевая задача (Qisaker) и задача связи (Qisanet или Qisarfl) не зависят друг от друга. Единственное требование состоит в том, чтобы задача Qisaker была запущена первой так, чтобы она смогла инициализировать систему, а задача связи — связаться с ней. Система ISAGRAF не нарушает работу фоновых процессов и программ обработки прерываний; ПО системы исполнения строится вокруг целевой задачи, выполняющей пять языков стандарта IEC 1131−3 и обращающейся к библиотеке плат ввода/вывода, функциям пользователя и системному интерфейсу.
Задача доступа к БД Qisarfl обеспечивает возможность доступа к данным ISAGRAF из SCADA-систем (Realflex), считывая значения переменных из БД ISAGRAF и передавая их в сканер Realflex по сети QNX. Информация в Realflex приходит в результате периодических запросов, которые сканер Realflex передает программе Qisarfl. Каждой переменной приложения в процессе разработки может быть поставлен в соответствие уникальный адрес. Для этого имеется специальная опция в системе разработки. После того, как программа скомпилирована и загружена в контроллер, этот адрес можно задействовать для идентификации переменной при обращении к БД ISAGRAF. Программа Qisarfl обращается к БД ISAGRAF через разделяемую память, используя библиотеку вызовов системы ISAGRAF. В отношении БД Realflex переменные ISAGRAF — это точки определенного типа, смещение которыз в БД Realflex определено равным адресу переменной в БД ISAGRAF. Для любого типа контроллеров с ISAGRAF годится один и тот же сканер.
Система ISAGRAF допускает интеграцию собственных модулей пользователя ввода/вывода в среду ISAGRAF. Для системы разработаны драйверы ввода/вывода плат контроллера RTP 6800, промышленных компьютеров ComputerBoards. Для того, чтобы пользователь мог самостоятельно подключать собственные драйверы устройств ввода/вывода к ядру ISAGRAF, предлагается библиотека разработки драйверов ввода/вывода. При переносе уже написанной программы с одного типа контроллера на другой ничего не надо перепрограммировать, достаточно переопределить модули ввода/вывода с помошью специальной опции в системе разработки.