Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программно-логическое управление



Команды управления программой (табл.4) позволяет эффективно решать задачи программно-логического управления оборудованием, используя блок-схемы алгоритмов управления.

Команды управления программой можно разделить на две группы:

1) команды, сохраняющие нормальную последовательность выполнения команд программы (т.е. выполнение команд одна за другой). Это команды «Нет операции» и «Стоп»;

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

Заранее предусмотренную остановку программы можно осуществить командой «Стоп». Программа останавливается со значением «СК», указывающим на адрес, следующий за адресом команды «Стоп».

Значение «СК» и код команды, записанной по этому адресу, выводится на дисплей ПУ.

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

Пример программы с использованием команды «Стоп» и состояние дисплея при остановке программы по этой команде представлен в табл. 6 и на рис. 11.

Таблица 6

Адрес команды Формат команды Содержание
код операции операнд
00Е Выключить выход 00
00F Остановка программы
Ожидание наличия сигнала на входе 01
Выдержка времени Т=0, 3 с
Безусловный переход на нулевой адрес

 

АДРЕС КОД ОПЕРАНД
             

Рис. 11

 

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

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

Условный переход

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

Условием при выполнении команд «УП0» («УП1») является содержимое «БУ». Условный переход осуществляется, если «БУ»=1 при выполнении команды «УП1» или «БУ»=0 при выполнении «УП0».

В поле операнда команд «УП1» и «УП0» задается адрес команды, с которого начинается работа программы при выполнении анализируемого условия. Адрес перехода задается в пределах зоны памяти. По окончании выполнения команд «УП1» и «УП0» «БУ» устанавливается в исходное состояние, соответствующее логической «1».

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

Безусловный переход

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

Адрес перехода в пределах зоны памяти задается в поле операнда команды «БУП».

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

Команда «БУП» не изменяет значение «БУ».

Подпрограмм.

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

При выполнении команды «ПП», записанной на адресе «N», содержимое «СК» увеличивается на 1, т.е. принимает значение (N+1), и загружается в стек вместе со значением «БА» зоны памяти.

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

Пример организации подпрограммы двух уровней приведен в табл. 7.

Для того чтобы перейти к выполнению управляющей программы, расположенной в другой зоне памяти, необходимо изменить базовый адрес программы и выполнить команду условного, безусловного перехода или перехода к подпрограмме, в поле операнда которой находится адрес команды измененной зоны памяти. Значение «БА» изменяется командой «БАП», в поле операнда которой задается номер зоны памяти от 0 до F.

Например, чтобы осуществить безусловный переход с адреса А0 нулевой зоны памяти на адрес 02 первой зоны, необходимо в нулевой зоне выполнить последовательность команд, приведенных в табл. 8.

Для осуществления условного перехода из зоны 2 с адресом 20 на нулевой адрес нулевой зоны необходимо выполнить последовательность команд, приведенную в табл. 9.

 

Таблица 7.

Адрес команды Формат команды Содержание
код операции операнд
001.      
Основная программа
02F Переход к подпрограмме первого уровня (выполнению команды, содержащейся по адресу 050). В стеке запоминается адрес 030
030 Включить выход 00
Подпрограмма первого уровня
050 1F Проверка входа 1F на отсутствие сигнала. Если сигнала нет, то «БУ» сохраняет предыдущее значение
Если «БУ»=1, то переход на адрес 053 (к выполнению команды «Возврат») (УП1)
052 Переход к подпрограмме второго уровня (к выполнению команды, содержащейся по адресу 060). В стеке запоминается адрес 053
053 Возврат в основную программу на адрес 030
Подпрограмма второго уровня
060 Проверка входа 02 на наличие сигнала. Если сигнал есть, то «БУ» сохраняет предыдущее значение
Если «БУ»=0, то переход на адрес 063 (к выполнению команды «Возврат») (УП0)
Безусловный переход на адрес 060
063 Возврат в подпрограмму первого уровня на адрес 053

Таблица 8

Номер зоны Адрес команды Формат команды Содержание
код операции операнд
0А0 0F «БА» принимает значение 01
0А0 Безусловный переход на адрес 02 первой зоны памяти

 

Таблица 9

Номер зоны Адрес команды Формат команды Содержание
код операции операнд
0F «БА» принимает значение 00
При «БУ»=1 переход на нулевой адрес нулевой зоны

Счетчик команд

Команды управления счетчиками осуществляют операции очистки, увеличение номера счетчика и сравнения над шестнадцатью счетчиками, содержимое которых может изменяться в пределах от 0 до F.

В случае совпадения «БУ» счетчик сохраняет предыдущее значение, в противном случае - обнуляется.

Например, команда с кодом 0Е 3F осуществляет сравнение содержимого счетчика F с тройкой.

С помощью несложной программы можно организовать счетчик емкостью более 15. Например, последовательность команд, приведенная в табл. 10, обеспечивает счетчик до 45, используя последовательное включение двух счетчиков с номерами 0 и 1.

Таблица 10

Адрес команды Формат команды Содержание
код операции операнд
Обнуление счетчиков с номерами 0 и 1
001
002 0C Значение счетчика с номером 0 увеличивается на 1
F0 Содержимое счетчика с номером 0 сравнивается с F
004 Если счетчик не заполнился, переход на адрес 002
Значение счетчика с номером 1 увеличивается на 1
Содержимое счетчика с номером 1 сравнивается с тройкой
007 Если «содержимое» счетчика 1 не равно 3, осуществляется переход на адрес 001
Остановка

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

 

Порядок выполнения работы

1. Изучить технические характеристики и конструкцию программируемого микроконтроллера МКП-1.

2. Изучить систему команд.

3. Изучить программо-логическое управление.

4. Разработать управляющую программу для промышленного робота.

5. Обучить промышленный робот.

 

Контрольные вопросы

 

1. Какое назначение микроконтроллера МКП-1 и его основные технические характеристики?

2. Какие основные конструктивные узлы микроконтроллера и их назначение?

3. На какие группы по функциональному назначению можно разделить команды микроконтроллера?

4. Как задается время исполнения команд управления?

5. Как формируется подпрограмма управления схватом?

6. Для чего нужны датчики?

7. Как формируется счетчик циклов?

8. Как формируется управляющая программа?

 

Лабораторная работа №5


Поделиться:



Последнее изменение этой страницы: 2017-05-05; Просмотров: 1172; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.02 с.)
Главная | Случайная страница | Обратная связь