Вы находитесь на странице: 1из 37

Федеральное агентство по образованию

Уральский государственный технический университет – УПИ

СИСТЕМЫ ПРОГРАММНОГО УПРАВЛЕНИЯ


ПРОМЫШЛЕННЫМИ РОБОТАМИ

Методические указания к лабораторным работам


по дисциплине «Системы программного управления»
для студентов всех форм обучения специальности 140604 –
Электропривод и автоматика промышленных установок
и технологических комплексов

Печатается по решению редакционно-издательского совета


УГТУ-УПИ от 18.01.2007 г.

Екатеринбург
УГТУ-УПИ
2007

2
УДК 004.896

Составители: А.М. Зюзев, К.Е. Нестеров


Научный редактор доц., канд. техн. наук А.В. Костылев

СИСТЕМЫ ПРОГРАММНОГО УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМИ


РОБОТАМИ: метод. указания к лабораторным работам / А.М. Зюзев,
К.Е. Нестеров. Екатеринбург: УГТУ-УПИ, 2007. 33 с.

Методические указания содержат основные положения, порядок


выполнения и требования к содержанию и оформлению отчётов по
лабораторным работам по дисциплине «Системы программного управления»,
раздел «Системы программного управления промышленными роботами», для
студентов всех форм обучения специальности 140604 – Электропривод и
автоматика промышленных установок и технологических комплексов.

Рис. 10. Прил. 2.

Подготовлено кафедрой "Электропривод и автоматизация


промышленных установок".

Уральский государственный
технический университет – УПИ, 2007

3
4
ВВЕДЕНИЕ
Системы управления промышленными роботами классифицируют по
принципу управления (программное / адаптивное), способу управления
(разомкнутые / замкнутые), типу управления (цикловые / позиционные /
контурные), способу программирования (аналитическое программирование /
программирование обучением / программирование самообучением).
Системы программного управления требуют строгой определенности и
постоянства параметров выполняемой задачи. Управляющая программа таких
систем содержит объем информации, не изменяющийся в процессе работы,
поэтому среда манипулирования робота должна быть организованной, т. е. все
предметы, инструменты и объекты, с которыми взаимодействует робот в
процессе выполнения рабочих операций, должны находиться на определенных
местах и иметь строго определенную пространственную ориентацию.
Системы адаптивного управления не содержат полной информации о
параметрах и условиях выполняемой задачи. Управляющая программа этих
систем обычно включает в себя информацию о начальном и конечном
положениях рабочего органа манипулятора с набором алгоритмов поведения
робота в зависимости от возможных состояний внешней среды, а сенсорное
обеспечение робота позволяет автоматически корректировать программные
действия на основе получаемой информации путем соответствующего
изменения управляющих воздействий, т. е. реагировать на изменение
параметров и условий работы изменением алгоритма управления.
Способ управления характеризует использование обратных связей, как
правило, по положению звеньев робота в системе управления (разомкнутые –
без обратных связей / замкнутые – с обратной связью).
Тип системы управления определяет содержание командной информации,
управляющей движением манипуляционных звеньев робота.
Цикловая система программного управления – система управления, в
которой командная информация, содержащаяся в управляющей программе,
включает в себя признак звена манипулятора и направление его движения.

5
Цикловое управление является простейшим, обеспечивая в основном
двухточечное позиционирование, которое осуществляется по жестким упорам,
расположенным в крайних положениях, и применяется при выполнении
роботом вспомогательных операций (при обслуживании станков, прессов,
литейных машин и т.д.).
Позиционная система программного управления – система управления, в
которой, в отличие от цикловой системы, командная информация содержит не
только признак звена и направления движения, но и параметр, определяющий
величину перемещения. Позиционное управление является более сложным,
обеспечивая многоточечное позиционирование, для чего содержит
информацию о положении звеньев непосредственно в управляющей программе.
Последовательный ряд положений рабочего органа, отрабатываемых
позиционной системой, может образовывать некоторую определенную
траекторию, однако перемещение между соседними позициями в таких
системах происходит по произвольной траектории. Позиционная система
обладает большими технологическими возможностями и универсальностью,
поэтому роботы с позиционной системой управления применяют для
обслуживания основного оборудования (смена инструмента на
механообрабатывающих станках и пр.), а также для выполнения основных
технологических операций (адресная доставка груза, точечная сварка, пайка,
клепка, сверловка печатных плат и пр.).
Контурная система программного управления – система управления, в
которой командная информация (управляющая программа) содержит, кроме
признака звена, направления и величины перемещения, еще и параметры
траектории (контура), по которой осуществляется движение. Контурное
управление обеспечивает перемещение рабочего органа по непрерывной
траектории, обладает высокой универсальностью и значительными
технологическими возможностями. Роботы с контурной системой управления
применяют для выполнения, как правило, основных, а не вспомогательных

6
технологических операций, например: окраски, контурной сварки, шлифовки
сварных швов, газовой резки и т.д.
По способу программирования информации, обеспечивающей заданные
действия робота, различают три основных метода: аналитическое
программирование, метод обучения, метод самообучения.
Аналитическое программирование подразумевает заблаговременную
подготовку управляющей программы. Расчет программы осуществляют либо с
применением обычных средств вычислительной техники, либо автоматически с
использованием ЭВМ и средств автоматического программирования, либо с
помощью устройства управления самого робота. Аналитическое
программирование применяют, когда обучение робота оператором оказывается
слишком трудоемким, затруднено получение полной информации или
невозможно присутствие оператора при программировании.
Программирование обучением в настоящее время наиболее
распространено. В зависимости от степени участия оператора этот метод
программирования подразделяют на ручной, полуавтоматический и
автоматический способы. Ручной способ обучения предусматривает
непосредственное участие оператора на всех этапах программирования: при
формировании программы, преобразовании и вводе информации.
Полуавтоматический способ обучения характеризует участие оператора в
формировании программы и преобразовании информации. Ввод информации
обеспечивает устройство управления по сигналу оператора.
Автоматическое обучение выполняется полностью управляющим
устройством с применением ЭВМ.
Программировать самообучением можно роботы с развитым сенсорным
аппаратом и адаптивным управлением. Программирование самообучением
происходит без участия оператора: устройство управления роботом
самостоятельно формирует рабочие программы с помощью систем
автоматического программирования на основе информации, получаемой от
информационно-измерительной, или сенсорной, системы.

7
Лабораторная работа № 1

СТРУКТУРА И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЦИКЛОВОЙ


СИСТЕМЫ УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ РОБОТОМ

ЦЕЛЬ РАБОТЫ – изучение структуры системы, принципов построения


программного обеспечения и методов программирования цикловых систем
управления промышленными роботами. Работа выполняется на стенде,
который оборудован пневматическим роботом МП-9С с системой управления,
реализованной на базе промышленного контроллера SIMATIC S7-200 фирмы
Siemens.
ЗАДАЧИ:
- ознакомление с языком программирования Step-7 и графической средой
Micro/Win;
- освоение принципов построения систем программного управления
цикловыми механизмами.

ОПИСАНИЕ РОБОТА МП-9С


Пневматический робот МП-9С предназначен для автоматизации
технологических процессов в промышленности. Исполнительное устройство
робота способно осуществлять захват, перенос и установку детали по заданным
координатам рабочей зоны.
Схема робота приведена на рис. 1. Робот имеет 3 пневмопривода
механизмов перемещения руки манипулятора: подъема / опускания, поворота
влево / вправо, выдвигания / втягивания и пневмопривод схвата.
Пневмоцилиндры приводов снабжаются энергией сжатого воздуха,
поступающего из магистрали через соответствующие электропневмоклапаны
Y1 … Y7, управляемые контроллером. Воздух к магистрали подводится от
поршневого компрессора через влагоотделитель и маслораспылитель. Для
визуального контроля давления воздуха установлен манометр.

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

манометр

к контроллеру компрессор

маслораспылитель влагоотделитель

Рис. 1. Схема робота МП-9С

Необходимо отметить, что пневмопривод робота выполняет перемещение


звеньев с остановкой на упорах, поэтому в установившемся режиме все звенья
манипулятора находятся в одном из крайних положений. Например, рука
манипулятора может быть либо выдвинута до наезда на передний упор, либо
вдвинута до заднего упора. В промежуточных положениях звенья бывают
только в процессе перехода из одной позиции в другую. Для контроля
положения звеньев робота используются конечные выключатели на герконовых
элементах SQ1…SQ7, срабатывающие при достижении приводом робота
соответствующего упора. Привод схвата робота снабжен возвратной пружиной,
поэтому управляется одним электропневмоклапаном Y1 и контролируется
только одним датчиком SQ3, срабатывающим при разжатии схвата.

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

