
- •Устройства программного управления
- •Глава 1. Классификация систем управления 17
- •Глава 2. Общие принципы построения систем чпу 55
- •Глава 3. Задачи управления 121
- •Глава 4. Технологии разработки программного обеспечения систем управления 178
- •Глава 5. Документы пользователя систем чпу 231
- •Глава 1.
- •1.1. Современный мировой уровень архитектурных решений в области чпу
- •1.1.1. Системы cnc и pcnc-1
- •1.1.2. Системы pcnc-2
- •1.1.3. Система pcnc-3
- •1.1.4. Системы pcnc-4
- •1.2. Интеграция на основе открытого управления и стандарта орс
- •1.2.1. Представление об открытом управлении
- •1 .2.2. Системы scada
- •1.2.3. Стандарт орс
- •1.3. Интеграция на основе комплекса производственных стандартов step (Standard for the Exchange of Product model data)
- •1.3.1. Обзор комплекса производственных стандартов step
- •1.3.2. Step-nc
- •1.3.3. Использование в интерфейсе систем чпу языков express и xml
- •Глава 2. Общие принципы построения систем чпу
- •2.1. Архитектура систем pcnc
- •2.1.1. Признаки нового поколения систем чпу
- •2.1.2. Модульная архитектура систем чпу на прикладном уровне
- •2.1.3. Открытая архитектура систем управления
- •2.1.4. Виртуальная модель pc-подсистемы чпу
- •2.2. Проблема реального времени в системах управления
- •2.2.1. Постановка задачи
- •2.2.2. Реальное время в системе управления
- •2.2.3. Базовые понятия операционной системы реального времени
- •2.2.4. Использование в системах управления операционной системы Windows nt
- •2.2.5. Стратегия диспетчеризации на базе расширения rtx (Real Time extension)
- •2.2.6. Принцип разбиения потоков (threads)
- •2.3. Проблемы управления электроавтоматикой
- •2.3.1. Классификация систем управления электроавтоматикой
- •2.3.2. Система понятий, используемых при организации системы управления
- •2.3.3. Структура проекта системы управления электроавтоматикой (клиентская часть)
- •2.3.4. Альтернативные структуры проекта в клиентской части
- •2 Рис. 45. Диаграмма периодической работы .3.6. Объектный подход при управлении электроавтоматикой
- •2.3.7. Особенности управления электроавтоматикой станков с чпу
- •2.4. Построение межмодульной коммуникационной среды
- •2.4.1. Базовые функции коммуникационной среды
- •2.4.2. Клиент-серверные транзакции при запросе данных
- •2.4.3. Виртуальная структура объектно-ориентированной магистрали
- •2.4.4. Организация коммуникационной среды в виде открытой модульной системы
- •2.5. Принципы построения удаленных терминалов чпу
- •2.5.1. Удаленный терминал в системе управления
- •2.5.2. Информационные технологии, используемые при создании удаленного терминала
- •2.5.3. Библиотеки классов Java, используемые при создании апплетов
- •2.5.4. Инструментарий разработки удаленного терминала
- •2 .5.5. Специфика удаленного терминала системы управления
- •2.6. Особенности архитектуры систем чпу, поддерживающих стандарт iso 14649 step-nc
- •2.6.1. Традиционное программирование станков с чпу и стандарт step-nc
- •2.6.2. Язык express
- •2.6.3. Процессы и ресурсы в step-nc
- •2.6.4. Смешанная архитектура
- •3.1. Реализация геометрической задачи
- •3.1.1. Интерпретатор управляющих программ
- •3 .1.2. Интерполятор
- •3.2. Реализация логической задачи управления
- •3.2.1. Формализм описания циклов электроавтоматики
- •3.2.2. Инструментальная поддержка визуального программирования циклов электроавтоматики
- •3.3. Управление электроавтоматикой станков с чпу по типу виртуальных контроллеров SoftPlc
- •3.3.1. Объектно-ориентированный подход при организации математического обеспечения виртуальных контроллеров
- •3.3.2. Архитектура виртуального контроллера
- •3.3.3. Программная реализация виртуального контроллера
- •3.4. Реализация терминальной задачи
- •3.4.1. Интерпретатор диалога оператора в Windows-интерфейсе
- •3.4.2. Специфика построения редактора управляющих программ в коде iso-7bit (в составе терминальной задачи)
- •3.4.3. Редактор-отладчик управляющих программ на языке высокого уровня (в составе терминальной задачи)
2.2.4. Использование в системах управления операционной системы Windows nt
Windows NT не является операционной системой реального времени, поскольку не имеет достаточного диапазона приоритетов потоков (threads), не позволяет управлять наследованием приоритетов (блокирующий поток должен наследовать приоритет потока, который он блокирует), механизм синхронизации потоков непредсказуем, время реакции на прерывание непредсказуемо.
Между тем в силу растущей популярности в системах управления операционной системы Windows NT проблема как-то должна быть решена. Из всех существующих предложений по реализации ОСРВ на базе Windows NT практическое значение имеют всего два подхода [24].
Первый подход состоит в запуске Windows NT в виде низкоприоритетной задачи операционной системы реального времени (супервизора). При этом предполагается применение ядра классической ОСРВ типа QNX или VxWorks. Существуют решения, в которых в качестве супервизора используется Vx Works.
Второй подход заключается в расширении (в смысле реального времени) Windows NT. Это может быть оригинальная разработка изготовителя системы управления, например система WinCAT (Backhoff Industrie Electronic, ФРГ)- Другой вариант- использование готового коммерческого решения, например RTX 4.1 фирмы VenturCom.
Оба подхода имеют свои достоинства и недостатки. Однако подход на базе расширения реального времени для Windows NT все же более перспективен. Во-первых, в расширении использованы те же типы объектов для управления задачами, что и у ядра Windows NT (мютексы, семафоры и т.д.). В противоположность этому Vx Works использует оригинальные функции и механизмы, формирующие собственный стиль, отличный от стиля Windows. Во-вторых, нет необходимости во второй операционной системе, что сокращает расходы и снимает проблемы установки и стыковки обеих операционных систем на одном персональном компьютере.
Решение в пользу расширения реального времени позволяет быстро обновлять систему управления с появлением новых версий Windows NT, осуществлять мощную защиту приложений, которую Windows выполняет с помощью независимого абстрактного уровня HAL, легко отлаживать коды и использовать возможности стандартных механизмов Microsoft для информационного обмена между Windows и задачами реального времени (IPC -механизм межпроцессной связи, OLE - механизм связывания и внедрения объектов, СОМ - механизм компонентных моделей, RPC - механизм удаленного вызова процедур).
2.2.5. Стратегия диспетчеризации на базе расширения rtx (Real Time extension)
Один из самых надежных и распространенных алгоритмов диспетчеризации в многозадачных операционных системах (ОС) - это алгоритм циклической диспетчеризации, когда для выполнения конкретной задачи предоставляется некоторый квант времени (time slice). По истечении каждого кванта времени планировщик просматривает очередь активных задач и принимает решение, которой из них передать управление [25]. Подобный алгоритм может быть использован в системе числового программного управления. Прежде чем сформировать этот алгоритм, рассмотрим особенности режима времени, в котором работает система управления с операционной системой Windows NT и расширением реального времени.
Понятие о мягком и жестком реальном времени
в системе управления
На рис. 34 представлены многоуровневая структура Windows NT с RTX и размещение основных потоков системы управления. Внизу находится уровень аппаратной абстракции реального времени (HAL), где реализованы быстродействующие часы и таймеры, механизм разграничения прерываний между RTX и Windows NT. Подсистема реального времени RTSS выполнена в виде драйвера, работает на уровне ядра Windows NT и обеспечивает основные функции и управление ресурсами RTX. Эта подсистема использует сервисные возможности HAL реального времени и Windows NT для работы с быстрыми часами и таймерами и для обслуживания механизма прерывания. Встроенный в RTSS менеджер потоков (thread manager) и планировщик, основанные на фиксированной системе приоритетов, управляют прикладными задачами [26, 27].
Подсистема RTSS обеспечивает интерфейс между процессами RTX и Windows NT в реальном времени с помощью специального сервисного механизма IPC (Inter Process Communication).
С
ледует
отметить, что RTX
полностью соответствует той концепции
фирмы Microsoft,
которая допускает изменение уровня HAL
без изменения ядра операционной системы.
При этом расширение функциональностей
уровня аппаратной абстракции осуществляется
путем добавления драйверов.
В системе работают обычный прикладной интерфейса Win32 для Windows NT (предусмотренный для машинного времени), а также дополнительные прикладные интерфейсы реального времени RTAPI (Real Time Application Interface) и Win32 RT (Real Time). Дополнительные прикладные интерфейсы обеспечивают два режима реального времени: «жесткий» и «мягкий». Это позволяет оптимизировать вычислительные ресурсы системы управления, разделив ее функциональные задачи на три группы:
в режиме жесткого реального времени решаются критические задачи (интерполяция кадров управляющей программы, ввод-вывод и т.д.), реализованные в процессе RT-сервер (рис. 34);
в режиме мягкого реального времени решаются задачи, непосредственно связанные с задачами реального времени (например, интерпретация кадра управляющей программы); они реализованы в процессе «терминал» (рис. 34). В отличие от жесткого времени здесь допустимы задержки
потока из-за свопинга (подкачка), обращения к жесткому диску, прерывания и т.д.;
• в режиме машинного времени работают остальные стандартные прикладные модули системы управления (редактор управляющих программ, встроенная САМ-система, система моделирования процесса обработки и т.д.).
Стратегия диспетчеризации задач в системе управления отображена на рис. 35, где стрелками указана последовательность событий. Первоначально в Windows NT с подсистемой реального времени (RTSS) создается таймер (timer). По истечении кванта времени стандартный механизм генерирует прерывание, которое обрабатывается прикладной call-back функцией или так называемой функцией обратного вызова. Функция реализует алгоритм планирования (диспетчеризации) задач интерпретаций, интерполяции, ввода-вывода, коммуникации и интерфейса оператора MMI. В соответствии с обозначенными для системы управления режимами в жестком реальном времени выполняются задачи диспетчеризации, интерполяции, ввода-вывода, коммуникации. В мягком реальном времени выполняются задачи интерпретации и обновления экранов интерфейса с оператором, а в фоновом процессе-задачи интерфейса с оператором.