Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен-Гринюк.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.19 Mб
Скачать

8. Принцип разбиения потоков (threads) в системе управления и схема их диспетчеризации

В системах управления целесообразно придерживаться традиционной для систем реального времени схемы «один процесс - много потоков(threads)». Схема имеет такие важные достоинства, как быстродействие и высокая реактивность. Высокая реактивность потоков объясняется мень­шим временем переключения их контекстов по сравнению с процессами. Потоки используют общее адресное пространство процесса, а процессы нуждаются в разделяемой памяти.

Согласно принятым представлениям о режимах времени в системе уп­равления, выделим три группы потоков:

  • жесткого реального времени, работающие в процессе (или в про­цессах, в зависимости от архитектурного решения) реального времени -это так называемые RTSS-процессы;

  • мягкого реального времени, функционирующие в Win32- и RTAPI-процессах;

  • машинного времени, работающие в стандартных Win32-npoueccax.

Обмен данными и синхронизация процессов машинного времени и мяг­кого реального времени традиционны, это осуществляется на базе общей платформы Win32. Обмен данными между процессами мягкого и жестко­го реального времени осуществляется на базе разделяемой памяти - механизма, предоставляемого со стороны RTX.

Процесс RTSS включает в себя набор потоков, решающих критические задачи в системе управления. Поток диспетчера по сути яв­ляется call-back функцией таймера (см. рис. 35), в которой реализован пла­нировщик процессов. Планировщик с помощью мютексов или семафоров запускает или останавливает тот или иной поток.

. Передача данных между потоками коммуникацион­ной среды реального времени и потоками коммуникационной среды Win32, как уже отмечалось, осуществляется посредством разделяемой памяти. Поток программируемого контроллера решает задачу уп­равления электроавтоматикой и задачу ввода-вывода.

В процессе мягкого реального времени, помимо потока коммуникаци­онной среды Win32 и потока интерпретации кадров управляющей програм­мы, работает поток интерфейса с оператором. Поток интерпретатора за­пускает групповые интерпретаторы как порожденные потоки. В потоке ин­терфейса с оператором отображаются такие данные процесса реального времени, как текущие координаты, скорость подачи, состояние процесса, режимы системы управления. Отсюда же отправляются управляющие ко­манды процессу реального времени: запуск строки ручного ввода, выбор управляющей программы, «стоп» и т.д.

Процессы машинного времени-это классические Windows-процессы. При­мером может послужить редактор управляющих программ, который запускает в качестве порожденных потоки моделирования управляющих программ.

9. Проблемы управления электроавтоматикой

Классификация систем управления электроавтоматикой

На рис. 37 показаны варианты программируемых контроллеров. Тип 1 представляет собой традиционное решение, в то время как типы 2-4 с раз­личной степенью глубины используют персональный компьютер.

Так, для типа 2 персональный компьютер служит только средством организации интерфейса пользователя. В типе 3 привлекается дополнительный про­цессор для выполнения программы управления электроавтоматикой. Тип 4 использует вычислительную мощность персонального компьютера как для построения интерфейса пользователя, так и для выполнения всех управляющих функций. Этот тип относится к наиболее современному, перспективному и наиболее гибкому решению, которое получило наи­менование «программно-реализованный (виртуальный) контроллер» (SoftPLC).

Система понятий, используемых при организации системы управления

Терминология стандарта IEC61131 -3 в части организации системы уп­равления ориентирована скорее на традиционные контроллеры. Программ­ная система, удовлетворяющая проекту IEC61131-3, содержит следующие компоненты: конфигурацию, ресурсы, задачи [28-30].

Конфигурация относится к настройке исполнительной среды. Ресурсы необходимы для определения глобальных переменных, конфигурации и организации проекта, а также для наблюдения за изменением значений переменных. Задачи определяют схему планирования ассоциированных с ними программ в реальном времени. Это означает, что программы долж­ны быть приданы задачам.

Декларирование задачи включает объявление ее имени, приоритета и условий выполнения. К таким условиям относятся интервал времени, по истечении которого задача вновь должна быть запущена, или передний фронт события, являющегося глобальной переменной.

Каждой задаче может быть придано несколько запускаемых ею про­грамм. Если задача выполняется в пределах текущего цикла, то и програм­мы будут обработаны в границах этого цикла.

При наличии нескольких задач их совместная работа подчиняется пра­вилам:

  • реализуется та задача, для которой справедливы условия выполне­ния, т.е. закончилось время цикла или соблюдено условие;

  • если конкурируют несколько задач, то будет запущена та, которая имеет больший приоритет;

  • если конкурируют несколько задач с одинаковым приоритетом, то будет выбрана та, которая требует большего времени.

В случае, если были определены межресурсные связи переменных (рис. 38), принимаемые значения связанных переменных обновляются пос­ле опросавходных переменных, а выдаваемые другим ресурсам значения переменных посылаются перед обновлением выходных регистров.

Связывание является направленной логической цепочкой между пере­менной ресурса-источника (производителя) и переменной целевого ресурса (потребителя). Связывание переменной VI ресурса R1 с переменной V2 ресурса R2 означает, что V1 периодически копируется в V2, используя раз­деляемую память или сетевые механизмы обмена. Ресурс-источник

  • Связывание

  • Целевой ресурс

  • (потребитель)

В этом цикле переменная не обновляется

Рис. 38. Межресурсные связи переменных