Пульт управления

SA2 SA3 SA4 SA5 SA1 SA6 SB1


Схват По час./ Выдв./ Вверх/ Пошаг./ Запись/
Ручн./
Пр. час. Задв. Вниз Цикл. Сброс/
Авт.
Пуск/
Стоп

2 3 4 5 1 6 7

Рис. 2. Схема системы управления роботом МП-9С

Система управления роботом (рис. 2) построена на базе


программируемого контроллера, в качестве которого выбран SIMATIC S7-200
фирмы Siemens. В состав системы также входит пульт управления, на котором
размещены 6 тумблеров и одна кнопка, из них тумблер SA1 служит для выбора
режима работы робота: ручной (программирование) или автоматический
(отработка запрограммированных кадров). Тумблер SA6 определяет режим
отработки программы в автоматическом режиме: пошаговый или непрерывное
(цикловое) выполнение программы. Остальные 4 тумблера используются для
управления пневмоприводами робота в ручном режиме. Кнопка SB1 пульта

10
управления является многофункциональной. В ручном режиме
кратковременное нажатие этой кнопки приводит к записи кадра управляющей
программы (УП), удержание кнопки в нажатом состоянии более 3-х секунд
вызывает обнуление счетчика числа кадров УП и, как следствие, сброс
записанной ранее программы, что подтверждается загоранием
соответствующего индикатора на пульте управления. В автоматическом
режиме кнопка SB1 служит для запуска / останова исполнения программы.
Отработка каждого последующего кадра УП в пошаговом автоматическом
режиме осуществляется после нажатия кнопки SB1.
Конечные выключатели (датчики) робота, обмотки электропневмо-
клапанов и пульт управления подключены к соответствующим входам и
выходам контроллера.
Структура программного обеспечения контроллера показана на рис. 3, 4.
Рабочая программа контроллера состоит из основной программы и ряда
подпрограмм, которые в совокупности обеспечивают возможность
программирования робота в режиме обучения и автоматического исполнения
запрограммированых циклов работы.
В самом начале основной программы происходит чтение датчиков
робота, далее в зависимости от заданного режима работы (ручной или
автоматический) вызывается либо подпрограмма ручного режима, либо
подпрограмма автоматического режима. В подпрограмме ручного режима
осуществляется установка выходов контроллера, подключенных к обмоткам
электропневмоклапанов, в соответствии с состоянием тумблеров SA2 ... SA5.
После этого проверяется состояние кнопки SB1 и, если она нажата, запускается
таймер сброса, в результате чего производится запись кадра УП (т. е. в памяти
контроллера сохраняется состояние датчиков робота и выходов контроллера).
Следующим этапом подпрограммы ручного управления является проверка бита
таймера сброса и, если он оказывается во взведенном состоянии, обнуление
переменной, хранящей число кадров УП (сброс программы).

11
Основная программа

начало

VB1=IB0 V1.7=0 Чтение датчиков робота

нет да
I0.7 Определение режима
работы (ручн./авт.)

подпрограмма «ручной режим» подпрограмма «автомат»

Подпрограмма «ручной режим»


начало

Установка выходов контроллера


Q0.0=I1.0 Q0.1=I1.1 Q0.2=not I1.1 Q0.3=I1.2
Q0.4=not I1.2 Q0.5=I1.3 Q0.6=not I1.3 в соответствии с заданием с
пульта
нет да
I1.4 Определение нажатия кнопки
«Запись»/ «Сброс»

Взвод таймера сброса T33 (TON)

нет да Если количество кадров УП равно


VB100=0
0, то перемещаем указатели на
первые ячейки массивов состояний
AC1=&VB100 AC2=&VB200 выходов/датчиков

inc(VB100) inc(AC1) *AC1=QB0 inc(AC2) *AC2=VB1 Увеличение счетчика кадров УП,


сдвиг указателей на следующ.
ячейки, запись кадра УП
нет да
T33
При срабатывании таймера сброса
обнуляется счетчик кадров УП и
зажигается выход контроллера
Q1.0=1 VB100=0
Q1.0

конец

Рис. 3. Блок-схема основной программы и подпрограммы «ручной режим»

Кадр управляющей программы предложено формировать из двух байт


(рис. 5): байта, хранящего информацию о состоянии выходов контроллера (т. е.
задание на положение звеньев робота), и байта с информацией о состоянии
датчиков робота, фиксирующих действительное положение звеньев робота.

