Электропроводка в частном доме



Как выбрать мебель для кабинета?



Как выбрать корпусную мебель?



Как применяется модульная мебель?



Как правильно размещать розетки?



Чем популярна стеклянная мебель?



Мебельные светильники
Перейти на главную » Журналы

0 ... 4 5 6 7 8 9 10 ... 175

Фактически прерывание представляет собой внешний сигнал, извещающий ЦП о наступлении некоторого события. События отслеживаются датчиками и заставляют ЦП прервать исполнение текущей программы и перейти к другой. Таким образом внеш1те сигналы мо1-ут влиять на исполнение того или иного программного модуля. Особый вид прерывания связан со временем. Электронный таймер выдает сигнал прерьп!а}Н1Я при наступлении определенного момента времени или по истечении некоторого интервала. Этот таймер не является частью ЦП, однако конструктивно располагается на той же плате. Он освобождает ЦП от необходимости контролировать время. Более подробно о прерываниях рассказано в разделе 10.6,

С использова1Н1ем прерываний задача регулирования температуры решается проще. Прерывание но времени связано с переметюй heat time. После включе1Н1Я нагревателя программа устанавливает таймер на величину времени нагрева (значе1ше переменной /геа" йоте) и ждет сигнала прерыва1Н1я для продолжения работы (инструкция v/aitjumcheatjime) на рис. 2.5).


начало f

измерить температуру

рассчитать требуемую величину проводимого тепла

установить переменную heat time < 10 включить нагреватель

wait time (heatjtime)

выключить нагреватель

wait time (10-heat time)

ждать heat time сек.

прерывание от таймера (возобновляет исполнение программы)

--*- ждать момента очередной выборки

-- прерывание от таймера

(возобновляет исполнение Программы)

Рис. 2.5. Ис!Юльзование !1рерываний от таймера для регулирова1И1Я температуры iuiacTHKa

Лналогичпо, программа управления поршнем ожидает два прерывания: одно отдатчика крайнего правого положения, другое - от импульсного датчика, Koirrpo-лирующего перемещение порпшя (рис. 2.6). Прерываниям соответствуют инструкции вида wait interrupt(.r), где х обозначает канал поступления сигнала прерыва-1шя. Оператор wait interrupt приостанавливает исполнение программы, которое возобновляется только при постунленни соответствующего сигнала внепн!сго прерывания.




начало


начать движение поршня вправо

инициализировать обработчики прерываний от датчиков положения

wait mteiTupt {endjposition)

- остановить поршень

- п = О [сбросрпъ счетчик импульсов]

- начать движение влево

wait mteiTupt {pulse)

n = n+ 1


остановить поршень

ждать прерывания от датчика конечного положения

внешнее прерывание (возобновляет исполнение программы)

ждать прерывания

от следующего импульса

внешнее прерывание

(возобновляет исполнигие

программы)

Рис. 2.6. Иснользование прерываний для управления движмгием поршня пресса для пластика

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

2.2. Примеры задач управления процессами

В этом ра,зделе на примерах проиллюстрированы основные типы задач, встречаю-1циеся при управлении процессми. Вначале обсуждается, что в обп1ем случае требуется для управления, а затем рассматриваются проблемы, присущие техническим процессам.



2.2.1. Управление последовательностью событий и бинарное управление

Простой химический реактор, представленный на рис. 2.7, - пример системы управления последовательностью событий. В химическом реакторе реагенты перемешиваются с помощью смесителя. Входные потоки реагентов и выход продукта регулируются входными клапанами А и Б и выходным клапаном В, соответствегпю. Уровень давления в баке контролируется датчиком Д, а те.мпература - датчико.м Т, Температура регулируется горячей или холодной водой, подаваемой в окружающий бак кожух; потоки воды pei-улируются клапанами Г (горячо) и X (холодно).

реагент 1

реагент 2

отвод воды


выход продукта

подвод подвод горячей холодной воды воды

смеситель

Рис. 2.7. Простой химический реактор с регулированием температуры

В этом примере в реакторе выполняются следуюгцие операции:

1. Открыть клапан А и .sajmTb в бак реагент 1.

2. Если датчик давления Д пока,зывает, что достигнут требуемый уровень, то .закрыть клапан А.

3. Запустить смеситель.

4. Открыть клапан Б и залить в бак реагент 2.

5. Если датчик давления Д показывает, что достигнут новый требуемый уровень, то закрыть клапан Б.

6. Открыть клапан Г для нагрева бака.

7. Если датчик Т показывает, что достигнута требуемая температура, то закрыть клапан Г.

8. Установить таймер на время протекания хи.мической реакции.

9. При срабатывании таймера - время реакции истекло - остановить смеситель. 10. Открыть клапан X для охлаждения бака.




0 ... 4 5 6 7 8 9 10 ... 175