Пример программы, реализующей алгоритм управления, заданный циклограммой работы манипулятора


 

Включить выход 00 (yо)
Ожидание отсутствия сигнала на входе 01 (х02)
Включить выход 01 (y1)
Ожидание отсутствия сигнала на входе 03 (х12)
Включить выход 02 (у2)
Ожидание отсутствия сигнала на входе 05 (х22)
  Включить выход 03 (у3)
Выдержка времени τ1 =0,3 с
Включить выход 04 (у4)
Выдержка времени τ2 = 0,6 с
000A Включить выход 04 (у4)
000B Выдержка времени τ3 = 0,3 с
000C Включить выход 03 (у3)
000D Выдержка времени τ4 = 0,4 с
000E Выключить выход 02 (у2)
000F Ожидание отсутствия сигнала на входе 04 (х11)
Выключить выход 01 (у1)
Ожидание отсутствия сигнала на входе 02 (х21)
Выключить выход 00 (у0)
Ожидание отсутствия сигнала на входе 00 (х01)
Выдержка времени τ5= 0,8 с
Безусловный переход на нулевой адрес

 

Команды управления программой (см. табл. 2) позво­ляют эффективно решать задачи программно-логического уп­равления. Они подразделяются на две группы:

— команды, сохраняющие последовательность выполне­ния операторов программы (сюда относятся команды —НЕТ ОПЕРАЦИИ и СТОП);

— команды, изменяющие последовательность выполнения (команды безусловного и условного переходов, команды об­ращения к подпрограммам и возврата из них).

Заранее предусмотренный останов программы можно осу­ществить командой СТОП. Программа завершается со зна­чением СК, указывающим на адрес, следующий за адресом команды СТОП. Значения СК и код команды, записанный по этому адресу, выводятся на дисплей. Для дальнейшего запуска программы нужно нажать любую информационную клавишу. Пример программы с использованием команды СТОП и состояние дисплея ПУ при останове программы по этой команде изображены на рисунке 10 (для иллюстрации ис­пользован фрагмент программы, приведенной выше).

 

Включить выход 00 (yо)
Останов программы
Ожидание отсутствия сигнала на входе 00 (х01)
Выдержка времени τ5 =0,8 с
Безусловный переход на нулевой адрес

Рисунок 10- Фрагмент программы с использо­ванием команды стоп и состояние дисплея при останове по этой команде

 

Команда НЕТ ОПЕРАЦИИ может располагаться в любом месте программы. При ее выполнении содержимое СК увеличивается на единицу и происходит безусловный переход квыполнению следующей команды.

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

Условием, анализируемым при выполнении команд УПО или УП1, является содержимое БУ. В поле операнда команд задается адрес команды, с которой начнется работа про­граммы при выполнении анализируемого условия. Адрес пе­рехода задается в пределах зоны памяти. По окончании вы­полнения команд БУ устанавливается в исходное состояние.

Например, при выполнении команды УП1 с кодом OAOF в случае, если БУ=1, СК примет значение OF, и программа будет выполняться с команды, записанной на этом адресе. Если БУ = 0, то значение СК увеличится на 1, и будет вы­полняться команда, следующая за командой OAOF.

В случае, когда необходимо изменить последовательность прохождения команд без анализа БУ, используется команда безусловной передачи управления. Адрес перехода задается в поле операнда и в пределах зоны памяти.

Например, по команде безусловного перехода 09FF зна­чение СК станет равным FF, и следующей будет выполняться команда, записанная на этом адресе. Необходимо отметить, что команда БУП не изменяет значение БУ.

Использование команды обращения к подпрограмме ПП является эффективным средством экономии памяти. Если в процессе выполнения программы необходимо многократное обращение к неизменной ее части, последняя оформляется в виде подпрограммы, записывается в запоминающее устрой­ство и заканчивается командой ВОЗВРАТ. Обращение к ней осуществляется командой ПП, в поле операнда которой за­носится начальный адрес подпрограммы.

При выполнении команды ПП, записанной на адресе N, содержимое СК увеличивается на 1 (принимает значение N+1) и загружается вместе со значением БА зоны памяти в стек. В СК будет заслан адрес, находящийся в поле опе­ранда команды ПП (адрес задается в пределах зоны памя­ти). Начиная с этого адреса, происходит последовательное выполнение команд подпрограммы вплоть до адреса, на ко­тором стоит команда ВОЗВРАТ. При выполнении этой команды содержимое стека (N-fl) перемещается в СК, зна­чение БА восстанавливается, после чего продолжается вы­полнение команды основной программы, записанной на адрес N+1.

 



Дата добавления: 2022-02-05; просмотров: 245;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.