12
Подпрограмма «автомат»

начало

Определение режима
нет да
I1.5 работы (пошаговый/
непрерывный)

подпрограмма «пошаговый
подпрограмма «цикл»
режим»

конец

Подпрограмма «цикл»
начало

нет да Определение нажатия


I1.4 кнопки «Пуск»/«Стоп»
нет да Если контроллер
V10.4
находился в режиме
«Пуск», то он переходит в
режим «Стоп» и
VB0=0 V10.1=1
обнуляется счетчик
отработанных кадров
нет VB0=0 and да Если счетчик кадров УП
not V10.1
равен 0, то перемещаем
указатели на первые ячейки
AC1=&VB101 AC2=&VB200 V10.4=1 массивов кадров УП

нет (V10.4 or да Если контроллер


T34) and not находится в режиме
V10.1 «Пуск», и закончилась
пауза между кадрами, то
QB0=*AC1 inc(AC1) inc(AC2) inc(VB0) переходим к следующему
кадру УП

нет VB1=*AC2 да
and V10.4 Если кадр УП отработан,
то взводим таймер паузы
между кадрами
Взвод таймера T34 (TON) (пауза м/у кадрами УП)

нет VB0=VB100 да
Если отработаны все
and T34
кадры, то обнуляем
счетчик кадров и
VB0=0 перемещаем указатели на
AC1=&VB101 первые ячейки массивов
AC2=&VB200 кадров УП

конец

Рис. 4. Блок-схемы подпрограмм «автомат» и «цикл»

13
Задачей подпрограммы автоматического режима работы является запуск
подпрограммы пошагового режима или циклового (непрерывного) режима в
зависимости от положения тумблера SA6.

Байт состояния выходов Байт состояния датчиков


V101.0 V101.7 V201.0 V201.7
0 1 0 1 0 1 0 0 …………………………… 0 1 0 1 0 1 0 0
м . в. й т
й ма м . й й т
в.
во
ъе ивыд во ва ор ъе ив во во ва
ыд
со
од яг В со Сх
Опускание тф од яг со соСх
Опускание
В
ПВт ча
ча ла ПВт ча ча
р. о П р. о
ПП ПП

Рис. 5. Формат кадра управляющей программы

Подпрограмма пошагового режима работы функционирует следующим


образом: при каждом нажатии кнопки SB1 состояния выходов выставляются в
соответствии с кадром УП, а указатели АС1 (указатель на байт состояния
выходов) и АС2 (указатель на байт состояния датчиков) перемещаются на
следующий кадр УП (или на первый, если программа закончилась).
Подпрограмма циклового (непрерывного) режима обеспечивает
непрерывное выполнение кадров УП после нажатия на кнопку SB1. Повторное
нажатие кнопки SB1 приводит к останову выполнения программы. Исполнение
программы всегда начинается с первого кадра УП. Контроль отработки кадров
осуществляется путем сравнения фактического состояния датчиков робота с
состоянием, заданным в кадре УП. Кадр считается выполненным, если
состояние датчиков робота совпадает с состоянием, заданным в кадре УП.
В программе использованы следующие переменные: VB0 - количество
выполненных кадров; VB1 - состояние датчиков робота; VB100 - число кадров
программы; АС1, АС2 - указатели на ячейку с состоянием выходов / датчиков;
V10 - промежуточная переменная, необходимая для закрепления функций
«Пуск» / «Стоп» за одной кнопкой.

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. Загрузив программу в контроллер, проверить ее работоспособность.

УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ РАБОТЫ


При решении задач использовать команды блока Bit Logic: normally open
(нормально открытый контакт), normally close (нормально закрытый контакт) и
команду блока Move: move word (Mov_W) (переслать слово).

СОДЕРЖАНИЕ ОТЧЕТА
1. Цель работы и задание на работу.
2. Краткая характеристика системы управления роботом.
3. Созданный при выполнении работы фрагмент кода.

16
Лабораторная работа № 2

СТРУКТУРА И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПОЗИЦИОННОЙ


СИСТЕМЫ УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ РОБОТОМ

ЦЕЛЬ РАБОТЫ – изучение структуры системы, принципов построения


