Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Программно-логическое управление
Команды управления программой (табл.4) позволяет эффективно решать задачи программно-логического управления оборудованием, используя блок-схемы алгоритмов управления. Команды управления программой можно разделить на две группы: 1) команды, сохраняющие нормальную последовательность выполнения команд программы (т.е. выполнение команд одна за другой). Это команды «Нет операции» и «Стоп»; 2) команды, изменяющие нормальную последовательность выполнения программы – команды безусловного и условного переходов, команды обращения к подпрограммам и возврата из них. Заранее предусмотренную остановку программы можно осуществить командой «Стоп». Программа останавливается со значением «СК», указывающим на адрес, следующий за адресом команды «Стоп». Значение «СК» и код команды, записанной по этому адресу, выводится на дисплей ПУ. Для дальнейшего пуска программы необходимо нажать на любую информационную клавишу ПУ. Выполнение программы начнется с команды, адрес и код которой высвечивались на дисплее ПУ при остановке программы. При запуске программы дисплей гаснет. Пример программы с использованием команды «Стоп» и состояние дисплея при остановке программы по этой команде представлен в табл. 6 и на рис. 11. Таблица 6
Рис. 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.
Таблица 8
Таблица 9
Счетчик команд Команды управления счетчиками осуществляют операции очистки, увеличение номера счетчика и сравнения над шестнадцатью счетчиками, содержимое которых может изменяться в пределах от 0 до F. В случае совпадения «БУ» счетчик сохраняет предыдущее значение, в противном случае - обнуляется. Например, команда с кодом 0Е 3F осуществляет сравнение содержимого счетчика F с тройкой. С помощью несложной программы можно организовать счетчик емкостью более 15. Например, последовательность команд, приведенная в табл. 10, обеспечивает счетчик до 45, используя последовательное включение двух счетчиков с номерами 0 и 1. Таблица 10
При достижении счетчиками максимальной разрядности следует иметь в виду, что прибавление 1 к счетчику, значение которого равно F, не вызывает его обнуления, поэтому дальнейшее использование этого счетчика в программе возможно только после сброса его соответствующей командой.
Порядок выполнения работы 1. Изучить технические характеристики и конструкцию программируемого микроконтроллера МКП-1. 2. Изучить систему команд. 3. Изучить программо-логическое управление. 4. Разработать управляющую программу для промышленного робота. 5. Обучить промышленный робот.
Контрольные вопросы
1. Какое назначение микроконтроллера МКП-1 и его основные технические характеристики? 2. Какие основные конструктивные узлы микроконтроллера и их назначение? 3. На какие группы по функциональному назначению можно разделить команды микроконтроллера? 4. Как задается время исполнения команд управления? 5. Как формируется подпрограмма управления схватом? 6. Для чего нужны датчики? 7. Как формируется счетчик циклов? 8. Как формируется управляющая программа?
Лабораторная работа №5 |
Последнее изменение этой страницы: 2017-05-05; Просмотров: 1225; Нарушение авторского права страницы