Академический Документы
Профессиональный Документы
Культура Документы
Екатеринбург
УГТУ-УПИ
2007
2
УДК 004.896
Уральский государственный
технический университет – УПИ, 2007
3
4
ВВЕДЕНИЕ
Системы управления промышленными роботами классифицируют по
принципу управления (программное / адаптивное), способу управления
(разомкнутые / замкнутые), типу управления (цикловые / позиционные /
контурные), способу программирования (аналитическое программирование /
программирование обучением / программирование самообучением).
Системы программного управления требуют строгой определенности и
постоянства параметров выполняемой задачи. Управляющая программа таких
систем содержит объем информации, не изменяющийся в процессе работы,
поэтому среда манипулирования робота должна быть организованной, т. е. все
предметы, инструменты и объекты, с которыми взаимодействует робот в
процессе выполнения рабочих операций, должны находиться на определенных
местах и иметь строго определенную пространственную ориентацию.
Системы адаптивного управления не содержат полной информации о
параметрах и условиях выполняемой задачи. Управляющая программа этих
систем обычно включает в себя информацию о начальном и конечном
положениях рабочего органа манипулятора с набором алгоритмов поведения
робота в зависимости от возможных состояний внешней среды, а сенсорное
обеспечение робота позволяет автоматически корректировать программные
действия на основе получаемой информации путем соответствующего
изменения управляющих воздействий, т. е. реагировать на изменение
параметров и условий работы изменением алгоритма управления.
Способ управления характеризует использование обратных связей, как
правило, по положению звеньев робота в системе управления (разомкнутые –
без обратных связей / замкнутые – с обратной связью).
Тип системы управления определяет содержание командной информации,
управляющей движением манипуляционных звеньев робота.
Цикловая система программного управления – система управления, в
которой командная информация, содержащаяся в управляющей программе,
включает в себя признак звена манипулятора и направление его движения.
5
Цикловое управление является простейшим, обеспечивая в основном
двухточечное позиционирование, которое осуществляется по жестким упорам,
расположенным в крайних положениях, и применяется при выполнении
роботом вспомогательных операций (при обслуживании станков, прессов,
литейных машин и т.д.).
Позиционная система программного управления – система управления, в
которой, в отличие от цикловой системы, командная информация содержит не
только признак звена и направления движения, но и параметр, определяющий
величину перемещения. Позиционное управление является более сложным,
обеспечивая многоточечное позиционирование, для чего содержит
информацию о положении звеньев непосредственно в управляющей программе.
Последовательный ряд положений рабочего органа, отрабатываемых
позиционной системой, может образовывать некоторую определенную
траекторию, однако перемещение между соседними позициями в таких
системах происходит по произвольной траектории. Позиционная система
обладает большими технологическими возможностями и универсальностью,
поэтому роботы с позиционной системой управления применяют для
обслуживания основного оборудования (смена инструмента на
механообрабатывающих станках и пр.), а также для выполнения основных
технологических операций (адресная доставка груза, точечная сварка, пайка,
клепка, сверловка печатных плат и пр.).
Контурная система программного управления – система управления, в
которой командная информация (управляющая программа) содержит, кроме
признака звена, направления и величины перемещения, еще и параметры
траектории (контура), по которой осуществляется движение. Контурное
управление обеспечивает перемещение рабочего органа по непрерывной
траектории, обладает высокой универсальностью и значительными
технологическими возможностями. Роботы с контурной системой управления
применяют для выполнения, как правило, основных, а не вспомогательных
6
технологических операций, например: окраски, контурной сварки, шлифовки
сварных швов, газовой резки и т.д.
По способу программирования информации, обеспечивающей заданные
действия робота, различают три основных метода: аналитическое
программирование, метод обучения, метод самообучения.
Аналитическое программирование подразумевает заблаговременную
подготовку управляющей программы. Расчет программы осуществляют либо с
применением обычных средств вычислительной техники, либо автоматически с
использованием ЭВМ и средств автоматического программирования, либо с
помощью устройства управления самого робота. Аналитическое
программирование применяют, когда обучение робота оператором оказывается
слишком трудоемким, затруднено получение полной информации или
невозможно присутствие оператора при программировании.
Программирование обучением в настоящее время наиболее
распространено. В зависимости от степени участия оператора этот метод
программирования подразделяют на ручной, полуавтоматический и
автоматический способы. Ручной способ обучения предусматривает
непосредственное участие оператора на всех этапах программирования: при
формировании программы, преобразовании и вводе информации.
Полуавтоматический способ обучения характеризует участие оператора в
формировании программы и преобразовании информации. Ввод информации
обеспечивает устройство управления по сигналу оператора.
Автоматическое обучение выполняется полностью управляющим
устройством с применением ЭВМ.
Программировать самообучением можно роботы с развитым сенсорным
аппаратом и адаптивным управлением. Программирование самообучением
происходит без участия оператора: устройство управления роботом
самостоятельно формирует рабочие программы с помощью систем
автоматического программирования на основе информации, получаемой от
информационно-измерительной, или сенсорной, системы.
7
Лабораторная работа № 1
8
1 SQ1
SQ2 SQ7
2
SQ3 Y7 Y4
3
4 SQ4
SQ6
5 SQ5
Y1 Y8 Y5
Y2 Y3
7 1 6 8 2 3 5 4
6 7 8
манометр
к контроллеру компрессор
маслораспылитель влагоотделитель
9
к датчикам робота к электропневмоклапанам
SF1
+
~220В Источник 24В/2А
-
1 Общий 1M 1M Общий
2
От датчика I0.0 1L+ Питание выходов 1
3 От датчика I0.1 Q0.0 Схват 2
4 От датчика I0.2 CPU 224 Q0.1 Поворот вправо 3
5 От датчика I0.3 Q0.2 Поворот влево 4
6 От датчика I0.4 Q0.3 Выдвигание 5
7 От датчика I0.5 Q0.4 Втягивание 6
От датчика I0.6 2M Общий
I0.7 2L+ Питание выходов 7
Общий 2M Q0.5 Подъем 8
2
Упр. схватом I1.0 Q0.6 Опускание
3 Упр. поворотом I1.1 Q0.7
4 Упр. выдвиганием I1.2 Q1.0 Индикация сброса
5 Упр. подъемом I1.3 Q1.1 Индикация записи
6 Пуск/Стоп/Запись/Сброс I1.4
1 Режим Ручн./Авт. I1.5 Корпус
M M Общий
L+ L+ Питание контроллера
7
Пульт управления
2 3 4 5 1 6 7
10
управления является многофункциональной. В ручном режиме
кратковременное нажатие этой кнопки приводит к записи кадра управляющей
программы (УП), удержание кнопки в нажатом состоянии более 3-х секунд
вызывает обнуление счетчика числа кадров УП и, как следствие, сброс
записанной ранее программы, что подтверждается загоранием
соответствующего индикатора на пульте управления. В автоматическом
режиме кнопка SB1 служит для запуска / останова исполнения программы.
Отработка каждого последующего кадра УП в пошаговом автоматическом
режиме осуществляется после нажатия кнопки SB1.
Конечные выключатели (датчики) робота, обмотки электропневмо-
клапанов и пульт управления подключены к соответствующим входам и
выходам контроллера.
Структура программного обеспечения контроллера показана на рис. 3, 4.
Рабочая программа контроллера состоит из основной программы и ряда
подпрограмм, которые в совокупности обеспечивают возможность
программирования робота в режиме обучения и автоматического исполнения
запрограммированых циклов работы.
В самом начале основной программы происходит чтение датчиков
робота, далее в зависимости от заданного режима работы (ручной или
автоматический) вызывается либо подпрограмма ручного режима, либо
подпрограмма автоматического режима. В подпрограмме ручного режима
осуществляется установка выходов контроллера, подключенных к обмоткам
электропневмоклапанов, в соответствии с состоянием тумблеров SA2 ... SA5.
После этого проверяется состояние кнопки SB1 и, если она нажата, запускается
таймер сброса, в результате чего производится запись кадра УП (т. е. в памяти
контроллера сохраняется состояние датчиков робота и выходов контроллера).
Следующим этапом подпрограммы ручного управления является проверка бита
таймера сброса и, если он оказывается во взведенном состоянии, обнуление
переменной, хранящей число кадров УП (сброс программы).
11
Основная программа
начало
нет да
I0.7 Определение режима
работы (ручн./авт.)
конец
12
Подпрограмма «автомат»
начало
Определение режима
нет да
I1.5 работы (пошаговый/
непрерывный)
подпрограмма «пошаговый
подпрограмма «цикл»
режим»
конец
Подпрограмма «цикл»
начало
нет VB1=*AC2 да
and V10.4 Если кадр УП отработан,
то взводим таймер паузы
между кадрами
Взвод таймера T34 (TON) (пауза м/у кадрами УП)
нет VB0=VB100 да
Если отработаны все
and T34
кадры, то обнуляем
счетчик кадров и
VB0=0 перемещаем указатели на
AC1=&VB101 первые ячейки массивов
AC2=&VB200 кадров УП
конец
13
Задачей подпрограммы автоматического режима работы является запуск
подпрограммы пошагового режима или циклового (непрерывного) режима в
зависимости от положения тумблера SA6.
14
ЗАДАНИЯ НА РАБОТУ
Задание 1
Программное обеспечение робота МП-9С позволяет задавать программу
движения звеньев робота без использования специального программатора,
пользуясь только пультом управления. Для этого в режиме ручного управления
робот перемещается по нужным позициям, в каждой из которых производится
запись кадра управляющей программы. Сброс программы осуществляется
путем удержания кнопки SB1 в нажатом состоянии более 3-х секунд.
Прилагаемая к заданию версия ПО (прил. 1) робота МП-9С обеспечивает
управление только одной из координат – подъем / опускание, т. е. контроллер и,
соответственно, робот никак не реагируют на переключения тумблеров SA2…
SA4. Требуется дополнить предлагаемый код таким образом, чтобы стало
возможным управление всеми координатами робота.
Задание 2
Модифицируйте код программы (прил. 1) таким образом, чтобы вход I0.7
при программировании движений робота использовался как вход, задающий
паузу, выдерживаемую после отработки кадра. При I0.7 = 0 длительность паузы
должна составлять 0,5 с, а при I0.7 = 1 составлять 3 с. В автоматическом
режиме работы вход I0.7 не должен влиять на отработку программы.
Задание 3
Модифицируйте код программы (прил. 1) таким образом, чтобы вход I0.7
при работе в автоматическом режиме использовался как вход, разрешающий
выполнение программы. Если при отработке кадров УП вход I0.7
переключился в ноль, то УП выполняется до последнего кадра, но переход к
первому кадру и повторный запуск не осуществляются.
15
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Открыть программу mp9c в редакторе Step 7-Micro / WIN.
2. Пользуясь схемой, приведенной на рис. 1, 2 и / или структурой ПО
системы управления роботом, приведенной на рис. 3, 4 модифицировать
программу.
3. Загрузив программу в контроллер, проверить ее работоспособность.
СОДЕРЖАНИЕ ОТЧЕТА
1. Цель работы и задание на работу.
2. Краткая характеристика системы управления роботом.
3. Созданный при выполнении работы фрагмент кода.
16
Лабораторная работа № 2
17
Схема робота приведена на рис. 6. Основными узлами робота являются:
механизм поворота вокруг вертикальной оси, вертикальное звено (плечо),
горизонтальное звено (рука), звено “сгиба” (кисть), звено вращения кисти.
Схват в данной работе не используется.
локальная шина
1 2 3 4 5
~380В
QF1
M1 M2 M3 M4 M5
+
Источник 36В
-
к контроллеру 1 2 3 4 5 6 7 8 9 10
18
САР аналогового сигнала через модули ЦАП. Информация о положении
звеньев робота поступает в контроллер через модули дискретных входов от
кодовых датчиков положения, формирующих 15-разрядный двоичный код.
к локальной шине
к локальной шине SF1 + датчиков робота
датчиков робота ~220В Источник 24В
-
Общий 1M 1M Общий
1 Привод 1 вперед I0.0 1L+ Питание выходов
2 Привод 1 назад I0.1 Q0.0 Датчик положения 5 5
3 4
Привод 2 вперед I0.2 Q0.1 Датчик положения 4
4 3
5
Привод 2 назад
Привод 3 вперед
I0.3
I0.4 CPU Q0.2
Q0.3
Датчик положения 3
Датчик положения 2 2
6 1
7
Привод 3 назад
Привод 4 вперед
I0.5
I0.6 224 Q0.4
2M
Датчик положения 1
Общий
8 Привод 4 назад I0.7 2L+ Питание выходов
Общий 2M Q0.5
9
Привод 5 вперед I1.0 Q0.6
10
Привод 5 назад I1.1 Q0.7
11
Пониженная скорость I1.2 Q1.0 Индикация сброса
12
Пуск/Стоп/ Запись/Сброс I1.3 Q1.1
13
Режим Ручн./Авт. I1.4
I1.5 Корпус
M M Общий
15
L+ L+ Питание контроллера
Общий 1M
1 15-ый разряд датчика I2.0
2
14-ый разряд датчика I2.1
3
13-ый разряд датчика I2.2
4
5
12-ый разряд датчика
11-ый разряд датчика
I2.3
I2.4
EM 221
6
10-ый разряд датчика I2.5
7
9-ый разряд датчика I2.6
8
8-ый разряд датчика I2.7
Общий 1M
9 7-ый разряд датчика I3.0
10
6-ый разряд датчика I3.1
11
5-ый разряд датчика I3.2
12
13
4-ый разряд датчика
3-ый разряд датчика
I3.3
I3.4
EM 221 к приводам
14
2-ый разряд датчика I3.5
15
1-ый разряд датчика I3.6
I3.7
M0 Задание на скорость 1 1
V0 Задание на скорость 1 2
I0
3
Корпус M1 Задание на скорость 2
16
Общий M EM 232 V1 Задание на скорость 2
4
Питание L+ I1
M0 Задание на скорость 3 5
V0 Задание на скорость 3 6
I0
Корпус M1 Задание на скорость 4 7
Общий M EM 232 V1 Задание на скорость 4 8
Питание L+ I1
M0 Задание на скорость 5 9
V0 Задание на скорость 5 10
I0
Корпус M1
Общий M EM 232 V1
Питание L+ I1
Пульт управления
SA1 SA2 SA3 SA4 SA5 SA6 SB1 SA7
Пуск/
Привод 1 Привод 2 Привод 3 Привод 4 Привод 5 Пониж. Стоп/ Ручн./
вперед/ вперед/ вперед/ вперед/ вперед/ скорость Запись/ Авт.
назад назад назад назад назад Сброс
1 2 3 4 5 6 7 8 9 10 11 12 13 15
19
Рис. 7. Схема системы управления роботом ТУР-10
Датчики имеют входы чтения, активируемые сигналами контроллера при
опросе датчика для получения информации о положении соответствующего
звена, поэтому выходы датчиков на стороне робота объединены в локальную
шину.
На пульте управления роботом (рис. 7) размещены: тумблер выбора
режима работы SA7 (ручной / автоматический), тумблер выбора скорости
перемещения звеньев в ручном режиме SA6 (пониженная скорость /
нормальная скорость), многофункциональная кнопка SB1 (пуск / стоп / запись /
сброс) и кнопки управления приводами робота в ручном режиме работы SA1 …
SA5 (вперед / назад). Кратковременное нажатие многофункциональной кнопки
в ручном режиме работы приводит к записи кадра управляющей программы
(УП), удержание этой кнопки в нажатом состоянии более 3-х секунд вызывает
обнуление счетчика кадров УП и, как следствие, сброс записанной ранее
программы, что подтверждается загоранием соответствующего индикатора на
пульте управления. В автоматическом режиме работы эта кнопка служит для
запуска / останова исполнения программы.
Структура программного обеспечения системы управления робота
приведена на рис. 8 … 10. В основной программе (рис. 8) в зависимости от
положения тумблера выбора режима работы SA7 вызывается либо
подпрограмма ручного режима, либо подпрограмма автоматического режима.
Перед переходом в ручной режим происходит блокировка прерываний - это
необходимо для останова расчета регуляторов положения, т. к. они
реализованы в таймерном прерывании. В ручном режиме работы (рис. 9)
осуществляется непрерывный опрос датчиков положения, их текущее
состояние запоминается в буфере V1…V10. Нажатие кнопок управления
приводами робота в этом режиме работы приводит к запуску соответствующих
приводов в нужном направлении, выбор величины скорости осуществляется
тумблером SA6 для всех приводов сразу. При кратковременном нажатии на
кнопку SB1 происходит запись кадра УП: копирование буфера состояния
20
датчиков в кадр УП, увеличение счетчика числа кадров VB100 на единицу и
перемещение указателя АС1 на следующий кадр. Удержание кнопки SB1 более
3-х секунд вызывает перемещение указателя на первый кадр.
Основная программа
начало
0 1
I1.4 Определение режима
блокировка прерываний работы (ручн./авт.)
расчет 1-го РП
Запоминание состояния 2-го датчика и
VW3=IW2 QB0=27 выставление сигнала чтения на 3-ый датчик
расчет 5-го РП
конец
VB105 0 1 0 1 0 1 1 1
φ1,3 VW105
VB106 1 0 1 0 0 1 0 0
VB107 1 1 1 0 0 1 0 1
φ1,4 VW107
VB108 1 0 0 1 0 0 1 0
VB109 0 1 0 1 0 1 1 1
φ1,5 VW109
VB110 0 1 0 1 0 1 0 0
VB111 0 1 0 1 0 1 0 0
φ2,1 VW111
VB112 1 0 1 1 1 0 0 0
21
Рис. 8. Структура основной программы, подпрограммы обработки таймерного
начало
Переключение на след.
inc(VB1) датчик робота
нет да
I0.0
нет да
I1.2
AQW0=10000 AQW0=2000 Установка аналоговых
выходов контроллера в
соответствии с заданием
с пульта с учетом
нет да положения тумблера
I1.1 пониженной скорости
нет да
I1.2
AQW8= -10000 AQW8= -2000
Определение нажатия
нет да кнопки «Запись»/
I2.5
«Сброс»
22
промежуточной переменной VB20 производится либо останов робота
(блокировка прерываний, выдача нулевых заданий на САР), либо запуск робота
в работу с первого кадра программы (деблокировка прерываний, установка
указателя кадров АС1 на первый кадр УП).
Подпрограмма «автомат»
начало
Определение нажатия
нет да
I1.3 кнопки «Пуск»/«Стоп»
нет да
V20.0
Останов приводов
AC1=&101 V20.0=1
нет да
Δφ<128 Запуск таймера при
перемещении в
заданную позицию
Взвод таймера T34 (TON) (пауза м/у кадрами УП)
нет VB0=VB1 да
00 and T34
Переход на начало УП
после отработки
VB0=0 AC1=&VB101 последнего кадра
23
запускается таймер T34 для обеспечения паузы между кадрами. После этих
операций проверяется состояние таймера паузы Т34; если он сработал, то
осуществляется переход к следующему кадру УП или к первому кадру, если
программа закончилась.
Подпрограмма обработки таймерного прерывания включает в себя
операции опроса датчиков положения, расчета контуров положения и
выставления заданий на скорость. Опрос датчика положения заключается в
выдаче сигнала запроса чтения на датчик путем установления
соответствующего выхода контроллера (Q0.0…Q0.4) в 0. При этом остальные
выходы контроллера должны находиться во взведенном состоянии, чтобы
избежать попытки выдачи кода несколькими датчиками одновременно.
Осуществить опрос датчика удобно, записав определенный код по адресу QB0.
Данные коды и соответствующие им опрашиваемые датчики приведены ниже.
24
кнопкой; VB31 .. VB40 – буфер, используемый в автоматическом режиме для
хранения текущего кадра УП (задание на положение).
ЗАДАНИЯ НА РАБОТУ
Задание 1
Создайте программу, управляющую роботом в ручном режиме. В
качестве значения сигнала задания на скорость для приводов в настройке
«пониженная скорость» используйте числовой код +500 (движение «вперед»)
или –500 (движение «назад»), а в настройке «нормальная скорость»: +1500 или
–1500 соответственно. Необходимо помнить, что между контроллером и САР
скорости отсутствуют какие-либо согласующие элементы, а максимально
возможное напряжение ЦАП превышает допустимое напряжение управления
САР, поэтому превышение указанных значений может привести к физическому
повреждению оборудования.
Задание 2
Модифицируйте код программы (прил. 2) таким образом, чтобы вход I1.5
при программировании движений робота использовался как вход, задающий
паузу, выдерживаемую после отработки кадра. При I1.5 = 0 длительность паузы
должна составлять 0,5 с, а при I1.5 = 1 – 3 с. В автоматическом режиме работы
вход I1.5 не должен влиять на отработку программы.
Задание 3
Модифицируйте код программы (прил. 2) таким образом, чтобы вход I1.5
при работе в автоматическом режиме использовался как вход, разрешающий
выполнение программы. Если при отработке кадров УП вход I1.5
переключился в ноль, то УП выполняется до последнего кадра, но переход к
первому кадру и повторный запуск не осуществляются.
25
1. Запустить редактор Step 7-Micro / WIN.
2. Для решения задачи 1, обратившись к рис. 6, 7, создать программу,
загрузить в контроллер и проверить ее работоспособность.
2. При решении задач 2 и 3 открыть программу tur10 и, пользуясь
сведениями, приведенными на рис. 8 … 10, модифицировать программу,
загрузить модифицированную программу в контроллер и проверить ее
работоспособность.
СОДЕРЖАНИЕ ОТЧЕТА
1. Цель работы и задание на работу.
2. Краткая характеристика системы управления роботом.
3. Созданные при выполнении работы фрагменты кода.
26
ПРИЛОЖЕНИЯ
Приложение 1
Главная программа
27
Подпрограмма ручного режима работы
28
Подпрограмма непрерывного режима работы
29
Подпрограмма пошагового режима работы
Приложение 2
Главная программа
30
Подпрограмма ручного режима работы
31
Подпрограмма обработки таймерного прерывания
32
Подпрограмма расчета регулятора положения
33
Подпрограмма автоматического режима работы
34
35
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ………………………………………………………………………….3
Лабораторная работа № 1. СТРУКТУРА И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ЦИКЛОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ
РОБОТОМ………………………………………………………………………........6
Лабораторная работа № 2. СТРУКТУРА И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ПОЗИЦИОННОЙ СИСТЕМЫ УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ
РОБОТОМ..................................................................................................................15
Приложение 1. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ УПРАВЛЕНИЯ
ОДНОЙ КООРДИНАТОЙ РОБОТА МП-9С……………………………………..25
Приложение 2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ УПРАВЛЕНИЯ
ОДНОЙ КООРДИНАТОЙ РОБОТА ТУР-10…………………………………….28
36
СИСТЕМЫ ПРОГРАММНОГО УПРАВЛЕНИЯ
ПРОМЫШЛЕННЫМИ РОБОТАМИ
ИД № 06263 от 12.11.2001 г.
Подписано в печать 25.05.2007 Формат 60х84 1/16
Бумага типографская Офсетная печать Усл. печ.л. 2,03
Уч.-изд. л. 2,0 Тираж 150 экз. Заказ
Редакционно-издательский отдел УГТУ-УПИ
620002, Екатеринбург, ул. Мира, 19
rio@mail.ustu.ru
37