программного обеспечения и методов программирования позиционных систем
управления промышленными роботами. Работа выполняется на стенде,
который оборудован электромеханическим роботом ТУР-10 с системой
управления, реализованной на базе промышленного контроллера SIMATIC S7-
200 фирмы Siemens.
ЗАДАЧИ:
- ознакомление с языком программирования Step-7 и графической средой
Micro/Win;
- освоение основных принципов построения систем программного
управления позиционными механизмами.

ОПИСАНИЕ РОБОТА ТУР-10


Промышленный робот ТУР-10 (технологический универсальный робот –
10 кгс) является представителем электромеханических роботов, работающих в
сферической системе координат, и предназначен для обслуживания ряда
технологических процессов. Манипулятор робота способен осуществлять
захват, перенос и установку детали по заданным координатам рабочей зоны, а
также может быть использован для перемещения технологического
инструмента (краскопульта, клещей точечной сварки и др.) в пределах рабочей
зоны.
Техническая характеристика робота ТУР-10:
Число степеней подвижности – 5.
Грузоподъемность – 10 кгс.
Тип управляющего устройства – позиционное.
Число одновременно управляемых движений – 5.

17
Схема робота приведена на рис. 6. Основными узлами робота являются:
механизм поворота вокруг вертикальной оси, вертикальное звено (плечо),
горизонтальное звено (рука), звено “сгиба” (кисть), звено вращения кисти.
Схват в данной работе не используется.

локальная шина
1 2 3 4 5

ДП1 ДП2 ДП3 ДП4 ДП5

ДС1 ДС2 ДС3 ДС4 ДС5

~380В

QF1
M1 M2 M3 M4 M5

+
Источник 36В
-

САРС1 САРС2 САРС3 САРС4 САРС5

к контроллеру 1 2 3 4 5 6 7 8 9 10

Рис. 6. Схема силовой части робота ТУР-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-го датчика и


VW1=IW2 QB0=23 выставление сигнала чтения на 2-ый датчик

расчет 1-го РП
Запоминание состояния 2-го датчика и
VW3=IW2 QB0=27 выставление сигнала чтения на 3-ый датчик

VW9=IW2 QB0=15 Запоминание состояния 5-го датчика и


выставление сигнала чтения на 1-ый датчик

расчет 5-го РП

конец

Структура кадра управляющей программы


VB101 0 1 0 1 0 1 1 1
φ1,1 VW101
VB102 1 0 0 1 0 0 1 0
VB103 0 1 1 0 0 1 0 1
φ1,2 VW103
VB104 1 0 0 1 0 1 0 0
1-ый кадр УП

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) датчик робота

нет да Запоминание состояния


VB1=6 5-го датчика и
VW19=IW2 VB1=0 переключение на 1-ый
датчик после 5-го
нет да
VB1=1 Выставление сигнала
QB0=16 чтения на 1-ый датчик

нет да
I0.0
нет да
I1.2
AQW0=10000 AQW0=2000 Установка аналоговых
выходов контроллера в
соответствии с заданием
с пульта с учетом
нет да положения тумблера
I1.1 пониженной скорости
нет да
I1.2
AQW8= -10000 AQW8= -2000

Определение нажатия
нет да кнопки «Запись»/
I2.5
«Сброс»

Взвод таймера сброса T33 (TON) Если количество кадров


УП равно 0, то
нет да перемещаем указатель на
VB100=0 первую ячейку массива
AC1=&V101 состояний датчиков

inc(VB100) *AC1=block_move(VB11, 10) AC1=AC1+10 Увеличение счетчика


кадров УП, запись кадра
нет да УП, сдвиг указателя
T33
При срабатывании
Q1.1=1 VB100=0
таймера сброса
обнуляется счетчик
конец кадров УП и зажигается
выход контроллера Q1.1

Рис. 9. Блок-схема подпрограммы «ручной режим»

В автоматическом режиме работы (рис. 10) проверяется состояние


кнопки SB1 (пуск / стоп), если она нажата, то в зависимости от значения

22
промежуточной переменной VB20 производится либо останов робота
(блокировка прерываний, выдача нулевых заданий на САР), либо запуск робота
в работу с первого кадра программы (деблокировка прерываний, установка
указателя кадров АС1 на первый кадр УП).
Подпрограмма «автомат»
начало

Определение нажатия
нет да
I1.3 кнопки «Пуск»/«Стоп»

нет да
V20.0
Останов приводов

блокировка прерываний AQW0=0 AQW2=0


AQW4=0 AQW6=0 AQW8=0 V20.1=1

