Исполнительные устройства (механизмы)



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

Исполнительные устройства обычно лишь опосредовано влияют на переменные управляющего процесса. Например, исполнительные устройства управляют подводом тепла, движением или потоками исходных реагентов, и уже от динамики физической системы зависит, как измеряемые величины изменятся из-за управляющих воздействий исполнительных устройств.

В составе исполнительного устройства можно выделить 2 части:

1.Преобразователь (усилитель);

2.Силовой преобразователь (собственный исполнительный механизм).

Некоторые оконечные управляющие элементы могут представлять собой самостоятельную систему управления (регуляторы различного типа: пропорционально-инегральные, пропорционально-инегрально-дифференциальные).

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

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

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

 

Тема 3. Последовательное программирование и программирование задач РВ

 

Последовательное программирование является наиболее распространенным (каноническим) способом написания программ, при этом подразумевается, что операторы программы выполняются в известной последовательности один за другим. Результат последовательной программы полностью определяется входными данными и алгоритмом их обработки, при этом временные показатели играют второстепенную роль. На результат не влияет ни инструментальные, ни аппаратные средства: от первых зависит усилие и время, затраченные на разработку программы, а от вторых – скорость выполнения программы, но в любом случае выходные данные будут одинаковы.

Программирование в РВ отличается от последовательного программирования, поскольку разработчик программы должен постоянно иметь в виду среду, в которой работает программа, т.к. в СРВ внешние сигналы требуют немедленной реакции процессора. Специальные требования к программированию в РВ нельзя адекватно реализовать с помощью обычных приемов последовательного программирования. Насильственное последовательное расположение блоков программы, которые должны выполняться параллельно, будет приводить к неестественной запутанности результирующего кода (собственность программного обеспечения (ПО)) и вынуждать связывать между собой функции, которые, по сути, являются самостоятельными.

Вывод: В большинстве случаев применение обычных приемов последовательного программирования не позволяет построить СРВ, в которой независимые программные модули должны быть активными одновременно. Такая техника создания программного обеспечения известна под названием параллельного программирования. В названии делается упор на взаимодействие между отдельными программными модулями.

 

 

Задачи, процессы, потоки

Принято различать 2 разновидности задач:

1.Процессы;

2.Потоки (нити).

Процесс представляет собой отдельный загруженный программный модуль (файл), который во время исполнения имеет в памяти свои независимые области для кода и данных.

В отличие от этого, потоки могут пользоваться общими участками кода и данных в рамках единого программного модуля.

Преимущества потоков:

1.Множество потоков способно размещаться внутри одного программного модуля (exe-файла), что позволяет экономить ресурсы как внешней, так и внутренней памяти.

2.Использование потоками общей области памяти позволяет эффективно организовать межзадачный обмен сообщениями. Процессы не имеют общей памяти, поэтому ОСРВ (операционная СРВ) должна либо целиком копировать сообщение из области памяти одной задачи в область памяти другой, либо предусмотреть специальные механизмы, которые позволили бы одной задаче получить доступ к данным из области памяти другой задачи.

3.Как правило, контекст потоков меньше, чем контекст процессов. А значит время переключения между потоками меньшее, чем между процессами.

  Т.к. все потоки, как правило, размещаются в одном программном модуле, значительно упрощается использование программ отладчиком.

Недостатки потоков:

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

Процессы, в отличие от потоков, подгружаемы, что позволяет динамически изменять функции системы непосредственно в ходе ее работы. Кроме того, процессам соответствуют отдельные программные модули, которые могут быть разработаны различными специалистами или даже различными компаниями (фирмами). Тем самым достигается дополнительная гибкость и возможность использования ранее разработанного программного обеспечения (ПО).

2.То, что потоки имеют доступ к областям данных друг друга может привести к ситуации, когда некорректно работающий поток способен испортить данные другого потока. В отличие от этого процессы защищены от взаимного влияния, поскольку попытки записи в «не свою» память приводят к возникновению специального прерывания по обработке «исключительных» ситуаций.

Вывод: Реализация механизмов управления процессами и потоками, возможность их взаимного сосуществования и взаимодействия определяется конкретным ПО СРВ (как ОСРВ (операционной системой РВ), так и прикладными программами).

 

Основные свойства задач

Вся важная с точки зрения ОСРВ информация о задаче хранится в унифицированной структуре данных, т.е. в управляющем блоке. В данном блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус (состояние) задачи, приоритет и т.п.

1. Приоритет– некое целое число, присваиваемое задаче и характеризующее ее важность по сравнению с другими задачами, выполняемыми в СРВ. Приоритет используется для определения того, какая из готовых к работе задач должна получить управление.

Различают СРВ с динамической и статической приоритетностью. В первом случае приоритет задач может меняться в процессе исполнения, в то время как во втором – приоритет задач жестко задается на этапе разработки или во время начального конфигурирования системы.

2. Контекст задачи – набор данных, содержащих всю необходимую информацию для возобновления выполнения программы с точки прерывания. Обычно контекст хранится в управляющем блоке (TSB) и включает в себя такие данные: счетчик команд, указатель стека, некоторые регистры, характеризующие контекст программ

Планировщик задач в случае необходимости сохраняет контекст текущей активной задачи и восстанавливает его при назначении прерванной задачи к исполнению. Такое переключение контекста и является, в сущности, основным механизмом ОСРВ при переходе от выполнения одной задачи к выполнению другой.

3. Статус (состояние) задачи – с точки зрения ОСРВ задача может находиться в нескольких состояниях. Число и название этих состояний различается в зависимости от использования конкретной ОСРВ. Тем не менее, практически в любой ОСРВ загруженная на выполнение задача может находиться в трех состояниях:

а) активная задача (исполнение), т.е. выполняемая системой задача в текущей момент времени;

б) готовая задача (готов) – задача, готовая к выполнению и ожидающая у планировщика своей очереди;

в) блокированная задача (ожидание) – задача, выполнение которой приостановлено до наступления определенных событий, например, освобождение необходимого задаче ресурса; поступление ожидаемого сообщения; поступление ожидаемого сообщения; завершение интервала ожидания и т.п.

4. Пустая задача – задача, запускаемая самой ОСРВ, в частности, в момент инициализации и выполняемая только тогда, когда в системе нет других готовых для выполнения задач. Пустая задача запускается с самым низким приоритетом и представляет собой, по сути, бесконечный цикл «ничего не делать». Наличие пустой задачи предоставляет ОСРВ удобный механизм обработки ситуации, когда нет ни одной готовой к исполнению задачи.

5. Многократный запуск задач – многозадачные ОСРВ позволяют запускать несколько копий одной и той же задачи. При этом для каждой такой копии создается свой управляющий блок и выделяется своя область памяти. В цепях экономии памяти может быть предусмотрено совместное использование одного и того же исполняемого кода для всех запущенных копий.

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

Реентерабельность (повторная входимость) означает возможность без негативных последствий временно прервать выполнение какой-либо подпрограммы, а затем вызвать ее снова.

 

 

Режимы планирования задач в СРВ

Важной (центральной) частью ОСРВ является планировщик задач, который в разных источниках называется по-разному, например, диспетчер задач, супервизор.

При этом функции планировщика остаются теми же, а именно: определить какая из задач должна выполняться в системе в каждый конкретный момент времени.


Дата добавления: 2018-08-06; просмотров: 247; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!