Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Устройства программного управления.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.21 Mб
Скачать

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 является использова­ние расширения реального времени. Сложное программное обеспечение системы управления оптимизируется путем разделения выполнения задач в режимах жесткого и мягкого реального времени, а также в фоновом про­цессе. При этом возникает возможность организации простой и надежной системы диспетчеризации.