
- •Устройства программного управления
- •Глава 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.6. Принцип разбиения потоков (threads)
в системе управления и схема их диспетчеризации
В системах управления целесообразно придерживаться традиционной для систем реального времени схемы «один процесс - много потоков
(threads)». Схема имеет такие важные достоинства, как быстродействие и высокая реактивность. Высокая реактивность потоков объясняется меньшим временем переключения их контекстов по сравнению с процессами. Потоки используют общее адресное пространство процесса, а процессы нуждаются в разделяемой памяти.
Согласно принятым представлениям о режимах времени в системе управления, выделим три группы потоков:
жесткого реального времени, работающие в процессе (или в процессах, в зависимости от архитектурного решения) реального времени -это так называемые RTSS-процессы;
мягкого реального времени, функционирующие в Win32- и RTAPI-процессах;
• машинного времени, работающие в стандартных Win32-npoueccax.
Обмен данными и синхронизация процессов машинного времени и мягкого реального времени традиционны, это осуществляется на базе общей платформы Win32. Обмен данными между процессами мягкого и жесткого реального времени осуществляется на базе разделяемой памяти (shared memory) - механизма, предоставляемого со стороны RTX.
Процесс RTSS на рис. 36 включает в себя набор потоков, решающих критические задачи в системе управления. Поток диспетчера по сути является call-back функцией таймера (см. рис. 35), в которой реализован планировщик процессов. Планировщик с помощью мютексов или семафоров запускает или останавливает тот или иной поток.
Коммуникационную среду разделим на два потока, один из которых функционирует в режиме жесткого реального времени (поток коммуникационной среды реального времени), а другой работает в режиме мягкого реального времени (поток коммуникационной среды Win32). Задача состоит в передаче данных как между потоками внутри процесса, так и между процессами. Передача данных между потоками коммуникационной среды реального времени и потоками коммуникационной среды Win32, как уже отмечалось, осуществляется посредством разделяемой памяти.
Задача интерполяции реализуется потоком Look Ahead, осуществляющим опережающий просмотр и коррекцию кадров управляющей программы, потоком грубой интерполяции, вызываемым обычно с частотой 50 Гц, и потоком тонкой интерполяции, вызываемым обычно с частотой 1-2 мс, осуществляющим сплайновую интерполяция между точками, рассчитанными в рамках грубой интерполяции. Частота вызова интерполяторов параметрически настраивается в планировщике (в потоке диспетчера реального времени). Поток программируемого контроллера решает задачу управления электроавтоматикой и задачу ввода-вывода.
В
процессе мягкого реального времени,
помимо потока коммуникационной среды
Win32 и потока интерпретации кадров
управляющей программы, работает
поток интерфейса с оператором. Поток
интерпретатора запускает групповые
интерпретаторы как порожденные потоки.
В потоке интерфейса с оператором
отображаются такие данные процесса
реального времени, как текущие координаты,
скорость подачи, состояние процесса,
режимы системы управления. Отсюда же
отправляются управляющие команды
процессу реального времени: запуск
строки ручного ввода, выбор управляющей
программы, «стоп» и т.д.
Процессы машинного времени-это классические Windows-процессы. Примером может послужить редактор управляющих программ, который запускает в качестве порожденных потоки моделирования управляющих программ.
Заключение
Наиболее перспективным подходом при разработке системы управления реального времени в архитектуре Windows NT является использование расширения реального времени. Сложное программное обеспечение системы управления оптимизируется путем разделения выполнения задач в режимах жесткого и мягкого реального времени, а также в фоновом процессе. При этом возникает возможность организации простой и надежной системы диспетчеризации.