Training
Программирование робота 1
KUKA System Software 8
Учебная документация
Программирование робота 1
Состояние на: 19.01.2015
Версия: P1KSS8 robot programming 1 (R2) V4
KUKA Roboter GmbH
Программирование робота 1
© Авторское право 2015
KUKA Roboter GmbH
Zugspitzstraße 140
D-86165 Augsburg
Германия
Копирование данной документации, полностью или частично, равно как и предоставление ее
третьим лицам разрешается только с однозначного разрешения компании KUKA Roboter
GmbH.
В системе управления могут работать другие, не описанные в данной документации функции.
Несмотря на это, при новой поставке или при сервисном обслуживании право на данные функции отсутствует.
Мы проверили содержание печатного документа на соответствие описанному аппаратному и
программному обеспечению. Однако, так как отклонения исключить невозможно, полное соответствие нами не гарантируется. Содержащиеся в данном печатном документе сведения регулярно проверяются, и необходимые исправления включаются в следующее издание.
Возможны технические изменения, не оказывающие влияния на работу.
Перевод оригинальной документации
KIM-PS5-DOC
2 / 313
Публикация:
Pub COLLEGE P1KSS8 Roboterprogrammierung 1 (R2) (PDF-COL) ru
Структура книги:
P1KSS8 Roboterprogrammierung 1 (R2) V3.1
Версия:
P1KSS8 robot programming 1 (R2) V4
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Содержание
Содержание
1
Структура и функции системы робота KUKA .......................................
7
1.1
Обзор ........................................................................................................................
7
1.2
Робот – основы .........................................................................................................
7
1.3
Механика робота KUKA ...........................................................................................
8
1.4
Система управления роботом (V)KR C4 ................................................................
10
1.5
Пульт управления KUKA smartPAD ........................................................................
12
1.6
Обзор smartPAD .......................................................................................................
14
1.7
Программирование робота .....................................................................................
15
1.8
Система безопасности робота ................................................................................
17
2
Перемещение робота ................................................................................
21
2.1
Обзор ........................................................................................................................
21
2.2
Чтение и интерпретация сообщений системы управления роботом ...................
21
2.3
Выбор и установка режима работы ........................................................................
23
2.4
Отсоединение пульта smartPAD .............................................................................
27
2.5
Перемещение осей робота по отдельности .........................................................
31
Упражнение: управление и перемещение вручную по осям ...........................
37
2.6
2.5.1
Системы координат относительно робота .............................................................
38
2.7
Перемещение робота в универсальной системе координат ................................
39
2.7.1
Упражнение: управление и перемещение вручную в универсальной системе
координат ............................................................................................................................
44
3
Ввод робота в эксплуатацию ..................................................................
45
3.1
Обзор ........................................................................................................................
45
3.2
Режим ввода в эксплуатацию .................................................................................
45
3.3
Принцип юстировки ..................................................................................................
47
3.4
Юстировка робота ....................................................................................................
50
Упражнение: Юстировка робота ........................................................................
58
3.5
Нагрузки на роботе ..................................................................................................
60
3.6
Данные нагрузки инструмента ................................................................................
60
3.7
Контроль данных нагрузки инструмента ................................................................
61
3.8
Дополнительные нагрузки на робот .......................................................................
63
3.9
Перемещение робота в системе координат инструмента ....................................
64
3.4.1
Упражнение: перемещение вручную в системе координат инструмента ......
68
3.10 Калибровка инструмента .........................................................................................
3.9.1
69
3.10.1
Упражнение: Калибровка инструмента со штифтом ........................................
79
3.10.2
Упражнение: калибровка инструмента с захватом, метод 2 точек .................
83
3.11 Перемещение робота в основной системе координат ..........................................
87
3.11.1
Упражнение: перемещение вручную в основной системе координат ............
91
3.12 Калибровка базы ......................................................................................................
92
3.12.1
Упражнение: калибровка базы стола, метод 3 точек .......................................
97
3.13 Запрос текущего положения робота .......................................................................
99
4
Выполнение программы робота .............................................................
103
4.1
Обзор ........................................................................................................................
103
4.2
Выполнение перемещения инициализации ...........................................................
103
4.3
Выбор и запуск программ робота ...........................................................................
104
4.4
Упражнение: выполнение программ робота ..........................................................
111
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 / 313
Программирование робота 1
5
Обращение с файлами программы ........................................................
5.1
Обзор ........................................................................................................................
113
5.2
Создание программных модулей ...........................................................................
113
5.3
Обработка программных модулей .........................................................................
114
5.4
Архивирование и восстановление программ робота ...........................................
115
5.5
Воспроизведение изменений программ и состояний с помощью протокола .....
117
6
Создание и изменение запрограммированных перемещений ..........
121
6.1
Обзор ........................................................................................................................
121
6.2
Коррекция существующих точек движения ...........................................................
121
6.3
Создание перемещений с оптимизацией времени такта (осевое перемещение)
123
6.4
Упражнение: Программа Air – обращение с программой и перемещения SPTP
130
6.5
Создание перемещений по траекториям ...............................................................
132
6.5.1
SCIRC: ориентировочные характеристики – пример вспомогательной точки
145
6.5.2
SCIRC: ориентировочные характеристики – пример целевой точки ..............
147
6.5.3
Ограничения для $CIRC_MODE ........................................................................
148
6.6
Изменение команд перемещения ..........................................................................
149
6.7
Упражнение: перемещение по траектории и сглаживание ..................................
154
7
Программирование перемещений Spline ..............................................
157
7.1
Обзор ........................................................................................................................
157
7.2
Программирование блоков Spline с помощью встроенных формуляров ............
157
7.3
Профиль скоростей движений Spline .....................................................................
158
7.4
Изменения в блоках Spline ......................................................................................
161
7.5
Выбор записи при движениях Spline ......................................................................
163
7.6
Сглаживание движений Spline ................................................................................
164
7.7
Замена сглаженного перемещения CP блоком Spline ..........................................
165
7.7.1
Переход SLIN-SPL-SLIN .....................................................................................
168
7.8
Программирование блоков CP-SPLINE с помощью встроенных формуляров ..
168
7.9
Программирование блоков PTP-SPLINE с помощью встроенных формуляров .
171
7.10 Упражнение: Контур траектории с блоком Spline ..................................................
175
8
Использование логических функций в программе робота ...............
177
8.1
Обзор ........................................................................................................................
177
8.2
Введение в программирование логики ..................................................................
177
8.3
Программирование функций ожидания .................................................................
178
8.4
Программирование простых функций переключения ...........................................
182
8.5
Программирование логики с помощью SPLINE ....................................................
185
Программирование триггера Spline ..................................................................
187
Отсчетная точка при сглаживании – обзор .................................................
Отсчетная точка при равномерном сглаживании .......................................
Отсчетная точка при смешанном сглаживании (Spline) .............................
Отсчетная точка при смешанном сглаживании (LIN/CIRC/PTP) ................
Ограничения для функций в триггере ..........................................................
190
190
192
193
193
8.5.2
Программирование условного останова ..........................................................
194
8.5.3
Программирование области неизменного движения ......................................
197
Выбор строки в область неизменного движения ........................................
Максимальные пределы ...............................................................................
198
199
Упражнение: Программирование перемещения с помощью Spline ....................
201
8.5.1
8.5.1.1
8.5.1.2
8.5.1.3
8.5.1.4
8.5.1.5
8.5.3.1
8.5.3.2
8.6
4 / 313
113
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Содержание
9
Использование технологических пакетов ............................................
203
9.1
Обзор ........................................................................................................................
203
9.2
Управление захватом с KUKA.GripperTech ............................................................
203
9.3
Программирование захвата с помощью KUKA.GripperTech .................................
204
9.4
Конфигурация KUKA.GripperTech ...........................................................................
207
9.5
Упражнение: программирование захвата с табличкой .........................................
210
10
Конфигурация и программирование внешних инструментов ..........
213
10.1 Обзор ........................................................................................................................
213
10.2 Перемещение робота ..............................................................................................
213
10.2.1
Перемещение вручную со стационарным инструментом ................................
213
10.2.2
Упражнение: перемещение вручную со стационарным инструментом ..........
215
10.3 Ввод робота в эксплуатацию ..................................................................................
216
10.3.1
Калибровка стационарного инструмента ..........................................................
216
10.3.2
Калибровка управляемой роботом заготовки ...................................................
218
10.3.3
Упражнение: калибровка внешнего инструмента и ведомой роботом заготовки
221
10.4 Создание и изменение запрограммированного перемещения ............................
226
10.4.1
Программирование перемещений с внешней точкой TCP ..............................
226
10.4.2
Упражнение: Программирование перемещения с внешней точкой TCP .......
227
Введение в уровень эксперта .................................................................
229
11
11.1 Обзор ........................................................................................................................
229
11.2 Использование уровня эксперта .............................................................................
229
11.3 Создание структуры программы робота ................................................................
232
11.4 Связывание программ робота ................................................................................
235
11.5 Упражнение: программирование вызова подпрограммы ....................................
238
12
Переменные и описания ...........................................................................
239
12.1 Обзор ........................................................................................................................
239
12.2 Хранение данных в KRL ..........................................................................................
239
12.3 Работа с простыми типами данных ........................................................................
242
12.3.1
Объявление переменных ...................................................................................
242
12.3.2
Инициализация переменных с простыми типами данных ...............................
244
12.3.3
Манипуляция значениями переменных простых типов данных с помощью KRL
246
12.4 Отображение переменных ......................................................................................
250
12.5 Упражнение: простые типы данных ........................................................................
252
13
Использование контроля выполнения программы ............................
255
13.1 Обзор ........................................................................................................................
255
13.2 Программирование циклов .....................................................................................
255
13.2.1
Программирование бесконечного цикла ...........................................................
255
13.2.2
Программирование цикла с подсчетом .............................................................
257
13.2.3
Программирование отклоняемого цикла ..........................................................
259
13.2.4
Программирование неотклоняемого цикла ......................................................
261
13.3 Программирование запросов или переходов ........................................................
262
13.4 Программирование распределителя (SWITCH- CASE) ........................................
264
13.5 Программирование команды перехода ..................................................................
267
13.6 Программирование функций ожидания в KRL ......................................................
268
13.6.1
268
Зависящая от времени функция ожидания ......................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
5 / 313
Программирование робота 1
13.6.2
14
6 / 313
Зависимая от сигнала функция ожидания ........................................................
269
Работа с системой управления верхнего уровня ................................
273
14.1 Обзор ........................................................................................................................
273
14.2 Подготовка к запуску программы от ПЛК ...............................................................
273
14.3 Настройка соединения с ПЛК (Cell.src) ..................................................................
275
14.4 Вопросы: работа с системой управления верхнего уровня .................................
277
15
Приложение ................................................................................................
279
15.1 Программирование перемещений с распознаванием столкновения ..................
279
15.2 Программирование функций переключения траектории .....................................
285
15.3 Конфигурирование и применение режима «Внешняя автоматика» ....................
292
15.4 Сокращения ..............................................................................................................
301
15.5 Дополнительные упражнения .................................................................................
303
15.5.1
304
Упражнение: программирование захвата со штифтом ...................................
15.5.2
Упражнение: способы программирования циклов ...........................................
306
15.5.3
Упражнение: Область неизменного движения и условный останов ..............
307
15.5.4
Упражнение: Внешняя автоматика ...................................................................
308
Индекс ..........................................................................................................
309
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
1
Структура и функции системы робота KUKA
т
у
1.1
т
у
Обзор
В этом учебном разделе рассматриваются следующие элементы:
1.2
запуск робота;
механика робота KUKA;
система управления роботом KR C4;
пульт KUKA smartPad;
программирование робота;
безопасность на роботе.
Робот – основы
Что такое робот?
Термин робот образован от славянского слова работа, который означает тяжелый труд.
Официальное определение промышленного робота звучит следующим образом: «робот – свободно программируемый, управляемый
программой манипулятор».
К робототехнической система также относятся система управления и
пульт управления, а также их соединительные кабели и ПО.
Рис. 1-1: Промышленный робот
1
Система управления (шкаф управления (V)KR C4)
2
Манипулятор (механика робота)
3
Пульт управления и программирования (KUKA smartPAD)
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 / 313
Программирование робота 1
Все за пределами системы промышленного робота обозначается в ка
честве периферийного оборудования:
1.3
инструменты (рабочие органы);
предохранительное приспособление;
ленты транспортеров;
датчики;
машины;
и т. д.
Механика робота KUKA
Что такое
манипулятор?
Манипулятор – собственная механика робота. Он состоит из определенного количества подвижных соединенных друг с другом звеньев (осей).
Речь идет о кинематической цепочке.
Рис. 1-2: Манипулятор
1
Манипулятор (механика робота)
2
Запуск кинематической цепочки: основание робота
(ROBROOT)
3
Свободный конец кинематической цепочки: фланец
(FLANGE)
A1-A6
Оси робота 1-6
Перемещение отдельных осей выполняется посредством направленного регулирования серводвигателей. Они соединены через редукторы с
отдельными компонентами манипулятора.
8 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
Рис. 1-3: Обзор компонентов механики робота
1
Станина
4
Балансир
2
Карусель
5
Манипулятор
3
Компенсатор веса
6
Рука
Компоненты механики робота преимущественно изготовлены из алюминиевого и стального литья. В отдельных случаях также применяются компоненты из углеродного волокна.
Отдельные оси пронумерованы снизу (опора робота) вверх (фланец робота):
Рис. 1-4: Оси робота KUKA
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 / 313
Программирование робота 1
Выдержка из технических данных манипуляторов из ассортимента про
дукции KUKA:
количество осей:
4 оси в KR40 PA;
6 осей у стандартных вертикальных роботов с шарнирной рукой;
7 осей у роботов легкой конструкции.
Радиус действия: от 0,7 м (KR6 R700) до 3,9 м (KR 120 R3900 ultra K)
Собственный вес: от 23 кг(LBR iiwa 7 R800) до 4700 кг (KR1000
Titan).
Точность: точность повторяемости 0,03-0,2 мм.
Зоны основных осей от A1 до A3 и ручной оси робота A5 ограничены механическими концевыми упорами с амортизаторами.
Ось 1
Ось 2
Ось 3
На дополнительных осях можно установить отдельные концевые упоры.
При столкновении робота или одной из дополни
тельных осей с каким-либо препятствием или их
столкновении с амортизатором робота на механическом концевом упоре устройства ограничения зоны оси существует риск повреждения робототехнической системы. Перед повторном пуске робототехнической
системы в эксплуатацию следует проконсультироваться со специалис
тами компании KUKA Roboter GmbH . Поврежденный амортизатор необходимо немедленно заменить новым, прежде чем возобновлять эксплуатацию робота. При столкновении робота (дополнительной оси) с
амортизатором со скоростью, превышающей 250 мм/с, робот (дополнительную ось) следует заменить, или же должен быть выполнен их повторный пуск в эксплуатацию специалистами компании KUKA Roboter
GmbH.
1.4
Система управления роботом (V)KR C4
Кто обеспечивает перемещение?
10 / 313
Механика робота приводится в движение серводвигателями, которыми
управляет система управления (V)KR C4.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
Рис. 1-5: Шкаф управления (V)KR C4
Свойства системы управления (V)KR C4
Система управления роботом (планирование траектории): управление шестью осями робота, а также дополнительными внешними осями числом до двух
с системой управления (V)KR C4
Рис. 1-6: Регулирование осей (V)KR C4
Система управления роботом (планирование траектории): управление шестью осями робота, а также дополнительными внешними осями числом до шести
с системой управления (V)KR C4 extended
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 / 313
Программирование робота 1
Рис. 1-7: Регулирование осей (V)KR C4 extended
Опциональное управление процессом: встроенный программируемый ПЛК KUKA.PLC согласно IEC61131
Управление безопасностью
Управление перемещением
Возможности связи через системы шин (напр., ProfiNet, Ethernet IP,
Interbus):
программируемые системы управления (ПЛК);
дополнительные системы управления;
датчики и исполнительные элементы.
Возможности связи по сети:
управляющий компьютер;
дополнительные системы управления;
сервисный ноутбук.
Рис. 1-8: Возможности связи (V)KR C4
1.5
Пульт управления KUKA smartPAD
Как управлять
роботом KUKA?
12 / 313
Управление роботом KUKA осуществляется посредством ручного пульта
управления – KUKA smartPAD.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
Рис. 1-9
Отличительные особенности пульта KUKA smartPAD:
сенсорный экран (чувствительная к касаниям панель управления)
для ручного управления или управления с помощью встроенного стилуса;
большой крупноформатный экран;
кнопка вызова меню KUKA;
гибко используемые клавиши +/- (напр., в качестве клавиш перемещения);
клавиши для управления технологическими пакетами;
клавиши для выполнения программы (останов/назад/вперед);
клавиша для вывода на экран клавиатуры;
замочный выключатель для смены режима работы;
кнопка АВАРИЙНОГО ОСТАНОВА;
пространственная мышь;
съемная;
разъем USB.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 / 313
Программирование робота 1
1.6
Обзор smartPAD
Рис. 1-10
Поз.
Описание
1
Кнопка для отсоединения пульта управления smartPAD.
2
Замок-выключатель для вызова менеджера соединений. Переключатель можно установить в другое положение только
при вставленном ключе.
С помощью менеджера соединений можно изменить режим
работы.
14 / 313
3
Устройство АВАРИЙНОГО ОСТАНОВА. Служит для останова
робота в опасных ситуациях. Устройство АВАРИЙНОГО ОСТАНОВА при нажатии блокируется.
4
Пространственная мышь: Служит для перемещения робота
вручную.
5
Клавиши перемещения: служат для перемещения робота
вручную.
6
Кнопка для установки программной коррекции.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
Поз.
Описание
7
Кнопка для установки ручной коррекции.
8
Кнопка вызова главного меню: выводит пункты меню на экран
smartHMI.
9
Клавиши состояния. Клавиши состояния в основном служат
для настройки параметров из пакетов технологий. Их функция
зависит от установленных пакетов технологий.
10
Клавиша пуска: клавишей пуска запускается программа.
11
Клавиша обратного пуска: Клавишей обратного пуска запускают программу в обратном направлении. Программа обрабатывается поэтапно.
12
Клавиша СТОП: клавиша СТОП останавливает работающую
программу.
13
Клавиша клавиатуры:
Эта клавиша выводит на экран клавиатуру. Обычно клавиатуру не нужно вызывать отдельно: интерфейс smartHMI определяет, когда требуется ввод данных с помощью клавиатуры, и
она автоматически появляется на экране.
1.7
Программирование робота
Посредством программирования робота обеспечивается возможность
автоматической и всегда регулярной обработки процедур и процессов
перемещений. Для этого системе управления требуется большое количество информации:
На каком языке
«говорит»
система управления?
актуальное положение робота = положение актуального инструмента
(Tool) в актуальном пространстве (база);
вид перемещения;
скорость/ускорение;
сигнальная информация для условий ожидания, переходов, зависимостей и т. д.
Язык программирования – KRL - KUKA Robot Language.
Простые программы создаются при помощи заданных формуляров
(встроенных формуляры). Для циклов используется KRL.
Пример программы:
LOOP
SPTP P1 Vel=100% PDAT1 Tool[2] Base[4]
SPTP P2 Vel=100% PDAT2 Tool[2] Base[4]
SPTP P3 Vel=100% PDAT3 Tool[2] Base[4]
SLIN P4 Vel=2m/s CPDAT4 Tool[2] Base[4]
...
ENDLOOP
Как программировать робот
KUKA?
Для программирования робота KUKA можно использовать различные
методы программирования:
Интерактивное программирование с помощью метода обучения;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 / 313
Программирование робота 1
Рис. 1-11: Программирование робота с помощью пульта KUKA
smartPAD
Автономное программирование:
графическое интерактивное программирование: моделирование процесса робота;
Рис. 1-12: Моделирование с KUKA Sim
текстовое программирование: программирование с помощью
представления панели пульта smartPAD на управляющем ПК верхнего уровня (также для диагностики, интерактивной наладки запущенной программы).
Рис. 1-13: Программирование робота с помощью KUKA OfficeLite
16 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
1.8
Система безопасности робота
Система робота всегда должна быть оснащена соответствующими предохранительными устройствами. К ним относятся, например, разъединяющие защитные устройства (ограждения, дверцы и т. д.), кнопки
аварийного останова, переключатели безопасности, ограничители зон
осей и т. д.
Пример: учебная
ячейка
Рис. 1-14: Учебная ячейка
1
Защитное ограждение
2
Механические концевые упоры или ограничители зон осей 1, 2 и
3
3
Защитная дверь с дверным контактом для контроля функции закрывания
4
Кнопка аварийного останова (внешняя)
5
Кнопка аварийного останова, кнопка подтверждения, замочный
выключатель для вызова менеджера соединений
6
Встроенная система управления безопасностью (V)KR C4
Использование системы робота без функциони
рующих предохранительных и защитных уст
ройств может привести к травмам или материальному ущербу. При демонтированных или дезактивированных предохранительных и защит
ных устройствах эксплуатировать систему робота запрещено.
Устройство
аварийного
останова
Промышленный робот оснащен кнопкой аварийного останова на KCP.
Данную кнопку необходимо нажимать в опасной или аварийной ситуации.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
17 / 313
Программирование робота 1
Реакция промышленного робота при нажатии кнопки аварийного остано
ва:
манипулятор и дополнительные оси (опция) переключаются в режим
безопасного останова 1.
Для продолжения работы следует деблокировать кнопку аварийного останова посредством вращения и квитировать появившееся после этого
сообщение.
Если от инструментов или других устройств, соединенных с манипулятором, может исходить
опасность, необходимо интегрировать их в контур АВАРИЙНОГО ОСТАНОВА на установке.
Несоблюдение данного предупреждения может привести к гибели людей, тяжелым травмам или значительному материальному ущербу.
Следует установить не менее одного внешнего устройства аварийного
останова. В этом случае устройство аварийного останова доступно даже
при отключенном устройстве KCP.
Внешний
аварийный
останов
На каждой станции управления, которая может выполнить перемещение
робота или создать другую опасную ситуацию, должны быть установлены устройства аварийного останова. За это несет ответственность системный интегратор.
Следует установить не менее одного внешнего устройства аварийного
останова. В этом случае устройство аварийного останова доступно даже
при отключенном устройстве KCP.
Внешние устройства аварийного останова подключаются через интерфейс пользователя. Внешние устройства аварийного останова не входят
в комплект поставки промышленного робота.
Cистема защиты
оператора
Сигнал защиты оператора служит для блокировки разделительных защитных приспособлений, таких как защитные двери. Без этого сигнала
невозможен автоматический режим работы. При потере сигнала во время работы в автоматическом режиме (например, при открытии защитных
дверей) манипулятор переключается в режим безопасного останова 1.
В режимах тестирования «Вручную, пониженная скорость» (T1) и «Вручную, высокая скорость» (T2) система защиты оператора не действует.
После потери сигнала разрешается продолжать
работу в автоматическом режиме только после за
крывания защитного приспособления и квитирования этого закрывания.
Необходимость квитирования предотвращает возобновление работы в
автоматическом режиме по неосторожности, когда в опасной зоне находятся люди, например, при непреднамеренном закрывании защитной
двери.
Процесс квитирования должно быть организован таким образом, чтобы
предварительно проводилась фактическая проверка опасной зоны.
Другие типы квитирования (например, автоматическое квитирование
после закрывания защитного устройства) не допускаются.
За выполнение данных требований ответственность несет системный
интегратор. Несоблюдение требований может привести к гибели людей, тяжелым травмам или материальному ущербу.
18 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
1 Структура и функции системы робота K...
Безопасный
рабочий останов
Внешний
безопасный
останов 1 и
внешний
безопасный
останов 2
Безопасный рабочий останов также можно выполнить с помощью входа
в пользовательском интерфейсе. Это состояние будет поддерживаться
до тех пор, пока внешний сигнал будет находиться в состоянии FALSE.
Как только внешний сигнал переключится в состояние TRUE, можно будет снова перемещать манипулятор. Квитирование не требуется.
Внешний безопасный останов 1 и внешний безопасный останов 2 могут
быть выполнены с помощью входа в интерфейсе пользователя. Это состояние будет поддерживаться до тех пор, пока внешний сигнал будет
находиться в состоянии FALSE. Как только внешний сигнал переключится в состояние TRUE, можно будет снова перемещать манипулятор. Квитирование не требуется.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
19 / 313
Программирование робота 1
20 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
2
Перемещение робота
2.1
Обзор
2
В этом учебном разделе рассматриваются следующие элементы:
2.2
чтение и интерпретация сообщений;
выбор и настройка режимов работы;
перемещение осей робота по отдельности;
перемещение робота в универсальной системе координат;
отсоединение пульта smartPAD;
перемещение робота в системе координат инструмента;
перемещение робота в основной системе координат.
Чтение и интерпретация сообщений системы управления роботом
Обзор
сообщений
Рис. 2-1: Окно сообщений и счетчик сообщений
1
Окно сообщений: показано текущее сообщение
2
Счетчик сообщений: количество сообщений для каждого типа сообщений
С помощью окна сообщений система управления взаимодействует с оператором. Она поддерживает пять различных видов сообщений:
Обзор типов сообщений:
Символ
Тип
Квитируемое сообщение
Предназначены для представления состояний, при которых для дальнейшей обработки программы робота требуется подтверждение оператора (напр., квитирование
АВАРИЙНОГО ОСТАНОВА).
Квитируемые сообщения всегда приводят к тому, что робот останавливается или не запускается.
Сообщение о состоянии
Сообщения о состоянии показывают текущее состояние
системы управления (напр., «АВАРИЙНЫЙ ОСТАНОВ»)
Сообщения о состоянии невозможно квитировать, пока
это состояние сохраняется.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
21 / 313
Программирование робота 1
Символ
Тип
Информационное сообщение
Информационные сообщения предоставляют информацию для надлежащего управления роботом (напр., «Требуется нажатие кнопки запуска»).
Информационные сообщения можно квитировать. Однако их квитирование необязательно, поскольку они не останавливают работу системы управления.
Сообщение об ожидании
Сообщения об ожидании указывают на событие (состояние, сигнал или время), которое ожидает система управления.
Сообщения об ожидании можно вручную прервать нажатием на экранную кнопку «Выполнить моделирование».
Команду «Выполнить моделирование» можно ис
пользовать только в том случае, если столкновения или другие опасности исключены!
Диалоговое сообщение
Диалоговые сообщения используются для прямой связи с
пользователем/запроса действия пользователя.
Показывается окно сообщений с экранными кнопками, которые содержат различные варианты ответа.
Нажатием на кнопку OK можно квитировать квитируемое сообщение. Нажатием на кнопку Все OK можно сразу квитировать
все квитируемые сообщения.
Влияние
сообщений
Сообщения оказывают влияние на функциональность робота. Квитируемые сообщения всегда приводят к тому, что робот останавливается или
не запускается. Чтобы робот начал выполнять перемещения, сначала
следует квитировать сообщение.
Команда OK (квитирование) требует от пользователя ознакомиться с
текстом сообщения.
Советы по обращению с сообщениями:
внимательно прочитать;
сначала прочитать старые сообщения. Новое сообщение может быть следствием старого;
Обращение с
сообщениями
22 / 313
не нажимать просто на кнопку «Все OK»;
особенно после запуска: просмотреть сообщения. Для этого вывести на экран все сообщения. Нажатие на окно сообщений раскроет
список сообщений.
Сообщения всегда показываются с датой и временем, чтобы можно было
воспроизвести точное время события.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
Рис. 2-2: Квитирование сообщений
Порядок действий для просмотра и квитирования сообщений:
1. Коснуться окна сообщений, чтобы раскрыть список сообщений.
2. Квитирование:
квитировать отдельные сообщения нажатием на кнопку OK;
альтернатива: квитировать все сообщения нажатием на кнопку
Все OK.
3. Повторное касание верхнего сообщения или касание значка «X» в левой части экрана снова закроет список сообщений.
2.3
Выбор и установка режима работы
Режимы работы
робота KUKA
Указания по
технике безопасности для
режимов работы
T1 (вручную, пониженная скорость):
для режима тестирования, программирования и обучения;
скорость в программном режиме: макс. 250 мм/с;
скорость в ручном режиме: макс. 250 мм/с.
T2 (вручную, высокая скорость):
для режима тестирования;
скорость в программном режиме соответственно запрограммированной скорости;
ручной режим: невозможен.
AUT (автоматика):
для промышленных роботов без системы управления верхнего
уровня;
скорость в программном режиме соответственно запрограммированной скорости;
pучное перемещение при помощи клавиш перемещения или пространственной мыши.
AUT EXT (внешняя автоматика):
для промышленных роботов с системой управления верхнего
уровня (ПЛК);
скорость в программном режиме соответственно запрограммированной скорости;
ручной режим: невозможен.
Ручные режимы работы T1 и T2
Ручной режим работы предназначен для работ по наладке. Работы по
наладке – это все работы, которые должны быть проведены в робототехнической системе, чтобы стала возможной ее эксплуатация в автоматическом режиме. К ним относятся:
обучение/программирование;
выполнение программ в пошаговом режиме (тестирование/проверка).
Новые или измененные программы сначала всегда должны быть испытаны в режиме работы Вручную, пониженная скорость (T1).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
23 / 313
Программирование робота 1
Режим работы Вручную, пониженная скорость (T1):
защита оператора (защитная дверь) не контролируется;
количество людей, находящихся в ограниченном защитным устройством пространстве, должно быть сокращено до минимума.
Если все же необходимо, чтобы внутри пространства, ограниченного
защитными приспособлениями, находилось несколько человек, учитывать следующие положения:
все люди должны иметь открытый вид на робототехническую систему;
все люди должны постоянно поддерживать между собой визуальный контакт;
оператор должен занять положение, которое позволяет просматривать опасную зону и тем самым предотвратить опасность.
Режим работы – Вручную, высокая скорость (T2):
защита оператора (защитная дверь) не контролируется;
в расхождение со стандартом в учебных ячейках KUKA College
защитная дверь контролируется и должна быть закрытой;
данный режим работы разрешается использовать только в случае,
если это требуется для проведения проверки с большей скоростью,
чем в режиме «Вручную, пониженная скорость»;
обучение в этом режиме работы невозможно;
перед началом проверки оператор должен убедиться, что устройства
подтверждения функционируют;
за счет запуска программ в режиме T2 обеспечивается достижение
запрограммированной скорости;
оператор и другие лица должны занять положение вне опасной зоны.
Режимы работы Автоматика и Внешняя автоматика:
Реакции
останова
предохранительные устройства и защитные приспособления должны
иметься в наличии и полностью функционировать;
все люди должны находиться вне пространства, ограниченного защитными устройствами.
Реакции останова промышленного робота происходят вследствие действий оператора или в качестве реакции на процедуры контроля и сооб
щения об ошибках. Ниже в таблицах перечислены реакции останова в
зависимости от установленного режима работы.
Инициатор
T1, T2
AUT, AUT EXT
Отпускание клавиши
запуска
STOP 2
-
Нажатие клавиши останова
24 / 313
STOP 2
Приводы ВЫКЛ.
STOP 1
Отмена входного сигнала деблокировки
перемещения
STOP 2
Отключение системы
управления роботом
(исчезновение напряжения)
STOP 0
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
Инициатор
Внутренняя ошибка в
компоненте системы
управления, не относящемся к безопасности
T1, T2
AUT, AUT EXT
STOP 0 или STOP 1
(зависит от причины ошибки)
Смена режима работы
во время эксплуатации
Безопасный останов 2
Открытие защитной
двери (защиты оператора)
-
Безопасный останов 1
Отпускание кнопки подтверждения
Безопасный останов 2
-
Нажатие кнопки подтверждения до отказа
или ошибка
Безопасный останов 1
-
Задействование АВАРИЙНОГО ОСТАНОВА
Безопасный останов 1
Ошибка в системе
управления безопасностью или в периферийном оборудовании
системы управления
безопасностью
Безопасный останов 0
Термин
Описание
Безопасный рабочий останов
Безопасный рабочий останов – это функция контроля останова. Он
не останавливает перемещение самого робота, а контролирует
состояние останова осей робота. Если оси перемещаются при безопасном рабочем останове, срабатывает безопасный останов
STOP 0.
Безопасный рабочий останов также можно выполнить внешними
средствами.
При активации безопасного рабочего останова система управления
роботом передает сигнал через безопасный выход (X13, SIB
extended) или, альтернативно, через безопасный протокол полевой
шины на вышестоящую систему управления. Выход также задействуется в том случае, если к моменту срабатывания остановлены
не все оси, что ведет к срабатыванию безопасного останова
STOP 0.
Безопасный останов STOP 0
Останов, который выполняется по команде системы управления
безопасностью. Система управления безопасностью мгновенно
отключает приводы и подачу питания к тормозам.
Указание: этот останов обозначается в настоящей документации в
качестве безопасного останова 0.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
25 / 313
Программирование робота 1
Термин
Описание
Безопасный останов STOP 1
Останов, который выполняет и контролирует система управления
безопасностью. Процесс торможения выполняется компонентом
системы управления роботом, который не относится к безопасности, и контролируется системой управления безопасностью. Как
только манипулятор останавливается, система управления безопасностью отключает приводы и подачу питания к тормозам.
При срабатывании безопасного останова STOP 1 система управления роботом задействует выход через магистральную шину.
Безопасный останов STOP 1 также можно выполнить внешними
средствами.
Указание: этот останов обозначается в настоящей документации в
качестве безопасного останова 1.
Безопасный останов STOP 2
Останов, который выполняет и контролирует система управления
безопасностью. Процесс торможения выполняется компонентом
системы управления роботом, который не относится к безопасности, и контролируется системой управления безопасностью. Приводы остаются включенными, а тормоза – разомкнутыми. Сразу
после остановки манипулятора срабатывает безопасный рабочий
останов.
При срабатывании безопасного останова STOP 2 система управления роботом задействует выход через магистральную шину.
Безопасный останов STOP 2 также можно выполнить внешними
средствами.
Указание: этот останов обозначается в настоящей документации в
качестве безопасного останова 2.
Категория останова 0
Приводы незамедлительно отключаются, после чего срабатывают
тормоза. Манипулятор и дополнительные оси (опция) останавливаются вблизи траектории перемещения.
Указание: данная категория останова обозначается в документации как STOP 0.
Категория останова 1
Через 1 секунду отключаются приводы и срабатывают тормоза.
Манипулятор и дополнительные оси (опция) останавливаются
точно на траектории перемещения.
Указание: данная категория останова обозначается в документации как STOP 1.
Категория останова 2
Приводы не отключаются, а тормоза не срабатывают. Манипулятор
и дополнительные оси (опция) останавливаются со временем торможения согласно траектории перемещения.
Указание: данная категория останова обозначается в документации как STOP 2.
Порядок
действий
При переключении режима работы во время эксплуатации проис
ходит незамедлительное отключение приводов. Промышленный
робот останавливается при безопасном останове 2.
1. На пульте KCP установить переключатель для вызова менеджера соединений в другое положение. На экране появится менеджер соеди-
26 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
нений.
2. Выбрать режим работы.
3. Установить переключатель для вызова менеджера соединений в исходное положение.
Выбранный режим работы появится в строке состояния пульта
smartPAD.
2.4
Отсоединение пульта smartPAD
Описание
отсоединения
пульта smartPAD
Функция
отсоединения
пульта smartPAD
Пульт smartPAD можно отключить при работающей системе управления роботом.
Пульт smartPAD можно подсоединить в любой момент.
Подключенный пульт smartPAD примет текущий режим работы системы управления.
При подсоединении вариант (версия встроенного программного
обеспечения) пульта smartPAD не имеет значения, поскольку он обновляется автоматически.
Через 30 с после подсоединения пульта кнопка АВАРИЙНОГО ОСТАНОВА и переключатель подтверждения восстановят свою работоспособность.
Пользовательский интерфейс smartHMI автоматически снова появится на экране (это длится не более 15 секунд).
Если пульт управления smartPAD отсоединен, установку невозможно отключить посредством кноп
ки АВАРИЙНОГО ОСТАНОВА на пульте smartPAD. Поэтому должно
быть подключено внешнее устройство АВАРИЙНОГО ОСТАНОВА к
системе управления роботом.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
27 / 313
Программирование робота 1
Пользователь должен позаботиться о том, чтобы
отсоединенные пульты управления smartPAD
были незамедлительно удалены из установки и уложены на хранение
вне поля зрения и досягаемости персонала, обслуживающего промышленный робот. Это необходимо для того, чтобы не перепутать действующие и недействующие устройства АВАРИЙНОГО ОСТАНОВА.
Если эти меры не будут приняты, возможен смертельный исход, тяжелые телесные повреждения
или значительный материальный ущерб.
При подключении пульта smartPAD к системе управления роботом пользователь должен оста
ваться рядом с пультом не менее 30 с, т. е. до восстановления работоспособности кнопки АВАРИЙНОГО ОСТАНОВА и переключателя под
тверждения. Так можно избежать того, что другой пользователь попытается воспользоваться недействующим АВАРИЙНЫМ ОСТАНОВОМ в
опасной ситуации.
Порядок
действий для
отсоединения
пульта smartPAD
Отсоединение:
1. Для отсоединения нажать кнопку на пульте smartPAD.
На smartHMI появится сообщение и счетчик. Счетчик запустится на
25 с. В течение этого времени можно отключить пульт smartPAD от
системы управления роботом.
Рис. 2-3: Кнопка отсоединения пульта smartPAD
При отключении пульта smartPAD без запуска
счетчика срабатывает аварийный останов. Аварийный останов можно отменить только с помощью повторного подсоединения пульта smartPAD.
2. Открыть двери распределительного шкафа (V)KR C4.
3. Отсоединить пульт smartPAD от системы управления роботом.
28 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
Рис. 2-4: Отсоединение smartPAD
1
Штекер во вставленном состоянии
2
Повернуть верхнюю черную деталь прибл. на 25° в направлении стрелки
3
Потянуть штекер вниз
4. Закрыть двери распределительного шкафа (V)KR C4.
По истечении времени счетчика в том случае, если пульт
smartPAD не был отсоединен, ничего не произойдет. Можно нажимать кнопку для отсоединения как угодно часто, чтобы вывести на экран счетчик.
Подсоединение:
1. Убедиться, что используется тот же вариант пульта smartPAD.
2. Открыть двери распределительного шкафа (V)KR C4.
3. Подсоединить штекер пульта smartPAD.
Соблюдать маркировку на разъеме и штекере
пульта smartPAD!
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
29 / 313
Программирование робота 1
Рис. 2-5: Подсоединение пульта smartPAD
1
Штекер в отсоединенном состоянии (соблюдать маркировку)
2
Потянуть штекер вверх. При смещении вверх верхняя черная деталь самостоятельно повернется прибл. на 25°.
3
Штекер самостоятельно защелкнется, т. е. маркировки
находятся друг над другом
При подключении пульта smartPAD к системе управления роботом пользователь должен оста
ваться рядом с пультом не менее 30 с, до восстановления работоспособности кнопки аварийного останова и переключателя подтвержде
ния. Так можно избежать того, что другой пользователь попытается воспользоваться недействующим АВАРИЙНЫМ ОСТАНОВОМ в опасной
ситуации.
4. Закрыть двери распределительного шкафа (V)KR C4.
30 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
2.5
Перемещение осей робота по отдельности
Описание:
перемещение по
осям
Рис. 2-6: Оси робота KUKA
Перемещение осей робота
Принцип
Переместить каждую ось по отдельности в положительном или отрицательном направлении.
Для этого используются клавиши перемещения или пространственная мышь KUKA smartPAD.
Скорость можно изменить (ручная коррекция: HOV).
Перемещение вручную возможно только в режиме работы T1.
Кнопка подтверждения должна быть нажата.
Приводы активируют нажатием на клавишу подтверждения. Если
приводы деблокированы, маркировка клавиш перемещения окрашивается в зеленый цвет. При нажатии клавиши перемещения или пространственной мыши запускается система регулирования осей
робота и выполняется нужное перемещение.
Возможно как постоянное перемещение, так и инкрементальное перемещение. Для этого необходимо выбрать размер шага (инкрементальный размер) в строке состояния. (>>> "Порядок действий"
Страница 34)
На ручной режим работы оказывают действие следующие сообщения:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
31 / 313
Программирование робота 1
Сообщение
Причина
Способ устранения
«Активные
команды
заблокированы»
Возникло сообщение или состояние
(останова), которое привело к блокированию активных команд (напр.,
нажата кнопка АВАРИЙНОГО ОСТАНОВА или приводы еще не готовы).
Деблокировать кнопку АВАРИЙНОГО ОСТАНОВА и/или квитировать сообщения в окне сообщений.
После нажатия клавиши подтверждения приводы немедленно станут
доступны.
«Программный конечный
выключатель A5»
Программный конечный выключатель показанной оси (напр., A5) был
подведен в указанном направлении
(«+» или «-»).
Переместить указанную ось в противоположном направлении.
Указания по
технике безопасности для
перемещения по
осям вручную
Режим работы
Ручное управление роботом возможно только в режиме работы T1 (вручную, пониженная скорость). Скорость перемещения вручную в режиме
T1 составляет макс. 250 мм/с. Режим работы устанавливается с помощью менеджера соединений.
Кнопка подтверждения
Чтобы перемещать робот, кнопка подтверждения должна быть нажата.
На пульте smartPAD размещено три кнопки подтверждения. Каждая из
кнопок подтверждения имеет три положения:
не нажата;
среднее положение;
нажата до отказа (экстренное положение).
Программный концевой выключатель
Перемещение робота при перемещении по осям вручную также ограничено положительным и отрицательным максимальными значениями программного концевого выключателя.
Если в окне сообщений появится сообщение
«Выполнить юстировку», возможно перемещение за эти пределы. Это может привести к повреждению системы робота.
Порядок
действий:
выполнение
осевого перемещения
32 / 313
1. Выбрать в качестве опции для клавиш перемещения Оси.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
2. Установить ручную коррекцию.
3. Установить переключатель подтверждения в среднее положение и
удерживать переключатель в нем.
4. Рядом с клавишами перемещения показаны оси от A1 до A6.
Нажать клавишу перемещения «плюс» или «минус» для перемещения по оси в положительном или отрицательном направлении.
Инкрементальное перемещение вручную
Описание
Инкрементальное перемещение вручную позволяет перемещать робот
на определенное расстояние, например, на 10 мм или 3°. После этого робот самостоятельно останавливается.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
33 / 313
Программирование робота 1
Инкрементальное перемещение вручную может быть включено при пе
ремещении клавишами. При перемещении пространственной мышью инкрементальное перемещение вручную невозможно.
Области применения:
Условие
Порядок
действий
Позиционирование точек на равных расстояниях
Отвод из позиции на определенное расстояние, например, в случае
ошибки
Юстировка стрелочным индикатором
Активирован вид перемещения «Клавиши перемещения».
Выбран режим работы T1.
1. Выбрать инкрементальный размер в линейке состояний:
Рис. 2-7: Инкрементальное перемещение вручную
2. Переместить робот клавишами перемещения. Возможно прямоугольное или осевое перемещение.
После того как заданный инкремент будет достигнут, робот останавливается.
Если прервать движение робота, например, отпустив переключатель
подтверждения, при следующем движении прерванный инкремент не будет продолжен, а начинается новый инкремент.
В распоряжении имеются следующие опции:
Значение
Описание
Непрерывно
Инкрементальное перемещение вручную отключено.
100 мм/10°
1 инкремент = 100 мм или 10°
10 мм/3°
1 инкремент = 10 мм или 3°
1 мм/1°
1 инкремент = 1 мм или 1°
0,1 мм/0,005°
1 инкремент = 0,1 мм или 0,005°
Инкременты в мм:
при прямоугольном перемещении в направлении X, Y или Z.
Инкременты в градусах:
34 / 313
при прямоугольном перемещении в направлении A, B или C;
при осевом перемещении.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
Перемещение
робота в
аварийной
ситуации без
системы управления
Рис. 2-8: Устройство свободного вращения
Описание
В аварийной ситуации или в случае возникновения неисправности
перемещение робота может быть осуществлено механически при по
мощи устройства свободного вращения.
Устройство свободного вращения также может быть использовано
для приводных двигателей основной оси и для приводных двигате
лей ручной оси в зависимости от исполнения робота.
Данное устройство разрешается применять только в исключительных случаях и в аварийных ситуациях, например, для освобождения
людей.
При использовании устройства свободного вращения должно обеспечиваться безупречное функционирование тормозов.
Для этого должна быть проведена проверка тормозов. В случае
отрицательного результата проверки необходимо заменить дви
гатели.
Если проверка тормозов в системе управления недоступна или не
может быть проведена, соответствующие двигатели должны
быть заменены.
Во время эксплуатации двигатели достигают вы
соких температур, в связи с чем возникает опасность получения ожогов кожи. Не касаться двигателей! Принять соответствующие меры безопасности, например, надеть защитные
перчатки.
Порядок действий
1. Выключить систему управления роботом и предохранить ее от несанкционированного включения (например, с помощью висячего замка).
2. Снять с двигателя защитную крышку.
3. Установить устройство свободного вращения на соответствующий
двигатель, и переместить ось в требуемом направлении.
В качестве опции можно заказать маркировку направлений со стрелками на двигателях. Сопротивление механического тормоза двигателя и дополнительные осевые нагрузки должны быть преодолены.
Пример для двигателя оси 2:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
35 / 313
Программирование робота 1
Рис. 2-9: Порядок действий с устройством свободного вращения
Поз.
Описание
1
Двигатель A2 с закрытой защитной крышкой
2
Открывание защитной крышки на двигателе A2
3
Двигатель A2 со снятой защитной крышкой
4
Установка устройства свободного вращения на двигатель
A2
5
Устройство свободного вращения
6
Табличка (опция) с описанием направления вращения
При перемещении оси посредством устройства
свободного вращения существует риск повреждения тормоза двигателя. Это может привести к травмам персонала и
материальному ущербу. По окончании использования устройства свободного вращения необходимо заменить соответствующий двигатель.
Дополнительные сведения приведены в инструкции по эксплуа
тации и монтажу робота.
36 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
2.5.1
Упражнение: управление и перемещение вручную по осям
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
включение и выключение системы управления роботом;
основное управление роботом с помощью пульта smartPad;
перемещение робота вручную по осям с помощью клавиш перемещения и пространственной мыши;
интерпретация и устранение причин первых простых системных сообщений.
Чтобы успешно завершить это упражнение, требуется следующее:
участие в инструктаже по технике безопасности;
Указание!
Перед началом упражнения следует принять участие в инструк
таже по технике безопасности и задокументировать это!
Постановка
задач
теоретические знания об общем управлении системой промышленного робота KUKA;
теоретические знания о перемещении вручную по осям.
Выполнить следующие задачи:
1. Включить шкаф управления и дождаться фазы запуска.
2. Деблокировать и квитировать АВАРИЙНЫЙ ОСТАНОВ.
3. Убедиться, что установлен режим работы T1.
4. Активировать осевое перемещение вручную.
5. Выполнить осевое перемещение робота с различными установками
ручной коррекции (HOV) с помощью клавиш ручного перемещения и
пространственной мыши.
6. Определить область перемещения отдельных осей; при этом учитывать имеющиеся препятствия, напр., стол или магазин с кубиками, со
стационарным инструментом (проверка доступности).
7. При достижении программного концевого выключателя следить за
окном сообщений.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
37 / 313
Программирование робота 1
2.6
Системы координат относительно робота
При управлении, программировании и пуске промышленных роботов в
эксплуатацию системы координат имеют большое значение. В системе
управления роботом заданы следующие системы координат:
ROBROOT
Система координат основания робота
WORLD
Универсальная система координат
BASE
Основная система координат
FLANGE
Система координат фланца
TOOL
Система координат инструментов
Рис. 2-10: Системы координат на роботе KUKA
38 / 313
ROBROOT
Зафиксировано в основании робота.
Это начало координат робота.
Это отсчетная точка для системы координат WORLD.
WORLD
В состоянии поставки совпадает с системой координат
ROBROOT.
Может быть «выдвинута» из основания робота.
Описывает положение системы координат WORLD по отношению
к системе координат ROBROOT.
Используется, кроме прочего, в робототехнических системах
стенного и потолочного монтажа.
BASE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
2.7
Система координат, свободно определяемая заказчиком
Описывает положение базы по отношению к системе координат
WORLD.
Используется для калибровки заготовок и приспособлений.
FLANGE
Система координат FLANGE зафиксирована во фланце робота.
Начало координат – середина фланца робота.
Это отсчетная точка для системы координат TOOL.
TOOL
Система координат, свободно определяемая заказчиком.
Начало системы координат TOOL обозначается как TCP - Tool
Center Point.
Использование для калибровки инструментов.
Перемещение робота в универсальной системе координат
Перемещение в
универсальной
системе
координат
Рис. 2-11: Принцип перемещения вручную в универсальной системе
координат
Инструмент робота может перемещаться согласно направлениям координат универсальной системы координат.
При этом перемещаются все оси робота.
Для этого используются клавиши перемещения или пространственная мышь KUKA smartPAD.
В стандартной установке универсальная система координат находится в основании робота.
Скорость можно изменить (ручная коррекция: HOV).
Перемещение вручную возможно только в режиме работы T1.
Кнопка подтверждения должна быть нажата.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
39 / 313
Программирование робота 1
Пространственная мышь
Принцип
перемещения
вручную в
универсальной
системе
координат
Пространственная мышь обеспечивает интуитивное перемещение
робота и является идеальным решением для перемещения вручную
в универсальной системе координат.
Положение мыши и степени свободы можно изменять.
Робот может перемещаться в системе координат двумя различными способами:
линейно (прямолинейно) вдоль направлений ориентации системы координат: X, Y, Z;
вращательно (поворачиваясь/наклоняясь) вокруг направлений ориентации системы координат: угол A, B и C.
Рис. 2-12: Система прямоугольных координат
При команде перемещения (напр., нажатии на кнопку перемещения) система управления сначала рассчитывает отрезок. Исходной точкой отрезка является отсчетная точка инструмента (TCP). Направление отрезка
устанавливает универсальная система координат. Система управления
управляет всеми осями таким образом, что инструмент проводится по
этому отрезку (перенос) или вращается вокруг него (поворот).
Преимущества использования универсальной системы координат:
перемещение робота всегда является предсказуемым;
перемещения TCP в пространстве всегда однозначны, поскольку начало и направления координат всегда известны;
универсальная система координат всегда доступна для применения
на юстированном роботе;
пространственная мышь обеспечивает интуитивное управление.
Использование пространственной мыши
С помощью пространственной мыши возможны все виды перемещений:
40 / 313
линейно: посредством нажатия и вытягивания пространственной
мыши;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
Рис. 2-13: Пример: перемещение влево
вращательно: посредством поворота и наклона пространственной мыши.
Рис. 2-14: Пример: вращательное перемещение вокруг оси Z: угол А
Соответственно положению человека и робота можно отрегулировать положение пространственной мыши.
Рис. 2-15: Пространственная мышь: 0° и 270°
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
41 / 313
Программирование робота 1
Выполнение
линейных
перемещений
(унив.)
1. Установить положение KCP посредством перемещения ползунка (1).
2. Выбрать в качестве опции для пространственной мыши Унив..
3. Установить ручную коррекцию.
42 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
2 Перемещение робота
4. Установить кнопку подтверждения в среднее положение и удерживать переключатель в нем.
5. Переместить робот с помощью пространственной мыши в соответствующем направлении.
6. Также в качестве альтернативы можно использовать клавиши перемещения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
43 / 313
Программирование робота 1
2.7.1
Упражнение: управление и перемещение вручную в универсальной системе координат
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
включение и выключение системы управления роботом;
основное управление роботом с помощью пульта smartPad;
перемещение робота вручную в универсальной системе координат с
помощью клавиш перемещения и пространственной мыши;
интерпретация и устранение причин первых простых системных сообщений.
Чтобы успешно завершить это упражнение, требуется следующее:
участие в инструктаже по технике безопасности;
Указание!
Перед началом упражнения следует принять участие в инструк
таже по технике безопасности и задокументировать это!
Постановка
задач
теоретические знания об общем управлении системой промышленного робота KUKA;
теоретические знания о перемещении в универсальной системе координат.
1. Деблокировать и квитировать АВАРИЙНЫЙ ОСТАНОВ.
2. Убедиться, что установлен режим работы T1.
3. Активировать универсальную систему координат.
4. Взять кубик из магазина с кубиками и позиционировать его на столе.
5. Попытаться выверить захват робота по кубику.
6. Закрыть захват. Кубик не должен переместиться при закрывании захвата.
7. Снять кубик со стола и уложить его в любом другом месте.
8. Перейти от управления клавишами к управлению мышью.
Что следует знать сейчас:
1. Как квитировать сообщения?
.............................................................
.............................................................
2. Какая пиктограмма обозначает универсальную систему координат?
a)
b)
c)
d)
3. Как называется настройка скорости для перемещения вручную?
.............................................................
4. Какие режимы работы существуют?
.............................................................
.............................................................
44 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3
Ввод робота в эксплуатацию
д
3.1
Обзор
т
В этом учебном разделе рассматриваются следующие элементы:
3.2
режим ввода в эксплуатацию;
юстировка робота;
калибровка инструмента;
калибровка базы.
Режим ввода в эксплуатацию
Описание
Если, например, после повторного ввода в эксплуатацию отсутствует
защитная периферия (напр., внешний аварийный останов), перемещение робота невозможно.
Устранить это состояние позволяет режим ввода в эксплуатацию, допускающий перемещение робота с пониженной скоростью T1.
За счет этого возможны такие действия по вводу в эксплуатацию, как
юстировка робота.
Промышленный робот можно переключить в режим ввода в эксплуатацию с помощью пользовательского интерфейса smartHMI.
При активном соединении с системой безопасности режим ввода в
эксплуатацию завершается или блокируется.
При использовании режима пуска в эксплуатацию отключаются все внешние защитные приспособления.
Возможные опасности и риски при использовании режима пуска в
эксплуатацию:
Человек может попасть в опасную зону манипулятора.
Постороннее лицо может переместить манипулятор.
В случае опасности может быть задействовано неактивное внешнее
устройство АВАРИЙНОГО ОСТАНОВА; в этом случае манипулятор
не будет отключен.
Дополнительные меры предосторожности для снижения риска в
режиме пуска в эксплуатацию:
Закрыть бездействующие устройства АВАРИЙНОГО ОСТАНОВА или
обозначить их соответствующими предупреждающими знаками.
При отсутствии защитного ограждения следует принять другие меры,
чтобы не допустить нахождения людей в опасной зоне манипулятора
(например, с помощью ограничительной ленты).
Cледует ограничить использование режима пуска в эксплуатацию
другими организационными средствами или избегать работы в этом
режиме.
Обслуживающий персонал должен позаботиться о том, чтобы в течение того времени, пока защитные приспособления будут отключены,
никто не попал или не находился вблизи опасной зоны манипулято
ра.
Правила надлежащего использования режима пуска в эксплуатацию:
К работе в режиме пуска в эксплуатацию следует допускать только
персонал, прошедший соответствующий инструктаж по технике безопасности.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
45 / 313
Программирование робота 1
Использование
не по назначению
Условие
Разрешается использовать для определения места неисправности
(ошибок периферийного оборудования).
При пуске в эксплуатацию
Любое использование, не являющееся использованием по назначению, рассматривается как недопустимое неправильное использование. К этому также относится использование оборудования
посторонними лицами.
За возникшие вследствие этого повреждения компания KUKA
Roboter GmbH ответственности не несет. Ответственность за это несет исключительно компания-пользователь.
Условия для конфигурации PROFIsafe:
PROFIsafe активировано в конфигурации системы безопасности.
Требуется группа пользователей «Эксперт».
Путь меню: Кнопка KUKA > Конфигурация > Группа пользователей
При наличии или установке соединения с вышестоящей системой безопасности с ПЛК система управления роботом предотвращает или
завершает работу в режиме ввода в эксплуатацию.
Условия для конфигурации KSS: X11 / SIB, или VSS: XS2 + XS5 / SIB
Требуется группа пользователей «Эксперт».
Путь меню:Кнопка KUKA > Конфигурация > Группа пользователей
KR C4: X311 должен быть установлен в качестве перемычки на CCU
KR C4 compact: не требуется, перемычка отсутствует.
Системное программное обеспечение 8.2 и предыдущие версии:
Режим ввода в эксплуатацию возможен только в том случае, если все
входные сигналы
KSS: X11, или VSS: XS2 + XS5
в предохранительном интерфейсе находятся в состоянии «логический ноль». Если это условие не выполняется, система управления роботом блокирует или завершает режим ввода в эксплуатацию.
Системное программное обеспечение 8.3:
режим ввода в эксплуатацию доступен постоянно. Это означает, что
он не зависит от состояния входных сигналов в предохранительном
интерфейсе X11.
Порядок
действий
Активация режима пуска в эксплуатацию
Путь меню: KUKA клавиша > Пуск в эксплуатацию > Сервисное
обслуживание > Режим пуска в эксплуатацию
Меню
Описание
Включен режим пуска в эксплуатацию. Касание этого пункта
меню отключает этот режим.
Режим пуска в эксплуатацию
выключен. Касание этого пункта
меню включает этот режим.
Активированное состояние режима пуска в эксплуатацию отображается желтым мигающим индикатором IBN в HMI.
Выводится сообщение Активен режим пуска в эксплуатацию,
АВАРИЙНЫЙ ОСТАНОВ действует ТОЛЬКО ЛОКАЛЬНО.
46 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-1: Режим пуска в эксплуатацию
3.3
Принцип юстировки
Зачем нужна
юстировка?
Промышленный робот можно оптимально использовать только в том
случае, если он полностью и верно отъюстирован. Только в этом случае
обеспечивается полная точность прохождения точек и траектории и во
обще возможны запрограммированные перемещения.
При юстировке каждой оси робота присваивается отсчетное зна
чение. Это позволяет системе управления роботом определять
место нахождения оси.
Полный процесс юстировки включает в себя юстировку каждой отдельной оси. С помощью технического вспомогательного средства (EMD Electronic Mastering Device (электронное наладочное устройство)) каждой
оси в механическом нулевом положении присваивается отсчетное
значение (напр., 0°). Поскольку таким образом механические и электрические положения осей приводятся в соответствие, каждая ось получает
однозначное значение угла. Для юстировки малого робота Agilus используется MEMD - microEMD.
Положение юстировки является сходным для всех роботов, но все же не
одинаковым. Даже отдельные роботы одного типа могут иметь некоторые различия в точности положения.
Рис. 3-2: Положение юстировочных патронов
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
47 / 313
Программирование робота 1
Угловые значения механических нулевых положений (= отсчетные значения)
Когда выполняется
юстировка?
Ось
Поколение роботов
Quantec
Другие типы роботов
(напр., серия 2000, KR 16
и т. д.)
A1
-20°
0°
A2
-120°
-90°
A3
+110°
+90°
A4
0°
0°
A5
0°
0°
A6
0°
0°
В целом, робот всегда должен быть отъюстирован. Юстировку следует
выполнить в следующих случаях:
При пуске в эксплуатацию
после проведения профилактических мероприятий на компонентах,
которые задействованы в определении значения положения (напр.,
двигатель с синус.-косинус. преобразователем или RDC);
если оси робота перемещались без системы управления, напр., с помощью устройства свободного вращения;
после механических ремонтных работ/неисправностей сначала следует деюстировать робот перед тем, как можно будет провести юстировку:
после замены редуктора;
после перемещения до концевого упора со скоростью более 250
мм/с;
после столкновения.
Перед проведением профилактических мероприятий целесооб
разно проверить текущую юстировку.
Указания по
технике безопасности для
юстировки
При неотъюстированных осях робота функции робота значительно ограничены:
программный режим невозможен: невозможно обработать запрограммированные точки;
декартово ручное перемещение невозможно: перемещения в системах координат невозможны;
программные концевые выключатели дезактивированы.
При деюстированном роботе программные кон
цевые выключатели дезактивированы. Робот может дойти до амортизаторов на концевых упорах, что может вызвать его
повреждение, а амортизаторы придется заменить. Деюстированный робот по возможности не перемещать или в максимально возможной сте
пени уменьшить ручную коррекцию.
48 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Выполнение
юстировки
Рис. 3-3: Использование EMD
В процессе юстировки определяется механическая нулевая точка оси.
При этом ось перемещается до тех пор, пока не будет достигнута механическая нулевая точка. Это верно, когда измерительный штифт достиг
самой нижней точки в измерительной насечке. Поэтому каждая ось оснащена юстировочным патроном и юстировочной меткой.
Рис. 3-4: Процесс юстировки EMD
1
Электронное наладочное
устройство (EMD)
4
Измерительная насечка
2
Измерительный патрон
5
Предварительное обозначение юстировки
3
Измерительный штифт
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
49 / 313
Программирование робота 1
3.4
Юстировка робота
Возможности
для юстировки
робота
Рис. 3-5: Возможности юстировки
Стандартная юстировка
Столбец на изображении: Низкая точность и низкая нагрузка
Этот вид юстировки используется в следующих случаях:
робот в своем прикладном окружении ведет стационарный инструмент с постоянным весом (напр., сопло для нанесения клея)
или приложение требует меньшей точности (напр., укладка пакетов на поддоны).
Юстировка с коррекцией нагрузки
Столбец на изображении: Высокие требования к точности или
несколько расчетных случаев нагрузки
Этот вид юстировки используется в следующих случаях:
Для чего нужна
настройка
смещения?
50 / 313
одновременно требуется высокая точность (напр., при лазерной
сварке);
робот работает в прикладном поле с переменными нагрузками
(напр., захват с нагрузкой и без нее).
Из-за веса закрепленного на фланце инструмента на робот действует
постоянная нагрузка. Из-за обусловленной материалом эластичности
компонентов и редукторов могут возникнуть различия между положением ненагруженного и нагруженного робота. Эти различия в несколько малых инкрементов влияют на точность работы робота.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-6: Настройка смещения
Настройка смещения выполняется с нагрузкой. Разность по отношению
к первичной юстировке (без нагрузки) сохраняется в памяти.
Если робот работает с различными нагрузками, функция настройки смещения должна быть выполнена для каждой нагрузки. Для захватов, работающих с тяжелыми деталями, настройка смещения должна быть
выполнена для захвата без детали и для захвата с деталью.
С требуемой высокой точностью может работать только робот, отъюстированный с коррекцией нагрузки. Поэтому для каждой нагрузки следует
настроить соответствующее смещение. Условие заключается в том, что
должна быть выполнена геометрическая калибровка инструмента и таким образом присвоен номер инструмента.
Файлы журнала
юстировки
Во время юстировки робота особые данные юстировки записываются
в файл журнала.
Рассчитанные смещения сохраняются в градусах в C:\KRC\ROBOTER\LOG\Mastery.log.
В файле Mastery.log сохраняются следующие особые данные юстировки:
штамп времени (дата, время);
ось;
серийный номер робота;
значение юстировки (FirstEncoderValue);
Номер инструмента
значение смещения (Encoder Difference) в градусах на двигателе.
Пример файла Mastery.log:
Date: 01.09.11 Time: 13:41:07 Axis 1 Serialno.: 864585
Mastering (FirstEncoderValue: 1.138909)
First
Date: 01.09.11 Time: 13:42:07 Axis 2 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.644334)
Date: 01.09.11 Time: 13:42:56 Axis 3 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.745757)
Date: 01.09.11 Time: 13:43:29 Axis 4 Serialno.: 864585
First Mastering (FirstEncoderValue: 1.450234)
Date: 01.09.11 Time: 13:44:03 Axis 5 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.686983)
Date: 01.09.11 Time: 13:44:30 Axis 6 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.901439)
...
Date: 01.09.11
Time: 14:07:10
Axis 1 Serialno.: 864585
Tool Teaching for Tool No 1 (Encoder Difference: -0.001209)
Date: 01.09.11
Time: 14:08:44
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
51 / 313
Программирование робота 1
Axis 2 Serialno.: 864585
Tool Teaching for Tool No 1 (Encoder Difference: 0.005954)
...
Порядок
действий для
первичной
юстировки
Первичную юстировку разрешается проводить
только в том случае, если нагрузка на робот отсутствует. Не разрешается монтировать никаких инструментов и дополнительных нагрузок.
1. Привести робот в предъюстировочное положение.
Рис. 3-7: Примеры предъюстировочного положения
2. В главном меню выбрать пункт Пуск в эксплуатацию > Юстировка
> EMD > С коррекцией нагрузки > Первичная юстировка.
Откроется окно. Будут показаны все юстируемые оси. Выделена ось
с самым низким номером.
3. Снять с оси, выделенной в окне, защитную крышку измерительного
патрона. Повернутое устройство EMD может служить в качестве отвертки. Навинтить устройство EMD на измерительный патрон.
Рис. 3-8: Привинченное к измерительному патрону устройство EMD
4. После этого подсоединить измерительный провод к устройству EMD
и подключить его к разъему X32 на коробке выводов робота.
52 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-9: Провод EMD, подключенный
Всегда привинчивать устройство EMD к измерительному патрону без измерительного провода.
Только после этого подключить измерительный провод к устройству
EMD. Иначе возможно повреждение измерительного провода.
Точно так же при демонтаже устройства EMD сначала следует снять измерительный провод с устройства EMD. Только после этого снять устройство EMD с измерительного патрона.
После выполнения юстировки отсоединить измерительный провод от
разъема Х32. В противном случае это может привести к помехам или
материальному ущербу.
5. Нажать кнопку Юстировка.
6. Нажать и удерживать нажатым переключатель подтверждения в
среднем положении; нажать и удерживать нажатой клавишу запуска.
Рис. 3-10: Клавиша подтверждения и запуска
Когда устройство EMD пройдет самую нижнюю точку измерительной
насечки, положение юстировки будет достигнуто. Робот автоматически остановится. Значения сохранятся в памяти. Ось в окне будет
затемнена.
7. Отсоединить измерительный провод от устройства EMD. Затем снять
устройство EMD с измерительного патрона и снова установить защитную крышку.
8. Повторить шаги 2 - 5 для всех юстируемых осей.
9. Закрыть окно.
10. Отсоединить измерительный провод от разъема X32.
Порядок
действий для
настройки
смещения
Настройка смещения выполняется с нагрузкой. Разность по отношению
к первичной юстировке сохраняется в памяти.
1. Привести робот в предъюстировочное положение.
2. В главном меню выбрать пункт Ввод в экспл. > Юстировка > EMD >
С коррекцией нагрузки > Настройка смещения.
3. Ввести номер инструмента. Подтвердить клавишей Инстр. OK.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
53 / 313
Программирование робота 1
Откроется окно. Показываются все оси, для которых инструмент еще
не был запрограммирован. Выделена ось с самым низким номером.
4. Снять с оси, выделенной в окне, защитную крышку измерительного
патрона. Навинтить устройство EMD на измерительный патрон. После этого подсоединить измерительный провод к устройству EMD и
подключить его к разъему X32 на коробке выводов станины.
5. Нажать кнопку Настройка.
6. Нажать переключатель подтверждения и клавишу запуска.
Когда устройство EMD обнаружит самую нижнюю точку измерительной насечки, положение юстировки достигнуто. Робот автоматически
остановится. Откроется окно. Отображается отклонение для этой оси
от первичной юстировки в градусах и инкрементах.
7. Нажать для подтверждения кнопку OK. Ось в окне будет затемнена.
8. Отсоединить измерительный провод от устройства EMD. Затем снять
устройство EMD с измерительного патрона и снова установить защитную крышку.
9. Повторить шаги 3 - 7 для всех юстируемых осей.
10. Отсоединить измерительный провод от разъема X32.
11. Покинуть окно, нажав кнопку Закрыть.
Порядок
действий
проверки/
установки
юстировки
нагрузки со
смещением
Юстировка нагрузки со смещением выполняется с нагрузкой. Рассчитывается первичная юстировка.
1. Привести робот в предъюстировочное положение.
2. В главном меню выбрать пункт Пуск в эксплуатацию > Юстировка
> EMD > С коррекцией нагрузки > Юстировка нагрузки > Со смещением.
3. Ввести номер инструмента. Подтвердить клавишей Инстр. OK.
4. Снять крышку с разъема X32 и подключить измерительный провод.
5. Снять с оси, выделенной в окне, защитную крышку измерительного
патрона. (Повернутое устройство EMD может служить в качестве отвертки).
6. Навинтить EMD на измерительный патрон.
7. Подключить измерительный провод к EMD. При этом выровнять
красную точку штекера относительно паза в EMD.
8. Нажать кнопку Проверить.
9. Удерживать нажатым переключатель подтверждения и нажать клавишу запуска.
10. При необходимости сохранить значения, нажав кнопку Сохранить.
Прежние значения юстировки при этом будут удалены. Для восстановления утерянной первичной юстировки всегда сохранять значения.
11. Отсоединить измерительный провод от устройства EMD. Затем снять
устройство EMD с измерительного патрона и снова установить защитную крышку.
12. Повторить шаги 4 - 10 для всех юстируемых осей.
13. Закрыть окно.
14. Отсоединить измерительный провод от разъема X32.
Используемый способ юстировки (стандартный или с коррекцией
нагрузки) на существующих установках должен соответствовать
способу, применявшемуся при пуске в эксплуатацию. Ошибочный способ юстировки может привести к неправильной юстировке робота.
54 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Юстировочный
комплект SEMD/
MEMD
Описание
Юстировочный комплект SEMD/MEMD заменяет собой следующие
наладочные наборы:
EMT - электронная измерительная головка для KR C1 и KR C2
Для KR C2 необходим дополнительный адаптер.
EMD - электронное наладочное устройство для KR C4
Юстировочный комплект также доступен частями – SEMD или MEMD.
С помощью большого и малого юстировочного патрона, входящих в
комплект юстировочного комплекта SEMD/EMD, можно настроить все
варианты роботов.
MEMD - Micro Electronic Mastering Device (микроэлектронное
наладочное устройство)
для малых юстировочных патронов
SEMD - Standard Electronic Mastering Device (стандартное
электронное наладочное устройство)
для больших юстировочных патронов
Рис. 3-11: Юстировочный комплект SEMD/MEMD
П
оз
.
Описание
П
оз
.
Описание
1
Универсальный юстировочный блок
4
SEMD- датчик для больших
юстировочных патронов
2
Отвертка
5
Кабели
3
MEMD- датчик для малых
юстировочных патронов
Доступные юстировочные комплекты
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
55 / 313
Программирование робота 1
Юстировочны
й комплект
Артикульный
номер
SEMD/MEMD
00-228-936
Описание
Юстировочный прибор для всех
измерительных патронов (M8/
M20 с мелкой резьбой).
Подходит для всех типов роботов
SEMD
00-228-934
Юстировочный прибор для измерительных патронов с резьбой
M20.
Применяется, например, для
серии Quantec.
MEMD
00-208-642
Юстировочный прибор для измерительных патронов с мелкой
резьбой M8.
Подходит для роботов AGILUS.
Опция для KR
C2
00-228-327
Адаптерный кабель для применения SEMD в качестве KTL (юстировочный прибор для систем KR
C2).
Юстировка
малого робота
AGILUS
Рис. 3-12: Положение юстировки KR AGILUS
Угловые значения механических нулевых положений (= отсчетные значения)
56 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Ось
KR AGILUS
A1
0°
A2
-90°
A3
+90°
A4
0°
A5
0°
A6
0°
Юстировка осей 1-5 выполняется с помощью датчика MEMD для малых юстировочных патронов.
Юстировка A6 выполняется без MEMD.
Перед юстировкой необходимо привести A6 в юстировочное положение. (Имеется в виду перед общим процессом юстировки, а не непосредственно перед юстировкой самого A6). Для этого на A6
предусмотрены тонкие штриховые маркировки в металле.
Для приведения A6 в юстировочное положение необходимо точно
взаимно выверить эти штрихи.
При выполнении перемещения в положение юстировки важно по
прямой линии смотреть спереди на неподвижный штрих. Если
смотреть на штрих сбоку, то подвижный штрих не получится выровнять достаточно точно. В результате юстировка будет неверной.
Рис. 3-13: Юстировочное положение оси A6 – вид сверху спереди
В главном меню выбрать Ввод в эксплуатацию > Юстировка > Исходные данные.
Открывается окно опций Юстировка по исходным данным. На дисплее отображается выделенная ось A6.
Нажать кнопку Юстировка. Выполняется юстировка A6, после чего
ось в окне опций затемняется.
Закрыть окно.
Отсоединить кабель EtherCAT от разъема X32 и от блока MEMD.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
57 / 313
Программирование робота 1
3.4.1
Упражнение: Юстировка робота
Цель упражнения
Условия
Задание
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
подвод к предъюстировочному положению;
выбор нужного способа юстировки;
обращение с электронным наладочным устройством (EMD);
юстировка всех осей с помощью устройства EMD.
Чтобы успешно завершить это упражнение, требуется следующее:
теоретические знания об общем ходе юстировки;
теоретическое знание предъюстировочного положения;
1
Ось не в предъюстировочном положении
2
Ось в предъюстировочном положении
правильное подключение устройства EMD к роботу;
юстировка в меню ввода в эксплуатацию.
Выполнить следующие задачи:
1. Деюстировать все оси робота.
2. Переместить все оси робота по осям в предъюстировочное положение.
3. Выполнить на всех осях юстировку нагрузки со смещением с EMD/
MEMD.
4. Использовать для этого инструмент 14.
5. Вывести на экран фактическое положение по осям.
Что следует знать сейчас:
1. Для чего выполняется юстировка?
.............................................................
.............................................................
2. Указать угол механического нулевого положения для всех шести осей.
A1:
..............................
A2:
..............................
A3:
..............................
A4:
..............................
A5:
..............................
A6:
..............................
3. Что следует учитывать в случае с деюстированным роботом?
.............................................................
58 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
............................................................
............................................................
4. Какое средство для юстировки предпочтительно использовать?
............................................................
............................................................
5. Какие опасности существуют при перемещении робота с ввинченным
устройством EMD (стрелочным индикатором)?
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
59 / 313
Программирование робота 1
3.5
Нагрузки на роботе
Рис. 3-14: Нагрузки на роботе
3.6
1
Грузоподъемность
3
Дополнительная нагрузка на
ось 2
2
Дополнительная нагрузка на
ось 3
4
Дополнительная нагрузка на
ось 1
Данные нагрузки инструмента
Что
представляют
собой данные
нагрузки инструмента?
Под данными нагрузки инструмента понимают все установленные на
фланец робота нагрузки. Они образуют дополнительно установленную
на робот массу, которая должна перемещаться вместе с роботом.
К вводимым значениям относятся масса, положение центра тяжести
(точка, в которой масса оказывает действие) и моменты инерции масс с
относящимися к ним главным осям инерции.
Данные полезной нагрузки следует ввести в систему управления роботом и присвоить соответствующему инструменту.
Исключение: если данные полезной нагрузки уже были введены программой KUKA.LoadDataDetermination в систему управления роботом, то
вводить их вручную больше не нужно.
Данные нагрузки инструмента можно взять из следующих источников:
60 / 313
опция программного обеспечения KUKA.LoadDetermination (только
полезные нагрузки);
сведения изготовителя;
расчет вручную;
программы CAD.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Действие
данных нагрузки
Введенные данные нагрузки оказывают воздействие на большое количество процессов системы управления. К ним относятся:
алгоритмы системы управления (расчет ускорения);
контроль скорости и ускорения;
контроль моментов;
контроль возможности столкновения;
контроль энергии;
и многое другое.
Поэтому крайне важно ввести верные данные нагрузки. Если робот выполняет перемещения с верно установленными данными нагрузки, то:
Порядок
действий
робот работает с высокой точностью и эффективностью;
возможны операции перемещения с оптимальным временем такта;
повышается срок службы робота (благодаря малому износу).
1. В главном меню выбрать пункт Ввод в эксплуатацию > Калибровка
> Инструмент > Данные нагрузки инструмента.
2. В поле № инструмента ввести номер инструмента. Нажать кнопку
Продолжить для подтверждения.
3. Ввести данные полезной нагрузки:
поле M: масса;
поля X, Y, Z: положение центра тяжести по отношению к фланцу;
поля A, B, C: ориентация главных осей инерции по отношению к
фланцу;
поля JX, JY, JZ: моменты инерции масс.
(JX – инерция вокруг оси X системы координат, которая посредством A, B и C повернута по отношению к фланцу. JY и JZ – соответственно, инерции вокруг осей Y и Z).
4. Нажать кнопку Продолжить для подтверждения.
5. Нажать кнопку Сохранить.
3.7
Контроль данных нагрузки инструмента
Описание
У многих типов роботов система управления во время работы контролирует возникновение состояний перегрузки и недостаточной нагрузки. Такой контроль называется «Проверка данных нагрузки онлайн» (=
«OLDC» / «Online Load Data Check»).
Если OLDC регистрирует, например, недостаточную нагрузку, система
управления реагирует на это, например, сообщением. Реакции можно
конфигурировать.
Результат проверки можно также запросить с системной переменной
$LDC_RESULT.
Система OLDC доступна для типов роботов, на которых может также использоваться KUKA.LoadDataDetermination. Доступность OLDC для актуального типа роботов можно проверить посредством $LDC_LOADED
(TRUE = да).
Перегрузка
Перегрузка возникает, если фактическая нагрузка
выше конфигурированной.
Недостаточная
нагрузка
Недостаточная нагрузка возникает, если фактическая нагрузка ниже конфигурированной.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
61 / 313
Программирование робота 1
Активация и
конфигуриро
вание
Конфигурация OLDC возможна в следующих случаях:
При ручном вводе данных инструмента
При отдельном вводе данных нагрузки
В том же окне, в котором вводятся данные нагрузки, отображаются следующие поля:
Рис. 3-15: Проверка данных нагрузки онлайн
Поз.
1
Описание
TRUE: OLDC для отображенного в этом же окне инструмента
активно. При повышенной или недостаточной нагрузке выполняются определенные реакции.
FALSE: OLDC для отображенного в этом же окне инструмента
неактивно. При повышенной или недостаточной нагрузке реакция отсутствует.
2
3
NULLFRAME
Здесь можно определить, какая реакция должна происходить
при повышенной нагрузке.
Нет: без какой-либо реакции.
Предупреждение: система управления роботом выдает
следующее сообщение о состоянии: При проверке нагрузки робота (инструмент {№}) определена перегрузка.
Останов робота: система управления роботом выдает
квитируемое сообщение с таким же содержанием, как при
предупреждении. Робот останавливается по схеме останова STOP 2.
Здесь можно определить, какая реакция должна происходить
при недостаточной нагрузке. Возможные реакции аналогичны
вариантам при повышенной нагрузке.
Для движений, которым в качестве инструмента было присвоено
NULLFRAME, конфигурирование OLDC невозможно. Реакции на этот
случай предустановлены и не могут быть изменены пользователем.
Реакция при перегрузке: Остановить робота
Выводится следующее сообщение о квитировании: При проверке нагрузки робота (инструмент не определен) и заданных данных нагрузки определена перегрузка. Робот останавливается по схеме
останова STOP 2.
Реакция при недостаточной нагрузке: Предупреждение
Выводится следующее сообщение о состоянии: При проверке нагрузки робота (инструмент не определен) и заданных данных нагрузки определена недостаточная нагрузка.
62 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.8
Дополнительные нагрузки на робот
Дополнительные
нагрузки на
робот
Дополнительные нагрузки – дополнительно установленные на станину,
балансир или манипулятор компоненты, например:
система энергоснабжения;
клапаны;
система подачи материала;
запас материала.
Рис. 3-16: Дополнительные нагрузки на робот
Данные дополнительной нагрузки должны быть введены в систему управления роботом. К нужным данным относятся:
масса (m) в кг;
расстояние до центра тяжести массы относительно базовой системы
(X, Y и Z) в мм;
ориентация главных осей инерции относительно базовой системы (A,
B и C) в градусах (°);
моменты инерции массы вокруг осей инерции (Jx, Jy и Jz) в кгм².
Базовые системы значений X, Y, Z для каждой дополнительной нагрузки:
Нагрузка
Дополнительная нагрузка A1
Дополнительная нагрузка A2
Дополнительная нагрузка A3
Базовая система
Система координат ROBROOT
A1 = 0°
Система координат ROBROOT
A2 = -90°
Система координат FLANGE
A4 = 0°, A5 = 0°, A6 = 0°
Данные нагрузки можно взять из следующих источников:
опция программного обеспечения KUKA.LoadDetect (только полезные нагрузки);
сведения изготовителя;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
63 / 313
Программирование робота 1
Воздействие
дополнительных
нагрузок на
перемещение
робота
расчет вручную;
программы CAD.
Указание данных нагрузки воздействует на перемещение робота различным образом:
проектирование траекторий перемещения;
ускорения;
время такта;
износ.
Эксплуатация робота с неправильными или не
действительными данными нагрузки представля
ет опасность для физического здоровья и жизни персонала и/или может
привести к значительному материальному ущербу.
Порядок
действий
1. В главном меню выбрать пункт Ввод в эксплуатацию > Калибровка
> Данные дополнительной загрузки.
2. Ввести номер оси, на которой закреплена дополнительная нагрузка.
Нажать кнопку Продолжить для подтверждения.
3. Ввести данные нагрузки. Нажать кнопку Продолжить для подтверждения.
4. Нажать кнопку Сохранить.
3.9
Перемещение робота в системе координат инструмента
Перемещение
вручную в
системе
координат
инструмента
Рис. 3-17: Система координат Tool робота
При перемещении вручную в системе координат инструмента можно
перемещать робот соответственно направлениям координат заранее
откалиброванного инструмента.
Таким образом, система координат не является неподвижной (ср. с
универсальной/основной системой координат), а ведется роботом.
При этом перемещаются все требуемые оси робота. Выбор осей определяется системой и зависит от перемещения.
Начало системы координат инструмента называется TCP - Tool Center
Point и соответствует рабочей точке инструмента (напр., концу сопла
для нанесения клея).
64 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Для этого используются клавиши перемещения или пространственная мышь пульта KUKA smartPAD.
Для выбора доступны 16 различных систем координат инструмента.
Скорость можно изменить (ручная коррекция: HOV).
Перемещение вручную возможно только в режиме работы T1.
Кнопка подтверждения должна быть нажата.
Неоткалиброванные системы координат инструмента при пере
мещении вручную всегда соответствуют системе координат
фланца.
Принцип
перемещения
вручную в
системе
координат
инструмента
Рис. 3-18: Система прямоугольных координат
Робот может перемещаться в системе координат двумя различными способами:
линейно (прямолинейно) вдоль направлений ориентации системы координат: X, Y, Z;
вращательно (поворачиваясь/наклоняясь) вокруг направлений ориентации системы координат: угол A, B и C.
Преимущества использования системы координат инструмента:
Перемещение робота всегда является предсказуемым, пока известна система координат инструмента.
Возможно перемещение в направлении удара инструмента или для
ориентирования точки TCP.
Под направлением удара инструмента понимают направление работы
или действия инструмента. Например, это направление выпуска клея
из сопла для нанесения клея или направление захвата при захвате
детали.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
65 / 313
Программирование робота 1
Порядок
действий
1. Выбрать Инструмент в качестве используемой системы координат.
2. Выбрать номер инструмента.
3. Установить ручную коррекцию.
66 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
4. Установить кнопку подтверждения в среднее положение и удерживать переключатель в нем.
5. Переместить робот с помощью клавиш перемещения.
6. Альтернатива: Переместить робот с помощью пространственной
мыши в соответствующем направлении.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
67 / 313
Программирование робота 1
3.9.1
Упражнение: перемещение вручную в системе координат инструмента
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
перемещение робота вручную в системе координат инструмента с
помощью клавиш перемещения и пространственной мыши;
перемещение робота вручную в направлении удара инструмента.
Для успешного завершения этого упражнения требуется следующее:
участие в инструктаже по технике безопасности;
Указание!
Перед началом упражнения следует принять участие в инструк
таже по технике безопасности и задокументировать это!
Постановка
задач
теоретические знания о перемещении в системе координат инструмента.
Выполнить следующие задачи:
1. Деблокировать и квитировать АВАРИЙНЫЙ ОСТАНОВ.
2. Убедиться, что установлен режим работы T1.
3. Активировать систему координат инструмента.
4. Переместить робот в системе координат инструмента с различными
установками ручной коррекции (HOV) с помощью клавиш ручного перемещения и пространственной мыши. Проверить перемещение в
направлении удара и переориентацию вокруг точки TCP.
5. С помощью инструмента «Захват» достать штифт из держателя.
68 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.10
Калибровка инструмента
Описание
Во время калибровки инструмента (система координат TOOL) система
управления роботом получает информацию о том, где находится головка
инструмента (TCP - Tool Center Point) относительно центра фланца и каким
образом она ориентирована.
Калибровка инструмента также включает в себя калибровку:
точки TCP (начало системы координат);
ориентации системы координат.
Рис. 3-19: Примеры откалиброванных инструментов
Может быть сохранено до 16 систем координат TOOL. (Переменная: TOOL_DATA[1…16]).
При калибровке сохраняется расстояние от системы координат TOOL (по
оси X, Y и Z) до системы координат фланца, а также поворот этой системы координат (угол A, B и C).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
69 / 313
Программирование робота 1
Рис. 3-20: Принцип калибровки TCP
Преимущества
Если была выполнена точная калибровка какого-либо инструмента, обслуживающий и программирующий персонал на практике получает сле
дующие преимущества:
улучшенное перемещение вручную:
возможность переориентации TCP (напр., головки инструмента);
Рис. 3-21: Переориентация вокруг точки TCP
70 / 313
перемещение в направлении удара инструмента;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-22: Направление удара ТСР
польза при программировании движений (прямолинейных или круговых):
запрограммированная скорость перемещения сохраняется вдоль
траектории перемещения у TCP;
Рис. 3-23: Программный режим с TCP
Возможности
калибровки
инструмента
кроме того, возможен заданный контроль ориентации вдоль траектории перемещения.
Калибровка инструмента состоит из 2 шагов:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
71 / 313
Программирование робота 1
Шаг
Описание
Определение начала системы координат TOOL
На выбор предлагаются следующие методы:
1
XYZ, 4 точки;
база отсчета XYZ.
Определение ориентации системы координат TOOL
На выбор предлагаются следующие методы:
2
Альтернатива
Калибровка ТСР
с помощью
метода «XYZ, 4
точки»
ABC, унив.;
ABC, 2 точки.
Прямой ввод значений для расстояния до центра фланца
(X, Y, Z) и поворота (A, B, C):
Цифровой ввод
Точку TCP калибруемого инструмента можно подвести к отсчетной точке
из 4 различных направлений. Точку начала отсчета можно выбрать произвольно. Система управления роботом рассчитывает точку TCP, исходя
из различных положений фланца.
4 положения фланца, из которых выполняется подвод к отсчетной точке, должны находиться на достаточном расстоянии друг
от друга.
Порядок действий при методе «XYZ, 4 точки»:
1. Выбрать последовательность меню Ввод в экспл. > Замерить >
Инструмент > XYZ, 4 точки.
2. Присвоить номер и имя калибруемому инструменту. Нажать для подтверждения кнопку OK.
Для выбора доступны номера 1– 16.
3. Подвести точку TCP к отсчетной точке. Нажать для подтверждения
кнопку OK.
4. Подвести точку TCP к отсчетной точке с другого направления. Нажать
для подтверждения кнопку OK.
72 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-24: Метод XYZ 4 точки
5. Дважды повторить шаг 4.
6. Нажать кнопку Сохранить.
Калибровка ТСР
с помощью базы
отсчета XYZ
При использовании базы отсчета XYZ калибровка нового инструмента
выполняется с использованием уже откалиброванного инструмента.
Система управления роботом сравнивает положения фланца и рассчи
тывает TCP нового инструмента.
Метод базы отсчета XYZ используется для программирования в системе
управления нескольких инструментов одного типа со схожими геометри
ями. Число требуемых методов калибровки в сравнении с методом XYZ,
4 точки может быть сокращено до двух.
Рис. 3-25: Метод базы отсчета XYZ
Порядок действий
1. Условие: на установочном фланце установлен уже откалиброванный
инструмент и известны данные точки TCP.
2. В главном меню выбрать пункт Пуск в эксплуатацию > Калибровка
> Инструмент > База отсчета XYZ.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
73 / 313
Программирование робота 1
3. Присвоить номер и имя новому инструменту. Нажать кнопку Далее
для подтверждения.
4. Ввести данные TCP уже откалиброванного инструмента. Нажать
кнопку Далее для подтверждения.
5. Подвести точку TCP к отсчетной точке. Нажать кнопку Замерить. Нажать кнопку Далее для подтверждения.
6. Отвести и снять инструмент. Установить новый инструмент.
7. Посредством TCP нового инструмента выполнить подвод к отсчетной
точке. Нажать кнопку Замерить. Нажать кнопку Далее для подтверждения.
8. Нажать кнопку Сохранить. Данные сохранятся, и окно закроется.
Или же нажать кнопку Загрузочные данные. Данные сохранятся, и откроется окно, в котором можно ввести данные полезной нагрузки.
Метод ориентации и калибровки ABC World
Оси системы координат TOOL устанавливаются параллельно осям системы координат WORLD. Посредством этого системе управления роботом сообщается ориентация системы координат TOOL.
Метод имеет 2 варианта:
5D: системе управления роботом сообщается только направление
удара инструмента. Направлением удара является по умолчанию ось
X. Направление других осей задается системой, и оператор не может
определить их без дополнительных мер.
Область применения: например, дуговая сварка в инертном/активном газе, лазерная или гидравлическая резка.
6D: системе управления роботом сообщается направление всех 3
осей.
Область применения: например, для сварочных клещей, захвата или
сопел для нанесения клея.
Рис. 3-26: Метод ABC унив.
74 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Порядок действий для метода ABC World 5D
a. Выбрать последовательность меню Ввод в экспл. > Замерить >
Инструмент > ABC World.
b. Ввести номер инструмента. Нажать для подтверждения кнопку
OK.
c. В поле 5D/6D выбрать один из вариантов. Нажать для подтверждения кнопку OK.
d. Если выбрано 5D:
установить +XTOOL параллельно -ZWORLD (+XTOOL = направление
удара инструмента).
Если выбрано 6D:
установить оси системы координат TOOL следующим образом:
+XTOOL параллельно -ZWORLD (+XTOOL = направление удара
инструмента).
+YTOOL параллельно +YWORLD;
+ZTOOL параллельно +XWORLD.
e. Нажать для подтверждения кнопку OK.
f.
Калибровка
ориентации,
метод «ABC,2
точки»
Нажать кнопку Сохранить.
Системе управления роботом сообщаются оси системы координат TOOL
путем подвода инструмента к одной точке на оси X и к одной точке в
плоскости XY.
Этот метод используется, если направления осей должны быть определены особенно точно.
Соблюдать следующий порядок действий, если направление
удара инструмента является направлением по умолчанию (= направление Х). Если направление удара изменено на Y или Z, необходимо соответственно изменить порядок действий.
Рис. 3-27: Метод ABC 2 точки
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
75 / 313
Программирование робота 1
1. Условие заключается в том, чтобы точка TCP уже была откалибрована методом XYZ.
2. В главном меню выбрать пункт Пуск в эксплуатацию > Калибровка
> Инструмент > ABC, 2 точки.
3. Ввести номер установленного инструмента. Нажать кнопку Далее
для подтверждения.
4. Посредством TCP подвести робот к любой отсчетной точке. Нажать
кнопку Замерить. Нажать кнопку Далее для подтверждения.
5. Переместить инструмент таким образом, чтобы отсчетная точка на
оси X совпала с точкой с отрицательным значением X (т. е. против направления удара инструмента). Нажать кнопку Замерить. Нажать
кнопку Далее для подтверждения.
6. Переместить инструмент таким образом, чтобы отсчетная точка на
плоскости XY совпала с точкой с положительным значением Y. Нажать кнопку Замерить. Нажать кнопку Далее для подтверждения.
7. Нажать кнопку Сохранить. Данные сохранятся, и окно закроется.
Или же нажать кнопку Загрузочные данные. Данные сохраняются, и
открывается окно, в котором можно ввести данные полезной нагрузки.
Указания по
технике безопасности при
работе с
захватом в
учебном режиме
Рис. 3-28: Опасность защемления пальцев в учебном захвате
При обращении с системой захвата существует
опасность защемления и отрезания. Лицо, управляющее захватом, должно убедиться, что риск защемления какой-либо
части тела захватом отсутствует.
При зажимании деталей (кубик, штифт) действовать с особой осторожностью.
76 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-29: Зажать предметы в учебном захвате
Поз.
Примечание
1
Зажимание кубика
2
Зажатый кубик
3
Зажимание штифта
4
Зажатый штифт
В случае столкновения сработает предохранитель отключения.
Отвод робота выполняется после срабатывания предохранителя отключения при столкновении. Один участник задействует переключатель (1)
и не приближается к роботу, предохранителю отключения и захвату. Второй участник убеждается перед отводом робота, что перемещение робота не представляет опасности для какого-либо лица.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
77 / 313
Программирование робота 1
Рис. 3-30: Кнопка для отвода предохранителя отключения, вариант
А
Рис. 3-31: Кнопка для отвода предохранителя отключения, вариант
В
78 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.10.1
Упражнение: Калибровка инструмента со штифтом
Цель упражнения
Условия
Задание
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
калибровка инструмента методом «XYZ, 4 точки» и «ABC, унив.»;
активация откалиброванного инструмента;
перемещение в системе координат инструмента;
перемещение в направлении удара инструмента;
переориентация инструмента вокруг точки TCP.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания о различных методах калибровки рабочей точки инструмента, а именно метод «XYZ, 4 точки»;
теоретические знания о различных методах калибровки рабочей точки инструмента, а именно метод «ABC, унив.»;
теоретические знания о данных нагрузки робота и их вводе.
1
Грузоподъемность
3
Дополнительная нагрузка на
ось 2
2
Дополнительная нагрузка на
ось 3
4
Дополнительная нагрузка на
ось 1
Выполнить следующие задачи: Калибровка штифта
1. Откалибровать точку TCP штифта с помощью метода «XYZ, 4 точки».
В качестве головки начала отсчета использовать черную металли
ческую головку. Достать верхний штифт из магазина со штифтами и
зажать его в захвате. Использовать номер инструмента 2 и присвоить ему имя Штифт1.
2. Сохранить данные инструмента.
3. Откалибровать ориентацию инструмента с помощью метода «ABC,
унив., 5D».
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
79 / 313
Программирование робота 1
4. Допуски не должны превышать 0,95 мм. На практике этого значения
недостаточно. Лучше всего обеспечить допуски в 0,5 мм или даже
0,3 мм.
5. Указать данные нагрузки для захвата со штифтом в качестве инструмента 2.
Для этого воспользоваться правильным захватом со штифтом (см.
ниже).
6. Сохранить данные инструмента и проверить перемещение со штифтом в системе координат инструмента.
Данные нагрузки
инструмента –
захват со
штифтом
Учебный захват KR 16
Рис. 3-32: Учебный захват KR 16
Масса:
M = 4,9 кг
Центр тяжести:
X = 53 мм
Y = 49 мм
Z = 65 мм
B = 0°
C = 0°
JY = 0,03 кгм2
JZ = 0,15 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,02 кгм2
80 / 313
Учебный захват – модульная ячейка
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-33: Учебный захват – модульная ячейка
Масса:
M = 5 кг
Центр тяжести:
X = 23 мм
Y = -38 мм
Z = 84 мм
B = 0°
C = 0°
JY = 0,07 кгм2
JZ = 0,14 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,02 кгм2
Учебный захват – мобильная ячейка
Рис. 3-34: Учебный захват – мобильная ячейка
Масса:
M = 2,14 кг
Центр тяжести:
X = 30 мм
Y = 0 мм
Z = 64 мм
B = 0°
C = 0°
JY = 0,004 кгм2
JZ = 0,003 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,002 кгм2
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
81 / 313
Программирование робота 1
Что следует знать после выполнения этого упражнения:
1. Каковы преимущества калибровки инструмента?
.............................................................
.............................................................
.............................................................
2. Какие способы калибровки инструмента существуют?
.............................................................
.............................................................
.............................................................
3. Что определяется методом «XYZ, 4 точки»?
.............................................................
.............................................................
82 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.10.2
Упражнение: калибровка инструмента с захватом, метод 2 точек
Цель упражнения
Условия
Постановка
задач
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
калибровка инструмента с помощью метода «XYZ, 4 точки» и «ABC,
2 точки»;
активация откалиброванного инструмента;
перемещение в системе координат инструмента;
перемещение в направлении удара инструмента;
переориентация инструмента вокруг точки TCP.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания о различных методах калибровки рабочей точки инструмента, а именно метод 2 точек;
теоретические знания о данных нагрузки робота и их вводе.
Выполнить следующие задачи:
1. Использовать для калибровки инструмента захвата имя
«Новый_захват» и номер инструмента «3».
2. Откалибровать точку TCP захвата с помощью метода «XYZ, 4 точки»,
как показано на рисунке:
Рис. 3-35: Учебный захват: положение точки TCP
3. Откалибровать ориентацию системы координат захвата с помощью
метода «ABC, 2 точки».
4. Указать данные нагрузки для захвата в качестве инструмента 3.
Для этого воспользоваться правильным захватом (см. ниже).
5. Сохранить данные инструмента и проверить перемещение вручную с
захватом в системе координат инструмента.
Данные нагрузки
инструмента –
захват
Учебный захват KR 16
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
83 / 313
Программирование робота 1
Рис. 3-36: Учебный захват KR 16
Масса:
M = 4,3 кг
Центр тяжести:
X = 41 мм
Y = 35 мм
Z = 62 мм
B = 0°
C = 0°
JY = 0,04 кгм2
JZ = 0,12 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,03 кгм2
Учебный захват – модульная ячейка
Рис. 3-37: Учебный захват – модульная ячейка
Масса:
M = 4,4 кг
Центр тяжести:
X = 7 мм
Y = -24 мм
Z = 80 мм
B = 0°
C = 0°
JY = 0,05 кгм2
JZ = 0,11 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,02 кгм2
84 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Учебный захват – мобильная ячейка
Рис. 3-38: Захват таблички
Масса:
M = 2 кг
Центр тяжести:
X = 23 мм
Y = 0 мм
Z = 61 мм
B = 0°
C = 0°
JY = 0,004 кгм2
JZ = 0,003 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,002 кгм2
Альтернативная
постановка
задач
Захват также можно откалибровать посредством цифрового ввода:
Выполнить следующие задачи:
1. Использовать для калибровки инструмента захвата имя
«Новый_захват» и номер инструмента «3».
2. Откалибровать TCP захвата посредством числового ввода:
Учебный захват KR 16
Х
Y
Z
A
В
C
122,64
мм
177,73
мм
172,49
мм
45°
0°
180°
Учебный захват – модульная ячейка
Х
Y
Z
A
В
C
175,38
мм
-123,97
мм
172,71
мм
-45°
0°
-180°
Учебный захват – мобильная ячейка
Х
Y
Z
A
В
C
12,0 мм
0 мм
77,0 мм
0°
0°
0°
Что следует знать сейчас:
1. Какая пиктограмма обозначает систему координат инструмента?
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
85 / 313
Программирование робота 1
a)
b)
c)
d)
2. Сколькими инструментами может управлять система управления (максимальное количество)?
.............................................................
3. Что означает значение «-1» в данных нагрузки инструмента?
.............................................................
.............................................................
86 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.11
Перемещение робота в основной системе координат
Перемещение в
основной
системе
координат
Рис. 3-39: Перемещение вручную в основной системе координат
Описание базы
Инструмент робота может перемещаться согласно направлениям координат основной системы координат. Основные системы координат
можно откалибровать индивидуально; зачастую они ориентированы
вдоль кромок заготовок, захватов для заготовок или палет. Благодаря этому возможно удобное перемещение вручную.
При этом перемещаются все требуемые оси робота. Выбор осей определяется системой и зависит от перемещения.
Для этого используются клавиши перемещения или пространственная мышь KUKA smartPAD.
Для выбора доступны 32 основные системы координат.
Скорость можно изменить (ручная коррекция: HOV).
Перемещение вручную возможно только в режиме работы T1.
Кнопка подтверждения должна быть нажата.
Принцип
перемещения
вручную в
основной
системе
координат
Рис. 3-40: Система прямоугольных координат
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
87 / 313
Программирование робота 1
Робот может перемещаться в системе координат двумя различны
ми способами:
линейно (прямолинейно) вдоль направлений ориентации системы координат: X, Y, Z;
вращательно (поворачиваясь/наклоняясь) вокруг направлений ориентации системы координат: угол A, B и C.
При команде перемещения (напр., нажатии на клавишу перемещения)
система управления сначала рассчитывает отрезок. Исходной точкой отрезка является отсчетная точка инструмента (TCP). Направление отрезка устанавливает универсальная система координат. Система
управления управляет всеми осями таким образом, что инструмент проводится по этому отрезку (перенос) или вращается вокруг него (поворот).
Применение основной системы координат:
Перемещение робота всегда является предсказуемым, пока известна основная система координат.
Tакже с помощью пространственной мыши возможно интуитивное управление. Условием является правильное положение оператора по
отношению к роботу или основной системе координат. Для этого при
необходимости в качестве относительной оси выбрать ось X.
Обеспечивается возможность параллельного перемещения, напр., к
заготовке или кромке палеты.
Если также установлена верная система координат инструмента, в основной системе координат можно выполнить переориентацию вокруг точки TCP.
Порядок
действий
88 / 313
1. Выбрать в качестве опции для клавиш перемещения База.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
2. Выбрать инструмент и базу.
3. Установить ручную коррекцию.
4. Установить кнопку подтверждения в среднее положение и удерживать переключатель в нем.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
89 / 313
Программирование робота 1
5. Выполнить перемещение с помощью клавиш перемещения в нужном
направлении.
6. В качестве альтернативы можно выполнить перемещение с помощью
пространственной мыши.
90 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.11.1
Упражнение: перемещение вручную в основной системе координат
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
перемещение робота вручную в системе координат заготовки с помощью клавиш перемещения и пространственной мыши;
перемещение вручную вдоль предварительно определенных кромок
заготовок.
Для успешного завершения этого упражнения требуется следующее:
участие в инструктаже по технике безопасности;
Указание!
Перед началом упражнения следует принять участие в инструк
таже по технике безопасности и задокументировать это!
Постановка
задач
теоретические знания о перемещении в системе координат заготовки.
Выполнить следующие задачи:
1. Деблокировать и квитировать АВАРИЙНЫЙ ОСТАНОВ.
2. Убедиться, что установлен режим работы T1.
3. Активировать основную систему координат D_Red Base Straight
4. Зажать штифт в захвате и выбрать систему координат инструмента
D_Pen165.
5. Переместить робот в основной системе координат с различными установками ручной коррекции (HOV) с помощью клавиш ручного перемещения и пространственной мыши.
6. Переместить штифт вдоль внешнего контура на рабочем столе.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
91 / 313
Программирование робота 1
3.12
Калибровка базы
Описание
Калибровка базы означает создание системы координат в определенном
месте окружения робота, исходя из универсальной системы координат.
Цель заключается в том, чтобы перемещения вручную и запрограммированные положения робота относились к этой системе координат. Поэтому определенные кромки захватов для заготовок, секций, палет или
машин образуют целесообразные отсчетные точки для основной системы координат.
Калибровка базы выполняется в два этапа:
1. определение начала координат;
2. определение направлений координат.
Рис. 3-41: Калибровка базы
Преимущества
Выполнение калибровки базы предоставляет следующие преимущества:
перемещение вдоль кромки заготовки:
точка TCP может перемещаться вдоль кромок рабочей поверхности
заготовки вручную;
92 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Рис. 3-42: Преимущества калибровки базы: направление перемещения
система относительных координат:
заученные точки относятся к выбранной системе координат;
Рис. 3-43: Преимущества калибровки базы: отношение к нужной
системе координат
коррекция/смещение системы координат:
возможно заучивание точек относительно базы. Если необходимо
сместить базу, например, из-за перемещения рабочей поверхности,
точки смещаются вместе с ней, и новое обучение не требуется;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
93 / 313
Программирование робота 1
Рис. 3-44: Преимущества калибровки базы: смещение основной
системы координат
использование нескольких основных систем координат:
можно создать и использовать в зависимости от этапа выполнения
программы до 32 разных систем координат.
Рис. 3-45: Преимущества калибровки базы: использование нескольких основных систем координат
Возможности
калибровки
базы
Для выбора доступны следующие методы калибровки базы:
Метод
1. Определение начала координат.
Метод 3
точек
94 / 313
Описание
2. Определение положительного направления X.
3. Определение положительного направления Y (плоскость XY).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
Метод
Косвенный метод
Цифровой
ввод
Порядок
действий для
метода 3 точек
Описание
Косвенный метод используется в случае, если подвод к
начальной точке базы невозможен, например, так как она
расположена внутри заготовки или вне рабочего пространства робота.
Выполняется подвод к 4 точкам с известным отношением
к калибруемой базе, координаты которых должны быть
известны (данные CAD). Система управления роботом
рассчитывает базу на основании этих точек.
Прямой ввод значений для расстояния относительно универсальной системы координат (X, Y, Z) и поворота (A, B,
C).
Калибровку базы можно выполнить лишь с заранее откалибро
ванным инструментом (точка TCP должна быть известна).
1. В главном меню выбрать пункт Пуск в эксплуатацию > Калибровка
> База > 3 точки.
2. Присвоить номер и имя базе. Нажать кнопку Далее для подтверждения.
3. Ввести номер инструмента, точка TCP которого будет использоваться для калибровки базы. Нажать кнопку Далее для подтверждения.
4. Посредством TCP выполнить подвод к началу системы координат новой базы. Нажать программируемую клавишу Калибровка и кнопку
Да для подтверждения положения.
Рис. 3-46: Первый пункт: начало системы координат.
5. С помощью ТСР выполнить подвод к точке на положительной оси Х
новой базы. Нажать кнопку Калибровка и кнопку Да для подтверждения положения.
Рис. 3-47: Вторая точка: направление X
6. С помощью TCP на плоскости XY выполнить подвод к точке с положительным значением Y. Нажать кнопку Калибровка и кнопку Да для
подтверждения положения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
95 / 313
Программирование робота 1
Рис. 3-48: Третья точка: плоскость XY
7. Нажать кнопку Сохранить.
8. Закрыть меню.
Три точки калибровки не должны лежать на одной прямой. Между точками должен лежать минимальный угол (стандартная настройка – 2,5°).
96 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.12.1
Упражнение: калибровка базы стола, метод 3 точек
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
определение любой базы;
калибровка базы;
активация откалиброванной базы для перемещения вручную;
перемещение в основной системе координат.
Для успешного завершения этого упражнения требуется следующее:
Постановка
задач
теоретические знания о способах калибровки базы, в частности, метода 3 точек.
Выполнить следующие задачи:
1. Измерить синюю базу на столе с помощью метода 3 точек. Присвоить
базе №1 название Синяя. Использовать откалиброванный штифт 1
(номер инструмента 2) в качестве калибровочного инструмента.
2. Сохранить данные откалиброванной базы.
3. Откалибровать красную базу на столе с помощью метода 3 точек.
Присвоить базе №2 название Красная. Использовать откалиброванный штифт 1 (номер инструмента 2) в качестве калибровочного инструмента.
4. Сохранить данные откалиброванной базы.
5. Переместить инструмент к началу синей основной системы координат и вывести на экран фактическое положение в прямоугольных координатах.
Х
Y
Z
A
В
C
...............
...............
...............
...............
...............
...............
Рис. 3-49: Измерение базы на столе
Что следует знать после выполнения этого упражнения:
1. Зачем нужна калибровка базы?
............................................................
............................................................
............................................................
2. Какая пиктограмма обозначает основную систему координат?
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
97 / 313
Программирование робота 1
a)
b)
c)
d)
3. Какие способы калибровки базы существуют?
.............................................................
.............................................................
.............................................................
4. Сколькими основными системами может управлять система управления (максимальное количество)?
.............................................................
.............................................................
.............................................................
5. Описать калибровку методом 3 точек.
.............................................................
.............................................................
.............................................................
98 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
3.13
Запрос текущего положения робота
Возможности
индикации
положений
робота
Текущее положение робота можно представить двумя различными способами:
По осям:
Рис. 3-50: Осевое положение робота
Для каждой оси показывается текущий угол оси: он соответствует абсолютному значению угла, исходя из нулевой позиции оси.
Декартовый:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
99 / 313
Программирование робота 1
Рис. 3-51: Положение в прямоугольных координатах
Показывается текущее положение текущей точки TCP (системы координат инструмента) по отношению к выбранной в настоящий момент
основной системе координат.
Если не выбрана никакая система координат инструмента, действует
система координат фланца.
Если не выбрана никакая основная система координат, действует
универсальная система координат.
Положение в
прямоугольных
координатах с
различными
основными
системами
координат
При рассмотрении приведенного ниже рисунка сразу заметно, что робот
трижды принимает одинаковое положение. Однако индикация положения в каждом из трех случаев указывает различные значения:
Рис. 3-52: Три положения инструмента – одно положение робота!
Показывается положение системы координат Tool/точки TCP в текущей
основной системе координат:
100 / 313
для базы 1;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
3 Ввод робота в эксплуатацию
для базы 2;
для базы 0: это соответствует системе координат основания робота
(в большинстве случаев также универсальной системе координат).
Рис. 3-53: Выбор инструмента и базы
После выбора верной базы и верного инструмента индикация фактического положения в прямоугольных координатах укажет разумные значения.
Запрос
положения
робота
Порядок действий:
В меню выбрать пункт Индикация > Фактическое положение. На экране появится фактическое положение в прямоугольной системе ко
ординат.
Чтобы вывести на экран фактическое положение согласно осям, нажать кнопку Соотв. осям.
Чтобы вывести на экран фактическое положение в прямоугольной
системе координат, нажать кнопку В прямоугольных координатах.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
101 / 313
Программирование робота 1
102 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
4 Выполнение программы робота
4
4
Выполнение программы робота
л
4.1
Обзор
В этом учебном разделе рассматриваются следующие элементы:
4.2
выполнение перемещения инициализации;
выбор и запуск программ робота.
Выполнение перемещения инициализации
Перемещение
SAK
Перемещение инициализации робота KUKA называется перемещением
SAK.
SAK означает точное совпадение записи. Совпадение означает
«соответствие», а также «совпадение временных/пространственных событий».
Перемещение SAK выполняется в следующих случаях:
выбор программы;
сброс программы;
перемещение вручную во время работы программного режима;
изменение в программе;
выбор записи.
Примеры выполнения перемещения SAK:
Рис. 4-1: Примеры причин для перемещения SAK
Причины для
перемещения
SAK
1
Перемещение SAK в положение Home после выбора или сброса
программы.
2
Перемещение SAK после изменения команды перемещения:
удаление, обучение точки и т. д.
3
Перемещение SAK после выбора записи.
Перемещение SAK требуется для обеспечения согласования текущего
положения робота с координатами текущей точки в программе робота.
Планирование траектории возможно только после того, как текущее положение робота будет равно запрограммированному положению. Сначала всегда следует привести точку TCP на траекторию.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
103 / 313
Программирование робота 1
Рис. 4-2: Пример перемещения SAK при выборе программы
1
4.3
Выбор и запуск программ робота
Выбор и запуск
программ
робота
104 / 313
Перемещение SAK в положение Home после выбора или сброса
программы.
Чтобы обработать программу робота, ее следует выбрать. Программы
робота доступны в пользовательском интерфейсе в навигаторе. Обычно
программы перемещения хранятся в папках. Программа Cell (управляющая программа для управления роботом со стороны ПЛК) всегда находится в папке R1.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
4 Выполнение программы робота
Рис. 4-3: Навигатор
1
Навигатор: структура каталогов/накопителей
2
Навигатор: списки каталогов/файлов
3
Выбранная программа
4
Кнопка для выбора программы
Для запуска программы доступны как кнопки запуска в прямом направлении (
), так и запуска в обратном направлении (
).
Выполнение программы в обратном направлении при помощи
кнопки
возможно только в том случае, если выполнена строка INI программы и робот непосредственно перед этим прошел вперед
траекторию, которая должна быть пройдена в обратном направлении.
Если же робот, например, перемещается вручную после останова программы, движение в обратном направлении невозможно.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
105 / 313
Программирование робота 1
Рис. 4-4: Направления выполнения программы: вперед/назад
Поз.
Описание
1
Клавиша пуска Вперед
2
Клавиша пуска Назад
При обработке программы для управляемого программой перемещения
робота доступно несколько режимов выполнения программы:
GO
Программа последовательно выполняется до ее конца.
В тестовом режиме кнопка запуска должна удерживаться нажатой.
Движение
В режиме выполнения Motion Step каждая команда перемещения обрабатывается отдельно.
После завершения перемещения следует повторно нажать кнопку запуска.
Отдельный шаг | Доступен только в группе пользователей
«Эксперты»!
Как выглядит
программа
робота?
В режиме Incremental Step обрабатывается строка за
строкой (вне зависимости от содержания строки).
После каждой строки следует повторно нажимать кнопку
запуска.
1 DEF KUKA_Prog()
2
3 INI
4 SPTP HOME VEL= 100 % DEFAULT
5 SPTP P1 VEL= 100 % PDAT1 Tool[5] Base[10]
6 SPTP P2 VEL= 100 % PDAT1 Tool[5] Base[10]
7 SLIN P3 VEL= 1 m/s CPDAT1 Tool[5] Base[10]
8 SLIN P4 VEL= 1 m/s CPDAT2 Tool[5] Base[10]
9 SPTP P5 VEL= 100% PDAT1 Tool[5] Base[10]
10 SPTP HOME VEL= 100 % DEFAULT
11
12 END
106 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
4 Выполнение программы робота
Строка
Описание
Видно только для группы пользователей «Эксперты»:
1 и 12
«DEF название_программы()» всегда находится в
начале программы;
«END» указывает на конец программы.
строка «INI» содержит вызовы стандартных параметров, которые требуются для верного выполнения программы;
строку «INI» всегда следует выполнять первой.
собственный текст программы с командами перемещения, командами ожидания/логическими командами и т. д.;
команда перемещения «PTP Home» часто применяется в начале или в конце программы, поскольку она является однозначным и известным
положением.
3
от 4 до 10
Состояние
программы
Запуск
программы
Символ
Цвет
Описание
Серый
Ни одна из программ не выбрана.
Желтый
Указатель записи стоит в первой строке
выбранной программы.
Зеленый
Программа выбрана и отрабатывается.
Красный
Выбранная и запущенная программа остановлена.
Черный
Указатель записи находится в конце выбранной программы.
Порядок действий для запуска программ робота:
1. Выбрать программу.
Рис. 4-5: Выбор программы
2. Установить скорость программы (коррекция программы, POV).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
107 / 313
Программирование робота 1
Рис. 4-6: Настройка POV
3. Задействовать клавишу подтверждения.
Рис. 4-7: Кнопка подтверждения
4. Нажать и удерживать кнопку запуска (+):
108 / 313
обрабатывается строка INI;
робот выполняет перемещение SAK.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
4 Выполнение программы робота
Рис. 4-8: Направления выполнения программы: вперед/назад
Поз.
Описание
1
Клавиша пуска Вперед
2
Клавиша пуска Назад
Перемещение SAK выполняется в качестве перемещения PTP от фактического положения к целевому положению, если выбранная запись перемещений содержит
команду перемещения PTP. Если выбранная запись перемещений содержит LIN или CIRC, то перемещение SAK выполняется в качестве перемещения LIN. Необходимо следить за перемещением, чтобы
избежать столкновений. При перемещении SAK скорость автоматически снижается.
5. После достижения целевого положения перемещение останавлива-
ется.
Показывается информационное сообщение SAK достигнут.
6. Дальнейший порядок выполнения (в зависимости от установленного
режима работы):
T1 и T2: продолжить выполнение программы нажатием на кнопку
запуска;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
109 / 313
Программирование робота 1
AUT: активировать приводы.
Затем запустить программу с импульсом нажатием на кнопку
Запуск.
110 / 313
В программе Cell переключить режим работы на EXT и передать
команду перемещения от ПЛК.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
4 Выполнение программы робота
4.4
Упражнение: выполнение программ робота
Цель упражнения
Необходимые
условия
Постановка
задач
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
выбор и отмена выбора программ;
выполнение, останов и сброс программ в требуемых режимах работы
(тестирование выполнения программы);
выполнение и понимание выбора записи;
выполнение перемещения SAK.
Чтобы успешно завершить это упражнение, требуется следующее:
теоретические знания об обращении с навигатором;
знание выбора и отмены выбора программ.
1. Выбрать модуль Air.
Опасно!
Обязательно соблюдать правила техники безо
пасности, предписанные инструктажем!
2. Протестировать программу в различных режимах работы, как указано ниже:
T1 с 100 %;
T2 с 10 %, 30 %, 50 %, 75 %, 100 %;
«Автоматика» с 100 %.
3. Протестировать программу в режимах выполнения Go и «Перемещение».
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
111 / 313
Программирование робота 1
112 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
5 Обращение с файлами программы
5
Обращение с файлами программы
5.1
Обзор
В этом учебном разделе рассматриваются следующие элементы:
5.2
создание и обработка программных модулей;
архивирование и восстановление программ робота;
обращение с протоколом.
Создание программных модулей
Программные
модули в
навигаторе
Программные модули всегда следует помещать в папку «Program». Также можно создать новую папку и сохранять программные модули в ней.
Модули обозначены символом с буквой «M». Модуль можно дополнить
комментарием. Такой комментарий может содержать, например, краткое
описание функции программы.
Рис. 5-1: Модули в навигаторе
Свойства
программных
модулей
1
Главная папка для программ: «Program».
2
Подпапка для других программ.
3
Программный модуль/модуль.
4
Комментарий к программному модулю.
Модуль всегда состоит из двух частей:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
113 / 313
Программирование робота 1
Рис. 5-2: Структура модуля
Исходный код: файл SRC содержит программный код.
DEF MAINPROGRAM()
INI
SPTP HOME Vel= 100% DEFAULT
SPTP P1 Vel=100% PDAT1 TOOL[1] BASE[2]
SPTP P2 Vel=100% PDAT2 TOOL[1] BASE[2]
…
END
Список данных: файл DAT содержит постоянные данные и координаты точки.
DEFDAT MAINPROGRAM()
DECL E6POS XP1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27, E1 0, E2
0, E3 0, E4 0, E5 0, E6 0}
DECL FDAT FPOINT1 …
…
ENDDAT
Порядок
действий для
создания
программных
модулей
5.3
1. Выделить папку в структуре папок, в которой следует создать новую
программу, например, папку Программа.
2. Нажать программируемую клавишу Новая.
3. Ввести имя новой программы и комментарий (при необходимости),
после чего нажать кнопку OK для подтверждения.
Обработка программных модулей
Возможности
обработки
Как и в случае с распространенными файловыми системами, программные модули также можно обрабатывать в навигаторе KUKA smartPad.
К обработке относятся:
Порядок
действий для
дублирования
программы
114 / 313
дублирование/копирование;
удаление;
переименование.
1. В структуре каталогов выделить папку, в которой находится нужный
файл.
2. Выделить файл в списке.
3. Нажать программируемую клавишу Дублировать.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
5 Обращение с файлами программы
4. Ввести новое имя файла для модуля и подтвердить его нажатием на
кнопку OK.
В группе пользователей «Эксперты» и настройке фильтра «Под
робно» в навигаторе для каждого модуля показано по два файла
(файл SRC и DAT). В таком случае следует дублировать оба
файла.
Порядок
действий для
удаления
программы
1. В структуре каталогов выделить папку, в которой находится нужный
файл.
2. Выделить файл в списке.
3. Нажать программируемую клавишу Стереть.
4. Подтвердить операцию, ответив Да на контрольный запрос. Модуль
будет удален.
В группе пользователей «Эксперты» и настройке фильтра «Под
робно» в навигаторе для каждого модуля показано по два файла
(файл SRC и DAT). В таком случае следует удалить оба файла.
Удаленные файлы восстановить невозможно.
Порядок
действий при
переименовании
программы
1. В структуре каталогов выделить папку, в которой находится нужный
файл.
2. Выделить файл в списке.
3. Выбрать программируемую клавишу Обработать > Переименовать.
4. Поверх имени файла написать новое имя файла и нажать кнопку OK
для подтверждения.
В группе пользователей «Эксперты» и настройке фильтра «Под
робно» в навигаторе для каждого модуля показано по два файла
(файл SRC и DAT). В таком случае следует переименовать оба
файла.
5.4
Архивирование и восстановление программ робота
Возможности
архивирования
Каждый процесс архивирования создает ZIP-файл на соответствующем
целевом носителе, который имеет то же имя, что и робот. В окне Данные
о роботе можно изменить имя файла на нужное.
Места хранения: доступно три различных места хранения:
USB (KCP): USB-накопитель на KCP (smartPAD);
USB (шкаф): USB-накопитель на шкафу управления робота;
сеть: архивирование по сетевому пути.
Нужный сетевой путь следует задать в окне Данные о роботе.
При каждом процессе архивирования помимо созданного на вы
бранном носителе ZIP-файла также сохраняется дополнительный архивный файл (INTERN.ZIP) на диске D:\.
Данные: для архивирования можно выбрать следующие файлы:
Все:
архивируются данные, необходимые для восстановления имеющейся системы.
Прикладные программы:
архивируются все KRL-модули (программы) пользователя и соответствующие системные файлы.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
115 / 313
Программирование робота 1
Системные данные:
архивируются технические данные.
Данные журнала:
Диагностика KRC:
архивируются файлы журналов.
архивирование данных, которые передаются для анализа ошибок в
компанию KUKA Roboter GmbH. Создается папка с именем KRCDiag,
в которую можно записать до десяти ZIP-файлов. Кроме этого, архивирование выполняется в системе управления в папке
C:\KUKA\KRCDiag.
Восстановление
данных
Обычно разрешается загружать только архивы с
подходящей версией программного обеспечения.
При загрузке других архивов возможны перечисленные ниже последствия:
сообщения об ошибках;
неработоспособность системы управления роботом;
травмирование персонала и материальный ущерб.
При восстановлении для выбора доступны следующие пункты меню:
Все;
Прикладные программы;
Системные данные.
В следующих случаях система выведет на экран сообщение об
ошибке:
Порядок
действий для
архивирования
если версия архивированных данных отличается от версии находящихся в системе;
если версия технологического пакета несовместима с установленной версией.
Разрешается использовать исключительно нако
питель KUKA.USBData. При использовании других USB-накопителей возможна потеря или изменение данных.
1. Выбрать последовательность меню Файл > Архивировать > USB
(KCP) или USB (шкаф) и выбрать нужный подпункт.
2. Подтвердить операцию, ответив Да на контрольный запрос.
После окончания архивирования появится окно сообщений.
3. Если на накопителе погас светодиод, накопитель можно отключить.
Порядок
действий для
восстановления
файла
1. Выбрать последовательность меню Файл > Восстановить и выбрать нужный подпункт меню.
2. Подтвердить операцию, ответив Да на контрольный запрос. Файлы
будут восстановлены в системе управления роботом из архива. После окончания восстановления появляется соответствующее сообщение.
3. Если восстановление было выполнено с накопителя USB: Отсоединить USB-носитель.
При восстановлении на USB-носителе: только
после того, как погаснет светодиод на USB-носителе, можно удалить носитель. Иначе возможно повреждение носителя.
116 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
5 Обращение с файлами программы
4. Перезапустить систему управления роботом. Для этого требуется холодный пуск.
Профиль пользователей «Эксперты»
Путь меню: KUKA клавиша > Конфигурация > группа Пользователя >
Эксперт
Выполнить холодный пуск посредством:
Путь меню: KUKA клавиша > Выключение > Холодный пуск
5.5
Воспроизведение изменений программ и состояний с помощью протокола
Возможности
протоколирования
Действия пользователя по управлению на пульте smartPAD автоматически протоколируются. Команда Протокол выводит на экран протокол.
Рис. 5-3: Протокол, вкладка Журнал
Поз.
1
Описание
Вид события журнала
Отдельные типы и классы фильтров приведены на вкладке
Фильтр.
2
Номер события журнала
3
Дата и время события журнала
4
Краткое описание события журнала
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
117 / 313
Программирование робота 1
Поз.
Описание
5
Подробное описание выделенного события журнала
6
Индикация активного фильтра
Фильтр событий
журнала
Рис. 5-4: Протокол, вкладка Фильтр
Пользование
функцией
протокола
Вывод на экран и конфигурирование может выполняться в любой группе
пользователей.
Вызов протокола:
В главном меню выбрать пункт Диагностика > Протокол > Индикация.
Конфигурирование протокола:
1. В главном меню выбрать пункт Диагностика > Протокол > Конфигурация.
2. Нажать кнопку OK, чтобы сохранить конфигурацию и закрыть окно.
118 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
5 Обращение с файлами программы
Рис. 5-5: Окно Конфигурация протокола
1
Принять настройки фильтра для вывода информации. Если флажок не установлен, то при выводе информации фильтрация не
выполняется.
2
Пусть к текстовому файлу.
3
Данные протокола, которые были удалены из-за переполнения
буфера, в текстовом файле показываются с серым фоном.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
119 / 313
Программирование робота 1
120 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
6
з
д
6.1
Создание и изменение запрограммированных перемещений
Обзор
з
В этом учебном разделе рассматриваются следующие элементы:
6.2
создание новых команд перемещения;
создание перемещения с оптимизацией времени такта;
создание перемещения по траектории;
сглаживание перемещений;
изменение команд перемещения.
Коррекция существующих точек движения
Программирование перемещений робота
Рис. 6-1: Перемещение робота
Если требуется запрограммировать перемещение робота, возникает ряд
вопросов:
Вопрос
Решение
Как робот отмечает для себя
свои положения?
Текущее положение инструмента в пространстве сохраняется в памяти (положение
робота согласно установленному инструменту и базе).
Откуда робот знает, как он
должен перемещаться?
Посредством указания вида перемещения:
от точки к точке, линейно или по кругу.
Ключевое
слово
POS
E6POS
SPTP
SLIN
SCIRC
Насколько быстро перемещается робот?
Скорость между двумя точками и ускорение
указываются при программировании.
Должен ли робот останавливаться в каждой точке?
Чтобы сэкономить тактовое время, можно
также выполнить сглаживание точек; в этом
случае точный останов не выполняется.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Vel.
Acc.
CONT
121 / 313
Программирование робота 1
Вопрос
Решение
Какую ориентацию примет
инструмент при достижении
какой-либо точки?
Для каждого перемещения можно отдельно
установить контроль ориентации.
Определяет ли робот препятствия?
Ключевое
слово
ORI_TYPE
Эта настройка действует только для перемещений по траектории. (>>> "Виды перемещений" Страница 122)
Нет, робот точно следует по запрограммированной траектории. Ответственность за
отсутствие столкновений лежит на программисте.
Контроль
возможности столкновения
Однако поддерживается контроль возможности столкновения для защиты машины.
Эту информацию следует передать при программировании перемещений робота в режиме обучения. Для этого применяются встроенные формуляры, в которые можно удобно ввести эту информацию.
Рис. 6-2: Встроенный формуляр для программирования перемещения
Виды перемещений
Для программирования команд перемещения доступны различные виды
перемещений. В зависимости от требований к рабочему процессу робота
можно запрограммировать следующие перемещения:
осевые перемещения (SPTP: от точки к точке);
перемещения по траектории: SLIN (линейное) и SCIRC (круговое).
Перемещения PTP, LIN и CIRC не являются предметом данной
учебной документации. Более подробная информация приведена в Инструкции по эксплуатации и программированию системного
программного обеспечения KUKA 8.x.
122 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
6.3
Создание перемещений с оптимизацией времени такта (осевое перемещение)
Вид перемещения SPTP
Вид перемещения
Значение
Пример использования
Point-To-Point: от точки к
Точечные приложения,
напр.:
точке
Synchro-PTP
Перемещение по осям:
робот проводит TCP
вдоль самого быстрого
перемещения к целевой
точке. Наиболее быстрой траекторией, как
правило, не является
кратчайшая траектория,
т. е. не прямая. Так как
оси робота совершают
вращательное перемещение, криволинейные
траектории могут выполняться быстрее, чем прямые.
Точный ход перемещения непредсказуем.
Ведущей осью обозначается ось, которой требуется больше всего
времени для достижения
целевой точки.
SYNCHRO PTP: все оси
запускаются одновременно и также синхронно
подходят к останову.
Первым перемещением
в программе должно
быть перемещение PTP,
поскольку только в нем
оцениваются состояние
и поворот.
точечная сварка;
транспортировка;
измерение, контроль.
Вспомогательные положения:
промежуточные точки;
свободные точки в пространстве.
Ведущей осью обозначается ось, которой требуется больше всего времени для достижения целевой точки. При этом учитывается заданная во
встроенном формуляре скорость.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
123 / 313
Программирование робота 1
Рис. 6-3: Synchro PTP
Состояние и
поворот
Состояние и поворот служат для того, чтобы задать однозначное осевое
положение из нескольких возможных осевых положений для того же по
ложения точки TCP.
Рис. 6-4: Различные положения осей из-за различных значений
Status и Turn
Система управления роботом учитывает программируемые значения состояния и поворота только для перемещений SPTP. При перемещениях
по траектории (CP) они игнорируются. Поэтому первая команда перемещения в программе KRL должна быть полной командой SPTP типа POS
или E6POS, чтобы было определено однозначное положение выходов
(или полной командой SPTP типа AXIS или E6AXIS).
124 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
DEFDAT MAINPROGRAM ()
DECL POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27}
DECL FDAT FPOINT1 …
…
ENDDDAT
Сглаживание
Рис. 6-5: Сглаживание точки SPTP
Для ускорения перемещения система управления способна выполнить
сглаживание с помощью команд с обозначением CONT. Сглаживание означает, что подвод к координатам точки выполняется неточно. Траектория контура точного останова покидается заранее. Точка TCP
проводится вдоль контура сглаживания, который переходит в контур точного останова следующей команды перемещения.
Преимущества сглаживания:
Рис. 6-6: Сглаживание точного останова в сравнении
Меньший износ кинематики, т. к. между точками не выполняется торможения и ускорения (см. пункт 1).
За счет этого оптимизируется время такта, программа выполняется
быстрее (см. пункт 2).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
125 / 313
Программирование робота 1
Чтобы можно было выполнить перемещение со сглаживанием, система
управления должна считать следующие записи перемещения. Это выполняется посредством предварительного запуска компьютера.
Сглаживание в виде перемещения SPTP
Вид перемещения
Особенность
Порядок
действий для
создания
перемещений
SPTP
Контур сглаживания непредсказуем!
Расстояние
сглаживания
Указание значений в
% или мм
Условия
Установлен режим работы T1.
Выбрана программа робота.
1. Переместить точку TCP в положение, которое должно быть запрограммировано в качестве целевой точки.
Рис. 6-7: Команда перемещения
2. Установить курсор в строку, после которой должна быть вставлена
команда перемещения.
3. Последовательность меню Команды > Перемещение > SPTP
В качестве альтернативы в соответствующей строке можно нажать
на программируемую кнопку Перемещение.
Появится встроенный формуляр:
встроенный формуляр SPTP
Рис. 6-8: Встроенный формуляр SPTP (отдельное движение)
4. Ввести параметры во встроенный формуляр.
126 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Поз.
Описание
1
Вид перемещения SPTP
2
Имя целевой точки. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
3
CONT: сглаживание целевой точки.
[пусто]: точный подвод в целевую точку.
4
Скорость
5
1-100 % для SPTP
0,001-2 м/с для SLIN
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
6
Индикацию этого окна можно включить и выключить посредством Смена параметра.
Имя записи данных с логическими параметрами. Система
автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опций.
5. В окне опций «Фреймы» ввести верные данные для системы координат инструмента и основной системы координат, а также данные о режиме интерполяции (внешняя точка TCP: вкл./выкл.) и контроле
возможности столкновения.
Рис. 6-9: Окно опций Фреймы
Поз.
1
Описание
Выбрать инструмент.
Если установлено True в поле Внешний TCP: выбрать инструмент.
Диапазон значений: [1] … [16]
2
Выбрать базу.
Если установлено True в поле Внешний TCP: выбрать стационарный инструмент.
Диапазон значений: [1] … [32]
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
127 / 313
Программирование робота 1
Поз.
3
Описание
Режим интерполяции
Внешний TCP:
4
False: инструмент смонтирован на установочном
фланце.
True: инструмент является стационарным.
Распознавание столкновения
True: для этого перемещения система управления роботом определяет осевые моменты. Это необходимо
для распознавания столкновения.
False: для этого перемещения система управления роботом не определяет осевые моменты. Поэтому распознавание столкновения для этого перемещения
невозможно.
6. В окне опций «Параметры перемещения» можно уменьшить ускорение с максимального значения. При активации сглаживания можно
изменить расстояние сглаживания. В зависимости от конфигурации
расстояние устанавливается в мм или %.
Рис. 6-10: Окно опции Параметры перемещения (SPTP)
Поз.
Описание
1
Осевое ускорение. Это значение соотносится с указанным в
технических данных максимальным значением.
2
1-100 %
Данное поле недоступно для сегментов SPTP. При отдельных
перемещениях SPTP поле отображается только при условии,
что во встроенном формуляре было выбрано CONT.
Расстояние до целевой точки, на которой сглаживание начинается раньше всего.
Это расстояние не должно превышать половину расстояния
между начальной и целевой точками. Если здесь будет введено большее значение, оно игнорируется, и используется
максимальное значение.
3
Рывок редуктора. Рывок (толчок) означает изменение ускорения.
Это значение соотносится с указанным в технических данных
максимальным значением.
128 / 313
1-100 %
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
7. Сохранить команду, нажав кнопку Команда OK. Текущее положение
TCP принимается в качестве целевой точки.
Рис. 6-11: Сохранение координат точки при «Команда ОК» и
«Touchup»
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
129 / 313
Программирование робота 1
6.4
Упражнение: Программа Air – обращение с программой и перемещения
SPTP
Цель упражнения
Условия
Постановка
задач, часть A
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
выбор и отмена выбора программ;
выполнение, останов и сброс программ в требуемых режимах работы
(тестирование выполнения программы);
исправление имеющихся точек программы;
удаление записей перемещения и вставка новых перемещений
SPTP;
изменение вида выполнения программы и поэтапный подвод к запрограммированным точкам;
выполнение и понимание выбора записи;
выполнение перемещения SAK.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания об обращении с навигатором;
теоретические знания о виде перемещения SPTP.
Выполнить следующие задачи: создание и тестирование программы.
1. Создать новый модуль и присвоить соответствующее имя.
Опасно!
Обязательно соблюдать правила техники безо
пасности, предписанные инструктажем!
2. Создать процесс перемещения прибл. из пяти записей SPTP.
3. В случае с перемещением без столкновений удалить соответствующую(-ие) точку(-и) и создать новую точку.
4. Протестировать программу в режиме работы T1 с различными скоростями выполнения программы (POV).
5. Протестировать программу в режиме работы T2 с различными скоростями выполнения программы (POV).
130 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
6. Протестировать программу в режиме работы «Автоматика».
Постановка
задач, часть B
Выполнить следующие задачи: коррекция программы.
1. Установить различные скорости для точек в пространстве.
2. Вызвать одну и ту же точку в программе несколько раз.
3. Удалить записи перемещения и повторно добавить новые в другом
месте программы.
4. Выбрать запись.
5. Остановить программу в режиме тестирования и использовать функцию Запуск программы в обратном направлении.
6. Проверить программу в режимах T1, T2 и «Автоматика».
Что следует знать после выполнения этого упражнения:
1. В чем заключается различие между выбором и открыванием программы?
............................................................
............................................................
............................................................
2. Какие существуют виды выполнения программы и для чего они используются?
............................................................
............................................................
............................................................
3. Что представляет собой перемещение SAK?
............................................................
............................................................
............................................................
4. Как можно повлиять на скорость выполнения программы?
............................................................
............................................................
............................................................
5. Чем характеризуется перемещение SPTP?
............................................................
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
131 / 313
Программирование робота 1
6.5
Создание перемещений по траекториям
Виды перемещения SLIN и
SCIRC
Вид перемещения
Значение
Пример использования
Linear: линейное
Области применения, связанные с определенной траекторией, напр.:
прямолинейное перемещение по траектории;
точка TCP инструмента
перемещается от начальной до целевой точки с постоянной
скоростью и заданной
ориентацией;
Сингулярные
положения
Сингулярность
перевернутых
положений α1
132 / 313
контурная сварка;
склеивание;
лазерная сварка/резка.
скорость и ориентация
относятся к точке TCP.
Circular: круговое
круговая траектория перемещения задается начальной,
вспомогательной и целевой точками;
точка TCP инструмента
перемещается от начальной до целевой точки с постоянной
скоростью и заданной
ориентацией;
скорость и ориентация
относятся к TCP инструмента (системе координат инструмента).
Области применения, связанные с определенной траекторией, как в случае с
перемещением SLIN:
круги, радиусы, закругления.
Роботы KUKA с 6 степенями свободы имеют 3 различных сингулярных
положения.
Сингулярное положение характеризуется тем, что однозначная обратная
трансформация (пересчет прямоугольных координат в осевые значения), несмотря на то, что заданы состояние и поворот, невозможна. В
этом случае, а также если малейшее изменение прямоугольных координат приводит к очень большим изменениям осевых углов, говорят о сингулярных положениях. Это не механическое, а математическое свойство,
которое существует по этой причине только в области перемещений по
траектории, а не осевых перемещений.
При сингулярности перевернутых положений точка запястья (= центральная точка оси A5) лежит вертикально на оси А1 робота.
Положение оси А1 невозможно однозначно определить путем обратной
трансформации, поэтому она может принимать любые значения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-12: Сингулярность перевернутых положений (положение α1)
Сингулярность
развернутых
положений α2
При сингулярности развернутых положений точка запястья (= центральная точка оси A5) лежит на продолжении осей А2 и А3 робота.
Робот находится на краю своей рабочей зоны.
Обратной трансформацией можно однозначно определить осевой угол,
однако следствием малых скоростей в прямоугольных координатах являются большие осевые скорости осей А2 и А3.
Рис. 6-13: Развернутое положение (положение α2)
Сингулярность
ручных осей α5
При сингулярности ручных осей оси А4 и А6 расположены параллельно
друг другу, ось А5 в диапазоне ±0,01812°.
Положение обеих осей невозможно однозначно определить путем обратной трансформации. Но существует сколько угодно положений для
осей А4 и А6 с одинаковой суммой осевых углов.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
133 / 313
Программирование робота 1
Рис. 6-14: Сингулярность ручных осей (положение α5)
Контроль ориентации при
перемещениях
по траектории
При перемещениях по траектории можно точно определить контроль
ориентации. Инструмент может иметь различные ориентации в начальной и в целевой точке перемещения.
Контроль ориентации для вида перемещения SLIN
Стандартный или Ручной PTP
Ориентация инструмента во время перемещения постоянно меняется.
Использовать значение «Ручной PTP» в том случае, если робот попадает в сингулярность ручных осей со значением «Стандартный», поскольку ориентирование осуществляется посредством линейного
перевода углов ручной оси (осевое перемещение).
Рис. 6-15: Стандартный
Постоянный
Ориентация инструмента во время перемещения остается постоянной, как было запрограммировано в начальной точке. Запрограммированная в конечной точке ориентация игнорируется.
134 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-16: Постоянная ориентация
Контроль ориентации для вида перемещения SCIRC
Стандартный или Ручной PTP
Ориентация инструмента во время перемещения постоянно меняется.
Использовать значение «Ручной PTP» в том случае, если робот попадает в сингулярность ручных осей со значением «Стандартный», поскольку ориентирование осуществляется посредством линейного
перевода углов ручной оси (осевое перемещение).
Рис. 6-17: Стандарт + относительно базы
Постоянный
Ориентация инструмента во время перемещения остается постоянной, как было запрограммировано в начальной точке. Запрограммированная в конечной точке ориентация игнорируется.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
135 / 313
Программирование робота 1
Рис. 6-18: Постоянная ориентация + относительно базы
постоянная, относительно базы
Рис. 6-19: Постоянная ориентация, относительно траектории
Последовательность перемещений при
SCIRC
Здесь отсчетная точка инструмента или заготовки перемещается по дуге
окружности к целевой точке. Траектория описывается начальной, вспомогательной и конечной точками. При этом начальной точкой является
целевая точка предыдущей команды перемещения.
Ориентацию инструмента во вспомогательной точке можно проигнорировать или принять.
Рис. 6-20: Два круговых сегмента с SCIRC
Сглаживание
перемещений по
траектории
136 / 313
Функция сглаживания не предназначена для создания круговых
перемещений. Речь идет исключительно о предотвращении точного останова в точке.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Сглаживание в видах перемещений PTP, LIN и CIRC
Вид перемещения
Порядок
действий при
создании
перемещений
SLIN
Особенность
Расстояние
сглаживания
Ход траектории
соответствует
двум ветвям параболы
Указание значений в
мм
Ход траектории
соответствует
двум ветвям параболы
Указание значений в
мм
Выполняется
сглаживание целевой точки
Условия
Установлен режим работы T1.
Выбрана программа робота.
1. Переместить точку TCP в положение, которое должно быть запрограммировано в качестве целевой точки.
Рис. 6-21: Команда перемещения с SLIN и SCIRC
2. Установить курсор в строку, после которой должна быть вставлена
команда перемещения.
3. Выбрать последовательность меню Команды > Перемещение >
SLIN.
В качестве альтернативы в соответствующей строке можно нажать
на программируемую кнопку Перемещение.
Появится встроенный формуляр:
встроенный формуляр SLIN
Рис. 6-22: Встроенный формуляр SLIN (отдельное перемещение)
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
137 / 313
Программирование робота 1
Поз.
Описание
1
Вид перемещения SLIN
2
Имя целевой точки. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
3
CONT: сглаживание целевой точки.
[пусто]: точный подвод в целевую точку.
4
Скорость
5
0,001-2 м/с для SLIN
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
6
Индикацию этого окна можно включить и выключить посредством Смена параметра.
Имя записи данных с логическими параметрами. Система
автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опций.
4. Установить параметры во встроенном формуляре.
5. В окне опций «Фреймы» ввести верные данные для системы координат инструмента и основной системы координат, а также данные о режиме интерполяции (внешняя точка TCP: вкл./выкл.) и контроле
возможности столкновения.
Рис. 6-23: Окно опций Фреймы
Поз.
1
Описание
Выбрать инструмент.
Если установлено True в поле Внешний TCP: выбрать инструмент.
Диапазон значений: [1] … [16]
2
Выбрать базу.
Если установлено True в поле Внешний TCP: выбрать стационарный инструмент.
Диапазон значений: [1] … [32]
138 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Поз.
3
4
Описание
Режим интерполяции
False: инструмент смонтирован на установочном
фланце.
True: инструмент является стационарным.
Распознавание столкновения
True: для этого перемещения система управления роботом определяет осевые моменты. Это необходимо
для распознавания столкновения.
False: для этого перемещения система управления роботом не определяет осевые моменты. Поэтому распознавание столкновения для этого перемещения
невозможно.
6. В окне опций «Параметры перемещения» можно уменьшить ускорение и рывок редуктора с максимального значения. При активации
сглаживания можно изменить расстояние сглаживания. В дальнейшем также можно изменить контроль ориентации.
Рис. 6-24: Окно опции Параметры перемещения (SLIN)
Поз.
Описание
1
Скорость оси. Это значение соотносится с указанным в технических данных максимальным значением.
1-100 %
2
Осевое ускорение. Это значение соотносится с указанным в
технических данных максимальным значением.
3
Рывок редуктора. Рывок (толчок) означает изменение ускорения.
1-100 %
Это значение соотносится с указанным в технических данных
максимальным значением.
1-100 %
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
139 / 313
Программирование робота 1
Поз.
Описание
4
Выбрать контроль ориентации:
5
стандартный;
ручной PTP;
постоянный контроль ориентации.
Это поле отображается только при условии, что во встроенном формуляре была выбрана опция CONT.
Расстояние до целевой точки, на которой сглаживание начинается раньше всего.
Это расстояние не должно превышать половину расстояния
между начальной и целевой точками. Если здесь будет введено большее значение, оно игнорируется, и используется
максимальное значение.
7. Сохранить команду, нажав кнопку Команда OK. Текущее положение
TCP принимается в качестве целевой точки.
Рис. 6-25: Сохранение координат точки при «Команда ОК» и
«Touchup»
Порядок
действий при
создании
перемещений
SCIRC
Условия
Установлен режим работы T1.
Выбрана программа робота.
1. Установить курсор в строку, после которой должна быть вставлена
команда перемещения.
2. Выбрать последовательность меню Команды > Перемещение >
SCIRC.
В качестве альтернативы в соответствующей строке можно нажать
на программируемую кнопку Перемещение.
Появится встроенный формуляр:
140 / 313
Встроенный формуляр SCIRC
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-26: Встроенный формуляр SCIRC (отдельное перемещение)
Поз.
Описание
1
Вид перемещения SCIRC
2
Имя вспомогательной точки
Система автоматически задает имя. Имя может быть перезаписано.
3
Имя целевой точки
Система автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
4
5
CONT: сглаживание целевой точки.
[пусто]: точный подвод в целевую точку.
Скорость
6
0,001-2 м/с
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
7
Угол круга
- 9 999° … + 9 999°
Если угол круга задается меньше -400° или больше +400°, то
при сохранении встроенного формуляра появляется запрос
на подтверждение или отклонение введенного значения.
8
Индикацию этого окна можно включить и выключить посредством Смена параметра.
Имя записи данных с логическими параметрами. Система
автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опций.
3. Ввести параметры во встроенный формуляр.
4. В окне опций «Фреймы» ввести верные данные для системы координат инструмента и основной системы координат, а также данные о режиме интерполяции (внешняя точка TCP: вкл./выкл.) и контроле
возможности столкновения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
141 / 313
Программирование робота 1
Рис. 6-27: Окно опций Фреймы
Поз.
1
Описание
Выбрать инструмент.
Если установлено True в поле Внешний TCP: выбрать инструмент.
Диапазон значений: [1] … [16]
2
Выбрать базу.
Если установлено True в поле Внешний TCP: выбрать стационарный инструмент.
Диапазон значений: [1] … [32]
3
4
Режим интерполяции
False: инструмент смонтирован на установочном
фланце.
True: инструмент является стационарным.
Распознавание столкновения
True: для этого перемещения система управления роботом определяет осевые моменты. Это необходимо
для распознавания столкновения.
False: для этого перемещения система управления роботом не определяет осевые моменты. Поэтому распознавание столкновения для этого перемещения
невозможно.
5. В окне опций «Параметры перемещения» можно уменьшить ускорение и рывок редуктора с максимального значения. При активации
сглаживания можно изменить расстояние сглаживания. В дальнейшем также можно изменить контроль ориентации.
142 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-28: Параметры перемещения (SCIRC)
Поз.
Описание
1
Скорость оси. Это значение соотносится с указанным в технических данных максимальным значением.
1-100 %
2
Осевое ускорение. Это значение соотносится с указанным в
технических данных максимальным значением.
3
Рывок редуктора. Рывок (толчок) означает изменение ускорения.
1-100 %
Это значение соотносится с указанным в технических данных
максимальным значением.
4
5
6
1-100 %
Выбрать контроль ориентации:
стандартный;
ручной PTP;
постоянный контроль ориентации.
Выбрать базовую систему контроля ориентации:
по отношению к базе;
по отношению к траектории.
Это поле отображается только при условии, что во встроенном формуляре была выбрана опция CONT.
Расстояние до целевой точки, на которой сглаживание начинается раньше всего.
Это расстояние не должно превышать половину расстояния
между начальной и целевой точками. Если здесь будет введено большее значение, оно игнорируется, и используется
максимальное значение.
6. Установить характеристику во вспомогательной точке (это возможно
только начиная с группы пользователей «Эксперт»).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
143 / 313
Программирование робота 1
Рис. 6-29: Конфигурация контура (SCIRC)
Поз.
Описание
7
Выбор ориентировочных характеристик во вспомогательной
точке
8
Consider
Interpolate
Ignore
Это поле отображается только при условии, что во встроенном формуляре было выбрано ANGLE.
Выбор ориентировочных характеристик в целевой точке
Extrapolate
Interpolate
7. Переместить TCP в позицию, которая должна быть запрограммирована в качестве вспомогательной точки. Сохранить данные точки с
помощью Touchup HP.
8. Переместить точку TCP в положение, которое должно быть запрограммировано в качестве целевой точки. Сохранить данные точки с
помощью Touchup ZP.
9. Сохранить команду, нажав кнопку Команда OK.
Конфигурация
контура SCIRC
При перемещениях SCIRC система управления роботом может учитывать только запрограммированную ориентацию вспомогательной точки.
Нужно ли ее действительно учитывать и в какой степени, может определить пользователь с помощью окна опций Параметры перемещения,
вкладки Конфигурация контура.
Рис. 6-30: Конфигурация контура (SCIRC)
144 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Таким же образом для команд SCIRC с углом круга можно установить,
должна ли целевая точка иметь запрограммированную ориентацию или
ориентация должна оставаться прежней в соответствии с углом круга.
Элемент
Описание
Ориентировочные
характеристики во
вспомогательной
точке
Ниспадающее меню
Ориентировочные
характеристики в целевой точке
INTERPOLATE: во вспомогательной точке TCP принимает запрограммированную ориентацию.
IGNORE: система управления роботом игнорирует
запрограммированную ориентацию во вспомогательной точке. Начальная ориентация TCP переходит в целевую ориентацию кратчайшим путем.
CONSIDER (по умолчанию): система управления
роботом выбирает путь, максимально приближенный к запрограммированной ориентации во вспомогательной точке.
Ниспадающее меню
INTERPOLATE: в фактической целевой точке принимается запрограммированная ориентация целевой точки.
(Единственная возможность для SCIRC без указания угла круга. Если установлено EXTRAPOLATE,
все равно выполняется INTERPOLATE.)
EXTRAPOLATE(по умолчанию для SCIRC с указанием угла круга): ориентация подгоняется под угол
круга:
Если угол круга удлиняет перемещение, то в запрограммированной целевой точке принимается запрограммированная ориентация. До фактической
целевой точки ориентация продолжает выполняться соответствующим образом.
Если угол круга укорачивает перемещение, то запрограммированная ориентация не достигается.
6.5.1
SCIRC: ориентировочные характеристики – пример вспомогательной точки
Описание
Для TCP запрограммированы следующие ориентации:
начальная точка: 0°;
вспомогательная точка: 98°;
целевая точка; 197°.
Переориентация составляет, таким образом, 197°. Если вспомогательная точка игнорируется, целевая ориентация может быть достигнута путем более короткой переориентации 360° - 197° = 163°.
#INTERPOLATE
Прерывистые оранжевые стрелки показывают запрограммированную ориентацию.
Серые стрелки схематически указывают на то, какова бы была фактическая ориентация, если бы она отличалась от запрограммированной.
TCP во вспомогательной точке принимает запрограммированную ориентацию 98°. Переориентация составляет 197°.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
145 / 313
Программирование робота 1
Рис. 6-31: #INTERPOLATE
#IGNORE
SP
начальная точка
AuxP
вспомогательная точка
TP
целевая точка
Выполняется короткая переориентация с 163°. Запрограммированная
ориентация вспомогательной точки игнорируется.
Рис. 6-32: #IGNORE
#CONSIDER
#CONSIDER предназначен для определения пользователем направления, в котором должна выполняться переориентация
TCP, независимо от определенной ориентации во вспомогательной точке. Пользователь может задать направление через вспомогательную точку.
Запрограммированная ориентация во вспомогательной точке составляет 98° и находится, таким образом, на самом длинном пути. Поэтому система управления роботом для переориентации предлагает самый
длинный путь.
146 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-33: #CONSIDER
Другой пример для #CONSIDER:
Если бы вспомогательная точка программировалась бы с 262°, она находилась бы на кратчайшем пути. Поэтому система управления роботом
для переориентации предложила бы самый короткий путь. Серые стрелки показывают, что при этом она никоим образом не приняла бы запрограммированную ориентацию вспомогательной точки.
Рис. 6-34: #CONSIDER, другой пример
6.5.2
SCIRC: ориентировочные характеристики – пример целевой точки
Описание
#INTERPOLATE
Прерывистые оранжевые стрелки показывают запрограммированную ориентацию.
Серые стрелки показывают фактическую ориентацию, если она отличается от запрограммированной.
В TP, расположенном перед TP_CA, запрограммированная ориентация
еще не достигнута. В TP_CA принимается запрограммированная ориентация.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
147 / 313
Программирование робота 1
Рис. 6-35: #INTERPOLATE
#EXTRAPOLATE
SP
начальная точка
AuxP
вспомогательная точка
TP
запрограммированная целевая точка
TP_CA
фактическая целевая точка. Получается из угла круга.
В TP принимается запрограммированная ориентация. Для TP_CA данная ориентация продолжается в соответствии с углом круга.
Рис. 6-36: #EXTRAPOLATE
6.5.3
Ограничения для $CIRC_MODE
Ограничения
Описание из описания системных переменных
Если для сегмента SCIRC справедливо $ORI_TYPE = #IGNORE,
$CIRC_MODE не анализируется.
Если сегменту SCIRC предшествует сегмент SCIRC или SLIN, для которого справедливо $ORI_TYPE = #IGNORE, то #CONSIDER в данном сегменте SCIRC может не использоваться.
Для SCIRC с углом круга:
148 / 313
Для вспомогательной точки нельзя устанавливать #INTERPOLATE.
Если справедливо $ORI_TYPE = #IGNORE, то для целевой точки нельзя устанавливать #EXTRAPOLATE.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Пояснение к
сообщениям об
ошибках
Если предшествует сегмент Spline, для которого справедливо
$ORI_TYPE = #IGNORE, то для целевой точки нельзя устанавливать
#EXTRAPOLATE.
Некоторые сообщения об ошибках содержат текст «Ошибка из-за правила х»
При программировании $CIRC_MODE для ориентации и дополнительных осей необходимо учитывать следующее:
1. Правило 1: #CONSIDER разрешен именно тогда, когда начальная и
целевая точки не игнорируются.
2. Правило 2: $CIRC_TYPE=#PATH разрешен именно тогда, когда начальная и целевая точки не игнорируются.
3. Правило 3: если установлены $ORI_TYPE=#IGNORE или
$EX_AX_IGNORE, то $CIRC_MODE больше не анализируется.
4. Правило 4: если запрограммирован угол круга, то интерполяция во
вспомогательной точке запрещена.
5. Правило 5: если запрограммирован угол круга, то целевая точка может определяться путем экстраполяции тогда, когда начальная и целевая точка не игнорируются.
6. Правило 6: если запрограммирован угол круга, то целевая точка может приниматься (интерполироваться) тогда, когда она не игнорируется.
7. Правило 7: путь #CONSIDER действителен только при непрерывно
вращающихся дополнительных осях. Для осей другого типа всегда
выбирается короткий путь, что соответствует #IGNORE.
8. Правило 8: компонент TARGET_PT учитывается только в том случае,
если запрограммирован угол круга.
9. Правило 9: Чтение $CIRC_MODE запрещено везде, запись разрешена только в маркере WITH SCIRC.
6.6
Изменение команд перемещения
Изменение
команд перемещения
Существуют различные причины для изменения имеющихся команд перемещения:
Примеры причин
Выполняемое изменение
Изменяется положение захватываемой детали.
Изменение данных положения
Изменяется положение одного из
пяти отверстий при обработке.
Следует укоротить сварной шов.
Изменяется положение палеты.
Изменение данных фрейма: База
Положение было ошибочно
запрограммировано с неверной
базой или неверным инструментом (TOOL).
Изменение данных фрейма: База
и/или Инструмент с обновлением
положения
Обработка выполняется слишком медленно: следует улучшить
время такта.
Изменение данных перемещения: скорость, ускорение
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Изменение вида перемещения
149 / 313
Программирование робота 1
Эффекты при
изменении
команд перемещения
Изменение данных положения
Изменяется лишь набор данных точки: точка получает новые координаты, поскольку с помощью Touchup значения обновляются.
Старые координаты точки перезаписываются и после этого более недоступны.
Рис. 6-37: Изменение положения робота с помощью Touchup
Изменение данных фреймов
При изменении данных фреймов (напр., инструмент, база) возникает
смещение положения (ср. с векторным смещением).
Положение робота изменяется. (Соответствует угловому осевому положению робота)
Старые координаты точки по-прежнему сохраняются и являются
действительными. Изменяется только точка отсчета (напр., база).
Может возникнуть выход за пределы рабочей области! Поэтому определенные положения робота являются недостижимыми.
Если положение робота должно остаться прежним, но требуется изменить параметры фрейма, то после изменения параметров (напр.,
базы) в нужном положении следует обновить координату с помощью
Touchup.
Диалоговое окно пользователя также предупреждает: «Внимание! При изменении связанных с точкой параметров фрейма существует опасность столкновения!».
150 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Рис. 6-38: Изменение данных фрейма (пример базы)
Изменение данных перемещения
При изменении скорости или ускорения изменяется профиль перемещения. Это может оказать влияние на процесс обработки, особенно
в областях применения, связанных с определенной траекторией:
толщина клеевого валика;
качество сварного шва.
Изменение вида перемещения
Изменение вида перемещения всегда ведет к изменению планирования траектории. Это может привести в неблагоприятных случаях к
столкновениям, поскольку траектория может непредсказуемо измениться.
Рис. 6-39: Изменение вида перемещения
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
151 / 313
Программирование робота 1
Указания по
технике безопасности для
изменения
команд перемещения
Изменение
параметров
перемещения –
фреймы
После каждого изменения команд перемещения
следует протестировать программу робота при
пониженной скорости (режим работы T1).
Немедленный запуск программы робота при высокой скорости может
привести к повреждению системы робота и всей установки, так как возможны непредсказуемые перемещения. Если в опасной зоне находится
какое-либо лицо, возможны опасные для жизни травмы.
1. Установить курсор в строку с командой, которую следует изменить.
2. Нажать кнопку Изменить. Откроется встроенный формуляр команды.
3. Открыть окно опций «Фреймы».
4. Установить новый инструмент или базу или внешнюю точку TCP.
5. Подтвердить пользовательское диалоговое окно «Внимание! При изменении параметров фрейма существует опасность столкновения!»
нажатием на кнопку OK.
6. Если требуется сохранить текущее положение робота с измененными настройками инструмента или базы, следует удерживать кнопку Touch Up, чтобы повторно рассчитать и сохранить текущее
положение. Предварительно должен быть выполнен подвод в нужную позицию.
7. Сохранить изменения, нажав кнопку Команда OK.
При изменении параметров фрейма следует повторно проверить программы на предмет отсутствия столкновений.
Изменение
положения
Порядок действий для изменения положения робота:
1. Выбрать режим работы T1 и установить курсор в строку с командой,
которую следует изменить.
2. Привести робот в нужное положение.
3. Нажать кнопку Изменить. Откроется встроенный формуляр команды.
4. Для перемещений SPTP и SLIN:
нажать кнопку Touchup, чтобы принять текущее положение TCP
в качестве новой целевой точки.
Для перемещений SCIRC:
нажать кнопку Touchup HP, чтобы принять текущее положение
TCP в качестве новой вспомогательной точки;
или нажать кнопку Touchup ZP, чтобы принять текущее положение TCP в качестве новой целевой точки.
5. Подтвердить операцию, ответив Да на контрольный запрос.
6. Сохранить изменения, нажав кнопку Команда OK.
Изменение
параметров
перемещения
Этот порядок действий можно использовать для внесения следующих
изменений:
Вид перемещения
Скорость
Ускорение
Сглаживание
Расстояние наложения
1. Установить курсор в строку с командой, которую следует изменить.
2. Нажать кнопку Изменить. Откроется встроенный формуляр команды.
152 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
3. Изменить параметры.
4. Сохранить изменения, нажав кнопку Команда OK.
При изменении параметров перемещения следует повторно про
верить программы на предмет отсутствия столкновений и безо
пасности процесса.
Особенности
при программировании с
использованием встроенных
формуляров
Переименование точек
a. Выделить переименовываемую точку курсором.
b. При помощи кнопки «Изменить» открыть встроенный формуляр.
c. Изменить имя точки в формуляре (поле «Имя точки»).
d. Применить изменения нажатием кнопки «Команда ОК».
e. Открывается следующее диалоговое окно: Сохранить предыдущие
координаты для точки «Имя точки»? (TOOL_DATA[n], BASE_DATA[n],
#BASE)
f.
При нажатии кнопки «Да» принимаются предыдущие координаты
исходной точки.
Многократное использование точек
a. Вставить новый встроенный формуляр в нужной позиции программы.
b. Указать имя повторно используемой точки во встроенном формуляре (поле «Имя точки»).
Здесь необходимо следить за точностью написания оригинального имени точки.
c. Выполнить другие настройки и применить изменения нажатием
кнопки «Команда ОК».
d. Открывается следующее диалоговое окно: Точка «имя точки» уже
существует – перезаписать? (TOOL_DATA[n], BASE_DATA[n], #BASE)
e. При нажатии кнопки «Нет» уже имеющиеся параметры исходной
точки не перезаписываются.
Добавление программных строк
a. Выделить курсором имеющуюся программную строку.
b. При помощи кнопки «Перемещение» открыть новый встроенный
формуляр.
Новый встроенный формуляр всегда добавляется после выде
ленной программной строки. Последующие программные строки
смещаются на одну строку назад.
Удаление программных строк
a. Выделить курсором программную строку, которую необходимо
удалить.
b. Путь меню: кнопка «Редактировать» > «Удалить»
В соответствующем файле .dat относящиеся к точке значения
остаются без изменений. См. также многократное использование точек.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
153 / 313
Программирование робота 1
6.7
Упражнение: перемещение по траектории и сглаживание
Цель упражнения
Условия
Постановка
задач, часть A
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
создание простых программ перемещения с видами перемещений
SPTP, SLIN и SCIRC;
создание программ перемещения с точками точного останова и движениями сглаживания;
работа с программами в навигаторе (копирование, дублирование, переименование, удаление)
Для успешного завершения этого упражнения требуется следующее:
основы программирования перемещений с видами перемещений
SPTP, SLIN, SCIRC;
теоретические знания сглаживания перемещений;
теоретические знания положения HOME.
Выполнить следующие задачи: создание программы контура детали 1.
1. Создать новую программу и присвоить соответствующее имя.
2. Запрограммировать на рабочем столе контур детали 1 с использованием синей базы и штифта 1 в качестве инструмента:
скорость перемещения на рабочем столе составляет 0,3 м/с;
соблюдать постоянное вертикальное положение продольной оси
инструмента к контуру траектории (контроль ориентации:
стандарт).
3. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Рис. 6-40: Перемещение по траектории и сглаживание: контур детали 1 и 2
154 / 313
1
Начальные точки
2
Направление перемещения
3
Отсчетная база
4
Контур детали 1
5
Контур детали 2
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
6 Создание и изменение запрограммирова...
Постановка
задач, часть B
Выполнить следующие задачи: копирование программы и сглаживание
1. Создать копию программы и присвоить соответствующее имя.
2. Добавить в команды перемещения новой программы команду сглаживания таким образом, чтобы контур полностью обводился.
3. Углы контура должны быть обведены с различными параметрами
сглаживания.
4. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Постановка
задач: дополнительная задача
Выполнить следующие задачи: создание программы контура детали 2.
1. Создать вторую программу и присвоить соответствующее имя. Использовать ту же базу и тот же инструмент.
Скорость перемещения на рабочем столе составляет 0,3 м/с
Соблюдать постоянное вертикальное положение продольной оси
инструмента к контуру траектории (контроль ориентации:
2. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
3. Создать копию программы «Контур_детали2» с именем
Деталь2_CONT.
4. Добавить в команды перемещения новой программы команду сглаживания таким образом, чтобы контур полностью обводился.
5. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Что следует знать сейчас:
1. Чем характеризуются перемещения SLIN и SCIRC?
............................................................
............................................................
............................................................
2. Как указывается скорость перемещения для перемещений SPTP, SLIN
и SCIRC и к чему относится эта скорость?
............................................................
............................................................
............................................................
3. Как указывается расстояние сглаживания для перемещений SPTP,
SLIN и SCIRC и к чему относится это расстояние?
............................................................
............................................................
4. На что следует обратить внимание при добавлении команд CONT в существующие команды перемещения?
............................................................
............................................................
5. На что следует обратить внимание при изменении положения HOME?
............................................................
............................................................
6. Что следует учитывать при исправлении, изменении или удалении запрограммированных точек?
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
155 / 313
Программирование робота 1
.............................................................
156 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
7
Программирование перемещений Spline
7.1
Обзор
В этом учебном разделе рассматриваются следующие элементы:
7.2
Создание блоков Spline с помощью встроенных формуляров
Профили скорости для блоков Spline
Изменения блоков Spline
Сглаживание перемещений Spline
Программирование блоков Spline с помощью встроенных формуляров
Общая информация
Дополнительно к отдельным записям с SPTP, SLIN, SCRIC и относительным перемещениям доступен «блок SPLINE».
Блок SPLINE рассматривается и планируется как отдельное перемещение со «сложной траекторией».
Имеются 2 вида блоков SPLINE:
Блок CP-SPLINE Spline с перемещениями CP (SPL, SLIN, SCIRC)
Блок PTP-SPLINE: Spline с перемещениями исключительно в осевой зоне (только SPTP)
Блок SPLINE – это запись перемещения с TOOL, BASE и IPO_MODE,
но разными скоростями и ускорениями в отдельных сегментах.
Траектория планируется через все точки, таким образом, проход выполняется через все точки.
Полный расчет траектории выполняется предварительно. В результате известен весь ход траектории и она может быть оптимально размещена в результате планирования в рабочей зоне осей.
Траектории с очень узкими контурами всегда приводят к снижению
скорости, поскольку оси робота являются ограничивающими элементами.
Внутри блока Spline сглаживания не требуется, поскольку через все
точки проложена сплошная траектория.
Дополнительно можно конфигурировать такие функции, как «постоянная скорость» и «фиксированное время».
Количество сегментов в блоке ограничено только объемом памяти.
Кроме сегментов перемещения блок Spline может содержать следующие элементы:
встроенные команды из технологических пакетов, располагающие функциями Spline;
комментарии и пустые строки.
Блок Spline не может содержать иных команд, например, команд распределения переменных или логических команд.
Начальная точка блока Spline является последней точкой перед
блоком Spline.
Целевая точка блока Spline является последней точкой в блоке
Spline.
Блок Spline не может инициировать останов предварительной процедуры.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
157 / 313
Программирование робота 1
7.3
Профиль скоростей движений Spline
Скорость
SPLINE
Ход траектории всегда одинаков, независимо от коррекции, скорости или
ускорения.
Система управления роботом уже при планировании учитывает физические границы робота. Робот движется в рамках запрограммированной
скорости с наибольшей возможной скоростью, допускаемой его физическими границами. Это является преимуществом в сравнении с традиционными движениями LIN и CIRC, для которых физические границы при
планировании не учитываются. Эти границы начинают действовать лишь
при выполнении движения, в определенных случаях вызывая останов
системы.
Снижение
скорости
К случаям, в которых требуется снижение скорости до значения ниже запрограммированного, относятся прежде всего:
выраженные углы;
значительная переориентация;
значительные перемещения дополнительных осей;
вблизи областей сингулярности.
Снижения скорости ввиду значительной переориентации можно избежать для сегментов Spline, выбрав контроль ориентации Без ориентации.
Снижение
скорости до 0
Это происходит:
в следующих друг за другом точках с одинаковыми координатами;
в следующих друг за другом сегментах SLIN и/или SCIRC. Причина:
непостоянное направление вектора скорости.
На переходах SLIN-SCIRC скорость также падает до 0, если прямая
тангенциально переходит в окружность, поскольку окружность в отличие от прямых искривлена.
Рис. 7-1: Точный останов на Р2
Рис. 7-2: Точный останов на Р2
Исключения:
158 / 313
если сегменты SLIN следуют друг за другом, образуя прямую, и при
этом ориентации сегментов равномерно меняются, то скорость не
снижается.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Рис. 7-3: Прохождение Р2 без точного останова.
На переходе SCIRC-SCIRC скорость не снижается, если оба круговых
контура имеют один и тот же центр и одинаковый радиус, а также
если ориентации равномерно меняются. (Трудно поддается обучению, поэтому следует рассчитывать и программировать точки).
Круговые контуры с одним и тем же центром и одинаковым ради
усом иногда программируются для получения круговых контуров
≥ 360 °. Более простой возможностью является программирование угла круга.
Снижение
скоростей в
результате
неравномерного
обучения
При неравномерном распределении изменений ориентации/дополнительных осей относительно декартовой длины дуги зачастую возникает
нежелательное снижение скорости.
Пример неравномерного распределения:
PTP {x 0, y 0, z 0, A 0, B 0, C 0} ; Начальная точка Spline
SPLINE
SPL {x 0, y 100, z 0, A 10, B 0, C 0} ; 0,1° Переориентация на 1 мм
декарт. пути
SPL {x 0, y 110, z 0, A 20, B 0, C 0} ; 1° Переориентация на 1 мм
декарт. пути
SPL {x 0, y 310, z 0, A 31, B 0, C 0} ; 0,055° Переориентация на 1 мм
декарт. пути
ENDSPLINE
Положение в декартовых координатах, ориентация и дополнительные оси привязаны друг к другу посредством геометрическо
го планирования. При прохождении на TCP вдоль декартовой касательной к траектории Spline ориентация и дополнительные оси также
вращаются (в результате привязки) автоматически и наоборот (в частности, как правило, происходит полная интерполяция всех границ сегмента). Многие нежелательные снижения декартовой скорости
необходимы (обусловлены привязкой), чтобы запрограммированные
значения
рывки ориентации ($JERK.ORI);
ускорения ориентации ($ACC.ORI1) и
скорости ориентации ($VEL.ORI1)
были сохранены.
При неравномерном распределении путей ориентации по декартовому
пути (длина дуги) зачастую ориентация должна быть ускорена или замедлена, что, как правило, связано с большими рывками ориентации. В
результате при неравномерном распределении пути чаще происходит
снижение скорости, чем при равномерном (пропорциональном) распределении путей ориентации. При сильном рывке может возникнуть вибрация робота и его руки.
Способ устранения:
Как можно равномернее распределять ориентацию и дополнительные
оси
Пример равномерного распределения:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
159 / 313
Программирование робота 1
PTP {x 0, y 0, z 0, A 0, B 0, C 0} ; Начальная точка Spline
SPLINE
SPL {x 0, y 100, z 0, A 10, B 0, C 0} ; 0,1° Переориентация на 1 мм
декарт. пути
SPL {x 0, y 110, z 0, A 11, B 0, C 0} ; 0,1° Переориентация на 1 мм
декарт. пути
SPL {x 0, y 310, z 0, A 31, B 0, C 0} ; 0,1° Переориентация на 1 мм
декарт. пути
ENDSPLINE
Отключить контроль ориентации посредством встроенного формуляра
или KRL
$ORI_TYPE = #IGNORE
Сравнение с запрограммированным контролем ориентации или без него
Рис. 7-4: С запрограммированной ориентацией
Рис. 7-5: Без запрограммированной ориентации
Поз.
Примечание
1
Запрограммированное положение с соответствующей
ориентацией
2
Интерполированное положение
3
Запрограммированное положение с соответствующей
ориентацией, ориентация которого не принимается
Зачастую программируется ряд точек с относи
тельно небольшим расстоянием. Но интерес
представляет, в основном, декартова траектория (x, y, z). Однако Spline
интерполирует и запрограммированную ориентацию, что может привести к снижению скорости. Поэтому в данном случае предпочтительно выбрать во встроенном формуляре IGNORE.
160 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
7.4
Изменения в блоках Spline
Описание
Изменение позиции точки:
Если внутри блока Spline смещается точка, траектория изменяется
максимум в 2 сегментах до этой точки и в 2 сегментах после нее.
Малые сдвиги точек, как правило, не приводят к изменению траектории. Однако, при следовании друг за другом очень длинных и очень
коротких сегментов незначительные изменения могут иметь очень
серьезное действие.
Изменение типа сегмента:
Если сегмент SPL заменяется сегментом SLIN или наоборот, траектория изменяется в предшествующем и в последующем сегментах.
Пример 1
Исходная траектория:
PTP P0
SPLINE
SPL P1
SPL P2
SPL P3
SPL P4
SCIRC P5, P6
SPL P7
SLIN P8
ENDSPLINE
Рис. 7-6: Исходная траектория
В сравнении с исходной траекторией смещается одна точка:
Смещается Р3. В связи с этим изменяется траектория в сегментах P1 P2, P2 - P3 и P3 - P4. Сегмент P4 - P5 в этом случае не изменяется, так
как он относится к SCIRC и определяет круговую траекторию.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
161 / 313
Программирование робота 1
Рис. 7-7: Точка была смещена
В сравнении с исходной траекторией изменяется тип сегмента:
В исходной траектории изменен тип сегмента P2 - P3 с SPL на SLIN. Изменяется траектория в сегментах P1 - P2, P2 - P3 и P3 - P4.
PTP P0
SPLINE
SPL P1
SPL P2
SLIN P3
SPL P4
SCIRC P5, P6
SPL P7
SLIN P8
ENDSPLINE
Рис. 7-8: Изменен тип сегмента
Пример 2
Исходная траектория:
...
SPLINE
SPL {X 100, Y 0, ...}
SPL {X 102, Y 0}
SPL {X 104, Y 0}
SPL {X 204, Y 0}
ENDSPLINE
162 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Рис. 7-9: Исходная траектория
В сравнении с исходной траекторией смещается одна точка:
Смещается Р3. В связи с этим изменяется траектория во всех показанных сегментах. Так как сегменты P2 - P3 и P3 - P4 являются очень короткими, а сегменты P1 - P2 и P4 - P5 очень длинными, небольшое
смещение приводит к сильному изменению траектории.
...
SPLINE
SPL {X 100, Y 0, ...}
SPL {X 102, Y 1}
SPL {X 104, Y 0}
SPL {X 204, Y 0}
ENDSPLINE
Рис. 7-10: Точка была смещена
Способ устранения
7.5
расстояние между точками распределить более равномерно;
прямые (за исключением очень коротких прямых) программировать
как сегменты SLIN.
Выбор записи при движениях Spline
Блок Spline
По сегментам блока Spline может быть выполнен выбор записи.
Блок CP-Spline:
Перемещение SAK выполняется как обычное движение LIN. Об этом
появляется сообщение, которое необходимо квитировать.
Блок PTP-Spline:
Перемещение SAK выполняется как обычное движение PTP. Сообщение об этом не выводится.
После выбора записи траектория, как правило, проходит так, как если бы
Spline выполнялся по стандартной процедуре программы.
Исключения возможны, если Spline перед выбором записи еще ни разу
не осуществлялся и если в этом случае выбор записи выполняется по на
чалу блока Spline:
Начальная точка движения Spline является последней точкой перед блоком Spline, т. е. начальная точка находится за пределами блока. Система
управления роботом сохраняет начальную точку при обычном прохожде
нии Spline. За счет этого она становится известной на случай последующего выбора записи. Если же блок Spline еще никогда не выполнялся, начальная точка неизвестна.
Если после перемещения SAK нажать клавишу пуска, появляется сообщение об изменении траектории, которое необходимо квитировать.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
163 / 313
Программирование робота 1
Пример: измененная траектория при выборе записи по Р1
Рис. 7-11: Пример: измененная траектория при выборе записи Р1
1
PTP P0
2
SPLINE
3
SPL P1
4
SPL P2
5
SPL P3
6
SPL P4
7
SCIRC P5, P6
8
SPL P7
9
SLIN P8
10 ENDSPLINE
Строка
2
SCIRC
Описание
Строка заголовка/начало блока CP-Spline
3-9
Сегменты Spline
10
Конец блока CP-Spline
При выборе записи по сегменту SCIRC, для которого запрограммирован
угол круга, подвод в целевую точку осуществляется с учетом угла круга
при условии, что системе управления роботом известна начальная точка.
Если начальная точка не известна системе управления, выполняется
подвод в запрограммированную целевую точку. В данном случае появляется сообщение о том, что угол круга не учитывается.
При выборе записи по отдельному движению SCIRC угол круга никогда
не учитывается.
7.6
Сглаживание движений Spline
Для всех блоков Spline и отдельных движений Spline возможно взаимное
сглаживание. Не имеет значения, идет ли речь о блоках CP- или PTPSpline, а также какие отдельные движения используются.
Тип движения дуги сглаживания всегда соответствует второму движению. Например, при сглаживании SPTP-SLIN дуга сглаживания имеет тип
CP.
164 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Движения Spline не могут быть сглажены обычными движениями (LIN,
CIRC, PTP).
Сглаживание невозможно из-за времени или останова предварительного выполнения:
Если сглаживание невозможно по причине времени или из-за останова
предварительного выполнения, робот ожидает в начале дуги сглаживания.
По причине времени: робот перемещается дальше, как только система управления сможет запланировать следующую запись.
В случае останова предварительного выполнения: с началом дуги
сглаживания достигается конец актуальной записи. Т. е. останов
предварительного выполнения устранен, и система управления роботом может планировать следующую запись. Робот перемещается
дальше.
В обоих случаях робот теперь движется по дуге сглаживания. Таким образом, сглаживание, строго говоря, возможно, но с задержкой.
Такая работа противоположна движениям LIN, CIRC или PTP. Если по
вышеуказанным причинам сглаживание в них невозможно, то подвод в
целевую точку осуществляется точно.
Отсутствие сглаживания в MSTEP и ISTEP:
Для видов выполнении программ MSTEP и ISTEP подвод осуществляется точно в целевую точку также при наличии сглаженных движений.
При сглаживании от блока Spline к блоку Spline в результате данного точного останова траектория в последнем сегменте первого блока и в первом сегменте второго блока отличается от вида выполнения программы
GO.
Во всех других сегментах в обоих блоках Spline траектория в MSTEP,
ISTEP и GO одинакова.
7.7
Замена сглаженного перемещения CP блоком Spline
Описание
Чтобы заменить традиционные сглаженные перемещения CP блоками
Spline, требуется изменить программу следующим образом:
заменить LIN – LIN на SLIN – SPL – SLIN;
заменить LIN – CIRC на SLIN – SPL – SCIRC.
Рекомендация: вставить элемент SPL в исходную цепь. Перемещение SCIRC начнется после исходного CIRC.
В случае со сглаженными перемещениями программируется угловая
точка. Вместо этого в блоке Spline программируются точки в начале и
конце сглаживания.
Моделировать следующее сглаженное движение:
LIN P1 C_DIS
LIN P2
Движение Spline:
SPLINE
SLIN P1A
SPL P1B
SLIN P2
ENDSPLINE
P1A = начало сглаживания, P1B = конец сглаживания
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
165 / 313
Программирование робота 1
Рис. 7-12: Сглаженное движение – движение Spline
Возможности измерения P1A и P1B:
пройти сглаженную траекторию и сохранить положения в нужном
месте с помощью триггера;
рассчитать точки в программе с KRL;
начало сглаживания можно определить по критерию сглаживания.
Пример: если указан критерий сглаживания C_DIS, то расстояние от
начала сглаживания до угловой точки соответствует значению
$APO.CDIS.
Конец сглаживания зависит от запрограммированной скорости.
Траектория SPL не соответствует точно дуге сглаживания, даже если
точки P1A и P1B находятся точно в начале и конце сглаживания. Чтобы
сохранить точную дугу сглаживания, следует добавить дополнительные
точки в движение Spline. Обычно достаточно одной точки.
Пример
Моделировать следующее сглаженное движение:
$APO.CDIS=20
$VEL.CP=0.5
LIN {Z 10} C_DIS
LIN {Y 60}
Движение Spline:
SPLINE WITH $VEL.CP=0.5
SLIN {Z 30}
SPL {Y 30, Z 10}
SLIN {Y 60}
ENDSPLINE
Начало дуги сглаживания рассчитано на основе критерия сглаживания.
166 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Рис. 7-13: Пример: сглаженное движение – движение Spline, 1
Траектория SPL все еще не соответствует точно дуге сглаживания. Поэтому в движение Spline добавляется дополнительный сегмент SPL.
SPLINE WITH $VEL.CP=0.5
SLIN {Z 30}
SPL {Y 15, Z 15}
SPL {Y 30, Z 10}
SLIN {Y 60}
ENDSPLINE
Рис. 7-14: Пример: сглаженное движение – движение Spline, 2
Теперь с помощью дополнительной точки траектория соответствует дуге
сглаживания.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
167 / 313
Программирование робота 1
7.7.1
Переход SLIN-SPL-SLIN
В последовательности сегментов SLIN-SPL-SLIN желательно, чтобы сегмент SPL проходил внутри малого угла между двумя прямыми. В зависимости от точки начала и конца сегмента SPL траектория также может
проходить вне этого угла.
Рис. 7-15: SLIN-SPL-SLIN
Траектория проходит внутри этого угла, если выполнены следующие условия:
два сегмента SLIN пересекаются в удлинении;
2/3 ≤ a/b ≤ 3/2.
a = расстояние от начальной точки сегмента SPL до точки пересечения сегментов SLIN
b = расстояние от точки пересечения сегментов SLIN до целевой точки сегмента SPL
7.8
Программирование блоков CP-SPLINE с помощью встроенных формуляров
Блок CP-SPLINE
Рис. 7-16: Встроенный формуляр блока CP-Spline
Поз.
Описание
1
Имя блока Spline. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных перемещения коснуться стрелки.
Открывается соответствующее окно опции.
2
168 / 313
CONT: сглаживание целевой точки.
[пусто]: точный подвод в целевую точку.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Поз.
Описание
3
Декартова скорость
4
0,001-2 м/с
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
Для редактирования данных перемещения коснуться стрелки.
Открывается соответствующее окно опции.
Рис. 7-17: Окно опции Фреймы (блок CP- и PTP-Spline)
Поз.
1
Описание
Выбрать инструмент.
Или: Если отображается True в поле Внешний TCP: выбрать
инструмент.
2
[1] … [16]
Выбрать базу.
Или: Если отображается True в поле Внешний TCP: выбрать
стационарный инструмент.
3
[1] … [32]
Режим интерполяции
False: инструмент смонтирован на установочном фланце.
True: инструмент является стационарным.
Рис. 7-18: Окно опции Параметры перемещения (блок CP-Spline)
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
169 / 313
Программирование робота 1
Поз.
Описание
1
Скорость оси. Это значение соотносится с указанным в технических данных максимальным значением.
2
Осевое ускорение. Это значение соотносится с указанным в
технических данных максимальным значением.
3
1-100 %
1-100 %
Рывок редуктора. Рывок (толчок) означает изменение ускорения.
Это значение соотносится с указанным в технических данных
максимальным значением.
1-100 %
4
Выбрать контроль ориентации.
5
Выбрать базовую систему контроля ориентации.
Данный параметр влияет только на сегменты SCIRC (при
наличии).
6
Это поле отображается только при условии, что во встроенном формуляре была выбрана опция CONT.
Расстояние до целевой точки, на которой сглаживание начинается раньше всего.
Расстояние может быть максимально равно последнему сегменту в Spline. Если имеется только один сегмент, расстояние
может составлять не более половины длины сегмента. Если
здесь будет введено большее значение, оно игнорируется, и
используется максимальное значение.
Программирование в блоке
CP-SPLINE
Рис. 7-19: Встроенный формуляр Сегмент CP-Spline
По умолчанию отображаются не все поля встроенного формуляра. Для
включения и выключения индикации полей предусмотрена кнопка Смена
параметра.
Поз.
Описание
1
Вид перемещения
2
Только для SCIRC: Имя вспомогательной точки
SPL, SLIN или SCIRC
Система автоматически задает имя. Имя может быть перезаписано.
170 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Поз.
Описание
3
Имя целевой точки. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опции.
4
Декартова скорость
По умолчанию для сегмента действует значение блока Spline.
При необходимости здесь можно присвоить сегменту особое
значение. Оно будет действовать только для данного сегмента.
5
0,001-2 м/с
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
По умолчанию для сегмента действует значение блока Spline.
При необходимости здесь можно присвоить сегменту особые
значения. Они будут действовать только для данного сегмента.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опции.
6
Угол круга
Доступно только в том случае, если был выбран вид перемещения SCIRC.
- 9 999° … + 9 999°
Если задается значение меньше -400° или больше +400°, то
при сохранении встроенного формуляра появляется запрос
на подтверждение или отклонение введенного значения.
7
Имя записи данных с логическими параметрами. Система
автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опций.
7.9
Программирование блоков PTP-SPLINE с помощью встроенных формуляров
Блок PTPSPLINE
Рис. 7-20: Встроенный формуляр Блок PTP SPLINE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
171 / 313
Программирование робота 1
Поз.
Описание
1
Имя блока Spline. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных перемещения коснуться стрелки.
Открывается соответствующее окно опций.
2
3
CONT: сглаживание целевой точки.
[пусто]: точный подвод в целевую точку.
Скорость оси
4
1-100 %
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
Для редактирования данных перемещения коснуться стрелки.
Открывается соответствующее окно опций.
Рис. 7-21: Окно опции Фреймы (блок CP- и PTP-Spline)
Поз.
1
Описание
Выбрать инструмент.
Или: Если отображается True в поле Внешний TCP: выбрать
инструмент.
2
[1] … [16]
Выбрать базу.
Или: Если отображается True в поле Внешний TCP: выбрать
стационарный инструмент.
3
172 / 313
[1] … [32]
Режим интерполяции
False: инструмент смонтирован на установочном фланце.
True: инструмент является стационарным.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
Рис. 7-22: Окно опции Параметры перемещения (блок PTP-Spline)
Поз.
Описание
1
Осевое ускорение. Это значение соотносится с указанным в
технических данных максимальным значением.
2
1-100 %
Это поле отображается только при условии, что во встроенном формуляре была выбрана опция CONT.
Расстояние до целевой точки, на которой сглаживание начинается раньше всего.
Расстояние может быть максимально равно последнему сегменту в Spline. Если имеется только один сегмент, расстояние
может составлять не более половины длины сегмента. Если
здесь будет введено большее значение, оно игнорируется, и
используется максимальное значение.
3
Рывок редуктора. Рывок (толчок) означает изменение ускорения.
Это значение соотносится с указанным в технических данных
максимальным значением.
1-100 %
Программирование в блоке
PTP-SPLINE
Рис. 7-23: Встроенный формуляр Сегмент SPTP
По умолчанию отображаются не все поля встроенного формуляра. Для
включения и выключения индикации полей предусмотрена кнопка Смена
параметра.
Поз.
Описание
1
Вид перемещения SPTP
2
Имя целевой точки. Система автоматически задает имя. Имя
может быть перезаписано.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
173 / 313
Программирование робота 1
Поз.
Описание
3
Скорость оси
По умолчанию для сегмента действует значение блока Spline.
При необходимости здесь можно присвоить сегменту особое
значение. Оно будет действовать только для данного сегмента.
4
1-100 %
Имя записи данных перемещения. Система автоматически
задает имя. Имя может быть перезаписано.
По умолчанию для сегмента действует значение блока Spline.
При необходимости здесь можно присвоить сегменту особые
значения. Они будут действовать только для данного сегмента.
Для редактирования данных точки коснуться стрелки. Открывается соответствующее окно опций.
5
Имя записи данных с логическими параметрами. Система
автоматически задает имя. Имя может быть перезаписано.
Для редактирования данных коснуться стрелки. Открывается
соответствующее окно опций.
174 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
7 Программирование перемещений Spline
7.10
Упражнение: Контур траектории с блоком Spline
Цель упражнения
Условия
Задание
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
создание сложных программ перемещения с видами перемещений
SPTP, SLIN и SCIRC;
создание программ перемещения с блоками Spline.
Для успешного завершения этого упражнения требуется следующее:
основы программирования перемещений с видами перемещений
SPTP, SLIN, SCIRC, SPL;
знание использования блоков Spline.
Выполнить следующие задачи: создание программы для контура Spline.
1. Создать новую программу и присвоить соответствующее имя.
2. Использовать соответствующие данные инструментов и базы.
3. Скорость на траектории должна составлять 0,25 м/с.
4. Запрограммировать контур Spline на пленке. Для этого использовать
блок Spline, SPL, SLIN и SCIRC.
Рис. 7-24: Контур траектории из блока Spline
5. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Что следует знать сейчас:
1. Какие команды перемещения могут использоваться в блоке PTPSpline?
............................................................
............................................................
............................................................
2. Где находится начальная точка блока Spline?
............................................................
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
175 / 313
Программирование робота 1
3. При каких условиях скорость во время совершения перемещений
Spline опускается ниже запрограммированной?
.............................................................
.............................................................
4. Что необходимо учитывать при изменении перемещений Spline?
.............................................................
.............................................................
176 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
8
Использование логических функций в программе робота
л
з
8.1
Обзор
В этом учебном разделе рассматриваются следующие элементы:
8.2
программирование функций ожидания;
программирование простых функций переключения;
программирование функций переключения траектории.
Введение в программирование логики
Использование
входов и
выходов при
программировании логики
Рис. 8-1: Цифровые входы и выходы
Чтобы обеспечить связь системы управления роботом с периферией,
можно использовать цифровые и аналоговые входы и выходы.
Определение терминов
Термин
Определение
Пример
Коммуникация
Обмен сигналами по
интерфейсу
Запрос состояния
(захват открыт/
закрыт)
Периферия
«Окружение»
Инструмент (напр.,
захват, сварочные
клещи и т. д.), датчики, системы транспортировки
материала и т. д.
Цифровой
Цифровая техника:
дискретные по значению и времени сигналы
Сигнал датчика:
наличие детали: значение 1 (TRUE/
истинно), отсутствие
детали: значение 0
(FALSE/ложно)
Аналоговый
Изображение физической величины
Измерение температуры
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
177 / 313
Программирование робота 1
Термин
Определение
Пример
Входы
Поступающие к сис-
Сигнал датчика:
захват открыт/захват
закрыт
теме управления
через интерфейс
магистральной шины
сигналы
Выходы
Отправляемые от сис-
темы управления
через интерфейс
магистральной шины
сигналы
Команда переключения клапана, которая
ведет к закрыванию
крюка для захвата.
При программировании роботов KUKA применяются входные и выходные сигналы для логических команд:
OUT: переключение выхода в определенном месте программы;
WAIT FOR: зависящая от сигнала функция ожидания: здесь система
управления ожидает сигнал:
вход IN;
выход OUT;
сигнал времени TIMER;
внутренний адрес памяти системы управления (маркер/одноразрядная память) FLAG или CYCFLAG (при постоянной циклической оценке);
WAIT: зависящая от времени функция ожидания: система управления ожидает в этом месте программы в течение введенного времени.
8.3
Программирование функций ожидания
Предварительный запуск
компьютера
При предварительном запуске компьютера считываются записи перемещения (невидимые для оператора) во время предварительного выполнения, чтобы система управления могла планировать траекторию при
командах сглаживания. С предварительным выполнением обрабатываются не только данные перемещения, но и арифметические и управляемые периферией команды.
1 DEF Depal_Box1()
2
3 INI
4 SPTP HOME VEL= 100 % DEFAULT
5 SPTP P1 VEL= 100 % PDAT1 Tool[5] Base[10]
6 SPTP P2 VEL= 100 % PDAT1 Tool[5] Base[10]
7 SLIN P3 VEL= 1 m/s CPDAT1 Tool[5] Base[10]
8 SLIN P4 VEL= 1 m/s CPDAT2 Tool[5] Base[10]
9 SPTP P5 VEL= 100% PDAT1 Tool[5] Base[10]
10 OUT 26'' State=TRUE
11 SPTP HOME VEL= 100 % DEFAULT
12
13 END
Строка
178 / 313
6
Положение указателя основного выполнения
9
Возможное положение указателя предварительного
выполнения (не видно)
10
Набор команд, который приводит к срабатыванию предварительного выполнения
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Некоторые команды приводят к срабатыванию останова предваритель
ного выполнения. К ним относятся команды, влияющие на периферию,
напр., команды OUT (закрыть захват, открыть сварочные клещи). Если
указатель предварительного выполнения остановится, то сглаживание
невозможно.
Функции
ожидания
Функции ожидания в программе перемещения позволяют просто выполнить программирование с помощью встроенных формуляров. Различают
зависимую от времени функцию ожидания и зависимую от сигнала функцию ожидания.
С помощью WAIT перемещение робота останавливается на запрограммированное время. WAIT всегда приводит к останову предварительного
выполнения.
Рис. 8-2: Встроенный формуляр WAIT
Поз.
1
Описание
Время ожидания
≥0с
Пример программы:
SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]
SPTP P2 Vel=100% PDAT2 Tool[1] Base[1]
WAIT Time=2 sec
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]
Рис. 8-3: Пример перемещения для логики
Поз.
Примечание
1
Перемещение прерывается на 2 секунды в точке P2.
WAIT FOR устанавливает зависимую от сигнала функцию ожидания.
При необходимости можно логически связать несколько сигналов (максимум 12). Если добавляется создание связи, то во встроенном формуляре
добавляются поля для дополнительных сигналов и для других связей.
Рис. 8-4: Встроенный формуляр WAITFOR
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
179 / 313
Программирование робота 1
Поз.
1
Описание
Добавить внешнюю связь. Оператор находится между заключенными в скобки выражениями:
AND;
OR;
EXOR.
Добавить NOT.
NOT;
[пусто].
Ввести нужный оператор с помощью соответствующей экранной кнопки.
2
Добавить внутреннюю связь. Оператор находится внутри
заключенного в скобки выражения:
AND;
OR;
EXOR.
Добавить NOT.
NOT;
[пусто].
Ввести нужный оператор с помощью соответствующей экранной кнопки.
3
Ожидаемый сигнал:
IN;
OUT;
CYCFLAG;
TIMER;
FLAG.
4
Номер сигнала
5
Если у сигнала имеется имя, это имя отображается.
1-4096
Только для группы пользователей «Эксперты»:
нажатием на кнопку Описание можно ввести имя. Имя задается свободно.
6
CONT: обработка в предварительном выполнении
[пусто]: обработка с остановом предварительного выполнения
При использовании записи CONT следует учитывать, что сигнал
будет опрошен в предварительном выполнении. Изменение сигнала после времени предварительного выполнения не определя
ется!
Логические
связи
Логические связи также используются в зависящих от сигналов функциях
ожидания. С помощью логических связей можно сочетать запросы различных сигналов или состояний: например, можно создать зависимости,
а также исключить определенные состояния.
Результат функции с логическим оператором всегда содержит истинное
значение, т. е. в конце всегда находится значение TRUE (значение 1) или
значение FALSE (значение 0).
180 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Рис. 8-5: Пример и принцип логической связи
Операторы для логических связей:
Обработка с
предварительным выполнением и без
него (CONT)
NOT | Этот операнд используется для отрицания, т. е. значение изменяется на противоположное (TRUE превращается в FALSE).
AND | Результат этого выражения является истинным, если оба связанных выражения являются истинными.
OR | Результат этого выражения является истинным, если, по крайней мере, одно из связанных выражений является истинным.
EXOR | Результат этого выражения является истинным, если оба связанных оператором выражения имеют разные значения истинности.
Зависящие от сигнала функции ожидания можно запрограммировать как
с обработкой в предварительном выполнении, так и без нее. Без предварительного выполнения означает, что перемещение остановится в
точке в любом случае, а сигнал будет проверен в ней: (1) (>>> Рис. 8-6 ).
Таким образом, сглаживание этой точки невозможно.
Рис. 8-6: Пример перемещения для логики
SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]
SPTP P2 CONT Vel=100% PDAT2 Tool[1] Base[1]
WAIT FOR IN 10 'door_signal'
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]
При обработке строки с WAIT FOR без CONT появится информационное сообщение: «Сглаживание невозможно».
Зависящие от сигнала функции ожидания, запрограммированные с
предварительным выполнением, позволяют выполнить сглаживание
точки, созданной перед строкой команды. Однако текущее положение
указателя предварительного выполнения неоднозначно (стандартное
значение: три записи перемещения), поэтому точная целевая точка для
проверки сигнала не определена (1) (>>> Рис. 8-7 ). Кроме того, изменения сигнала после проверки сигнала не определяются!
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
181 / 313
Программирование робота 1
Рис. 8-7: Пример перемещения для логики с предварительным выполнением
Позиция
Диапазон переключения
1
Позиция робота для выполнения им сглаживания, при
которой выполнено условие
Зеленый диапазон переключения для активации контура
сглаживания. Он только устанавливается, его дезактивация больше невозможна.
2
Начало перемещения сглаживания
Запрос активации
3
Позиция робота для невыполнения им сглаживания,
при которой выполнено условие
TRUE: сглаживание
FALSE: подвод в целевую
точку
Синий диапазон переключения для подвода и останова в
точке P2
SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]
SPTP P2 CONT Vel=100% PDAT2 Tool[1] Base[1]
WAIT FOR IN 10 'door_signal' CONT
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]
Порядок
действий
1. Установить курсор в строку, после которой должна быть вставлена
логическая команда.
2. Выбрать последовательность меню Команды > Логика > WAIT FOR
или WAIT.
3. Во встроенном формуляре установить параметры.
4. Сохранить команду, нажав кнопку Команда OK.
8.4
Программирование простых функций переключения
Простая
функция
переключения
С помощью функции переключения можно отправить цифровой сигнал к
периферии. Для этого используется номер выхода, который следует заранее задать в интерфейсе соответствующим образом.
Рис. 8-8: Статическое переключение
182 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Сигнал устанавливается статично, т. е. он сохраняется до тех пор, пока
для выхода не будет задано другое значение. Функция переключения реализуется в программе с помощью встроенного формуляра:
Рис. 8-9: Встроенный формуляр OUT
Поз.
Описание
1
Номер выхода
2
Если у выхода есть имя, это имя отображается.
1 … 4096
Только для группы пользователей «Эксперты»:
нажатием на кнопку Описание можно ввести имя. Имя задается свободно.
3
4
Состояние, в которое переключается выход
TRUE
FALSE.
CONT: обработка в предварительном выполнении
[пусто]: обработка с остановом предварительного выполнения
При использовании записи CONT следует учитывать, что сигнал
будет установлен в предварительном выполнении.
Импульсные
функции
переключения
Как и в случае с простой функцией переключения, здесь изменяется значение выхода. Конечно, в случае с импульсом сигнал принимается обратно через определенное время.
Рис. 8-10: Импульсный уровень
Программирование осуществляется с помощью встроенного формуляра, который устанавливает импульс с определенной длиной.
Рис. 8-11: Встроенный формуляр PULSE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
183 / 313
Программирование робота 1
Поз.
1
Описание
Номер выхода
2
1 … 4096
Если у выхода есть имя, это имя отображается.
Только для группы пользователей «Эксперты»:
нажатием на кнопку Описание можно ввести имя. Имя задается свободно.
3
4
5
Состояние, в которое переключается выход
TRUE: уровень «High»
FALSE: уровень «Low»
CONT: обработка в предварительном выполнении
[пусто]: обработка с остановом предварительного выполнения
Длина импульса
Действие записи
CONT с
функциями
переключения
0,10 … 3,00 с
Без CONT:
При опускании записи CONT во встроенном формуляре OUT в процессе
переключения принудительно осуществляется останов предваритель
ного выполнения, а в точке перед командой переключения выполняется точный останов. После установки выхода перемещение продолжается.
Рис. 8-12: Пример перемещения с переключением с остановом
предварительного выполнения
SLIN P1 Vel=0.2 m/s CPDAT1 Tool[1] Base[1]
SLIN P2 CONT Vel=0.2 m/s CPDAT2 Tool[1] Base[1]
SLIN P3 CONT Vel=0.2 m/s CPDAT3 Tool[1] Base[1]
OUT 5 'rob_ready' State=TRUE
SLIN P4 Vel=0.2 m/s CPDAT4 Tool[1] Base[1]
С CONT:
Установка записи CONT приводит к тому, что указатель предварительного выполнения не останавливается (не срабатывает останов предварительного выполнения). Так можно выполнить сглаживание перемещения
перед командой переключения. Установка сигнала осуществляется в
предварительном выполнении.
184 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Рис. 8-13: Пример перемещения с переключением в предварительном выполнении
SLIN P1 Vel=0.2 m/s CPDAT1 Tool[1] Base[1]
SLIN P2 CONT Vel=0.2 m/s CPDAT2 Tool[1] Base[1]
SLIN P3 CONT Vel=0.2 m/s CPDAT3 Tool[1] Base[1]
OUT 5 'rob_ready' State=TRUE CONT
SLIN P4 Vel=0.2 m/s CPDAT4 Tool[1] Base[1]
Стандартное значение для указателя предварительного выпол
нения составляет три записи движений. Однако предварительное выполнение может меняться от случая к случаю, т. е. следует учитывать, что момент переключения не всегда одинаков.
Порядок
действий
1. Установить курсор в строку, после которой должна быть вставлена
логическая команда.
2. Выбрать последовательность меню Команды > Логика > OUT > OUT
или PULSE.
3. Во встроенном формуляре установить параметры.
4. Сохранить команду, нажав кнопку Команда OK.
8.5
Программирование логики с помощью SPLINE
При программировании отдельных записей SPLINE или внутри блоков
SPLINE для новых движений можно во встроенном формуляре дополнительно установить логику. Эта логика доступна также в виде отдельного
встроенного формуляра. Эта логика может также или только программироваться с помощью KRL.
Всегда доступны:
триггер (команда переключения на траектории);
условный останов
Только в блоке CP-SPLINE
Программирование во встроенном
формуляре
движения
область неизменного движения
Только в блоке CP-SPLINE и только в виде команды KRL
временной блок
Программирование для отдельных записей:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
185 / 313
Программирование робота 1
Рис. 8-14: Встроенный формуляр SLIN (отдельное перемещение)
В распоряжении набор данных ADATx
Программирование в блоке SPLINE:
Рис. 8-15: Встроенный формуляр «Сегмент SPL»
По умолчанию отображаются только вид перемещения и имя точки.
С помощью кнопки Смена параметров можно добавить и изменить
скорость(3), параметры перемещения(4) и/или логику(5). Здесь
также выполняется изменение и сохранение логических параметров
в ADATx.
Окно опций «Все логические параметры»
Рис. 8-16: Триггер
Если не находиться в блоке CP-SPLINE, область неизменного движения не выделяется.
Встроенный
формуляр
логики для
перемещений
SPLINE
Выбрать последовательность меню Команды > Логика > Spline Trigger
или Spline Stop Condition.
Spline Trigger (триггер)
Рис. 8-17: Встроенный формуляр, Spline, триггер
Spline Stop Condition (условный останов)
Рис. 8-18: Встроенный формуляр Spline Stop Condition
186 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
8.5.1
Программирование триггера Spline
Описание
Триггер запускает определенную пользователем команду. Система управления роботом выполняет команду параллельно с перемещением робота.
Триггер может по выбору относиться к начальной или целевой точке перемещения. Команда может быть запущена прямо в отсчетной точке или
может быть смещена в пространстве и/или во времени.
Триггер не может применяться для перемещений PTP.
Если триггер используется в блоке Spline, то он не может нахо-
диться между последним сегментом и ENDSPLINE.
Возможности программирования
Встроенный формуляр, окно опций, логика, триггер
Встроенный формуляр, Spline, триггер
Программирование с помощью команды KRL TRIGGER WHEN PATH
Окно опций,
логика, триггер
Рис. 8-19: Триггер
При помощи кнопки Выбрать действие > Добавление триггера
здесь можно движению присвоить (дополнительный) триггер. Если
это первый триггер для данного движения, эта команда активирует
также поле Триггер.
(Удалить триггер можно при помощи Выбрать действие > Удаление
триггера.)
Обучение в отношении пространственного смещения пути с помощью кнопки Выбрать действие> Триггер: обучение смещения
Поз.
1
Описание
При помощи кнопки Выбрать действие > Добавление триггера здесь можно движению присвоить (дополнительный)
триггер. Если это первый триггер для данного движения, эта
команда активирует также поле Триггер.
Для каждого движения возможны макс. 8 триггеров.
(Удалить триггер можно при помощи Выбрать действие >
Удаление триггера.)
2
Отсчетная точка триггера
TRUE: начальная точка
FALSE: целевая точка
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
187 / 313
Программирование робота 1
Поз.
3
Описание
Пространственное смещение в отношении целевой или
начальной точки
Отрицательное значение: смещение в направлении начала перемещения
Положительное значение: смещение в направлении конца
перемещения
В отношении пространственного смещения может быть также
выполнено обучение. При этом поле Начальная точка является точкой отсчета автоматически устанавливается на
FALSE.
4
5
Временное смещение в отношении Смещение
Отрицательное значение: смещение в направлении начала перемещения.
Положительное значение: триггер срабатывает по истечении времени.
Команда, которую должен запускать триггер. Возможны:
Присвоение значения переменной
Указание: на левой стороне присвоения не должна находиться переменная времени работы. То есть переменная
должна быть объявлена в файле *.dat.
value = 12
Команда OUT; команда PULSE; команда CYCFLAG
$OUT[2]=TRUE ; включение выхода
$OUT[99]=False ; выключение выхода
Вызов подпрограммы. В этом случае должен быть указан
приоритет.
UP()PRIO=-1 ; Внимание: ввод должен осуществляться без
пробелов.
Доступны приоритеты 1, 2, 4-39, а также 81-128; Приоритеты 40-80 зарезервированы для случаев, когда приоритет
автоматически присваивается системой. Если система
должна автоматически присвоить приоритет, следует установить: PRIO = -1.
Если подпрограммы одновременно вызываются несколькими триггерами, то сначала обрабатывается триггер с наивысшим приоритетом, а затем триггер с более низким
приоритетом. 1 = высший приоритет.
Встроенный
формуляр,
Spline, триггер
Рис. 8-20: Встроенный формуляр, Spline, триггер
Программирование и функционирование, как встроенный формуляр SYN
OUT PATH
Макс. смещение
188 / 313
Точку переключения можно сместить только до определенных пределов.
Если программируются значения смещения, превышающие максимально допустимые, или недействительные значения, то система управления
роботом включает триггер не позднее достижения предельной допусти
мой точки. В режимах T1/T2 в этой связи появляется сообщение.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Максимальное смещение для отрезка + отрицательное значение
времени:
Пределы относятся к общему смещению, которое определяется на основании пространственного смещения и отрицательного смещения во времени.
Отрицательное смещение
макс. до ...
Положительное смещение
макс. до ...
До начальной точки (если она не
сглажена)
До целевой точки (если она не
сглажена)
Если начальная точка сглажена:
Если целевая точка сглажена:
Если начальная точка является сглаженной точкой PTP:
При равномерном сглаживании: до следующего точного
останова после команды
TRIGGER
При смешанном сглаживании
(Spline): До начальной точки,
которую имел бы триггер
ONSTART с PATH = 0, если бы
он находился в движении, в
которое происходит сглаживание.
до конца дуги сглаживания
Если начальная точка является другой сглаженной точкой:
до начала дуги сглаживания
(>>> 8.5.1.3 "Отсчетная точка
при смешанном сглаживании
(Spline)" Страница 192)
При смешанном сглаживании
(LIN/CIRC/PTP): до начала
дуги сглаживания
Максимальное смещение для положительного значения времени:
Положительное смещение во времени может составлять максимум
1 000 мс. Любое смещение во времени в диапазоне 0-1 000 мс включается, даже если программа уже отменена!
Пример триггера
с KRL
1
SPTP P0
2
SPLINE
3
SPL P1
4
SPL P2
5
SPL P3
6
SPL P4
7
TRIGGER WHEN PATH=0 ONSTART DELAY=10 DO $OUT[5]=TRUE
8
SCIRC P5, P6
9
SPL P7
10
TRIGGER WHEN PATH=-20.0 DELAY=0 DO SUBPR_2() PRIO=-1
11
SLIN P8
12 ENDSPLINE
Триггер в строке 10 будет давать тот же результат, как если бы он находился непосредственно перед блоком Spline (то есть между строками 1 и
2). В обоих случаях он относится к последней точке движения Spline, P8.
Однак рекомендуется размещать триггер, как показано в примере, а не
перед блоком Spline.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
189 / 313
Программирование робота 1
Рис. 8-21: Пример TRIGGER WHEN PATH (для Spline)
8.5.1.1
Отсчетная точка при сглаживании – обзор
Где находится отсчетная точка триггера PATH, если начальная или
целевая точка сглажена?
В первую очередь это зависит от того, о каком сглаживании идет речь:
равномерном или смешанном.
Равномерное
Равномерное сглаживание
Из движения CP-Spline в движение CP-Spline
Из движения PTP-Spline в движение PTP-Spline
Из движения LIN или CIRC в движение LIN или CIRC
Каждое движение Spline может быть блоком Spline или отдельной записью.
(>>> 8.5.1.2 "Отсчетная точка при равномерном сглаживании" Страница 190)
Смешанное
Смешанное сглаживание
Здесь положение отсчетной точки зависит еще и от того, о каком движении идет речь: Spline или традиционном движении.
Из движения CP-Spline в движение PTP-Spline или наоборот
Каждое движение Spline может быть блоком Spline или отдельной записью.
(>>> 8.5.1.3 "Отсчетная точка при смешанном сглаживании (Spline)"
Страница 192)
Из движения PTP в движение LIN или CIRC или наоборот
(>>> 8.5.1.4 "Отсчетная точка при смешанном сглаживании (LIN/
CIRC/PTP)" Страница 193)
8.5.1.2
Отсчетная точка при равномерном сглаживании
В данном случае принцип поясняется на основании примера с блоками
CP-Spline. Он действителен также и для других видов равномерного
сглаживания.
Пример
SPLINE
...
190 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
SLIN P2
TRIGGER WHEN PATH=0 DELAY=0 DO ...
;Trigger 1
SLIN P3
ENDSPLINE C_SPL
SPLINE
TRIGGER WHEN PATH=0 ONSTART DELAY=0 DO ...
;Trigger 2
SLIN P4
...
ENDSPLINE
Триггеры 1 и 2 относятся к P3. P3 сглажена. Система управления роботом передает точку в соответствии с расстоянием сглаживания на дугу
сглаживания (= P3').
Целевая точка
сглажена
Отсчетная точка триггера 1:
Система управления роботом рассчитывает, на каком расстоянии она бы
была от начала дуги сглаживания до целевой точки с точным остановом.
Это расстояние передается на дугу сглаживания.
Длина отрезка PStartApprox → P3 равна длине отрезка PStartApprox →
P3'Trigger 1.
Рис. 8-22: Триггер 1: Отсчетная точка при равномерном сглаживании
Начальная точка
сглажена
PStartApprox
Начало дуги сглаживания
P3
Отсчетная точка при точном останове
P3'Trigger 1
Отсчетная точка при сглаживании
Отсчетная точка триггера 2:
Система управления роботом рассчитывает, на каком расстоянии она бы
была от конца дуги сглаживания до начальной точки с точным остано
вом. Это расстояние передается на дугу сглаживания.
Длина отрезка PEndApprox → P3 равна длине отрезка PEndApprox →
P3'Trigger 2.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
191 / 313
Программирование робота 1
Рис. 8-23: Триггер 2: Отсчетная точка при равномерном сглаживании
8.5.1.3
PEndApprox
Конец дуги сглаживания
P3
Отсчетная точка при точном останове
P3'Trigger 2
Отсчетная точка при сглаживании
Отсчетная точка при смешанном сглаживании (Spline)
Пример
PTP_SPLINE
...
SPTP P2
TRIGGER WHEN PATH=0 DELAY=0 DO ...
;Trigger 1
SPTP P3
ENDSPLINE C_SPL
SPLINE
TRIGGER WHEN PATH=0 ONSTART DELAY=0 DO ...
;Trigger 2
SLIN P4
...
ENDSPLINE
Триггеры 1 и 2 относятся к P3. P3 сглажена.
Начальная точка
сглажена
Отсчетная точка триггера 2:
Сначала необходимо рассматривать эту отсчетную точку, поскольку к ней относится отсчетная точка триггера 1!
Отсчетная точка определяется по тому же принципу, что и при равномерном сглаживании.
(>>> "Начальная точка сглажена" Страница 191)
Целевая точка
сглажена
Отсчетная точка триггера 1:
Отсчетная точка триггера 1 находится в том же положении, что и отсчетная точка триггера 2.
Отрезок PStartApprox → P3'Trigger 1, как правило, короче, чем отрезок
PStartApprox → P3.
192 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Рис. 8-24: Триггер 1: Отсчетная точка при смешанном сглаживании
PStartApprox
Начало дуги сглаживания
PEndApprox
Конец дуги сглаживания
P3
Отсчетная точка при точном останове
P3'
Отсчетная точка при сглаживании
Если триггер 1 смещается и в результате смещения попадает между
PStartApprox и P3', точное положение определяется следующим образом:
Система управления роботом рассчитывает, на каком проценте отрезка
PStartApprox → P3 будет находиться точка переключения, если целевая
точка будет точкой точного останова. Этот процент передается на дугу
сглаживания. Таким образом, точка переключения находится на x % отрезка PStartApprox → P3'Trigger 1
8.5.1.4
Отсчетная точка при смешанном сглаживании (LIN/CIRC/PTP)
Начальная точка
сглажена
Целевая точка
сглажена
8.5.1.5
Сглаживание PTP-CP:
Отсчетная точка находится в конце дуги сглаживания.
Сглаживание CP-PTP:
Отсчетная точка находится в начале дуги сглаживания.
Ограничения для функций в триггере
Значения для DELAY и PATH можно присвоить с помощью функций. Для
этих функций имеются следующие ограничения:
программа KRL, которая содержит эту функцию, должна иметь свойство скрыто;
функция должна действовать везде;
функции могут содержать только следующие команды или элементы:
присвоение значений;
команды IF;
комментарии;
пустые строки;
RETURN;
считывание системных переменных;
вызов предварительно установленных функций KRL.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
193 / 313
Программирование робота 1
8.5.2
Программирование условного останова
Описание
«Условный останов» позволяет пользователю задавать на траектории
место, в котором робот будет останавливаться в случае выполнения определенного условия. Такое место называется точкой останова. Если условие больше не выполняется, робот продолжает движение.
Во время перемещения система управления роботом рассчитывает точку, в которой она должна затормозить позже всего, чтобы остановиться в
точке останова. Начиная с этой точки (точка торможения) она проверяет,
выполняется условие или нет.
Если условие в точке торможения выполняется, робот тормозит, чтобы остановиться в точке останова.
Если же перед достижением точки останова условие снова переходит в состояние «не выполняется», робот ускоряется и не останавливается.
Если условие в точке торможения не выполняется, робот продолжает
движение без торможения.
Рис. 8-25: Spline с Условным остановом
Поз.
Пояснение
1
рассчитанная точка торможения в зависимости от пути
и скорости
2
заданная точка останова (с помощью встроенного формуляра или KRL)
3
возможный сброс булева выражения -> ускорение до
запрограммированной скорости
Можно запрограммировать любое количество условных остановов. В то
же время, допускается пересечение не более 10 участков «Точка торможения → точка останова».
Во время торможения система управления роботом отображает в T1/T2
следующее сообщение: Условный останов активирован (строка {Номер строки}).
Возможности программирования
194 / 313
В блоке Spline (CP и PTP) или в отдельной записи Spline: встроенный
формуляр «Окно опций, логика, условный останов»
Перед блоком Spline (CP и PTP): встроенный формуляр «Spline
Conditional Stop»
Программирование с помощью команды KRL STOP WHEN PATH
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
Окно опций,
логика,
условный
останов
Рис. 8-26: Обусловленный останов
Поз.
1
2
Описание
Условие останова. Допускается:
глобальная булева переменная;
сигнальное имя;
сравнение;
простая логическая связь: NOT, OR, AND или EXOR.
Условный останов может относиться к начальной или целевой
точке движения.
TRUE: начальная точка
FALSE: целевая точка
Если отсчетная точка сглажена, действуют такие же правила,
что и для триггера PATH.
3
Существует возможность пространственного смещения точки
останова. Для этого здесь необходимо указать нужное расстояние до начальной или целевой точки. Если пространственного смещения не требуется, ввести «0».
Положительное значение: смещение в направлении конца
перемещения
Отрицательное значение: смещение в направлении начала перемещения
Существуют ограничения по значению смещения точки останова. Действуют такие же пределы, что и для триггера PATH.
В отношении пространственного смещения может быть также
выполнено обучение. При этом поле Начальная точка является точкой отсчета автоматически устанавливается на
FALSE.
Встроенный
формуляр
«Spline Stop
Condition»
Обучение в отношении пространственного смещения точки останова
с помощью кнопки Выбрать действие> Условный останов: обучение смещения
Этот встроенный формуляр может использоваться только блоком Spline.
Между встроенным формуляром и блоком Spline могут находиться другие инструкции или команды, но не команды движения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
195 / 313
Программирование робота 1
Рис. 8-27: Встроенный формуляр Spline Stop Condition
Поз.
Описание
1
Точка, к которой относится условный останов
С элементом ONSTART: последняя точка перед блоком
Spline
Без элемента ONSTART: последняя точка в блоке Spline
Если Spline сглажен, действуют такие же правила, что и для
триггера PATH.
Указание: сведения о сглаживании с триггером PATH можно
найти в инструкции по эксплуатации и программированию для
системных интеграторов.
Элемент ONSTART может быть задан и удален посредством
кнопки Перекл. OnStart.
2
Существует возможность пространственного смещения точки
останова. Для этого здесь необходимо указать нужное расстояние до отсчетной точки. Если пространственного смещения
не требуется, ввести «0».
Положительное значение: смещение в направлении конца
перемещения
Отрицательное значение: смещение в направлении начала перемещения
Существуют ограничения по значению смещения точки останова. Действуют такие же пределы, что и для триггера PATH.
В отношении пространственного смещения может быть также
выполнено обучение.
3
Условие останова. Допускается:
глобальная булева переменная;
сигнальное имя;
сравнение;
простая логическая связь: NOT, OR, AND или EXOR.
Запись Path
Кнопка
Описание
Запись Path
Если существует необходимость в смещении,
значение не обязательно указывать в числовом формате во встроенном формуляре. Это
можно сделать и методом обучения. Данная
операция выполняется посредством Запись
Path.
При обучении смещения элемент ONSTART
(если он установлен во встроенном формуляре) автоматически удаляется, т. к. полученное методом обучения удаление всегда
относится к целевой точке движения.
Порядок обучения аналогичен порядку операций для окна опций Логические параметры.
196 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
8.5.3
Программирование области неизменного движения
Описание
В блоке CP-Spline может быть определена область, в которой робот будет стабильно поддерживать запрограммированную скорость (если это
возможно). Такая область называется «областью неизменного движения».
На каждый блок CP-Spline может быть определена 1 область неизменного движения.
Область неизменного движения определяется командой Start и командой Ende.
Область не может выходить за пределы блока Spline.
Область может быть сколь угодно малой.
Рис. 8-28: Область неизменного движения Spline
Если поддержание запрограммированной скорости на неизменном значении невозможно, система управления роботом сигнализирует об этом
соответствующим сообщением во время выполнения программы.
Область неизменного движения по нескольким сегментам:
Область неизменного движения может распространяться на несколько
сегментов с различными запрограммированными скоростями. В этом
случае для всей области действует наименьшая скорость.
В сегментах с более высокой запрограммированной скоростью движение
тоже будет выполняться с наименьшей скоростью. Сообщение о недостижении заданной скорости в этом случае не выводится. Сигнализируется только невозможность поддержания наименьшей скорости.
Возможности программирования
Окно опций,
логика, область
неизменного
движения
Встроенный формуляр, окно опции, логика, область неизменного
движения: начало и конец области задают у соответствующего сегмента CP
Программирование с помощью команды KRL CONST_VEL START и
CONST_VEL END
Область неизменного движения доступна только для сегмен
тов CP-Spline.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
197 / 313
Программирование робота 1
Рис. 8-29: Область неизменного движения
Поз.
1
2
Описание
Start (начало): определяет начало области неизменного
движения.
End (конец): определяет конец области неизменного движения.
Start и End может относиться к начальной или целевой точке
перемещения.
TRUE: Start или End относится к начальной точке.
Если начальная точка сглажена, отсчетная точка определяется таким же образом, что и при равномерном сглаживании с триггером PATH.
FALSE: Start или End относится к целевой точке.
Если целевая точка сглажена, то Start или End относится
к началу дуги сглаживания.
3
Для начала и конца области неизменного движения существует возможность пространственного смещения. Для этого
здесь необходимо указать нужный участок. Если пространственного смещения не требуется, ввести «0».
Положительное значение: смещение в направлении конца
перемещения
Отрицательное значение: смещение в направлении начала перемещения
В отношении пространственного смещения может быть также
выполнено обучение. При этом для поля Начальная точка
является отсчетной автоматически устанавливается состояние FALSE.
8.5.3.1
Обучение в отношении пространственного смещения области неизменного движения с помощью кнопки Выбрать действие> Область
неизменного движения: обучение смещения
Выбор строки в область неизменного движения
Описание
При выборе записи в область неизменного движения система управления роботом игнорирует данный выбор, о чем выводится соответствующее сообщение. Движения выполняются так, как если бы область
неизменного движения не была запрограммирована.
Выбором записи в область неизменного движения считается выбор записи в участок траектории, определенный значениями смещения. При этом
198 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
не имеет значения, в каких записях движения запрограммированы начало и конец области.
Пример
Рис. 8-30: Пример области неизменного движения (внутреннее программирование)
Формуляры в программе открыты. По умолчанию отступы не предлагаются и используются здесь для повышения наглядности обзора.
В качестве начала области неизменного движения в программе определена точка P1. В качестве конца определена точка P4. Чтобы определить, что подходит для выбора в качестве записи в область неизменного
движения, решающим фактором является расположение данной области на траектории:
Рис. 8-31: Пример области неизменного движения (траектория)
Что подходит для выбора в качестве записи в область неизменного
движения?
8.5.3.2
Выбор записи в точку …
P1
P2
P3
P4
= в области неизменного движения?
нет
нет
да
нет
Максимальные пределы
Если начальная и/или целевая точка блока Spline является точным
остановом:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
199 / 313
Программирование робота 1
Область неизменного движения начинается самое раннее в начальной точке.
Область неизменного движения заканчивается самое позднее в целевой точке.
Если значение сдвига приводит к нарушению этих пределов, система управления роботом автоматически уменьшает смещение и выводит сле
дующее сообщение: CONST_VEL {Start/End} = {Смещение} не реализуемо, используется {Новое смещение}.
Система управления роботом уменьшает смещение настолько, чтобы
возникла область, в которой можно будет поддерживать запрограммированную скорость на неизменном уровне. То есть: она не обязательно
смещает предел точно на начальную или целевую точку блока Spline –
смещение может быть выполнено и в направлении внутрь.
Такое же сообщение поступает, если область изначально располагается
в пределах блока Spline, однако смещение не позволяет поддерживать
заданную скорость. В этом случае система управления роботом тоже
уменьшает смещение.
Если начальная и/или целевая точка блока Spline сглажена:
Область неизменного движения начинается самое раннее в начале
дуги сглаживания начальной точки.
Область неизменного движения завершается самое позднее в начале дуги сглаживания целевой точки.
Рис. 8-32: Максимальные пределы при сглаженном SPLINE/
ENDSPLINE
Если смещение таково, что будет происходить сглаживание этих пределов, система управления роботом автоматически устанавливает предел
на начало соответствующей дуги сглаживания. Сообщение не выводится.
200 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
8 Использование логических функций в п...
8.6
Упражнение: Программирование перемещения с помощью Spline
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Задание
Использование логических команд во встроенном формуляре Spline
Для успешного завершения этого упражнения требуется следующее:
Знания программирования перемещения с помощью Spline.
Использование функций переключения траектории во встроенном
формуляре Spline
Выполнить следующие задачи:
1. Создать копию программы с помощью контура Spline.
2. В красном диапазоне активировать выход 15 ($OUT[15])
3. В зеленом диапазоне активировать выход 16 ($OUT[16])
Рис. 8-33: Логика со Spline
4. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Что следует знать сейчас:
1. Что следует соблюдать при использовании функции WAIT?
............................................................
............................................................
............................................................
2. К чему приводит выбор CONT во встроенном формуляре WAITFOR?
............................................................
............................................................
............................................................
3. В чем заключается различие между OUT и PULSE?
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
201 / 313
Программирование робота 1
4. Что такое триггер?
.............................................................
.............................................................
202 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 Использование технологических пакето...
9
Использование технологических пакетов
л
9.1
з
Обзор
В этом учебном разделе рассматриваются следующие элементы:
9.2
управление KUKA.GripperTech;
программирование с KUKA.GripperTech;
конфигурирование KUKA.GripperTech.
Управление захватом с KUKA.GripperTech
Технологический пакет
KUKA.GripperTec
h
KUKA.Gripper & SpotTech – это технологический пакет с возможностью
догрузки. Он упрощает использование захвата в отношении:
Управление
Ручное приведение захвата в нужные состояния с помощью клавиш
состояния
Программирование
Простое программирование команд захвата с помощью предварительно подготовленных встроенных формуляров
Конфигурация
Наладка захвата с помощью пяти предварительно определенных типов захвата или одного определенного пользователем типа захвата
Для управления захватом требуются следующие клавиши состояния:
Клавиша состояния
Описание
Выбрать захват:
Будет показан номер захвата:
нажатие на верхнюю клавишу увеличит числовое значение;
нажатие на нижнюю клавишу уменьшит числовое значение.
Переключение между состояниями захвата (напр.,
открывание или закрывание).
Текущее состояние не показывается. Возможные
состояния зависят от настроенного типа захвата.
Для сварочных клещей: возможные состояния зависят от конфигурации ручного управления клещами.
Порядок
действий для
управления
захватом
Перед управлением захватом с помощью клавиш
состояния следует активировать клавиши состоя
ния.
В главном меню выбрать пункт Конфигурация > Клавиши статуса >
GripperTech.
Предупреждение!
При обращении с системой захвата существует
опасность защемления и отрезания. Персонал, управляющий захватом,
должен убедиться, что захват не может защемить какую-либо часть тела.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
203 / 313
Программирование робота 1
1. Выбрать захват нажатием на клавишу состояния.
2. Активировать режим работы T1 или T2.
3. Задействовать клавишу подтверждения.
4. Управлять захватом с помощью клавиши состояния.
9.3
Программирование захвата с помощью KUKA.GripperTech
Программирование команд
захвата
Функции
программирования захвата
С помощью технологического пакета KUKA.GripperTech можно запрограммировать команды захвата посредством предварительно подготовленных формуляров Inline прямо в выбранной программе. Для выбора
доступны две команды:
SET Gripper: команда для открывания/закрывания захвата в программе;
CHECK Gripper: команда для проверки состояния захвата.
Команда захвата во время перемещения
Возможно запрограммировать команду захвата таким образом, чтобы эта команда выполнялась относительно начальной или конечной
точки.
Для этого во встроенном формуляре привести в действие только запись CONT и указать длительность задержки в мс (Задержка).
Рис. 9-1: Схема задержки
Команду захвата с обработкой во время переме
щения следует выбирать с осторожностью, поскольку при ее необдуманном применении возможно травмирование
персонала или материальный ущерб из-за летящих деталей или столкновений.
Настройки захвата при точном останове
204 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 Использование технологических пакето...
Рис. 9-2: Настройка захвата
Порядок
действий для
программирования захвата
Использовать контроль захвата:
если контроль захвата активирован с помощью кнопки ВКЛ., выполняется опрос заданных датчиков;
при отсутствии обратного сообщения от датчиков следует ошибка
истечения времени с возможностью моделирования датчика в
тестовом режиме;
если контроль захвата дезактивирован (OFF), то выполняется
ожидание в течение заданного времени перед продолжением выполнения программы.
Порядок действий
1. Выбрать последовательность меню Команды > GripperTech >
Gripper.
2. Во встроенном формуляре установить параметры.
3. Сохранить данные, нажав кнопку Команда OK.
Рис. 9-3: Встроенный формуляр «Захват со сглаживанием»
Рис. 9-4: Встроенный формуляр «Захват без сглаживания»
Поз.
Описание
1
Выбрать захват:
2
Выбрать состояние переключения захвата:
для выбора доступны все настроенные захваты.
количество зависит от типа захвата;
обозначение также зависит от конфигурации.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
205 / 313
Программирование робота 1
Поз.
3
4
5
Описание
Обработка в предварительном выполнении:
CONT: обработка во время перемещения;
[пусто]: обработка с остановом предварительного выполнения.
Поле доступно только при выборе CONT.
START: действие захвата выполняется в начальной точке
перемещения;
END: действие захвата выполняется в целевой точке перемещения.
Поле доступно только при выборе CONT.
Установить время ожидания, с которым выполняется действие захвата относительно начальной или целевой точки перемещения:
6
-200 ... 200 мс.
Набор данных с параметрами захвата.
Рис. 9-5: Настройка захвата
Поз.
1
Описание
Время ожидания, после которого продолжается запрограммированное перемещение:
2
Порядок
действий при
программировании контроля
захвата
206 / 313
0 … 10 с
Контроль захвата
OFF (по умолчанию): ожидание в течение установленного
выше времени;
ON: ожидание датчиков.
Порядок действий
1. Выбрать последовательность меню Команды > GripperTech >
Check Gripper.
2. Во встроенном формуляре установить параметры.
3. Сохранить данные, нажав кнопку Команда OK.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 Использование технологических пакето...
Рис. 9-6: Формуляр Inline «Check Gripper»
Поз.
1
Описание
Выбрать захват:
для выбора доступны все настроенные захваты.
2
3
4
9.4
Выбрать состояние переключения захвата:
количество зависит от типа захвата;
обозначение также зависит от конфигурации.
Выбрать момент времени для опроса сенсора.
START: опрос сенсора выполняется в начальной точке перемещения;
END: опрос сенсора выполняется в целевой точке перемещения.
Установить время ожидания, с которым выполняется опрос
сенсора относительно начальной или целевой точки перемещения.
Конфигурация KUKA.GripperTech
Возможности
конфигурирования и типы
захвата
KUKA.GripperTech позволяет просто и удобно конфигурировать захват.
Для этого доступны пять предварительно определенных типов захвата.
Кроме того, можно установить определяемые пользователем захваты.
Можно установить до 16 различных захватов в
системе управления.
Типы захватов
Тип
OUT
IN;
Состояния
Пример
Тип 1
2
4
2
Простой захват с функциями открывания и
закрывания
Тип 2
2
2
3
Каретка с промежуточным положением
Тип 3
2
2
3
Вакуумный захват с
функциями всасывания, выдувания и
выключения
Тип 4
3
2
3
Аналогичен типу 3, но
с тремя управляющими выходами
Тип 5
2
4
2
Аналогичен типу 1, но
с импульсом вместо
длительного сигнала
Свободный
Свободная установка
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
207 / 313
Программирование робота 1
Рис. 9-7: Пример: предопределенный захват
Поз.
1
Описание
Номер захвата:
2
1 … 16
Имя захвата
Имя показывается во встроенном формуляре. Имя по умолчанию можно изменить:
3
Тип
4
1 - 24 символа.
Для предварительно определенных захватов: 1 - 5 (см.
таблицу «Типы захватов»).
Обозначение типа захвата (обновляется только после сохранения).
Обозначение изменить невозможно.
5
Присвоение номеров выходам
Выходам, которые не задействованы, можно присвоить «0».
Таким образом можно сразу определить, что они не используются. Если им будет присвоен номер, то это не окажет никакого воздействия.
208 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 Использование технологических пакето...
Поз.
6
Описание
Присвоение номеров входам
Входам, которые не задействованы, можно присвоить «0». Таким образом можно сразу определить, что они не используются. Если им будет присвоен номер, то это не окажет никакого
воздействия.
7
Состояния переключения
Имена по умолчанию можно изменить. Имена показываются
во встроенном формуляре, если в нем выбран соответствующий захват.
Свободно
программируемые типы
захватов
Чтобы учесть все требования пользователей, в программу был встроен
свободно программируемый тип захвата. Посредством записей в файлах
$CONFIG.DAT, USERGRP.DAT и USER_GRP.SRC можно создать сколько угодно полностью настраиваемых захватов.
Дополнительная информация о конфигурирова
нии захватов приведена в Инструкции по обслу
живанию KUKA System Technology KUKA.Gripper&SpotTech.
Порядок
действий для
конфигурирования захвата
Конфигурация с предварительно определенным типом захвата
1. В главном меню выбрать пункт Конфигурация > Входы/выходы >
Захват. Откроется окно.
2. С помощью кнопок Далее или Предыдущий выбрать нужный номер
захвата.
3. При необходимости изменить имя захвата по умолчанию.
4. Присвоить захвату один из типов от 1 до 5.
5. Присвоить входы и выходы.
6. При необходимости изменить имена состояний по умолчанию.
7. Сохранить конфигурацию нажатием на кнопку Изменить.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
209 / 313
Программирование робота 1
9.5
Упражнение: программирование захвата с табличкой
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
программирование команд для управления и проверки захватов и
клещей (KUKA.Gripper и SpotTech);
активация и работа с технологическими клавишами состояния.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания о технологических пакетах KUKA.Gripper и
SpotTech.
Постановка
задач
Выполнить следующие задачи: Поднять и уложить табличку.
1. Создать новую программу с именем Поднимание_таблички; при
этом использовать инструмент «Захват» и синюю базу.
2. Обучить процесс Подъем таблички таким образом, чтобы были соблюдены приведенные на рисунке (>>> Рис. 9-8 ) положения укладывания и поднятия. Для этого уменьшить скорость до 0.3 м/с при взятии
и возврате таблички.
3. Проверьте программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
4. Создать вторую программу с именем Укладывание_таблички. Использовать при этом подходящую базу и соответствующий инстру
мент.
5. Обучить процесс укладывания таблички.
6. Проверьте программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
7. Архивировать программы.
Рис. 9-8: Табличка с положением укладки
1
Табличка
2
Положение укладывания
Что следует знать сейчас:
210 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
9 Использование технологических пакето...
1. Какие формуляры Inline доступны с технологическим пакетом
KUKA.GripperTech ? Опишите их функцию.
............................................................
............................................................
............................................................
............................................................
2. Что такое время ожидания в Настройка захвата?
............................................................
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
211 / 313
Программирование робота 1
212 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
10
Конфигурация и программирование внешних инструментов
у
10.1
Обзор
я
В этом учебном разделе рассматриваются следующие элементы:
перемещение вручную со стационарным инструментом.
Ввод робота в эксплуатацию
калибровка стационарного инструмента;
калибровка управляемой роботом заготовки.
Программирование перемещений с внешней точкой TCP
10.2
Перемещение робота
10.2.1
Перемещение вручную со стационарным инструментом
Преимущества и
области применения
Некоторые производственные и обрабатывающие процессы требуют,
чтобы робот обращался с заготовкой, а не с инструментом. Преимущество заключается в том, что не требуется сначала укладывать деталь
для обработки: таким образом можно отказаться от зажимных приспособлений. Это действительно для:
применения в области нанесения клея;
применения в области сварки;
и т. д.
Рис. 10-1: Пример стационарного инструмента
Чтобы успешно запрограммировать такое прило
жение, следует откалибровать как внешнюю точку TCP стационарного инструмента, так и заготовку.
Изменение
последовательности перемещений при
стационарном
инструменте
Хотя в случае с инструментом речь идет о стационарном (неподвижном)
предмете, у инструмента все же есть точка начала отсчета с соответствующей системой координат. Точку начала отсчета называют внешней
точкой TCP. Однако поскольку речь идет о неподвижной системе координат, данные управляются в качестве основной системы координат и
соответственно сохраняются в памяти в качестве базы.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
213 / 313
Программирование робота 1
В свою очередь (подвижная) заготовка сохраняется в памяти в качестве
инструмента. Таким образом возможно перемещение относительно
точки TCP вдоль кромки заготовки.
Следует учитывать, что при перемещении вручную со стационарным инструментом перемеще
ния выполняются относительно внешней точки TCP.
Порядок
действий для
перемещения
вручную со
стационарным
инструментом
Рис. 10-2: Выбор внешней точки TCP в меню опций
1. В окне выбора инструмента выбрать ведомую роботом заготовку.
2. Выбрать стационарный инструмент в окне выбора базы.
3. Выбрать значение Внешний инструмент для режима IpoMode.
4. Установить в качестве опции для клавиш перемещения/пространственной мыши значение «Инструмент»:
установить инструмент для перемещения в системе координат
заготовки;
установить базу для перемещения в системе координат внешнего
инструмента.
5. Установить ручную коррекцию.
6. Установить переключатель подтверждения в среднее положение и
удерживать переключатель в нем.
7. Выполнить перемещение с помощью клавиш перемещения/пространственной мыши в нужном направлении.
Посредством выбора значения Внешн. инстр. в окне опций Опции перемещения вручную система управления переключится: теперь все перемещения выполняются относительно внешней точки TCP, а не ведомого
роботом инструмента.
214 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
10.2.2
Упражнение: перемещение вручную со стационарным инструментом
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Постановка
задач
ручное перемещение ведомой роботом детали по отношению к стационарному инструменту.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания об общем управлении системой промышленного робота KUKA;
теоретические знания о перемещении с внешним инструментом.
1. Установить систему координат инструмента D_Panel.
2. Установить основную систему координат D_Glue Nozzle.
3. Установить в меню опций перемещения вручную на Внешн. инстр..
(>>> Рис. 10-2 )
4. Переместить табличку к внешнему штифту.
5. Переместить и ориентировать табличкуна внешнем штифте. Проверить при этом различия между системой координат инструмента и основной системой координат.
6. Установить в меню опций перемещения вручную значение Фланец.
7. Переместить и ориентировать табличкуна внешнем штифте.
(>>> Рис. 10-2 )
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
215 / 313
Программирование робота 1
10.3
Ввод робота в эксплуатацию
10.3.1
Калибровка стационарного инструмента
Обзор
Калибровка стационарного инструмента состоит из двух шагов:
1. Определение положения внешней точки TCP к началу универсальной системы координат.
2. Ориентация системы координат на внешней точке TCP.
Рис. 10-3: Калибровка стационарного инструмента
Как показано на (>>> Рис. 10-3 ) (1), выполняется управление внешней
точкой TCP относительно $WORLD (или $ROBROOT), т. е. как основная
система координат.
Описание калибровки
216 / 313
1. Расчет внешнего TCP
Для калибровки внешнего TCP требуется уже откалиброванный управляемый роботом инструмент. С его головкой выполняется подвод
к внешнему TCP.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
Рис. 10-4: Подвод к внешней TCP
2. Определение ориентации
Рис. 10-5: Параллельная ориентация систем координат
Для определения ориентации система координат фланца устанавливается параллельно новой системе координат.
Имеется 2 варианта:
Порядок
действий
5D: системе управления роботом сообщается только направление удара стационарного инструмента. Направлением удара является по умолчанию ось X. Ориентация других осей задается
системой, и оператор не может определить ее без дополнительных мер.
6D: системе управления роботом сообщается ориентация всех 3
осей.
1. В главном меню выбрать пункт Ввод в эксплуатацию > Калибровка
> Стационарный инструмент > Инструмент.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
217 / 313
Программирование робота 1
2. Присвоить номер и имя стационарному инструменту. Нажать кнопку
Далее для подтверждения.
3. Ввести номер используемого базового инструмента. Нажать кнопку
Далее для подтверждения.
4. В поле 5D/6D выбрать один из вариантов. Нажать кнопку Далее для
подтверждения.
5. Посредством TCP уже откалиброванного инструмента выполнить
подвод к TCP стационарного инструмента. Нажать кнопку Калибровка. Подтвердить положение, ответив Да на запрос.
6. Если выбрано 5D:
установить +XBASE параллельно -ZFLANGE.
(Т. е. выставить установочный фланец вертикально относительно направления удара стационарного инструмента).
Если выбрано 6D:
выставить установочный фланец таким образом, чтобы его оси были
параллельны осям стационарного инструмента:
+XBASE параллельно -ZFLANGE;
(Т. е. выставить установочный фланец вертикально относительно
направления удара инструмента).
+YBASE параллельно +YFLANGE;
+ZBASE параллельно +XFLANGE.
7. Нажать кнопку Калибровка. Подтвердить положение, ответив Да на
запрос.
8. Нажать кнопку Сохранить.
10.3.2
Калибровка управляемой роботом заготовки
Обзор: непосредственная
калибровка
218 / 313
Ниже речь пойдет лишь о непосредственной ка
либровке. Косвенная калибровка встречается
крайне редко и рассмотрена подробнее в Инструкции по эксплуатации и
программированию системного программного обеспечения KUKA 8.2.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
Рис. 10-6: Калибровка заготовки посредством прямой калибровки
Описание
Деталь
Калибровка
2
Калибровка заготовки
Системе управления роботом сообщается начало координат и 2 другие
точки заготовки. Эти 3 точки однозначно определяют заготовку.
Рис. 10-7
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
219 / 313
Программирование робота 1
Рис. 10-8: Калибровка заготовки: прямой метод
Порядок
действий
1. Выбрать последовательность меню Ввод в эксплуатацию > Калибровка > Стационарный инструмент > Заготовка > Прямая калибровка.
2. Присвоить номер и имя заготовке. Нажать кнопку Далее для подтверждения.
3. Ввести номер стационарного инструмента. Нажать кнопку Далее для
подтверждения.
4. Переместить начало системы координат заготовки к TCP стационарного инструмента.
Нажать кнопку Калибровка и кнопку Да для подтверждения положения.
5. Переместить точку на положительной оси X системы координат заготовки к TCP стационарного инструмента.
Нажать кнопку Калибровка и кнопку Да для подтверждения положения.
6. Переместить точку, имеющую положительное значение на плоскости
XY системы координат заготовки, к TCP стационарного инструмента.
Нажать кнопку Калибровка и кнопку Да для подтверждения положения.
7. Ввести данные нагрузки заготовки и нажать кнопку Далее для подтверждения.
8. Нажать кнопку Сохранить.
220 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
10.3.3
Упражнение: калибровка внешнего инструмента и ведомой роботом заготовки
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
калибровка стационарного инструмента;
калибровка подвижных, управляемых роботом заготовок;
перемещение вручную с внешним инструментом.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания о методах калибровки стационарных инструментов;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
221 / 313
Программирование робота 1
Постановка
задач
теоретические знания о калибровке заготовки при стационарных инструментах, в частности, прямой метод.
Выполнить следующие задачи: калибровка сопла и таблички.
1. Для калибровки стационарного инструмента использовать откалиброванный штифт 1 (номер инструмента 2) в качестве базового инструмента. Задать для стационарного инструмента номер
инструмента 10 и имя Сопло.
При каждой калибровке следить за сохранением данных.
2. Откалибровать ведомую роботом заготовку. Задать номер инструмента 12 и имя Табличка.
Ввести данные нагрузки.
Для этого воспользоваться правильным захватом с табличкой (см.
ниже).
3. После успешной калибровки активировать внешний инструмент для
перемещения вручную. Целесообразно использовать основную систему координат и систему координат инструмента и переместить робот.
4. Подвести точку TCP к началу основной системы координат откалиброванной заготовки и вывести на экран фактическое положение в
прямоугольных координатах.
Фактическое положение:
222 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
Данные нагрузки
инструмента –
захват с
табличкой
Х
Y
Z
A
В
C
...............
...............
...............
...............
...............
...............
Учебный захват KR 16
Рис. 10-9: Учебный захват KR 16
Масса:
M = 6 кг
Центр тяжести:
X = 69 мм
Y = 67 мм
Z = 84 мм
B = 0°
C = 0°
JY = 0,06 кгм2
JZ = 0,18 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,02 кгм2
Учебный захват – модульная ячейка
Рис. 10-10: Учебный захват – модульная ячейка
Масса:
M = 6,5 кг
Центр тяжести:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
223 / 313
Программирование робота 1
X = 42 мм
Y = -54 мм
Z = 93 мм
B = 0°
C = 0°
JY = 0,11 кгм2
JZ = 0,18 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,02 кгм2
Учебный захват – мобильная ячейка
Рис. 10-11: Учебный захват – мобильная ячейка
Масса:
M = 2,18 кг
Центр тяжести:
X = 34 мм
Y = 0 мм
Z = 68 мм
B = 0°
C = 0°
JY = 0,005 кгм2
JZ = 0,004 кгм2
Ориентация:
A = 0°
Моменты инерции:
JX = 0,002 кгм2
Что следует знать сейчас:
1. Как выполняется калибровка системы координат на заготовке, установленной на фланце робота?
.............................................................
.............................................................
.............................................................
2. Как определяется точка TCP внешнего инструмента?
.............................................................
.............................................................
.............................................................
3. С какими преимуществами связано использование внешней точки
TCP?
.............................................................
.............................................................
.............................................................
224 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
4. Какие установки требуются, чтобы перемещать внешнюю точку TCP в
направлении удара инструмента?
............................................................
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
225 / 313
Программирование робота 1
10.4
Создание и изменение запрограммированного перемещения
10.4.1
Программирование перемещений с внешней точкой TCP
Программирование перемещений с
внешней точкой
TCP
При программировании перемещений со стационарным инструментом
проявляются следующие отличия процесса перемещения от стандарт
ного перемещения:
обозначение во встроенном формуляре: в окне опций Фреймы запись Внешний TCP должна быть установлена на значение TRUE;
Рис. 10-12: Окно опций «Фреймы»: внешн. ТСР
скорость перемещения относится к внешней точке TCP;
ориентация вдоль траектории также относится к внешнему инструменту;
следует указать как подходящую основную систему координат (стационарный инструмент/внешняя точка TCP), так и подходящую систему координат инструмента (подвижной заготовки).
Рис. 10-13: Системы координат при стационарном инструменте
226 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
10 Конфигурация и программирование вне...
10.4.2
Упражнение: Программирование перемещения с внешней точкой TCP
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Для успешного завершения этого упражнения требуется следующее:
Задание
программирование перемещений с перемещаемой роботом деталью
относительно стационарного инструмента.
знания об активации внешнего инструмента при программировании
перемещений.
Выполнить следующие задачи: программирование контура для нанесения клея:
1. Вручную зажать табличку в захвате.
2. Выполнить обучение контуру на табличке под именем программы
Наклеивание_таблички:
для этого использовать откалиброванный внешний инструмент
Сопло и заготовку Табличка;
соблюдать постоянное вертикальное положение продольной оси
стационарного инструмента к контуру нанесения клея;
скорость перемещения на табличке составляет 0,2 м/с;
для этого использовать отдельные записи SPTP, SLIN и SCIRC.
3. Проверить программу согласно предписанию.
4. Архивировать программу.
Что следует знать сейчас:
1. К чему относится запрограммированная скорость нанесения клея?
............................................................
............................................................
2. Как активировать внешний инструмент в программе?
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
227 / 313
Программирование робота 1
228 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 Введение в уровень эксперта
11
Введение в уровень эксперта
д
11.1
Обзор
В этом учебном разделе рассматриваются следующие элементы:
у
11.2
использование уровня эксперта;
создание структуры программы робота;
связывание программ робота.
Использование уровня эксперта
Описание
Система управления роботом предусматривает несколько групп пользователей с различными функциями. Можно выбрать следующие группы пользователей:
Оператор
Группа пользователей для операторов. Это группа пользователей по
умолчанию.
Пользователь
Группа пользователей для операторов. (Группы пользователей
«Оператор» и «Пользователь» предназначены по умолчанию для од
ной и той же целевой группы).
Эксперт
Группа пользователей для программистов. Эта группа пользователей защищена паролем.
Администратор
Функции соответствуют группе пользователей «Эксперт». Кроме того, возможна интеграция дополнительных программных модулей в
систему управления роботом. Эта группа пользователей защищена
паролем. Заводской пароль kuka следует изменить.
Специалист по техобслуживанию для обеспечения безопасности
Эти пользователи с помощью кода активации могут активировать существующую конфигурацию системы безопасности робота. Если в
системе управления роботом не используется опция безопасности,
например KUKA.SafeOperation или KUKA.SafeRangeMonitoring, специалист по техобслуживанию для обеспечения безопасности имеет
дополнительные права. В этом случае он, например, имеет право
конфигурировать стандартные функции безопасности. Эта группа
пользователей защищена паролем. Заводской пароль kuka следует
изменить.
Специалисты по вводу системы безопасности в эксплуатацию
Эта группа пользователей требуется только в том случае, если используются программы KUKA.SafeOperation и
KUKA.SafeRangeMonitoring. Эта группа пользователей защищена паролем. Заводской пароль kuka следует изменить.
Расширенные функции группы пользователей «Эксперт»:
защита паролем (по умолчанию: kuka);
возможно программирование в редакторе с помощью KRL;
выход из группы пользователей «Эксперт» выполняется автоматически,
если режим работы переключается на AUT или AUT EXT;
если в течение определенного времени на панели управления не
производится никаких действий (300 с).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
229 / 313
Программирование робота 1
Для группы пользователей «Эксперт» в меню Обработать до
ступны все функции.
Функции
Создание программ с помощью шаблонов
Cell: имеющаяся программа Cell может быть только заменена или создана заново при удаленном Cell.
Expert: модуль, состоящий из файла SRC и DAT, в котором есть только шапка и конец программы.
Expert Submit: дополнительный фал Submit (SUB), состоящий из
шапки и конца программы.
Function: создание функции SRC, при котором создается только
шапка функции с переменной BOOL. Конец функции имеется, но необходимо запрограммировать возврат.
Modul: модуль, состоящий из файла SRC и DAT, в котором есть шапка и конец программы, а также основная структура (INI и 2x PTP
HOME).
Submit: дополнительный фал Submit (SUB), состоящий из шапки и
конца программы, а также основной структуры (DECLARATION, INI,
LOOP/ENDLOOP).
Фильтр задает, как программы должны отображаться в списке файлов.
Для выбора имеются указанные ниже фильтры.
Аннулирование или закрытие программы.
Нажать кнопку Обработать > Фильтр и затем Деталь или Модуль.
Деталь
Программы отображаются в виде файлов SRC и DAT. (настройка по
умолчанию)
Модули
Программы отображаются как модули.
230 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 Введение в уровень эксперта
Рис. 11-1: Меню «Обработать»
Открытие/закрытие ФОРМУЛЯРА
ФОРМУЛЯРЫ для пользователя всегда закрыты и могут открываться группой пользователей «Эксперт».
Эксперт может также программировать собственные ФОРМУЛЯРЫ.
Синтаксис для формуляра:
;FOLD имя
Команды
;ENDFOLD <Имя>
Строки ENDFOLD легче интерпретировать, если здесь также указать
имя формуляра. Формуляры можно вкладывать.
Отображение/скрытие строки DEF
Порядок
действий для
активации
уровня эксперта
и устранения
ошибок
Строка DEF скрыта по умолчанию. Объявления в программе возможны только, если строка DEF отображена.
Строка DEF отдельно отображается и скрывается при каждом открывании и выборе программ. Если включен детальный вид, то строка
DEF видна и отображать ее отдельно не требуется.
Активация уровня эксперта
1. В главном меню выберите пункт Конфигурация > Группа пользователей.
2. Зарегистрируйтесь как Эксперт: Нажмите кнопку Зарегистрироваться. Выделите группу пользователей Эксперт и нажмите кнопку
Зарегистрироваться для подтверждения.
3. Введите требуемый пароль (по умолчанию: kuka) и нажмите кнопку
Зарегистрироваться для подтверждения.
Устранение ошибок в программе
1. Выберите дефектный модуль в навигаторе
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
231 / 313
Программирование робота 1
Рис. 11-2: Программа с ошибками
2. Выберите меню Список ошибок
3. Откроется индикация ошибок (programmname.ERR)
4. Выберите ошибку, внизу в окне индикации отобразится подробное
описание
5. В окне индикации ошибок нажмите кнопку Показать и перейдите к содержащей ошибку программе
6. Устраните ошибку
7. Выйдите из редактора и сохраните
11.3
Создание структуры программы робота
Возможности
для структурирования
программы
робота
Комментарии и
штампы
Структура программы робота – важный фактор для ее качества. Чем
структурированнее программа, тем она понятнее, эффективнее, проще
для чтения и экономичнее. Чтобы обеспечить структурность программы,
можно использовать следующие средства:
комментирование: комментарии и штампы;
вставка: пробелы;
затемнение: формуляры («складки»);
модульность: подпрограммы.
Добавление комментария позволяет ввести текст в программу робота,
который предназначен только для человека, читающего текст программы. Этот текст не считывается интерпретатором робота. Текст предназначен лишь для повышения читаемости программы.
Комментарии могут использоваться в программах робота во многих отношениях:
Информация к тексту программы: автор, версия, дата создания
Рис. 11-3: Пример комментария: информация
232 / 313
Структура текста программы: прежде всего, посредством использования графических средств (специальных знаков #, *, ~);
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 Введение в уровень эксперта
Рис. 11-4: Пример комментария: разделение
Преобразование в качестве комментария (уровень экспертов):
посредством установки точки с запятой в начале программной строки
эта строка обозначается в качестве комментария, т. е. текст распознается в качестве комментария и не обрабатывается в качестве час
ти программы;
Рис. 11-5: Пример комментария: выделение в качестве комментария
Формуляры Inline не могут быть преобразованы в качестве комментария посредством ;.
Пояснения к отдельным строкам,
а также указание на требуемую работу: обозначение недостаточных частей программы
Рис. 11-6: Пример комментария: пояснения
Добавление комментариев имеет смысл только в
том случае, если поддерживается их актуальность. Крайне важно, чтобы за изменениями указаний следовало обновление комментариев.
Можно использовать три различных типа комментариев:
установка точки с запятой (уровень экспертов): посредством установки точки с запятой («;») дальнейшая часть строки определяется в качестве комментария;
вставка встроенного формуляра «Комментарий»;
Рис. 11-7: Встроенный формуляр комментария
Поз.
1
Описание
Произвольный текст
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
233 / 313
Программирование робота 1
Вставка встроенного формуляра «Штамп»: Дополнительно здесь добавляется отметка времени. Кроме того, можно указать имя редактора.
Рис. 11-8: Встроенный формуляр штампа
Поз.
Порядок
действий для
добавления
комментариев и
штампов
Описание
1
Системная дата (не редактируется)
2
Системное время (не редактируется)
3
Имя или идентификатор пользователя
4
Произвольный текст
1. Выделить строку, после которой должен быть вставлен комментарий
или штамп.
2. Выбрать последовательность меню Команды > Комментарий >
Стандарт или Штамп.
3. Ввести нужные данные. Если ранее уже были добавлены комментарий или штамп, то во встроенном формуляре будут указаны эти же
данные.
При вводе комментария можно очистить поле с помощью кнопки
Новый текст, чтобы ввести новый текст.
При установке штампа можно изменить системное время с помощью кнопки Новое время, а также очистить поле Имя с помощью
кнопки Новое имя.
4. Сохранить данные, нажав кнопку Команда OK.
Вставка
программных
строк
Вставка программных строк – эффективное средство повышения читаемости программы робота. Таким образом разъясняется взаимодействие
компонентов программы.
Рис. 11-9: Вставка программных строк
Эффект вставки является исключительно визу
альным. Вставленные части программы при выполнении программы обрабатываются точно так же, как и не являющиеся вставленными.
234 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 Введение в уровень эксперта
Скрытие
программных
строк с
помощью
формуляров
Язык программирования робота KUKA поддерживает возможность
объединения и скрытия программных строк в формулярах.
Таким образом части программы становятся невидимыми для пользователя: это упрощает чтение программы.
Формуляры можно открыть и обработать в группе пользователей
«Эксперты».
Рис. 11-10: Закрытый формуляр
Рис. 11-11: Открытый формуляр
Цветная маркировка формуляров:
11.4
Цвет
Описание
Темно-красный
Закрытый формуляр
Светло-красный
Открытый формуляр
Темно-синий
Закрытый подформуляр
Светло-синий
Открытый подформуляр
Зеленый
Содержание формуляра
Связывание программ робота
Техника подпрограмм
Техника подпрограмм обеспечивает модульность и эффективность
структуры программ робота. Цель заключается не в том, чтобы записать
все команды в одну программу, а сохранить определенные процедуры,
расчеты или процессы в отдельных программах.
Использование подпрограмм предоставляет огромное количество
преимуществ:
структура главной программы становится понятной, а ее считывание
облегчается, поскольку уменьшается длина программы;
подпрограммы можно разрабатывать отдельно друг от друга: можно
разделить объем программирования и снизить количество источни
ков ошибок;
подпрограммы можно многократно использовать повторно.
В целом, существуют два типа подпрограмм:
глобальные подпрограммы;
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
235 / 313
Программирование робота 1
Рис. 11-12: Пример схемы для глобальных подпрограмм
Глобальная подпрограмма – самостоятельная программа робота, которая вызывается из другой программы робота. Переход между программами может выполняться в зависимости от требований, т. е. в
одном случае программа может представлять собой главную программу, а в другом – подпрограмму.
локальные подпрограммы.
Рис. 11-13: Схема: локальные подпрограммы
Локальные подпрограммы – программы, которые встроены в главную
программу, т. е. команды содержатся в том же файле SRC. Соответственно, координаты точки подпрограммы сохраняются в том же файле DAT.
Ход вызова
подпрограммы
236 / 313
Каждая программа начинается со строки DEF и заканчивается строкой
END. При вызове подпрограммы в главной программе по умолчанию подпрограмма обрабатывается от строки DEF до строки END. После достижения строки END указатель выполнения программы перемещается
обратно в вызываемую программу (главную программу).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
11 Введение в уровень эксперта
Рис. 11-14: Ход вызова подпрограммы
Чтобы преждевременно покинуть подпрограмму
(т. е. до строки END), можно запрограммировать
в подпрограмме команду RETURN. Считывание этой программной строки приводит к преждевременному прерыванию выполнения подпрограм
мы.
Порядок
действий для
вызова подпрограммы
Чтобы запрограммировать вызов подпрограммы, следует выбрать группу пользователей «Эксперты». Синтаксис для вызова подпрограммы:
Название( )
1. В главном меню выбрать пункт Конфигурация > Группа пользователей. Появится текущая группа пользователей.
2. Для переключения на другую группу пользователей: нажать кнопку
Регистрация…. Выделить группу пользователей Эксперты.
3. Ввести пароль kuka) и подтвердить его, нажав на кнопку Регистрация.
4. Загрузить нужную главную программу в редактор нажатием на кнопку
Открыть.
INI
PTP HOME Vel= 100% DEFAULT
PTP HOME Vel= 100% DEFAULT
5. Установить курсор в нужную строку.
6. Ввести имя подпрограммы с обеими скобками: напр., myprog( ).
INI
PTP HOME Vel= 100% DEFAULT
myprog( )
PTP HOME Vel= 100% DEFAULT
7. Закрыть редактор с помощью символа «Закрыть» и сохранить изменения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
237 / 313
Программирование робота 1
11.5
Упражнение: программирование вызова подпрограммы
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Задание
программирование вызовов подпрограмм.
Для успешного завершения этого упражнения требуется следующее:
знания об обращении с навигатором на уровне эксперта;
основные знания о программировании на уровне эксперта (KRL);
Выполнить следующие задачи:
1. Создать в режиме эксперта новый модуль с именем Процедура.
2. Из этой центральной программы выполняются все остальные программы в качестве подпрограмм.
Точное выполнение программы приведено в плане выполнения программы.
3. После того, как робот последовательно выполнит все глобальные
подпрограммы, должен быть выполнен возврат в программу Процедура с повторным вызовом подпрограмм. Для этого требуется бесконечный цикл LOOP - ENDLOOP , подробно описываемый в следующей
главе. (>>> 13.2.1 "Программирование бесконечного цикла" Страница 255) Для упражнения необходимо следующим образом расширить
программу:
....
LOOP
subprogram_1()
subprogram_2()
subprogram_3()
subprogram_4()
subprogram_5()
subprogram_6()
ENDLOOP
...
4. Проверить новую программу Процедура в режимах T1, T2 и «Автоматика». Следует соблюдать правила техники безопасности в рамках
инструктажа.
Что следует знать сейчас:
1. Что означают расширения файлов KUKA SRC и DAT?
.............................................................
.............................................................
2. Как происходит вызов подпрограммы и что при этом важно?
.............................................................
.............................................................
3. В чем заключается различие между локальными и глобальными подпрограммами?
.............................................................
.............................................................
238 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
12
Переменные и описания
12.1
Обзор
2
В этом учебном разделе рассматриваются следующие элементы:
12.2
хранение данных в KRL;
работа с простыми типами данных;
индикация переменных.
Хранение данных в KRL
Общая информация о
переменных
Рис. 12-1: Обозначения переменных
Свойства имен
В программировании роботов с помощью KRL переменная в самом
общем смысле представляет собой просто контейнер для операндов
(значений), которые возникают в процессе работы робота.
Переменная имеет определенный присвоенный адрес в памяти компьютера.
Переменная обозначается именем, не являющимся ключевым словом KUKA.
Каждая переменная связана с определенным типом данных
Перед использованием требуется объявление типа данных.
В KRL различают локальные и глобальные переменные.
При выборе имени переменной необходимо учитывать следующее:
Имена в KRL должны иметь максимально 24 символа.
Имена KRL должны содержать буквы (A-Z), цифры (0-9), а также специальные символы «_» и «$».
Имена в KRL не должны начинаться с цифр.
Имена в KRL не должны быть ключевыми словами.
Использование заглавных и строчных букв не имеет значения.
Советы
Двойное объявление
переменных
Используйте осмысленные, «говорящие» имена переменных
Не используйте криптографические имена или сокращения
Выбирайте разумную длину имени, не используйте каждый раз 24
символа.
Двойное объявление всегда возникает при использовании одинаковых имен переменных (последовательностей символов).
Объявление не является двойным, если одинаковое имя используется в разных файлах *.SRC или *.DAT.
Двойные объявления в одном и том же файле *.SRC или *.DAT недопустимы и вызывают сообщение об ошибке.
Двойные объявления в файле *.SRC или *.DAT и $CONFIG.DAT допускаются:
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
239 / 313
Программирование робота 1
Типы данных в
KRL
При вызове цикла программы, в котором была объявлена переменная, изменяется только локальное значение, а не значение в
$CONFIG.DAT.
При вызове стороннего цикла программы выполняется обращение только к значению из $CONFIG.DAT и его изменение.
Предварительно заданные стандартные типы данных
BOOL: классические результаты «Да»/«Нет»
REAL: число с плавающей запятой, результаты арифметических
операций для предотвращения ошибок при округлении
INT: целое число, классическая переменная-счетчик для циклов с
подсчетом или счетчиков изделий
CHAR: только один символ
Строка или текст могут быть реализованы только как поле CHAR
Логичес
кие
значени
я
Отдельн
ый
символ
Простые типы
данных
Целое
число
Число с
плавающей
точкой
Ключевое
слово
INT
REAL
BOOL
CHAR
Диапазон значений
-231 ...
(231-1)
± 1.1 10-38... ±
3.4 10+38
TRUE /
FALSE
Набор
символов
ASCII
Примеры
-199 или
56
-0.0000123 или
3.1415
TRUE
или
FALSE
«A» или
«q» или
«7»
Поля/массивы
Voltage[10] = 12.75
Voltage[11] = 15.59
Сохранение нескольких переменных одинакового типа данных с
помощью индекса
При инициализации или изменении значения должен быть указан
индекс
Максимальный размер поля зависит от потребности в памяти
типа данных
перечислимый тип данных.
color = #red
Все значения перечислимого типа данных задаются при создании
с помощью имени (текст)
Система задает также очередность
Максимальное количество элементов зависит от ячейки памяти
Составной тип данных/структура
Date = {day 14, month 12, year 1996}
Создание
переменных
240 / 313
Составной тип данных из компонентов различных типов данных
Компоненты могут состоять из простых типов данных, а также из
структур
Возможен доступ к отдельным компонентам
Объявление переменных
Объявление всегда должно выполняться перед использованием.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
Время жизни и
действительность
переменных
Каждой переменной должен быть присвоен тип данных.
При задании имени необходимо соблюдать свойства имен.
Ключевое слово для объявления – DECL.
Ключевое слово DECL можно опускать при четырех простых типах
данных.
Присвоения значений осуществляются с предварительным выполнением.
Объявление переменной может быть выполнено в различных местах. Это влияет на время жизни и действительность соответствующих переменных.
Время жизни переменных в KRL
Под временем жизни понимают временной промежуток, в течение которого за переменной зарезервирована ячейка памяти.
Временные переменные освобождают свою ячейку памяти при выходе из программы или функции.
Переменные из списка данных сохраняют текущее (последнее) значение в своей ячейке памяти на длительное время.
Действительность переменных в KRL
Объявление
переменной в
зависимости от
места сохранения
Локально объявленные переменные доступны и видны только в программе, в которой они были объявлены.
Глобальные переменные сохранены в центральном (глобальном)
списке данных.
Глобальные переменные могут также создаваться в локальном списке данных и при объявлении снабжаться ключевым словом global.
Переменная в файле *.SRC
Переменная, создаваемая в файле *.SRC, называется переменной
времени работы.
Она не всегда может отображаться
Она доступна только в том программном цикле, в котором была объявлена. За счет этого переменная становится доступной во время выполнения программы. (Главная программа или локальная
подпрограмма).
Она освобождает свою ячейку памяти при достижении последней
строки программы (строки END).
Переменная в локальном файле *.DAT
Всегда может отображаться во время выполнения программы соответствующего файла *.SRC.
Значение переменной не аннулируется по завершении программы.
Доступна во всем файле *.SRC, то есть также в локальных подпрограммах.
Может создаваться также как глобальная переменная.
Получает текущее значение в файле *.DAT и при повторном вызове
начинает с сохраненного значения.
При глобальном объявлении переменной она становится глобально
доступной. Доступ для чтения и записи возможен во всех программных циклах, если файл DAT снабжается ключевым словом PUBLIC
и при объявлении дополнительно указывается ключевое слово GLOBAL.
Переменная в системном файле $CONFIG.DAT
Доступна во всех программах (глобально).
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
241 / 313
Программирование робота 1
Системные
данные KUKA
Может отображаться всегда, даже если программа не активна.
Доступна глобально, то есть доступ для чтения и записи возможен во
всех программных циклах.
Сохраняет текущее значение в $CONFIG.DAT.
Системные данные KUKA встречаются во всех типах данных, например, как
12.3
перечислимый тип данных, например режим работы,
структура, например дата/время.
Системная информация поступает из системных переменных KUKA.
Они
считывают текущую системную информацию,
изменяют текущую конфигурацию системы,
предварительно заданы и начинаются с символа «$»
$DATE (текущее время и дата)
$POS_ACT (текущая позиция робота)
$MODE_OP(текущий режим работы)
...
Работа с простыми типами данных
Далее разъясняется порядок создания, инициализации и изменения переменных. При этом используются только простые типы данных
Простые типы данных с KRL
12.3.1
Целые числа (INT)
Числа с плавающей точкой (REAL)
Логические значения (BOOL)
Отдельный символ (CHAR)
Объявление переменных
Принцип объявления
переменной
Образец структуры программы в файле SRC
Раздел объявлений служит для объявления переменных
Раздел инициализации часть начинается с первого присваивания
значения, как правило, со строки INI
В разделе команд выполняется присваивание или изменение значений
DEF main( )
; раздел объявлений
...
; раздел инициализации
INI
...
; раздел команд
PTP HOME Vel=100% DEFAULT
...
END
Изменение стандартного вида
242 / 313
Отображение строки DEF возможно только для группы пользователей «Эксперт»
Это необходимо для перехода в раздел объявлений модулей перед
строкой INI
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
Для просмотра строки DEF и END, важно также при передаче переменных в подпрограммы
Планирование объявления переменной
Порядок
действий при
объявлении
переменных с
простым типом
данных
Задание времени жизни
Задание действительности/доступности
Задание типа данных
Задание имени и объявление
Создание переменной в файле SRC
1. Группа пользователей «Эксперты»
2. Отобразите строку DEF
3. Откройте файл SRC в редакторе
4. Выполните объявление переменной
DEF MY_PROG ( )
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
INI
...
END
5. Закройте и сохраните программу
Создание переменной в файле DAT
1. Группа пользователей «Эксперты»
2. Откройте файл DAT в редакторе
3. Выполните объявление переменной
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT
4. Закройте и сохраните список данных
Создание переменной в $CONFIG.DAT
1. Группа пользователей «Эксперты»
2. В откройте в редакторе $CONFIG.DAT из папки SYSTEM
DEFDAT $CONFIG
BASISTECH GLOBALS
AUTOEXT GLOBALS
USER GLOBALS
ENDDAT
3. Выберите формуляр «USER GLOBALS» и откройте клавишей «Формуляр откр./закр.»
4. Выполните объявление переменной
DEFDAT $CONFIG
...
;==================================
; Userdefined Types
;==================================
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
243 / 313
Программирование робота 1
;==================================
; Userdefined Externals
;==================================
;==================================
; Userdefined Variables
;==================================
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT
5. Закройте и сохраните список данных
Создание глобальной переменной в файле DAT
1. Группа пользователей «Эксперты»
2. Откройте файл DAT в редакторе
3. Добавьте в список данных в шапке программы ключевой слово
PUBLIC
DEFDAT MY_PROG PUBLIC
4. Выполните объявление переменной
DEFDAT MY_PROG PUBLIC
EXTERNAL DECLARATIONS
DECL GLOBAL INT counter
DECL GLOBAL REAL price
DECL GLOBAL BOOL error
DECL GLOBAL CHAR symbol
...
ENDDAT
5. Закройте и сохраните список данных
12.3.2
Инициализация переменных с простыми типами данных
Описание инициализации с
помощью KRL
После объявления за переменной резервируется только одна ячейка
памяти, ее значение всегда является недействительным.
В файле SRC объявление и инициализация всегда выполняются на
двух раздельных строках.
В файле DAT объявление и инициализация всегда выполняются на
одной строке.
Постоянная может быть объявлена только в одном списке данных и
должны быть там сразу инициализирована.
Принцип инициализации
Раздел инициализации начинается с первого присваивания значения.
Инициализация целых чисел
Инициализация десятичного числа
value = 58
Инициализация двоичного числа
value = 'B111010'
Расчет: 1*32+1*16+1*8+0*4+1*2+0*1 = 58
244 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
Двоич
ный
25
Дес.
32
24
23
22
21
20
16
8
4
2
1
Инициализация шестнадцатеричного числа
value = 'H3A'
Расчет: 3*16 +10 = 58
Порядок
действий при
инициализации
с помощью KRL
Шест.
0 1 2 3 4 5 6 7 8 9 A
В
C
D
E
F
Дес.
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
Объявление и инициализация в файле SRC
1. Открытие файла SRC в редакторе
2. Объявление выполнено
3. Выполнение инициализации
DEF MY_PROG ( )
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
INI
counter = 10
price = 0.0
error = FALSE
symbol = "X"
...
END
4. Закрытие и сохранение программы
Объявление и инициализация в файле DAT
1. Открытие файла DAT в редакторе
2. Объявление выполнено
3. Выполнение инициализации
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter = 10
DECL REAL price = 0.0
DECL BOOL error = FALSE
DECL CHAR symbol = "X"
...
ENDDAT
4. Закрытие и сохранение списка данных
Объявление в файле DAT и инициализация в файле SRC
1. Открытие файла DAT в редакторе
2. Выполнение объявления
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
245 / 313
Программирование робота 1
3. Закрытие и сохранение списка данных
4. Открытие файла SRC в редакторе
5. Выполнение инициализации
DEF MY_PROG ( )
...
INI
counter = 10
price = 0.0
error = FALSE
symbol = "X"
...
END
6. Закрытие и сохранение программы
Объявление и
инициализация
постоянной
Описание
Постоянные создаются с помощью ключевого слова CONST.
Создавать постоянные можно только в списках данных.
Создание постоянных
1. Открыть файл DAT в редакторе.
2. Выполнить объявление и инициализацию.
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL CONST INT max_size = 99
DECL CONST REAL PI = 3.1415
...
ENDDAT
3. Закрыть и сохранить список данных.
12.3.3
Манипуляция значениями переменных простых типов данных с помощью KRL
Перечень
возможностей
для изменения
значений
переменных с
помощью KRL
Значения переменных изменяются в циклах программы (файл SRC) различным образом в зависимости от задачи. Далее приводятся самые распространенные методы. Манипуляции с помощью побитовых операций и
стандартных функций возможны, но здесь подробно не разъясняются.
Средства манипуляции данными
246 / 313
Основные арифметические действия
(+) сложение
(-) вычитание
(*) умножение
(/) деление
Операции сравнения
(==) идентичный/равный
(<>) неравный
(>) больше
(<) меньше
(>=) больше или равно
(<=) меньше или равно
Логические операции
(NOT) инвертирование
(AND) логическое И
(OR) логическое ИЛИ
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
(EXOR) исключающее ИЛИ
Побитовые операции
(B_NOT) побитное инвертирование
(B_AND) побитная связь И
(B_OR) побитная связь ИЛИ
(B_EXOR) побитная связь – исключающее ИЛИ
Стандартные функции
Взаимосвязи
при манипуляции данными
Абсолютные функции
Функция корня
Функция синуса и косинуса
Функция тангенса
Функция арккосинуса
Функция арктангенса
Несколько функций для манипуляции строками
Изменение значения с использованием типа данных REAL и INT
Округление в большую/меньшую сторону
; объявление
DECL INT A,B,C
DECL REAL R,S,T
; инициализация
A = 3
; A=3
B = 5.5
сторону)
; B=6 (начиная с x.5 выполняется округление в большую
C = 2.25
; C=2 (округление в меньшую сторону)
R = 4
; R=4.0
S = 6.5
; S=6.5
T = C
; T=2.0 (берется значение, округленное в меньшую сторону)
Результаты арифметических операций (+;-;*)
Операнды
INT
REAL
INT
INT
REAL
REAL
REAL
REAL
; объявление
DECL INT D,E
DECL REAL U,V
; инициализация
D = 2
E = 5
U = 0.5
V = 10.6
; раздел команд (манипуляция данными)
D = D*E ; D = 2 * 5 = 10
E = E+V ; E= 5 + 10.6 = 15.6 -> Округление в большую сторону E=16
U = U*V ; U= 0.5 * 10.6 = 5.3
V = E+V ; V= 16 + 10.6 = 26.6
Результаты арифметических операций (/)
Особенности при арифметических операциях с целочисленными значениями:
При промежуточных результатах чистых операций с целыми числами все разряды после запятой отбрасываются.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
247 / 313
Программирование робота 1
При присваивании значения целочисленной переменной результат округляется по обычным арифметическим правилам.
; объявление
DECL INT F
DECL REAL W
; инициализация
F = 10
W = 10.0
; раздел команд (манипуляция данными)
; INT / INT -> INT
F = F/2 ; F=5
F = 10/4 ; F=2 (10/4 = 2.5 -> Отброс разряда после запятой)
; REAL / INT -> REAL
F = W/4 ; F=3 (10.0/4=2.5 -> Округление в большую сторону)
W = W/4 ; W=2.5
Операции сравнения
Операторы сравнения позволяют создавать логические выражения. Результат сравнения всегда имеет тип данных Bool.
Оператор/
KRL
Описание
Допустимые типы данных
==
идентичный/
равный
INT, REAL, CHAR, BOOL
<>
неравный
INT, REAL, CHAR, BOOL
>
больше
INT, REAL, CHAR
<
меньше
INT, REAL, CHAR
>=
больше или
равно
INT, REAL, CHAR
<=
меньше или
равно
INT, REAL, CHAR
; объявление
DECL BOOL G,H
; раздел инициализации/команд
G = 10>10.1 ; G=FALSE
H = 10/3 == 3 ; H=TRUE
G = G<>H ; G=TRUE
Логические операции
Логические операции позволяют создавать логические выражения. Результат такой операции всегда имеет тип данных Bool.
Операции
NOT A
A AND B
A OR B
A EXOR
B
A=FALSE
B=FALSE
TRUE
FALSE.
FALSE.
FALSE.
A=FALSE
B=TRUE
TRUE
FALSE.
TRUE
TRUE
A=TRUE
B=FALSE
FALSE.
FALSE.
TRUE
TRUE
A=TRUE
B=TRUE
FALSE.
TRUE
TRUE
FALSE.
; объявление
DECL BOOL K,L,M
248 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
; раздел инициализации/команд
K = TRUE
L = NOT K ; L=FALSE
M = (K AND L) OR (K EXOR L) ; M=TRUE
L = NOT (NOT K) ; L=TRUE
Операторы приводятся в порядке их приоритета
Приоритет
Оператор
1
NOT (B_NOT)
2
Умножение (*); деление (/)
3
Сложение (+), вычитание (-)
4
AND (B_AND)
5
EXOR (B_EXOR)
6
OR (B_OR)
7
Любое сравнение (==; <>; ...)
; объявление
DECL BOOL X, Y
DECL INT Z
; раздел инициализации/команд
X = TRUE
Z = 4
Y = (4*Z+16 <> 32) AND X ; Y=FALSE
Порядок
действий при
манипуляции
данными
1. Установите тип данных для переменной или переменных
2. Определите действительность и время жизни переменной
3. Выполните объявление переменной
4. Инициализируйте переменную
5. Выполняйте манипуляции с переменной в циклах программы, то есть
всегда в файле *.SRC
6. Закройте и сохраните файл *.SRC
Команда HALT
HALT используется в основном для тестирования во время фазы программирования. Например, для отображения содержания временной переменной.
Команда HALT останавливает программу. Последняя текущая команда перемещения все же полностью выполняется.
Программу можно продолжить кнопкой запуска. Затем выполняется
следующая команда после HALT.
В программе прерывания программа останавливается только
после полной отработки предварительного выполнения.
Пример:
DEF program()
DECL BOOL a,b
INI
...
SPTP XP1
a=$IN[1]
b=$IN[2]
HALT
IF ((a == TRUE) AND (b == FALSE)) THEN
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
249 / 313
Программирование робота 1
..
ENDIF
...
12.4
Отображение переменных
Индикация и
изменение
значения
переменной
1. В главном меню выбрать пункт Индикация > Переменная > По отдельности.
Откроется окно Индикация переменных по отдельности.
2. В поле Имя ввести имя переменной.
3. Если выбрана какая-либо программа, в поле Модуль будет автоматически указана эта программа.
Если требуется вывести на экран переменную из другой программы,
указать программу следующим образом:
/R1/название программы.
Не указывать папку между /R1/ и именем программы. В имени программы не указывать расширение файла.
4. Нажать клавишу ввода.
В поле Текущее значение будет показано текущее значение переменной. Если ничего не показано, то переменной еще не было присвоено какое-либо значение.
5. В поле Новое значение ввести нужное значение.
6. Нажать клавишу ввода.
В поле Текущее значение будет показано новое значение.
Рис. 12-2: Окно Индикация переменных по отдельности
Поз.
250 / 313
Описание
1
Имя переменной, которую следует изменить.
2
Новое значение, которое следует присвоить переменной.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
Поз.
3
Описание
Программа, в которой выполняется поиск переменной.
В случае с системными переменными поле Модуль не имеет
значения.
4
Это поле имеет два состояния:
: показанное значение не обновляется автоматически;
: показанное значение автоматически обновляется.
Переключение между состояниями:
Индикация
системной
информации
нажать кнопку Обновить;
альтернатива: Shift + Enter.
Порядок действий для индикации признаков, счетчиков и таймеров:
В главном меню выбрать пункт Индикация > Переменная.
Теперь для выбора доступны различные системные переменные:
циклические признаки;
признаки;
счетчики;
таймеры.
Порядок действий для индикации входов и выходов:
В главном меню выбрать пункт Индикация > Входы/выходы > Цифровые выходы или Цифровые входы.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
251 / 313
Программирование робота 1
12.5
Упражнение: простые типы данных
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
применение простых типов данных;
объявление, инициализация и применение переменных;
правильное применение переменных относительно их времени жизни.
Чтобы успешно завершить это упражнение, требуется следующее:
Постановка
задач
теоретические знания о простых типах данных и работе с ними.
Создать новую программу «Процедура2»:
Скорректировать программу «Процедура» и удалить части программы со штифтом и контуром детали, чтобы производилось только взятие, приклеивание и укладывание таблички.
Одна из переменных подсчитывает, сколько раз была выполнена
программа Наклеивание_таблички с последнего выбора программы.
Одна из переменных подсчитывает, сколько раз была выполнена
программа Наклеивание_таблички в общей сложности.
Одна из переменных должна суммировать общую длину нанесенного
клея (в метрах). Длина траектории для программы
Наклеивание_таблички составляет 0,91 м. Длина траектории должна
быть заявлена как постоянная.
Переменная, которая при заборе таблички имеет значение TRUE, в
остальных случаях – FALSE.
Переменная, которая с открытым захватом содержит букву «O», а с
закрытым захватом – букву «G». Во время инициализации переменной назначается значение «X».
Используйте значимые имена переменных и типы данных. Также важно
со смыслом объявить переменную в правильном месте.
Имя переменной
Тип
данных
Место
объявления
Определите, где будут объявляться переменные.
Добавьте в имеющийся план выполнения программы эти новые переменные.
Учитывайте различные способы инициализации переменных.
Проверьте программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Что следует знать сейчас:
1. Какую максимальную длину может иметь имя переменной?
.............................................................
.............................................................
2. Какие простые типы данных существуют?
252 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
12 Переменные и описания
............................................................
............................................................
3. Где в файле SRC объявляются переменные?
............................................................
............................................................
4. Какое время жизни имеет переменная, объявленная в $CONFIG.DAT?
............................................................
............................................................
5. Объявите число с плавающей точкой в файле DAT с именем «Value»
и значением 138,74.
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
253 / 313
Программирование робота 1
254 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
13
Использование контроля выполнения программы
13.1
Обзор
л
з
В этом учебном разделе рассматриваются следующие элементы:
13.2
циклы;
переходы;
распределитель;
команда перехода;
функции ожидания в KRL.
Программирование циклов
Помимо простых команд перемещения и команд связи (функции переключения и ожидания) в программах робота находится большое количество процедур, которые служат для контроля выполнения программы.
Общая информация о циклах
13.2.1
Циклы – это контрольные структуры.
Они повторяют программные команды до тех пор, пока не будет выполнено условие прерывания.
Переход снаружи к телу цикла не разрешен
Циклы могут вкладываться друг в друга
Существуют различные типы циклов
бесконечный цикл
цикл с подсчетом
условный цикл
отклоняемый цикл
неотклоняемый цикл
Программирование бесконечного цикла
Описание бесконечного цикла
Бесконечный цикл – это цикл, который после каждой обработки обрабатывается снова.
Выполнение может прерываться внешними факторами.
Синтаксис
LOOP
;
Команда
...
;
Команда
ENDLOOP
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
255 / 313
Программирование робота 1
Принцип беско
нечного цикла
Рис. 13-1: План выполнения программы: бесконечный цикл
Примеры
программирования бесконечного цикла
Выйти из бесконечного цикла можно с помощью EXIT
При выходе из бесконечного цикла с помощью EXIT необходимо следить за отсутствием столкновений
Если друг в друга вложены два бесконечных цикла, то требуются также две команды EXIT для выхода из обоих циклов
Бесконечный цикл без прерывания
DEF MY_PROG( )
INI
PTP HOME Vel=100% DEFAULT
LOOP
SPTP XP1
SPTP XP2
SPTP XP3
SPTP XP4
ENDLOOP
SPTP P5 Vel=30% PDAT5 Tool[1] Base[1]
SPTP HOME Vel=100% DEFAULT
END
Подвод в точку P5 в программе не предусмотрен
Бесконечный цикл с прерыванием
DEF MY_PROG( )
INI
SPTP HOME Vel=100% DEFAULT
LOOP
SPTP XP1
SPTP XP2
IF $IN[3]==TRUE THEN ; Условие прерывания
EXIT
ENDIF
SPTP XP3
SPTP XP4
256 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
ENDLOOP
SPTP P5 Vel=30% PDAT5 Tool[1] Base[1]
SPTP HOME Vel=100% DEFAULT
END
Подвод в точку P5 выполняется, если активен вход 3.
Важно: перемещение между P2 и P5 должно быть проверено на
отсутствие столкновений.
13.2.2
Программирование цикла с подсчетом
Описание цикла
с подсчетом
Рис. 13-2: План выполнения программы: цикл с подсчетом
Цикл FOR – это контрольная структура, с помощью которой можно выполнять одну или несколько команд с заданным числом повторов.
Для цикла с подсчетом требуется предварительно объявленный
счетчик циклов целочисленного типа данных.
Цикл с подсчетом начинается значением start и кончается самое
позднее значением last.
Синтаксис с инкрементом +1
FOR counter = start TO last
;Команда
ENDFOR
Инкремент (increment) может также указываться в виде целого числа с ключевым словом STEP.
FOR counter = start TO last STEP increment
;Команда
ENDFOR
Выйти из цикла с подсчетом можно с помощью EXIT.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
257 / 313
Программирование робота 1
Отсчет с
помощью цикла
с подсчетом
DECL INT counter
FOR counter = 1 TO 3 Step 1
;Команда
ENDFOR
1. Счетчик циклов инициализируется с помощью начального значения:
counter = 1
2. Счетчик циклов при ENDFOR увеличивается на размер инкремента
STEP
3. Цикл снова начинается со строки FOR
4. Проверка условия входа: счетчики циклов должен быть меньше или
равен указанному конечному значению, в противном случае цикл завершается
5. В зависимости от проверки значение счетчика циклов снова увеличивается или цикл завершен и программ продолжается после строки
ENDFOR
Примеры:
Простой цикл с подсчетом без указания инкремента
DECL INT counter
FOR counter = 1 TO 50
$OUT[counter] = FALSE
ENDFOR
Без указания инкремента с помощью STEP автоматически используется инкремент +1.
Простой цикл с подсчетом с указанием инкремента
DECL INT counter
FOR counter = 1 TO 4 STEP 2
$OUT[counter] = TRUE
ENDFOR
Этот цикл будет выполнен только два раза. Один раз с начальным значением counter=1, второй – со значением counter=3.
При значении счетчика 5 цикл сразу будет прерван.
Обратный
отсчет с
помощью цикла
с подсчетом
DECL INT counter
FOR counter = 15 TO 1 Step -1
;Команда
ENDFOR
Первоначальное значение цикла должно быть больше, чем конечное значение, чтобы цикл мог быть выполнен несколько раз.
Пример:
Цикл с подсчетом с указанием отрицательного инкремента
DECL INT counter
FOR counter = 10 TO 1 STEP -1
;Команда
ENDFOR
258 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
Вложенный цикл с подсчетом с указанием инкремента
DECL INT counter1, counter2
FOR counter1 = 1 TO 21 STEP 2
FOR counter2 = 20 TO 2 STEP -2
...
ENDFOR
ENDFOR
Сначала всегда выполняется внутренний цикл, здесь с
counter2, а затем внешний (counter1).
13.2.3
Программирование отклоняемого цикла
Описание отклоняемого цикла
Рис. 13-3: План выполнения программы: отклоняемый цикл
Цикл WHILE также называют циклом с предусловием.
Цикл WHILE – отклоняемый цикл или цикл с предварительной
проверкой, при котором проверяется условие прерывания до того, как
будет выполнена часть цикла с командами.
Такой цикл повторяет операции, пока выполняется определенное условие выполнения (conition).
При невыполненном условии выполнения цикл сразу завершается и
выполняются команды после ENDWHILE
Синтаксис
WHILE condition
; Команда
ENDWHILE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
259 / 313
Программирование робота 1
Программирование отклоняемого цикла
Выйти из отклоняющего цикла можно сразу с помощью EXIT.
Отклоняемый цикл с простым условием выполнения
...
WHILE IN $41]==TRUE ; Деталь готова и лежит в магазине
PICK_PART( )
ENDWILE
...
Выражение WHILE $IN[41]==TRUE можно сократить до WHILE
$IN[41]. Это сокращение всегда означает сверку с TRUE.
Отклоняемый цикл с простым условием выполнения, содержащим отрицание
...
WHILE
NOT $IN[42]==TRUE ; Вход 42: Магазин пуст
PICK_PART( )
ENDWILE...
или
...
WHILE
$IN[42]==FALSE ; Вход 42: Магазин пуст
PICK_PART( )
ENDWILE...
Отклоняемый цикл со сложным условием выполнения
...
WHILE
(($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
PALLET( )
ENDWILE
...
260 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
13.2.4
Программирование неотклоняемого цикла
Описание
неотклоняемого
цикла
Рис. 13-4: План выполнения программы: неотклоняемый цикл
Неотклоняемый цикл также называют циклом с постусловием.
Цикл REPEAT – неотклоняемый цикл или цикл с последующей
проверкой, при котором условие прерывания проверяется только после того, как была выполнена часть цикла с командами.
После обработки раздела команд производится проверка выполнения условия (condition) для выхода из цикла.
При положительном результате условия выполняется выход из
цикла и обработка команд после UNTIL.
При отрицательном результате условия цикл повторно запускается с команды REPEAT.
Выйти из неотклоняемого цикла можно сразу с помощью EXIT.
Синтаксис
REPEAT
; Команда
UNTIL condition
Программирование неотклоняемого цикла
Неотклоняемый цикл с простым условием выполнения.
...
REPEAT
PICK_PART( )
UNTIL $IN[42]==TRUE ; Вход 42: Магазин пуст
...
Выражение UNTIL $IN[42]==TRUE можно сократить до UNTIL
$IN[42]. Это сокращение всегда означает сверку с TRUE
Неотклоняемый цикл со сложным условием выполнения.
...
REPEAT
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
261 / 313
Программирование робота 1
PALLET( )
UNTIL (($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
...
При положительном результате цикл завершается!
13.3
Программирование запросов или переходов
Описание
переходов
Рис. 13-5: План выполнения программы: переход IF
С помощью переходов можно назначить выполнение разделов программы только при определенном условии:
Переход используется для того, чтобы разделить программу на несколько путей.
Условный переход (запрос IF) состоит из условия и двух разделов ко-
манд.
Программирование перехода
262 / 313
Команда IFпроверяет, является ли это условие истинным (TRUE)
или ложным (FALSE).
При выполнении условия обрабатывается первая команда.
Если условие не выполнено, выполняется вторая, альтернативная команда.
Варианты запроса IF:
Второй раздел команд может быть пропущен: запрос IF без ELSE.
Вследствие этого при невыполнении условия непосредственно
после перехода программа продолжает работу.
Несколько запросов IF могут быть вложены друг в друга
(многократный переход): запросы обрабатываются по очереди и с
последующей проверкой, выполняется ли условие.
Синтаксис
с альтернативной ветвью
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
IF condition THEN
Команда
ELSE
Команда
ENDIF
без альтернативной ветви (запрос)
IF condition THEN
Команда
ENDIF
Примеры
переходов
Переход с альтернативной ветвью
DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; только при ошибке error_nr = 5 выполняется подвод в P21, в
противном случае P22
IF error_nr == 5 THEN
SPTP XP21
ELSE
SPTP XP22
ENDIF
...
END
Переход без альтернативной ветви
DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; только при ошибке error_nr = 5 выполняется подвод в P21
IF error_nr == 5 THEN
SPTP XP21
ENDIF
...
END
Переход со сложными условиями выполнения
DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; только при ошибке error_nr = 1 или 10 или более 99 выполняется
подвод в P21
IF ((error_nr == 1) OR (error_nr == 10) OR (error_nr > 99)) THEN
SPTP XP21
ENDIF
...
END
Переход с булевыми выражениями
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
263 / 313
Программирование робота 1
DEF MY_PROG( )
DECL BOOL no_error
...
INI
no_error = TRUE
...
; только без ошибок (no_error) выполняется подвод в P21
IF no_error == TRUE THEN
SPTP XP21
ENDIF
...
END
Выражение IF no_error==TRUE THEN можно сократить до IF
no_error THEN. Это сокращение всегда означает сравнение с
TRUE.
13.4
Программирование распределителя (SWITCH- CASE)
Описание
распределителя
(SWITCH- CASE)
Рис. 13-6: План выполнения программы: распределитель SWITCH –
CASE
264 / 313
Если требуется разграничить множество случаев и для каждого случая выполнять различные действия, для этого можно использовать
команду SWITCH- CASE.
Переход SWITCH- CASE является распределителем или
многократным переходом и служит для различения ситуаций.
Переданная переменная в команде SWITCH используется в качестве
переключателя и в блоке команд переходит в предварительно заданные команды CASE.
Если команда SWITCH не находит предварительно заданный элемент
CASE, то выполняется раздел DEFAULT, если перед этим он был определен.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
Синтаксис
SWITCH критерий выбора
CASE Значение
Команда
CASE Значение
Команда
CASE Значение
Команда
...
DEFAULT
Команда
ENDSWITCH
Передача
значений через
простые типы
данных
SWITCH- CASE может использоваться в сочетании со следующими
типами данных:
INT (целое число)
Пример:
DEF MY_PROG( )
DECL INT my_number
...
INI
my_number = 2
...
SWITCH my_number
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
ENDSWITCH
...
CHAR (один символ)
Пример:
DEF MY_PROG( )
DECL CHAR my_sign
...
INI
my_sign = "a"
...
SWITCH my_sign
CASE "a"
SPTP XP21
CASE "b"
SPTP XP22
CASE "c"
SPTP XP23
ENDSWITCH
...
Варианты
SWITCH- CASE
Распределитель SWITCH- CASE может быть запрограммирован
только с заданными распределителями и без альтернативного
пути
DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
265 / 313
Программирование робота 1
...
; перемещение возможно только при наличии сохраненного случая
SWITCH error_nr
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
ENDSWITCH
...
Если error_nr не равно 1 или 2, или 3, выполняется переход непосредственно к ENDSWITCH без выполнения команды.
только с заданными распределителями и альтернативным случаем
Пример:
DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 99
...
; при неопределенном случае выполняется перемещение в положение HOME
SWITCH error_nr
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
DEFAULT
SPTP XHOME
ENDSWITCH
...
Если error_nr не равно 1 или 2, или 3, выполняется переход к случаю DEFAULT для выполнения этой команды/команд.
с несколькими решениями в одном распределителе и с одним
альтернативным путем
SWITCH number
CASE 1,2
...
CASE 3,4,5
...
CASE 6
...
DEFAULT
...
ENDSWITCH
Если number имеет значение 3, 4 или 5, выполняется переход во
второй элемент «CASE» для выполнения этой команды/команд.
266 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
13.5
Программирование команды перехода
Описание
Обязательный переход к определенному месту в программе. Программа в этом месте продолжается.
Цель перехода должна находиться в той же части программы или в
той же функции, что и команда GOTO.
Невозможны следующие переходы:
Переход снаружи в команду IF.
Переход снаружи в цикл.
Переход от одной команды CASE к другой команде CASE.
В случае обязательного перехода программа не проверяет, выполняется или не выполняется определенное условие.
Переход выполняется всегда. Возможный нежелательный переход должен быть предотвращен программированием. См. также второй
пример программы.
Программирование с использованием GOTO может сделать программу
ненаглядной.
Лучше: вместо этого работать с IF, SWITCH или циклом.
Синтаксис
...
GOTO Marke
...
Marke:
...
Элемент
Товарная
марка
Примеры
Описание
Место, в которое осуществляется переход. В целевом
месте метка (Marke) на конце должна иметь двоеточие.
Обязательный переход к месту в программе GLUESTOP.
GOTO GLUE_STOP
...
GLUE_STOP:
Преобразование обязательного перехода в условный переход за
счет добавления команды IF. Переход осуществляется к месту в программе GLUE_END.
IF X>100 THEN
GOTO GLUE_END
ELSE
X=X+1
ENDIF
A=A*X
...
GLUE_END:
END
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
267 / 313
Программирование робота 1
13.6
Программирование функций ожидания в KRL
Рис. 13-7
Программирование в KRL
13.6.1
268 / 313
зависящей от времени функции ожидания
зависящей от сигнала функции ожидания
Зависящая от времени функция ожидания
Описание
зависимой от
времени
функции
ожидания с KRL
Зависимая от времени функция ожидания ожидает указанное время
(time), прежде чем процесс будет продолжен
Синтаксис
Принцип
зависящей от
времени
функции
ожидания
Зависящая от времени функция ожидания исчисляется в секундах (с)
Максимальное время составляет 2147484 секунды, это более 24 суток
WAIT SEC time
Встроенный формуляр для зависящей от времени функции ожи
дания может ждать максимум 30 секунд
Значение времени может передаваться также с помощью подходящей переменной
Минимальная рациональная единица времени 0,012 секунды (такт
IPO)
Если указанное время отрицательное, то программа не выполняет
ожидания
Зависящая от времени функция ожидания запускает останов предварительного выполнения, таким образом, сглаживание невозможно
Для целенаправленного генерирования останова предварительного
выполнения используется команда WAIT SEC 0
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
Программиро
вание
зависящей от
времени
функции
ожидания
Зависящая от времени функция ожидания с фиксированным временем
SPTP P1 Vel=100% PDAT1
SPTP P2 Vel=100% PDAT2
WAIT SEC 5.25
SPTP P3 Vel=100% PDAT3
Рис. 13-8: Пример перемещения для логики
Поз.
Примечание
1
Перемещение прерывается на 5,25 секунды в точке P2
Зависящая от времени функция ожидания с рассчитанным временем
WAIT SEC 3*0.25
Зависящая от времени функция ожидания с переменной
DECL REAL time
time = 12.75
WAIT SEC time
13.6.2
Зависимая от сигнала функция ожидания
Описание
зависящей от
сигнала
функции
ожидания
Зависимая от сигнала функция ожидания переключается дальше при
выполнении условия (condition), и процесс продолжается.
Синтаксис
Принцип
зависящей от
сигнала
функции
ожидания
Зависящая от сигнала функция ожидания запускает останов предварительного выполнения, таким образом, сглаживание невозможно
Несмотря на уже выполненное условие генерируется останов предварительного выполнения
Если в строке непосредственно перед командой ожидания программируется команда CONTINUE, то при своевременно выполненном условии останов предварительного выполнения может быть
предотвращен
WAIT FOR condition
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
269 / 313
Программирование робота 1
Рис. 13-9: Пример перемещения для логики с предварительным выполнением
Позиция
Диапазон переключения
1
Робот выполняет сглаживание, если условие ожидания
уже выполняется перед началом контура сглаживания.
Зеленый диапазон переключения для активации контура
сглаживания. Он только устанавливается, его дезактивация больше невозможна.
2
Начало перемещения сглаживания (вхождение в контур сглаживания)
3
Программирование
зависящей от
сигнала
функции
ожидания
Робот не выполняет сглаживание, если условие ожидания выполняется только
после начала контура сглаживания.
Запрос активации
TRUE: Сглаживание
FALSE: подвод в целевую точку
Синий диапазон переключения для подвода и останова в
точке P2
WAIT FOR с остановом предварительного выполнения
SPTP P1 Vel=100% PDAT1
SPTP P2 CONT Vel=100% PDAT2
WAIT FOR $IN[20]==TRUE
SPTP P3 Vel=100% PDAT3
Рис. 13-10: Пример перемещения для логики
Примечание
1
270 / 313
Перемещение прерывается в точке P2. После точного останова проверяется вход 20. Если состояние входа верное,
обработка может быть сразу продолжена, в противном случае выполняется ожидание состояния.
WAIT FOR с обработкой в предварительном выполнении (использование CONTINUE)
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
13 Использование контроля выполнения п...
SPTP P1 Vel=100% PDAT1
SPTP P2 CONT Vel=100% PDAT2
CONTINUE
WAIT FOR ($IN[10] OR $IN[20])
SPTP P3 Vel=100% PDAT3
Рис. 13-11: Пример перемещения для логики с предварительным
выполнением
Операция
1
Вход 10 или вход 20 есть или были TRUE во время предварительного выполнения. Таким образом, выполняется сглаживание
2
Условие выполнено незадолго до этого, значит выполняется
сглаживание перемещения
3
Условие выполнено слишком поздно, значит сглаживание
движения невозможно и необходимо выполнить подвод в
точку P2. Но в точке P2 можно сразу продолжить перемещение, если до этого условие будет выполнено. Если же условие не выполняется, робот ожидает в точке P2 до тех пор,
пока условие будет выполнено. Индикация в окне сообщений выглядит следующим образом: «Ожидание (вход 10 или
вход 20)». В тестовых режимах работы (T1 или T2) доступна
кнопка моделирования.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
271 / 313
Программирование робота 1
272 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
14 Работа с системой управления верхне...
14
Работа с системой управления верхнего уровня
14.1
Обзор
4
т
В этом учебном разделе рассматриваются следующие элементы:
14.2
подготовка к запуску программы со стороны ПЛК;
настройка соединения с ПЛК.
Подготовка к запуску программы от ПЛК
Робот в
сочетании с
установкой
Если процессами робота должен управлять центральный пункт (управляющий компьютер или ПЛК), то это осуществляется по интерфейсу
Внешняя автоматика.
Рис. 14-1: Соединение с ПЛК
Принцип
структуры
установки
При использовании интерфейса Внешняя автоматика процессами робота
управляет вышестоящая система управления (напр., ПЛК).
Для обмена данными между ПЛК и роботом необходимы нижеуказанные пункты.
Должна иметься физически присутствующая и конфигурированная
полевая шина между роботом и ПЛК (напр., PROFINET).
По полевой шине должны передаваться сигналы для процессов робота. Это обеспечивается конфигурируемыми цифровыми входами и
выходами в соглашении протокола Внешняя автоматика .
Управляющие сигналы к роботу (входы):
через интерфейс «Внешняя автоматика» вышестоящая система
управления передает в систему управления роботом сигналы для
процессов робота (напр., разрешение на перемещение, квитирование ошибки, запуск программы и т.д.).
Состояние робота (выходы):
система управления роботом передает в вышестоящую систему
управления сведения о рабочих состояниях и сбоях.
Адаптированная организационная программа CELL.SRC
для выбора программ робота извне.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
273 / 313
Программирование робота 1
Указания по
технике безопасности для
внешнего
запуска
программы
Выбор режима Внешняя автоматика
в котором управляющий компьютер или ПЛК берет на себя управле
ние системой робота.
После выбора программы CELL следует выполнить перемещение SAK в
режиме T1 или T2.
Перемещение SAK выполняется в качестве перемещения PTP от фактического положения к целевому положению, если выбранная запись перемещений содержит
команду перемещения PTP. Если выбранная запись перемещений содержит LIN или CIRC, то перемещение SAK выполняется в качестве перемещения LIN. Наблюдать за перемещением во избежание
столкновений. При перемещении SAK скорость автоматически снижается.
Если перемещение SAK уже было выполнено, то при внешнем запуске
перемещение SAK больше не будет выполняться.
В режиме внешней автоматики ход SAK отсутствует. Это значит, что робот после запуска выходит на первое запрограммированное положение с
запрограммированной (не сниженной) скоростью и там не останавливается.
Порядок
действий для
внешнего
запуска
программы
Условия
Выбран режим работы T1 или T2.
Входы и выходы для внешней автоматики и программы CELL.SRC
сконфигурированы.
1. В навигаторе выбрать программу CELL.SRC. Программа CELL всегда
находится в директории KRC:\R1.
2. Установить коррекцию программы на 100 %. (Это рекомендуемая настройка. При необходимости можно настроить другое значение).
Рис. 14-2: Выбор Cell и установка программной коррекции
1
Настройка POV
2
Выбор Cell.src
3. Выполнить перемещение SAK:
нажать и удерживать переключатель подтверждения. Затем нажать и
274 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
14 Работа с системой управления верхне...
удерживать кнопку запуска, пока в окне сообщений не появится сообщение «SAK достигнут».
4. Выбрать режим работы «Внешняя автоматика».
5. Запустить программу через систему управления верхнего уровня
(ПЛК).
14.3
Настройка соединения с ПЛК (Cell.src)
Организационная
программа
Cell.src
Для управления передаваемыми от ПЛК номерами программ используется организационная программа Cell.src. Она всегда находится в папке
R1. Как и любую обыкновенную программу, программу Cell также можно
индивидуально настроить, однако при этом должна сохраниться структура программы.
Структура и
функциональность
программы Cell
Рис. 14-3: Программа Cell
1
Инициализация и положение Home:
инициализация базовых параметров;
проверка положения робота после принятия положения
Home;
инициализация интерфейса внешней автоматики.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
275 / 313
Программирование робота 1
2
Непрерывный цикл:
3
Порядок
действий
запрос номера программы модулем «P00»;
переход в цикл выбора с определенным номером программы.
Цикл выбора номера программы:
соответственно номеру программы (хранится в переменной
«PGNO») выполняется переход к текущей ветви («CASE»);
затем обрабатывается введенная в ветвь программа робота;
недействительные номера программы приводят к переходу в
ветвь «Default»;
после успешной обработки цикл повторяется.
1. Переключиться в группу пользователей «Эксперты».
2. Открыть программу CELL.SRC.
3. В разделах CASE заменить обозначение EXAMPLE именем программы, которую должна вызвать текущая программа с номером. Удалить
точку с запятой перед названием.
Рис. 14-4: Пример отредактированной программы Cell
4. Закрыть программу и сохранить изменения.
276 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
14 Работа с системой управления верхне...
14.4
Вопросы: работа с системой управления верхнего уровня
Что следует знать сейчас:
1. Что является необходимым условием для обмена данными с ПЛК?
............................................................
............................................................
2. Через какую глобальную подпрограмму передается номер программы
от ПЛК?
............................................................
............................................................
3. Что может быть запрограммировано в элементах «CASE» цикла
SWITCH CASE программы CELL.SRC? Что запрещено/не может быть запрограммировано?
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
277 / 313
Программирование робота 1
278 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
15
Приложение
л
15.1
ж
Программирование перемещений с распознаванием столкновения
Описание
Рис. 15-1: Столкновение
Контроль осевых моментов используется в робототехнике для регистрации столкновений робота с каким-либо объектом. Такие столкновения в
большинстве случаев нежелательны и могут привести к повреждению
робота, инструмента или деталей.
Обнаружение столкновений
При столкновении робота с объектом система управления роботом
увеличивает осевые моменты, чтобы преодолеть возникшее сопротивление. Это может сопровождаться повреждением робота, инструмента и других деталей.
Распознавание столкновения снижает риск и степень тяжести таких
повреждений. Эта система контролирует осевые моменты.
Пользователь может определить порядок действий после столкновения, т.е. после того, как алгоритм распознает столкновение и остановит робота.
Робот останавливается по схеме останова STOP 1.
Система управления роботом вызывает программу tm_useraction.
Она находится в папке «Program» и содержит команду HALT. В качестве альтернативы пользователь может запрограммировать в
программе tm_useraction другие реакции.
Система управления роботом автоматически определяет поле допуска.
Как правило, для того, чтобы система управления роботом рассчитала поле допуска, соответствующее условиям практической работы,
требуется 2 - 3 раза выполнить программу.
Для поля допуска, определенного системой управления, пользователь при помощи панели управления может задать смещение.
Если робот не эксплуатировался длительное время (напр., на выходных), двигатели, редукторы и другие компоненты находятся в холодном состоянии. Во время перемещений после такого простоя осевые
моменты иные, чем у прогретого робота. Система управления роботом автоматически адаптирует систему распознавания столкновения
к измененной температуре.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
279 / 313
Программирование робота 1
Ограничения
Принцип распознавания столкновений
В режиме T1 распознавание столкновения невозможно.
Для позиций HOME и других глобальных позиций распознавание
столкновения не предусмотрено.
Для дополнительных осей распознавание столкновения невозможно.
Для движений в обратном направлении распознавание столкновения
невозможно.
Если робот остановлен, то при запуске возникают очень высокие осевые моменты. Поэтому в фазе запуска (прибл. 700 мс) осевые моменты не контролируются.
После изменения коррекции программы система распознавания
столкновения в течение 2 - 3 прогонов программы реагирует значительно менее чувствительно. За это время система управления адаптирует поле допуска к новой коррекции программы.
Обучение программы с распознаванием столкновений
Адаптация ускорения должна быть включена с системной переменной $ADAP_ACC .
Системная переменная находится в файле
C:\KRC\Roboter\KRC\R1\MaDa\$ROBCOR.DAT
$ADAP_ACC = #NONE Адаптация ускорения не активирована
$ADAP_ACC = #STEP1 Динамическая модель без кинетической
энергии
$ADAP_ACC = #STEP2 Динамическая модель с кинетической
энергией
Для включения распознавания столкновения для того или иного движения необходимо при программировании установить параметр Рас
познавание столкновения на TRUE. В программном коде это можно
распознать по дополнению CD:
PTP P2
Vel= 100 % PDAT1 Tool[1] Base[1] CD
Параметр Распознавание столкновения доступен только в том
случае, если перемещение было запрограммировано в формуляре Inline.
Поле допуска рассчитывается только для полостью выполненных записей движения.
Настройка значений смещения
Для поля допуска смещение может быть задано для момента силы и
для ударного момента.
Момент силы: момент силы действует, если роботу оказывается
продолжительное сопротивление. Примеры:
робот сталкивается со стеной или давит в стену;
робот сталкивается с контейнером. Робот давит на контейнер и
сдвигает его.
Ударный момент: ударный момент действует, если роботу оказывается короткое сопротивление. Пример:
280 / 313
робот сталкивается с щитом, отбрасываемым при ударе.
Чем меньше смещение, тем чувствительнее реагирует система распознавания столкновения.
Чем больше смещение, тем менее чувствительно реагирует система
распознавания столкновения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Если система распознавания столкновения реагирует слишком
чувствительно, не увеличивать сразу смещение. Вместо этого
заново рассчитать поле допуска и проверить, реагирует ли система распознавания столкновения нужным образом.
Окно опций столкновения
Рис. 15-2: Окна опций – распознавание столкновения
Данные в окне опций Распознавание столкновения не всегда
относятся к актуальному перемещению. В особенности при малых расстояниях между точками и сглаженных движениях воз
можны отклонения.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
281 / 313
Программирование робота 1
Описание
Поз.
1
2
Поле указывает состояние перемещения.
красный: текущее перемещение не контролируется.
зеленый: текущее перемещение контролируется.
оранжевый: была нажата клавиша настройки значения
слева и справа рядом с числовым значением момента
силы или ударного момента. Поле останавливается на
перемещении, пользователь может изменить смещение. Изменение применяется нажатием кнопки Сохранить.
в клетку: как правило, для того, чтобы система управления роботом рассчитала поле допуска, соответствующее условиям практической работы, требуется 2 - 3
раза выполнить программу. До тех пор, пока система
управления находится в этой фазе обучения, поле
отображается в клетку.
Номера переменных TMx
Для каждой записи движения, в которой параметр Распознавание столкновения установлен на TRUE, система управления роботом создает переменную TMx. TMx содержит все
значения для поля допуска данной записи движения. Если 2
записи движения относятся к одной и той же точке Px, система управления роботом создает 2 переменные TMx.
3
Путь и имя выбранной программы.
4
Имя точки
5
Это поле активировано только в режиме «Внешняя автоматика». В остальных случаях оно окрашено в серый цвет.
MonOn: Распознавание столкновения было активировано со
стороны ПЛК.
Если распознавание столкновения было активировано через
ПЛК, то ПЛК передает входной сигнал sTQM_SPSACTIVE в
систему управления роботом. Система управления роботом
отвечает выходным сигналом sTQM_SPSSTATUS. Сигналы
определены в файле $config.dat.
Указание: в режиме внешней автоматики распознавание
столкновения активировано только в случае, если в поле ПЛК
и в поле KCP отображается запись MonOn.
6
MonOn: Распознавание столкновения было активировано из
KCP.
Указание: в режиме внешней автоматики распознавание
столкновения активировано только в случае, если в поле ПЛК
и в поле KCP отображается запись MonOn.
282 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Поз.
Описание
7
Смещение для момента силы. Чем меньше смещение, тем
чувствительнее реагирует система распознавания столкновения. Значение по умолчанию: 20.
Поле останавливается на перемещении, пользователь может
изменить смещение. См. также: (>>> "Изменение смещения
для перемещений" Страница 284). Изменение применяется
нажатием кнопки Сохранить.
N.A.: Для этого перемещения опция Распознавание столкновения в формуляре Inline установлена на FALSE.
8
Смещение для ударного момента. Чем меньше смещение,
тем чувствительнее реагирует система распознавания столкновения. Значение по умолчанию: 30.
Поле останавливается на перемещении, пользователь может
изменить смещение. См. также: (>>> "Изменение смещения
для перемещений" Страница 284). Изменение применяется
нажатием кнопки Сохранить.
N.A.: Для этого перемещения опция Распознавание столкновения в формуляре Inline установлена на FALSE.
Экранная кнопка
Активировать
Описание
Активирует распознавание столкновения
Эта кнопка не отображается, если момент
силы или ударный момент был изменен, но
изменения еще не были сохранены.
Дезактивировать
Отключает распознавание столкновения
Эта кнопка не отображается, если момент
силы или ударный момент был изменен, но
изменения еще не были сохранены.
Активация
распознавания
столкновения в
формуляре
Inline
Сохранить
Принятие изменений момента силы/или ударного момента.
Отмена
Отмена изменений момента силы/или ударного момента.
1. Создать перемещение с формуляром Inline
2. Открыть окно опций фреймов и активировать распознавание столкновения
Рис. 15-3: Окно опций Фреймы
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
283 / 313
Программирование робота 1
Поз.
1
Описание
Выбрать инструмент.
Если в поле Внешний TCP указано True: выбрать заготовку.
Диапазон значений: [1] … [16]
2
Выбрать базу.
Если в поле Внешний TCP указано True: выбрать стационарный инструмент.
Диапазон значений: [1] … [32]
3
4
Режим интерполяции:
False: инструмент смонтирован на фланце.
True: инструмент является стационарным.
Распознавание столкновения
True: для этого перемещения система управления роботом определяет осевые моменты. Это необходимо
для распознавания столкновения.
False: для этого перемещения система управления роботом не определяет осевые моменты. Поэтому распознавание столкновения для этого перемещения
невозможно.
3. Завершить перемещение
Определение
поля допуска и
активация
распознавания
столкновения
1. В главном меню выбрать пункт Конфигурация > Дополнения > Распознавание столкновения.
(>>> Рис. 15-2 )
2. В поле KCP должна отображаться запись MonOff. Если это не так,
выбрать Дезактивировать.
3. Запустить и несколько раз выполнить программу. После 2 - 3 прогонов программы система управления роботом определит поле допуска, подходящее для практического применения.
4. Нажать Активировать. В окне Распознавание столкновения в
поле KCP отображается запись MonOn.
Сохранить конфигурацию нажатием на кнопку Закрыть.
Изменение
смещения для
перемещений
1. Выбрать программу.
2. В главном меню выбрать пункт Конфигурация > Дополнения > Распознавание столкновения.
3. Смещение перемещения может быть изменено во время выполнения
программы: если нужное перемещение отображается в окне Распознавание столкновения, нажать клавиши со стрелками под полями
моментов силы или ударных моментов. Поле останавливается на
этом перемещении. Изменить смещение при помощи этих кнопок.
284 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-6: Распознавание столкновения – измененные значения
В качестве альтернативы может быть выполнен выбор строки на нужное перемещение.
4. Сохранить изменение кнопкой Сохранить.
5. Сохранить конфигурацию нажатием на кнопку Закрыть.
6. Установить исходный режим работы и вид выполнения программы.
15.2
Программирование функций переключения траектории
Общая информация
Функцию переключения траектории можно использовать для того, чтобы
установить выход в определенной точке на траектории, не прерывая перемещение робота. Различают статическое (SYN OUT) и динамическое
(SYN PULSE) переключение. В случае с переключением SYN OUT 5 речь
идет о том же сигнале, что и в случае с SYN PULSE 5. Различаются лишь
вид и способ переключения. Опции выбора PATH, START и END поясняются ниже.
На практике в основном используется опция PATH, поэтому фокус обучения приходится на нее.
Опции START и END включены в документацию в целях полноты предоставления информации.
Опция Path
С помощью опции Path можно запустить операцию переключения относительно целевой точки записи перемещения. Операция переключения
может быть смещена в пространстве и/или во времени. Запись отсчетного перемещения может представлять собой перемещение LIN или CIRC.
Перемещение PTP недопустимо.
Рис. 15-7: Встроенный формуляр SYN OUT, опция Path
Поз.
Описание
Диапазон
значений
1
Номер выхода
1 … 4096
2
Если у выхода есть имя, это имя отображается.
Выбирается свободно
Только для группы пользователей «Эксперты»: нажатием на программируемую
клавишу Описание можно ввести имя.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
285 / 313
Программирование робота 1
Диапазон
значений
Поз.
Описание
3
Состояние, в которое переключается
выход.
TRUE, FALSE
4
Точка, в которой происходит переключение:
Опция PATH
5
START, END
PATH: переключение происходит относительно целевой точки записи перемещения.
Пространственное смещение операции
переключения.
-2000 …
+2000 мм
Указание: указание места привязано к
целевой точке записи перемещения.
Положение точки переключения не меняется несмотря на изменение скорости
робота.
За счет этого компенсируется время реакции управляемого устройства (напр., пистолета для нанесения клея).
6
Временное смещение операции переключения.
-1000 …
+1000 мс
Указание: временное смещение относится к пространственному смещению.
Время указывается абсолютным. Таким
образом, точка переключения изменяется
в зависимости от скорости робота.
Посредством SYN PULSE можно инициировать импульс в начальной
или конечной точке движения. Импульс может быть смещен во времени
и/или в пространстве: Т.е. его не требуется активировать точно в заданной точке – это может быть выполнено раньше или позже.
Рис. 15-8: Встроенный формуляр SYN PULSE
Поз.
Описание
Диапазон значений
1
Номер выхода
1 … 4096
2
Если у выхода есть имя, это имя отображается.
Выбирается свободно
Только для группы пользователей «Эксперты»:
нажатием на кнопку Описание можно
ввести имя. Имя задается свободно.
3
286 / 313
Состояние, в которое переключается
выход
TRUE, FALSE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Поз.
Описание
Диапазон значений
4
Продолжительность импульса
0.1 ... 3 с
5
Точка, к которой относится SYN PULSE:
Опция PATH
PATH: SYN PULSE относится к целевой точке. Дополнительно возможно
пространственное смещение.
START, END
6
Пространственное смещение операции
переключения.
-2000 …
+2000 мм
Указание: указание места привязано к
целевой точке записи перемещения.
Положение точки переключения не меняется несмотря на изменение скорости
робота.
7
Временное смещение операции переключения.
1000 … +1000 мс
Указание: временное смещение относится к пространственному смещению.
Заданное время является абсолютным.
Точка переключения изменяется в зависимости от скорости робота.
Действие опции
переключения
Path
Пример программы:
фрезер должен переключиться на траектории. Через 20 мм после точки
P2 следует на весу начать обработку детали. Чтобы фрезер через 20 мм
(путь = 20) после точки P2 достиг полного числа оборотов, его следует
включить заранее за 5 мс (задержка = -5 мс).
Опция переключения Path всегда относится к целевой точке.
Рис. 15-9: Точка переключения SYN OUT Path
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
;Функция переключения по отношению к P2
SYN OUT 9 'SIGNAL 9' Status= True Path=20 Delay=-5ms
LIN P2 CONT VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Границы переключения
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
287 / 313
Программирование робота 1
Рис. 15-10: Границы переключения SYN OUT PATH
Порядок
действий
1. Установить курсор в строку, после которой должна быть вставлена
логическая команда.
2. Выбрать последовательность меню Команды > Логика > OUT > SYN
OUT или SYN PULSE.
3. Во встроенном формуляре установить параметры.
4. Сохранить команду, нажав кнопку Команда OK.
Опция Start/End
Операция переключения может быть запущена относительно начальной
или целевой точки записи перемещения. Операция переключения может
быть смещена во времени. Запись отсчетного перемещения может
представлять собой перемещение LIN, CIRC или PTP.
Рис. 15-11: Встроенный формуляр SYN OUT, опция START
Рис. 15-12: Встроенный формуляр SYN OUT, опция END
Поз.
Описание
Диапазон
значений
1
Номер выхода
1 … 4096
2
Если у выхода есть имя, это имя отображается.
Выбирается свободно
Только для группы пользователей «Эксперты»: нажатием на программируемую
клавишу Описание можно ввести имя.
3
288 / 313
Состояние, в которое переключается
выход.
TRUE, FALSE
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Поз.
Описание
4
Точка, в которой происходит переключение:
5
START: переключение происходит относительно начальной точки записи
перемещения.
END: переключение происходит относительно целевой точки записи перемещения.
Временное смещение операции переключения.
Диапазон
значений
START, END
PATH
(>>> Рис. 15-7 )
-1000 …
+1000 мс
Указание: заданное время является
абсолютным. Положение точки переключения изменяется в зависимости от скорости робота.
Действие опций
переключения
Start/End
Пример программы 1:
опция Start
Рис. 15-13: SYN OUT Start с положительной задержкой
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;Функция переключения по отношению к P2
SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=20ms
LIN P3 VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Пример программы 2:
опция Start с CONT и положительной задержкой
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
289 / 313
Программирование робота 1
Рис. 15-14: SYN OUT Start с CONT и положительной задержкой
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
LIN P2 CONT VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;Функция переключения по отношению к P2
SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Пример программы 3:
опция End с отрицательной задержкой
Рис. 15-15: SYN OUT END с отрицательной задержкой
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;Функция переключения по отношению к P3
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-20ms
LIN P3 VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Пример программы 4:
опция End с CONT и отрицательной задержкой
290 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-16: SYN OUT с опцией End с отрицательной задержкой
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;Функция переключения по отношению к P3
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Пример программы 5:
опция End с CONT и положительной задержкой
Рис. 15-17: SYN OUT с опцией End и положительной задержкой
LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]
LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;Функция переключения по отношению к P3
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]
Границы
переключения в
функциях
переключения
траектории
Границы переключения
Без CONT
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
291 / 313
Программирование робота 1
Рис. 15-18: Границы переключения опции Start/End без CONT
Границы переключения с CONT:
С CONT
Рис. 15-19: Границы переключения опции Start/End с CONT
15.3
Конфигурирование и применение режима «Внешняя автоматика»
Работа с системой управления верхнего уровня
Использование
входов/выходов
интерфейса
«Внешняя
автоматика»
292 / 313
См.: (>>> 14.2 "Подготовка к запуску программы от ПЛК" Страница 273)
Обзор основных сигналов интерфейса
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-20: Обзор основных сигналов внешней автоматики
Входы (с точки зрения системы управления роботом)
PGNO_TYPE - тип номера программы
Эта переменная устанавливает, в каком формате записывается номер программы, переданный вышестоящей системой управления.
Значение
1
2
3
Описание
Пример
Запись в качестве двоичного числа.
00100111
Номер программы передается вышестоящей системой управления в виде целочисленного значения с двоичной
кодировкой.
=> PGNO = 39
Запись в качестве значения BCD.
00100111
Номер программы передается вышестоящей системой управления в виде десятичного значения с двоичной кодировкой.
=> PGNO = 27
Запись как «1 из N»*.
00000001
Номер программы передается вышестоящей системой управления или периферией в виде значения с кодировкой «1 из
N».
=> PGNO = 1
00001000
=> PGNO = 4
* В этом формате передачи значения PGNO_REQ, PGNO_PARITY и
PGNO_VALID не обрабатываются, поэтому не играют роли.
PGNO_LENGTH - длина номера программы
Эта переменная устанавливает разрядность номера программы, переданного вышестоящей системой управления. Диапазон значений:
1 … 16.
Если PGNO_TYPE имеет значение 2, то допущены только разрядности 4, 8, 12 и 16.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
293 / 313
Программирование робота 1
PGNO_PARITY - бит четности номера программы
Вход, на который вышестоящая система управления передает бит
четности.
Вход
Обязанности
Отрицательное значение
Нечетность
0
Оценка не выполняется
Положительное значение
Четность
Если PGNO_TYPE имеет значение 3, то PGNO_PARITY не оценивается.
PGNO_VALID - действительный номер программы
Вход, на который вышестоящая система управления передает команду на запись номера программы.
Вход
Обязанности
Отрицательное значение
Номер принимается с нисходящим фронтом сигнала.
0
Номер принимается с нарастающим фронтом сигнала на линии EXT_START.
Положительное значение
Номер принимается с нарастающим фронтом сигнала.
$EXT_START - внешний пуск
Включением этого выхода при активном интерфейсе ввода/вывода
может быть запущена или продолжена программа (обычно
CELL.SRC).
Оценивается только нарастающий фронт сигнала.
В режиме внешней автоматики ход SAK отсутствует. Это значит, что робот после запуска выходит на первое запрограммированное положение с за
программированной (не сниженной) скоростью и там не останавливается.
$MOVE_ENABLE - деблокировка перемещения
Этот вход используется для контроля приводов робота вышестоящей
системой управления.
Cигнал
Обязанности
TRUE
Ручное перемещение возможно только в режимах
работы T1 и T2.
Возможно выполнение программы.
FALSE.
Остановка всех приводов и блокировка всех активных команд
Если приводы остановлены вышестоящей системой управления, выводится сообщение «Разрешение общего перемещения». Перемещение робота возможно только после удаления
этого сообщения и поступления повторного внешнего сигнала запуска.
Во время пуска в эксплуатацию переменная $MOVE_ENABLE
часто проектируется на значение $IN[1025]. Если после этого забыть спроектировать другой вход, то внешний пуск невозможен.
294 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
$CONF_MESS - квитирование сообщений
При активации этого входа вышестоящая система управления самостоятельно квитирует сообщения об ошибке после устранения их
причины.
Оценивается только нарастающий фронт сигнала.
$DRIVES_ON - приводы вкл.
Если на этот вход подается импульс High длительностью не менее 20
мс, вышестоящая система управления включает приводы робота.
$DRIVES_OFF - приводы выкл.
Если на этот вход подается импульс Low длительностью не менее 20
мс, вышестоящая система управления выключает приводы робота.
Выходы (с точки зрения системы управления роботом)
$ALARM_STOP - АВАРИЙНЫЙ ОСТАНОВ
Этот выход сбрасывается в следующих ситуациях АВАРИЙНОГО
ОСТАНОВА:
нажатие кнопки АВАРИЙНОГО ОСТАНОВА на KCP (Внутр. авар.
выкл.);
внешний АВАРИЙНЫЙ ОСТАНОВ.
После АВАРИЙНОГО ОСТАНОВА тип этого события можно рас
познать по состояниям выходов $ALARM_STOP и Внутр. авар.
выкл.:
оба выхода установлены на FALSE: АВАРИЙНЫЙ ОСТАНОВ активирован на KCP;
$ALARM_STOP на FALSE, Внутр. авар. выкл. на TRUE: Внешний
АВАРИЙНЫЙ ОСТАНОВ
$USER_SAF - система защиты оператора/защитные двери
Этот выход сбрасывается при срабатывании контрольного выключателя защитной решетки (режим EXT) или при отпускании переключателя предупреждения (режим работы T1 или T2).
$PERI_RDY - приводы готовы
Активацией этого выхода система управления роботом сообщает вышестоящей системе управления, что приводы робота включены.
$STOPMESS - извещения об останове
Этот выход активируется системой управления роботом, чтобы указать вышестоящей системе управления на поступление сообщения,
вызвавшего необходимость останова робота. (Примеры: АВАРИЙНЫЙ ОСТАНОВ, деблокировка перемещения или защита оператора)
$I_O_ACTCONF - активирована внешняя автоматика
Этот выход устанавливается на TRUE, если выбран режим Внешняя
автоматика и вход имеет значение $I_O_ACT TRUE (обычно всегда
$IN[1025]).
$PRO_ACT - программа активируется/выполняется
Этот выход всегда активирован в том случае, если выполняется какой-либо процесс на уровне робота. Процесс активирован, пока обрабатывается программа или прерывание. Выполнение программы
заканчивается в конце программы только в случае, если все импульсные выходы и триггеры обработаны.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
295 / 313
Программирование робота 1
PGNO_REQ - запрос номера программы
Смена сигнала на этом выходе – это требование к вышестоящей сис
теме управления определить номер программы.
Если PGNO_TYPE имеет значение 3, то PGNO_REQ не оценивается.
APPL_RUN - выполняется прикладная программа
Активацией этого выхода система управления роботом сообщает вышестоящей системе управления, что в настоящее время выполняется программа.
$IN_HOME - робот в позиции HOME
Этот выход сообщает вышестоящей системе управления, находится
ли робот в позиции HOME.
$ON_PATH - робот на траектории
Этот выход активирован все время, пока робот находится на своей
запрограммированной траектории. После перемещения SAK активируется выход ON_PATH. Он остается активированным до тех пор,
пока робот не покинет траекторию, программа не сбросится или не
будет выполнен выбор строки. Сигнал ON_PATH не имеет окна допуска; если робот покидает траекторию, этот сигнал сбрасывается.
Принцип коммуникации в
режиме внешней
автоматики
Обзор общего процесса
Рис. 15-21: Автоматический запуск установки и стандартный режим
работы с квитирование номера программы посредством
PGNO_VALID
Разделение на участки
1. Включение приводов
2. Квитирование сообщений
3. Запуск программы Cell
4. Передача номера программы и выполнение приложения
Каждый из этих участков выполнен как процесс квитирования сигналов.
Должны быть выполнены условия; ПЛК передает сигналы, и система управления роботом сообщает системе управления о соответствующих со
стояниях робота.
296 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-22: Квитирование сигналов
Целесообразно использовать эти заданные квитирования.
Включение приводов
Рис. 15-25
Условия
$USER_SAF - защитные двери закрыты
$ALARM_STOP - АВАРИЙНЫЙ ОСТАНОВ отсутствует
$I_O_ACTCONF - активирована внешняя автоматика
$MOVE_ENABLE - деблокировка перемещения выполнена
$DRIVES_OFF - «приводы выкл.» не активировано
Включение приводов
$DRIVES_ON - сигнал включения приводов мин. на 20 мс
Приводы готовы
$PERI_RDY - при поступлении обратного сообщения для приводов
сигнал $DRIVES_ON снимается
Квитирование сообщений
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
297 / 313
Программирование робота 1
Рис. 15-29
Условия
$STOPMESS - поступило извещение об останове
Квитировать сообщение.
$CONF_MESS - квитирование сообщения
Квитируемые сообщения удалены
$STOPMESS - извещение об останове отменено, $CONF_MESS теперь может быть снято
Запуск программы (CELL.SRC) извне
Рис. 15-34
Условия
$PERI_RDY - приводы готовы
$IN_HOME - робот в позиции HOME
Нет $STOPMESS - извещения об останове отсутствуют
Внешний пуск
$EXT_START- включение внешнего пуска (положительный фронт)
Программа CELL выполняется
$PRO_ACT - извещение о выполнении программы CELL
$ON_PATH - как только робот оказывается на своей запрограммированной траектории, сигнал $EXT_START снимается
Передача номера программы и выполнение прикладной программы
298 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-41
Условия
$PERI_RDY - приводы готовы
$PRO_ACT - программа CELL выполняется
$ON_PATH - робот на траектории
$IN_HOME - робот в позиции HOME, при повторном пуске не требуется
PGNO_REQ - поступил запрос номера программы
Передача номера программы и подтверждение
Передача номера программы
(правильный тип данных (PGNO_TYPE), длина номера программы (PGNO_LENGTH) и первый бит номера программы
(PGNO_FBIT) настроены)
Порядок
действий
PGNO_VALID- подтверждение номера программы (положительный фронт)
Выполняется прикладная программа
APPL_RUN - извещение о выполнении прикладной программы
Робот покидает позицию HOME. После завершения прикладной
программы робот возвращается в позицию HOME.
1. В главном меню выбрать пункт Конфигурация > Входы/выходы >
Внешняя автоматика.
2. В столбце Значение выделить ячейку, которая должна быть обработана, и нажать на Правка.
3. Указать нужное значение и сохранить нажатием OK.
4. Повторить шаги 2 и 3 для всех редактируемых значений.
5. Закрыть окно. Изменения принимаются системой.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
299 / 313
Программирование робота 1
Рис. 15-44: Конфигурация внешней автоматики: входы
Поз.
300 / 313
Описание
1
Номер
2
Полное имя входа/выхода
3
Тип
Зеленый: вход/выход
Желтый: переменная или системная переменная ($...)
4
Имя сигнала или переменной
5
Номер входа/выхода или номер канала
6
Выходы тематически распределены по вкладкам.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
Рис. 15-45: Конфигурация внешней автоматики – выходы
15.4
Сокращения
Для облегчения работы с системой управления KR C4 приведена выборка важнейших сокращений (акронимов) с краткими пояснениями.
Термин
Описание
CCU
Cabinet Control Unit (шкаф управления)
CCUsr
Cabinet Control Unit (шкаф управления)
small robot (для малых роботов)
CIB
Cabinet Interface Board (интерфейсная плата
шкафа управления)
CIBsr
Cabinet Interface Board (интерфейсная плата
шкафа управления)
small robot (для малых роботов)
CK
Customer Built Kinematics (кинематические
системы, установленные клиентом)
CSP
Controler System Panel (пульт системы контроллеров)
Карта Dual-NIC
Двойная сетевая карта
EDS
Electronic Data Storage (карта памяти)
EMD
Electronic Mastering Device (ранее EMT, электронное наладочное устройство) для юстировки робота
ЭМС
Elektromagnetische Verträglichkeit (электромагнитная совместимость)
GBE
Giga Bit EtherNet
Каталог
Может содержать различные элементы,
напр., шаблоны, компоненты, кинематики.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
301 / 313
Программирование робота 1
Термин
Описание
KCB
KUKA Controller Bus (шина контроллеров
KUKA)
KEB
KUKA Exension Bus (шина расширений
KUKA)
KCP
KUKA Control Panel (ручной программатор),
новый термин: smartPAD
KLI
KUKA Line Interface (линейный интерфейс
KUKA)
KOI
KUKA Operator Panel Interface (интерфейс
панели управления KUKA)
KONI
KUKA Customer Network I nterface (сетевой
интерфейс KUKA для взаимодействия с клиентом)
KPC
KUKA Steuerungs-PC (управляющий ПК
KUKA)
KPP
KUKA Power Pack (блок питания KUKA)
KPPsr
KUKA Power Pack (блок питания KUKA)
small robot (для малых роботов)
KRL
KUKA Robot Language (язык программирования KUKA Roboter)
KSB
KUKA System Bus (системная шина KUKA)
KSP
KUKA Servo Pack (регулятор KUKA)
KSPsr
KUKA Servo Pack (регулятор KUKA)
small robot (для малых роботов)
KSI
KUKA Service Interface (сервисный интерфейс
KUKA)
KUKA.HMI
Human Machine Interface (человеко-машинный интерфейс)
KUKA.HMI – это пользовательский интерфейс
KUKA.
LWL
Licht-Wellen-Leiter (световод)
MEMD
Micro Electronic Mastering Device (микроэлектронное наладочное устройство)
MCFB
Motion Control Function Block (функциональный блок управления перемещениями)
Программный модуль для программирования задач движения. Эти модули адаптированы к ПЛК и имеют индивидуальные
характеристики KUKA.
MGU
Motor Gear Unit (редуктор двигателя)
Сочетание двигателя с редуктором KUKA для
кинематик
302 / 313
OPI
Operator Panel Interface (интерфейс панели
управления, порт для подключения
smartPAD)
PMB
Power Management Board (плата управления
электропитанием)
RCD
Residual Current Device; автомат защиты от
тока утечки (FI)
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
15.5
Термин
Описание
RDC
Resolver Digital Converter (преобразователь
сигнала синус.-косинус. преобразователя в
цифровую форму)
SATA
Serial Advanced Technology Attachment (шина
обмена данными между процессором и жестким диском)
SEMD
Standard Electronic Mastering Device (стандартное электронное наладочное устройство)
SIB
Safety Interface Board (интерфейсная плата
безопасности)
SBC
Single Brake Controll (блок управления торможением)
STO
Safe Torque Off (безопасное отключение крутящего момента)
SION
Safety Input Output Node (узел безопасного
входа/выхода)
USB
Universal Serial Bus (шинная система для
соединения компьютера с периферийными
устройствами)
USV
Unterbrechungsfreie Stromversorgung (бесперебойное электропитание)
Редактор каталога
WorkVisual
Программное обеспечение для создания элементов каталога для WorkVisual
Дополнительные упражнения
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
303 / 313
Программирование робота 1
15.5.1
Упражнение: программирование захвата со штифтом
Цель упражнения
Условия
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
программирование команд для управления и проверки захватов и
клещей (KUKA.Gripper и SpotTech);
активация и работа с технологическими клавишами состояния.
Для успешного завершения этого упражнения требуется следующее:
теоретические знания о технологических пакетах KUKA.Gripper и
SpotTech.
Постановка
задач
Выполнить следующие задачи: поднимание и опускание штифта 1.
1. Создать две новые программы с именем Поднимание_штифта1 и
Опускание_штифта1 (дублирование).
2. При программировании использовать преимущества направления
удара инструмента в перемещении вручную.
3. Следить за тем, чтобы скорость перемещения при поднимании и
опускании в магазин со штифтами не превышала 0,3 м/с.
4. Перед подниманием штифта создать контрольный запрос относительно положения захвата.
Рис. 15-46: Магазин со штифтами
1
Магазин со штифтами
2
Штифт 1
3
Штифт 2
4
Штифт 3
Что следует знать сейчас:
1. В чем заключается различие между временем ожидания с включением
и выключением контроля захвата?
.............................................................
.............................................................
2. На экране показано информационное сообщение с текстом
Сглаживание невозможно. Назвать возможные причины для этого.
304 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
............................................................
............................................................
............................................................
3. Сколько стандартных типов захвата KUKA существует?
............................................................
............................................................
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
305 / 313
Программирование робота 1
15.5.2
Упражнение: способы программирования циклов
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Для успешного завершения этого упражнения требуется следующее:
Задание
программирование циклов в KRL
теоретические знания функций различных циклов при программировании
1. Сделать копию программы Процедура с именем Процедура_Цикл.
2. Заменить цикл LOOP - ENDLOOP циклом FOR - WHILE
3. Для этого объявить целочисленную переменную как счетчик циклов.
4. Повторить цикл 5 раз.
5. Дополнительно должна существовать возможность преждевременного выхода из обработки. Для этого использовать $IN[11] в качестве
критерия отмены.
Что следует знать сейчас:
1. В распределителе SWITCH/CASE предусмотрена также команда
DEFAULT. Какова функция этой команды DEFAULT?
.............................................................
.............................................................
2. Какой командой можно установить инкремент в цикле FOR?
.............................................................
.............................................................
3. Из каких циклов можно выходить по команде EXIT?
.............................................................
.............................................................
4. Какая часть может быть опущена при переходе? a. IF b. THEN c. ELSE
d. ENDIF
.............................................................
.............................................................
5. Что неправильно в этом примере программы?
.............................................................
.............................................................
IF $IN[14]==FALSE THEN
$OUT[12]=TRUE
GOTO MARKE1
ELSE
$OUT[12]=FALSE
GOTO MARKE2
ENDIF
WHILE $IN[17]==TRUE
SPTP P1
MARKE1: ...
ENDWHILE
MARKE2: …
SPTP HOME
306 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
15 Приложение
15.5.3
Упражнение: Область неизменного движения и условный останов
Цель упражнения
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
Условия
Задание
Использование логических команд во встроенном формуляре Spline
Для успешного завершения этого упражнения требуется следующее:
Знания программирования перемещения с помощью Spline.
Использование «Области неизменного движения» и «Условного останова» во встроенном формуляре Spline
Выполнить следующие задачи:
1. Создать копию программы с помощью контура Spline.
2. Определить зеленую область как область неизменного движения.
3. В красной точке траектории выполнить условный останов.
Рис. 15-47: Расширение логики Spline
4. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
307 / 313
Программирование робота 1
15.5.4
Упражнение: Внешняя автоматика
Цель упражнения
Условия
Задание
После успешного завершения этого упражнения вы будете в состоянии
выполнить следующие операции:
целенаправленная интеграция программы робота во внешний автоматический режим;
адаптация программы «Cell»;
конфигурирование интерфейса внешней автоматики;
знание процесса режима «Внешняя автоматика».
Для успешного завершения этого упражнения требуется следующее:
знание правил редактирования программы «Cell»;
знание конфигурации интерфейса «Внешняя автоматика»;
теоретические знания о порядке обмена сигналами в режиме «Внешняя автоматика».
1. Конфигурировать интерфейс «Внешняя автоматика» в соответствии
с предустановками пульта управления.
2. Дополните программу Cell тремя любыми модулями, функцию которых Вы перед этим определили.
3. Проверить программу в режимах T1, T2 и «Автоматика». Следует
соблюдать правила техники безопасности в рамках инструктажа.
4. При помощи кнопок смоделировать функции системы управления с
ПЛК.
308 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Индекс
Индекс
Символы
$LDC_LOADED 61
А
АВАРИЙНЫЙ ОСТАНОВ 14
Администратор 229
Активация распознавания столкновения в
формуляре Inline 283
Архивирование 115
Б
Безопасный останов 0 25
Безопасный останов 1 26
Безопасный останов 2 26
Безопасный останов STOP 0 25
Безопасный останов STOP 1 26
Безопасный останов STOP 2 26
Безопасный останов, внешний 19
Безопасный рабочий останов 25
Бесконечный цикл 255
Блок Spline 157
В
Внешняя автоматика 273, 292
Восстановление 115
Время жизни 241
Вставка 234
Встроенный формуляр 122
Выбор записи 163
Выбор программы 104
Г
глобально 241
Группа пользователей, по умолчанию 229
Д
Данные дополнительной загрузки (пункт
меню) 64
Данные нагрузки инструмента 60
Данные нагрузки инструмента (пункт меню)
61
Диалоговое сообщение 22
З
Запросы 262
Запуск программы 104
Запуск программы от ПЛК 273
Защитная дверь 18
И
Изменение смещения для перемещения 284
Изменение, команды перемещения 149
Инициализация 103, 244
Инкремент 34
Информационное сообщение 22
К
Калибровка базы 92
Калибровка инструмента 69
Калибровка, стационарный инструмент 216
Калибровка, управляемая роботом заготовка
218
Карта Dual-NIC 301
Каталог 301
Категория останова 0 26
Категория останова 1 26
Категория останова 2 26
Квитируемое сообщение 21
Клавиатура 15
Клавиша клавиатуры 15
Клавиша обратного пуска 15
Клавиша пуска 15
Клавиша СТОП 15
Клавиши перемещения 14
Клавиши состояния 15
Ключевое слово 241
Кнопка аварийного останова 17
Команда перехода 267
Комментарий 232
Контроль выполнения программы 255
Контроль ориентации 134
Конфигурация захвата 207
Конфигурирование внешней автоматики,
упражнение 308
Л
Логика, общая информация 177
Логические операции 246
локально 241
М
Манипуляция 246, 247
Менеджер соединений 14
Момент силы 280
Н
Нагрузки на роботе 60
О
Объявление 240, 243
Оператор 229
Операции сравнения 246
Описания 239
Основание робота 38
Основная система координат 38
Основные арифметические действия 246
Отметка в виде штриха. для юстировки 57
П
Переменная, изменение 250
Переменная, отдельная индикация 250
Переменные 239, 242
Перемещение вручную по осям 31
Перемещение вручную, база 87
Перемещение вручную, инструмент 64
Перемещение вручную, стационарный
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
309 / 313
Программирование робота 1
инструмент 213
Перемещение вручную, универсальное 39
Перемещение осей по отдельности 31
Перемещение CIRC 132
Перемещение LIN 132
Перемещение PTP 123
Перемещения Spline 157
Переход 262, 267
По отдельности (пункт меню) 250
Побитовые операции 247
Подпрограмма глобальная 235
Подпрограмма локальная 236
Подпрограммы 235
Предварительное выполнение 241
Приложение 279
Приоритет 249
Программа дублирование 114
Программа переименование 115
Программа удаление 115
Программирование вызова подпрограммы
238
Программирование захвата 204
Программирование области неизменного
движения 197
Программирование перемещений робота 121
Программирование, внешняя точка TCP 226
Программист 229
Пространственная мышь 14
Протокол 117
Р
Равномерное, сглаживание 190
Распознавание столкновения 139, 142, 279,
284
Распознавание столкновения (пункт меню)
284
Распознавание столкновения, внешняя
автоматика 282
Распознавание столкновения, переменная
282
Распределитель (SWITCH- CASE) 264
Редактор каталога WorkVisual 303
Режим ввода в эксплуатацию 45
Режим интерполяции 128, 139, 142, 169, 172,
284
Режим работы 23
Рывок 128, 139, 143, 170, 173
С
Сглаживание SCIRC 136
Сглаживание SLIN 136
Сглаживание SPTP 125
Сглаживание, равномерное 190
Сглаживание, смешанное 190
Сингулярность 132
Система безопасности робота 17
Система защиты оператора 18
Система координат 38
Система координат инструмента 38
Система координат фланца 38
Смешанное, сглаживание 190
310 / 313
Сокращения 301
Сообщение о состоянии 21
Сообщение об ожидании 22
Сообщения 21
Стандартные функции 247
Стационарный инструмент, перемещение
вручную 213
Т
Точка запястья 132, 133
У
Ударный момент 280
Универсальная система координат 38
Управление захватом 203
Упражнение, блок Spline 175
Упражнение, выполнение программ робота
111
Упражнение, калибровка базы стола 97
Упражнение, калибровка внешнего
инструмента 221
Упражнение, калибровка инструмента с
захватом 83
Упражнение, калибровка инструмента со
штифтом 79
Упражнение, область неизменного движения
и условный останов 307
Упражнение, перемещение вручную со
стационарным инструментом 215
Упражнение, перемещение вручную,
инструмент 68
Упражнение, перемещение по траектории
154
Упражнение, программа Air 130
Упражнение, программирование захвата с
табличкой 210
Упражнение, программирование захвата со
штифтом 304
Упражнение, программирование
перемещения с внешней точкой TCP 227
Упражнение, сглаживание 154
Упражнение, управление и перемещение
вручную в универсальной системе координат
44
Упражнение, управление и перемещение
вручную по осям 37
Упражнение, цифровая калибровка
инструмента 83
Упражнение, юстировка нагрузки со
смещением 58
Упражнение, юстировка робота 58
Упражнение, Spline 201
Уровень эксперта 229
Условный останов 194
Устройство свободного вращения 35
Ф
Формуляр 235
Функции переключения, простые 182
Функция ожидания 179
Функция ожидания, зависимая от сигнала 269
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Индекс
Функция ожидания, зависящая от времени
268
Функция переключения, траектория 285
Ц
Цикл с подсчетом 257
Цикл, неотклоняемый 261
Цикл, отклоняемый 259
Циклы 255
tm_useraction 279
TMx 282
USB 303
USV 303
WAIT 179
WAIT FOR 179
WHILE 259
Ш
Штамп 232
Э
Экстренное положение 32
ЭМС 301
Я
CCU 301
CCUsr 301
CIB 301
CIBsr 301
CK 301
CSP 301
DECL 241, 242
EDS 301
EMD 301
GBE 301
GOTO 267
KCB 302
KCP 302
KEB 302
KLI 302
KOI 302
KONI 302
KPC 302
KPP 302
KRL 302
KSB 302
KSI 302
KSP 302
KUKA.GripperTech 203
KUKA.HMI 302
LWL 302
MCFB 302
MEMD 302
MGU 302
OPI 302
PMB 302
RCD 302
RDW 303
SAK 103
SATA 303
SBC 303
SEMD 303
SIB 303
SION 303
STO 303
STOP 0 26
STOP 1 26
STOP 2 26
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
311 / 313
Программирование робота 1
312 / 313
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
Программирование робота 1
Состояние на: 19.01.2015 Версия: P1KSS8 robot programming 1 (R2) V4
313 / 313
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )