Пример программы, реализующей алгоритм управления, заданный циклограммой работы манипулятора
Включить выход 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; просмотров: 298;