нет not да Запуск расчета РП,


V20.1 обнуление номера
текущего кадра

деблокировка прерываний VB0=0

нет да Установка указателя на


VB0=0 первый кадр УП

AC1=&101 V20.0=1

нет да
Δφ<128 Запуск таймера при
перемещении в
заданную позицию
Взвод таймера T34 (TON) (пауза м/у кадрами УП)

нет VB0=VB1 да
00 and T34
Переход на начало УП
после отработки
VB0=0 AC1=&VB101 последнего кадра

нет T34 and да


not V20.1
Переход к след. кадру:
увеличение номера
текущего кадра,
inc(VB0) VB31=block_move(*AC1, 10) AC1=AC1+10 копирование кадра в
буфер, сдвиг указателя
на следующий кадр
конец

Рис. 10. Блок-схема подпрограммы «автомат»

Далее вычисляются ошибки всех контуров положения, и если все ошибки


оказываются меньше допустимых, то кадр УП считается выполненным и

23
запускается таймер T34 для обеспечения паузы между кадрами. После этих
операций проверяется состояние таймера паузы Т34; если он сработал, то
осуществляется переход к следующему кадру УП или к первому кадру, если
программа закончилась.
Подпрограмма обработки таймерного прерывания включает в себя
операции опроса датчиков положения, расчета контуров положения и
выставления заданий на скорость. Опрос датчика положения заключается в
выдаче сигнала запроса чтения на датчик путем установления
соответствующего выхода контроллера (Q0.0…Q0.4) в 0. При этом остальные
выходы контроллера должны находиться во взведенном состоянии, чтобы
избежать попытки выдачи кода несколькими датчиками одновременно.
Осуществить опрос датчика удобно, записав определенный код по адресу QB0.
Данные коды и соответствующие им опрашиваемые датчики приведены ниже.

Коды, используемые для опроса датчиков

Контролируемый узел Код


Поворот кисти………. 23
Наклон кисти………... 27
Рука…………………... 30
Плечо………………… 15
Поворот……………… 29

Кадр УП занимает в памяти контроллера 10 байт (по 2 байта на каждое


звено) и хранит в себе информацию о заданном положении всех звеньев робота.
В программе использованы следующие переменные: VB0 – номер
текущего кадра; VB1 .. VB10 – переменные, хранящие текущие состояния
датчиков робота; T34 – таймер с задержкой включения, используемый для
организации задержки между кадрами; VB100 – число кадров управляющей
программы; VB101 … – массив состояний датчиков робота (кадры УП); AC1
– указатель, используемый для перемещения по кадрам УП; VB20 –
переменная, необходимая для закрепления функций «Пуск» / «Стоп» за одной

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, модифицировать программу,
загрузить модифицированную программу в контроллер и проверить ее
работоспособность.

УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ РАБОТЫ


При решении задачи использовать команды блока Bit Logic: normally
open (нормально открытый контакт), normally close (нормально закрытый
контакт) и команду блока Move: move word (Mov_W) (переслать слово).

СОДЕРЖАНИЕ ОТЧЕТА
1. Цель работы и задание на работу.
2. Краткая характеристика системы управления роботом.
3. Созданные при выполнении работы фрагменты кода.

1. Юревич Е.И. Основы робототехники / Е.И. Юревич. 2-е изд., перераб. и


доп. СПб.: БХВ-Петербург, 2005.
2. Зенкевич С.Л. Управление роботами / С.Л. Зенкевич, А.С. Ющенко.
М.: Изд-во МГОУ им. Н.Э. Баумана, 2000.
3. Программируемый контроллер S7-200. Системное руководство
C79000-G7076-C233-02. Выпуск. 2. Siemens AG, 1999.
(http://www.automation.siemens.com)

26
ПРИЛОЖЕНИЯ

Приложение 1

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ УПРАВЛЕНИЯ


ОДНОЙ КООРДИНАТОЙ РОБОТА МП-9С

Главная программа

Подпрограмма автоматического режима работы

27
Подпрограмма ручного режима работы

28
Подпрограмма непрерывного режима работы

29
Подпрограмма пошагового режима работы

Приложение 2

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ УПРАВЛЕНИЯ


ОДНОЙ КООРДИНАТОЙ РОБОТА ТУР-10

Главная программа

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

Издательство УМЦ УПИ


620002, Екатеринбург, ул. Мира, 17, оф.134

37

Вам также может понравиться