Uploaded by Артём Кочин

Working with KUKA robots

Системы робота
Концепция ПО
Приводы
Оперативная память
Windows XP**embedded
VxWorks
HMI*
R1 / STEU
CROSS
Программы
робота
действия / визуализация
* Интерфейс человек/машина
01/2006
Системы
взаимодействуют
Программы
управления
Ядро системы
**для пакета Software 4.x WIN95
1
mo2_system_overview_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
6 / 168
Системы робота
Система энергоснабжения робота KUKA Series 2000
6
5
4
1 Подключение A1
2 Внутренняя часть
энергоподвода A1-A3
3 Подключение A2
3
01/2006
4 Внешняя часть
энергоподвода
(вращающаяся стойка) A1-A3
2
5 Подключение A3
1
6 Энергоподвод A3-A6
1
mo2_energysupply_en.ppt
© Copyright by KUKA Roboter GmbH College
Система энергоснабжения – регулировка длины кабелей
Velcro fastener
Не делать длиннее
чем требуется
01/2006
2
mo2_energysupply_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
8 / 168
Системы робота
Система энергоснабжения – Размещение гибких труб
Отрегулируйте держатели
Отрегулируйте натяжение
01/2006
3
mo2_energysupply_en.ppt
© Copyright by KUKA Roboter GmbH College
Система энергоснабжения – Регулиррвка протекторов
Если протектор износился до красного
вкладыша, его следует заменить
Протекторы не могут
быть установлены
Протекторы расположеные на роботе
01/2006
4
mo2_energysupply_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
9 / 168
Системы координат
Системы координат
• Движение по осям
Каждая ось робота может двигаться по отдельности,
в положительном, либо отрицательном направлении.
• Мировая система координат (WORLD)
Неподвижная, прямоугольная система координат с
началом, расположенным на основании робота.
• Система координат инструмента (TOOL)
Прямоугольная система координат, с началом,
расположенным на инструменте.
• Система координат базы (BASE)
Прямоугольная система координат, начало которой
расположено на обрабатываемом изделии.
01/2006
1
mo2_coordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
12/168
Системы координат
Управление осями
Каждую ось робота можно двигать по отдельности, в
положительном, либо в отрицательном направлении.
01/2006
1
mo2_coordinate_systems_axis_en.ppt
© Copyright by KUKA Roboter GmbH College
Управление осями с помощью 6D мыши
01/2006
2
mo2_coordinate_systems_axis_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
14/168
Системы координат
Система координат WORLD
Неподвижная, прямоугольная система координат с началом,
расположенным на основании робота.
01/2006
1
mo2_coordinate_systems_world_en.ppt
© Copyright by KUKA Roboter GmbH College
Управление декартовым движением с помошью 6D мыши
01/2006
2
mo2_coordinate_systems_world_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
16/168
Системы координат
Позиция мыши
Пункт меню “Позиция мыши” может быть использован для совмещения
позиции мыши и позиции оператора. Кнопки +/- используются для
изменении позиции с шагом 45°.
01/2006
3
mo2_coordinate_systems_world_en.ppt
© Copyright by KUKA Roboter GmbH College
Позиция мыши
2x
01/2006
4
mo2_coordinate_systems_world_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
17/168
Системы координат
Система координат TOOL
Прямоугольная система координат, начало которой
расположено на инструменте.
01/2006
1
mo2_coordinate_systems_tool_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
20 / 168
Системы координат
Система координат BASE
Прямоугольная система координат, с началом, расположенным
на обрабатываемой детали.
01/2006
1
mo2_coordinate_systems_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
22 / 168
Системы координат
Выбор системы координат
• Выбор типа управления
Управление кнопками
Управление мышью
• Выбор системы координат
Перемещение по осями
Система координат WORLD
Система координат TOOL
Система координат BASE
01/2006
1
mo2_coordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
24 / 168
Настройка
Зачем делать юстировку?
A3=+90°
A4, A5, A6=0°
• После юстировки робота, его оси
занимают определенные положения,
называемые позиции механического
нуля.
A2=-90°
A1=0°
01/2006
• Как только робот достигает положения
механического нуля, для всех осей
сохраняются значения абсолютных
датчиков положения.
Только после юстировки робот может перемещаться в
запрограммированные позиции и двигаться, используя
декартовы системы координат; Юстированный робот
так же знает позиции программных выключателей.
1
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Устройства для юстировки
• Для установки робота в
положение механического
нуля используют часовой
измеритель или электронный
измерительный прибор
(EMT).
Электронный измерительный прибор (EMT)
При EMT юстировке, оси
автоматически перемещаются
в положение механического
нуля контроллером робота.
Если используется часовой
измеритель, то выводить в
нулевое положение робота
надо вручную.
Часовой измеритель
01/2006
2
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
26 / 168
Настройка
Поперечное сечение калибрующей головки
EMT
или
часовой индикатор
Калибрующая головка
“Передняя/
задняя” метки
Метка начала отсчета
Игла
01/2006
3
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Схематическое представление юстировки
Направление движения
+
EMT
или
часовой индикатор
Направление движения
+
EMT
или
часовой индикатор
“Передняя/
задняя” метки
Позиция перед юстировкой
01/2006
Позиция механического нуля
4
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
27 / 168
Настройка
Причины для переюстировки
Робот должен быть юстирован заново…
Юстировка сбрасывается...
... после ремонта (например: после
замены двигателя или редуктора)
... автоматически, перезагрузкой
системы)
... после замены деталей редуктора
…вручную оператором
... после того, как робот двигался без
контролера (например: вручную)
... автоматически, перезагрузкой
1
системы )
... после столкновения с механическим
объектом на быстрой скорости или
остановки (25 см/с)
...вручную оператором
... после столкновения инструмента или
робота
... вручную оператором
1)
Если обнаружены расхождение между данными датчиков, сохраненными в момент
выключения контроллера, и данными о текущей позиции, то юстировка сбрасывается.
Юстировка отменяется…
Юстировку нужно сбросить……
... если юстировка для отдельных осей была
удалена
01/2006
... вручную оператором
5
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Юстировка с помощью EMT
Установка
Юстировка с помощью EMT
Установить
юстировку
Первая юстировка
Проверка
юстировки
Обучить с
нагрузкой
01/2006
Проверить
юстировку
Юстировка обучена
с нагрузкой
Юстировка обучена
1
без нагрузки
Возможно только если 1я юстировка всё еще действительна
(не было смены двигателей, редукторов и т.д.)
1)
6
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
28 / 168
Настройка
Подготовка к EMT юстировке
• Переместить оси в предъюстировочное
положение (передняя и задняя метки
совпадают)
!
• Двигайте робот вручную используя
режим движения по осям
• Каждая ось юстируется отдельно
• Юстируйте по очереди, начиная с первой.
OK
• Двигайте оси от «+» к «-»
• Только в режиме Т1!
01/2006
7
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Подготовка к EMT юстировке
Разъем для
юстировки
• Выверните защитную крышку
• Закрепите EMT и присоедините
сигнальный кабель (разъем X32
коммутационного блока)
• Три цвета EMT:
1 красный -ошибка
2 зеленый -опускается
1
2
3
3 зеленый -поднимается
01/2006
8
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
29 / 168
Настройка
Меню юстировки
Юстировка
Master
Часовой
измеритель
Dial
EMT
EMT
Стандартная
Standard
Проверить
юстировку
Произвести
юстировку
01/2006
Сохранить
текущиеdata
данные
Save current
С нагрузкой
With
load corr.
Первая
юстировка
Обучить
Юстировать
смещение
Teach
offset
с нагрузкой
Master
load
Со
смещением
With offset
смещения
Without
offset
Без
9
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Юстировка робота выведенного в точную позицию
Юстировка
Master
EMT
Часовой
измеритель
Dial
EMT
С нагрузкой
Стандартная
Standard
Произвести
Set
юстировку
mastering
Проверить
Check
юстировку
mastering
Сохранить
текущие data
данные
Save current
With load corr.
Первая
First
юстировка
mastering
Обучить
Юстировать
смещение
Teach
offset
с нагрузкой
load
Master
Со
смещением
With offset
смещения
Without
offset
настройка
Юстировка
проверка/удаление
01/2006
Без
10
mo2_mastering_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие 01.06.00
30 / 168
Настройка
Калибровка инструмента
Что происходит во время калибровки инструмента?
Происходит привязка декартовой
системы координат, определенной
пользователем, к инструменту. Начало
системы координат находиться в точке
заданной пользователем.
The to
Cart
wit
p
Y
01/2006
Z
X
1
mo2_tool_basic_en.ppt
© Copyright by KUKA Roboter GmbH College
Калибровка инструмента
Каковы преимущества калибровки инструмента?
3
1
Ориентация
Скорость движения по траектории
2
Направление инструмента
01/2006
2
mo2_tool_basic_en.ppt
© Copyright by KUKA Roboter GmbH College
32 / 168
Учебное пособие MP2 01.06.00
Настройка
Цели калибровки инструмента (Рабочая точка инструмента (TCP))
Клавишное управление
или
используя
6D мышь
C
+Xи
A
B
+Zи
Ориентация вокруг
рабочей точки
инструмента (TCP)
01/2006
+Yи
+Zмировая
+Xмировая
+Yмировая
1
mo2_tool_sense1_en.ppt
© Copyright by KUKA Roboter GmbH College
Пример переориентации
• Можно задать любую ориентацию
инструмента вокруг рабочей точки,
без изменения его положения.
TCP
01/2006
2
mo2_tool_sense1_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
33 / 168
Настройка
Цели калибровки инструмента (направление инструмента)
Клавишное управление
или
используя
6D мышь
+YИнструмента
+ZИнструмента
+Zмировая
+XИнструмента
+Xмировая
Движение по прямой линии
по оси инструмента.
01/2006
+Yмировая
1
mo2_tool_sense2_en.ppt
© Copyright by KUKA Roboter GmbH College
Пример движения по оси инструмента
•
ZМировая
• • Для того, чтобы перемещать точку
захвата в мировой системе
• координат всегда необходимо
двигаться в нескольких различных
направлениях.
•
XМировая
Магазин с деталями не
мировой
системе
• сориентирован
Магазин с деталямивне
сориентирован
в
координат
робота.
мировой системе координат робота.
С откалиброванным
инструментом, для перемещения
можно использовать ось
инструмента.
YМировая
01/2006
2
mo2_tool_sense2_en.ppt
© Copyright by KUKA Roboter GmbH College
34 / 168
Учебное пособие MP2 01.06.00
Настройка
Назначение калибровки инструмента (скорость движения по траектории)
Режим работы программы
Заданная скорость
выражается в м/с и
поддерживается в рабочей
точке инструмента на
протяжении всего пути.
01/2006
1
mo2_tool_sense3_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
35 / 168
Настройка
Основные действия для калибровки инструмента
1й шаг:
Вычисление рабочей точки
(TCP), относительно системы
TCP без
калибровки
координат фланца.
YФланца
2й шаг:
Различное вращение
системы координат
инструмента и системы
координат фланца
XФланца
ZФланца
YИнструмента
TCP с
калибровкой
ZИнструмента
XИнструмента
01/2006
1
mp2_tool_en.ppt
© Copyright by KUKA Roboter GmbH College
Методы калибровки инструмента
1.Калибровка TCP
или
X Y Z – 4 точки
X Y Z – относительный
2. Калибровка ориентации
или
или
A B C – 5 направлений A B C – 6 направлений A B C – 2 точки
01/2006
2
mp2_tool_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
38 / 168
Настройка
Метод X Y Z - 4 точки
В методе XYZ - 4-точки, рабочая точка инструмента подходит к точке
касания с 4х различных направлений.
Затем рабочая точка инструмента вычисляется в различных
положениях и при различной ориентации фланца робота.
01/2006
1
mp2_tool_xyz4point_en.ppt
© Copyright by KUKA Roboter GmbH College
Схема метода X Y Z - 4 Точки
• Подходите инструментом к базовой
точке 4 раза с различной ориентацией
(P1 до P4).
Неизвестный
инструмент
P4
• Совет: Установите последнюю
ориентацию инструмента (P4) так,
чтобы ось +Xи совпадала с -Zм.
Xи
P3
Базовая точка
• Важно: Каждая ориентация
инструмента (фланца) должна
принципиально отличаться от
других.
Следует уменьшить скорость движения робота вблизи базовой
точки, чтобы избежать возможного столкновения с ней.
01/2006
2
mp2_tool_xyz4point_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
40 / 168
Настройка
Метод X Y Z - Относительный
В методе X Y Z - Относительный, данные о базовой точке находятся
путём её сравнения с известной точкой на фланце.
Неизвестный
инструмент
Известная
точка на
фланце
Базовая точка
Базовая точка
***Неизвестная TCP может быть получена на базисе различных
позиций и ориентаций фланца робота и размеров известной точки.
01/2006
1
mp2_tool_xyzreference_en.ppt
© Copyright by KUKA Roboter GmbH College
Пример использования метода X Y Z - Относительный
Фланец используется как
базовый инструмент
Откалиброванная базовая
точка: X=50; Y=0; Z=0
01/2006
2
mp2_tool_xyzreference_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
41 / 168
Настройка
Пример использования метода X Y Z - Относительный
Фланец используется как
базовый инструмент
Необходимо переместить
рабочую точку инструмента в
базовую
01/2006
3
mp2_tool_xyzreference_en.ppt
© Copyright by KUKA Roboter GmbH College
Пример использования метода X Y Z - относительный
Инструмент номер 3:
Сварочная горелка
Как только была указана базовая
точка, рабочая точка
рассчитывается контроллером
01/2006
4
mp2_tool_xyzreference_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
42 / 168
Настройка
Метод A B C - 5 направлений
Состояние:
XИ параллельна Zм
YИнструмент
В данном методе, необходимо задать
ориентацию инструмента параллельно
оси Z мировой системы координат, в
направлении действия инструмента.
Этот метод используется, если для
позиционирования и работы с
инструментом необходимо только его
рабочее направление (сварка,
лазерная резка).
ZМировая
ZИнструмент
XИнструмента
01/2006
XМировая
YМировая
1
mp2_tool_abcworld5d_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
44 / 168
Настройка
Метод A B C – 6 направлений
ZМировая
ZИнструмента
YИнструмента
XИнструмента
XМировая
Положение осей:
XИ параллельна ZМ
YИ параллельна YМ
YМировая
В этом методе ориентация
инструмента должна быть
выполнена в мировой системой
координат. Оси координат
инструмента должны быть
параллельны осям мировой
системы координат.
Использование данного метода
необходимо, если для
позиционирования и
перемещения инструмента
необходимы все три его оси
(сварочные клещи или захватное
устройство).
ZИ параллельна XМ
01/2006
1
mp2_tool_abcworld6d_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
45 / 168
Настройка
Метод A B C – 2 - точки
Данный метод используется, если
необходима четкая ориентация всех
3х осей инструмента для
позиционирования и перемещения
(вакуумные захваты).
TCP
Базовая точка
01/2006
Сначала рабочая точка
инструмента (которая была
настроена ранее) перемещается
к базовой точке.
1
mp2_tool_abc2point_en.ppt
© Copyright by KUKA Roboter GmbH College
Метод A B C – 2 - точки
-X
+X инструмента
01/2006
1й шаг
инструмента
Рабочая точка перемещается в
точку, расположенную на
отрицательном направлении оси Х
инструмента, который будет
откалиброван. Таким образом
задается рабочее направление
инструмента.
2
mp2_tool_abc2point_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
46 / 168
Настройка
Метод A B C – 2 - точки
2й шаг
TCP
+Z
+Y
инструмента
инструмент
Инструмент перемещается так, чтобы
базовая точка располагалась на
•
положительно
направленной оси Y на
планируемой плоскости инструмента
XY.
+X
инструмента
01/2006
3
mp2_tool_abc2point_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
47 / 168
Настройка
Активайия инструмента
Введите номер инструмента
1 - 16
Название
инструмента
01/2006
1
mp2_tool_choice_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
50 / 168
Настройка
Нагрузка на робот
Каждый робот спроектирован для :
• заданой нагрузки на кисть робота,
• с определенным плечом нагрузки,
• с определенным моментом инерции нагрузки и
• возможной дополнительной нагрузки на робот (руку)
С заданной нагрузкой, робот может работает в своей
рабочей зоне со стандартными значениями скоростей и
ускорений.
Не превышайте максимально
допустимой нагрузки на робот!
01/2006
1
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Нагрузка на робот
Если робот перегружен, увеличивается его износ. Это может привести к
появлению преждевременных ошибок и сокращению срока эксплуатации робота.
Перегрузка робота приводит к тому, что дальнейшее его использование не
безопасно.
Если превышен статический удерживающий момент, то дальнейшее
Использование робота не безопасно из-за возможной деформации осей.
Перегрузка робота лишает вас гарантии производителя.
01/2006
2
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
52 / 168
Настройка
Распределение нагрузки:пример KR 16
Дополнительная нагрузка, рука
макс. 111000 кккггг
меееннннннаааяяя
м
пппееерррееем
макс. 16 кг
Общая нагрузка =
полезная нагрузка + дополнительная
нагрузка = макс. 46 кг
Полезная нагрузка
Дополнительная нагрузка,
соединительное звено *)
м
м
мааакккссс... 20кг Дополнительная нагрузка,
вращающаяся колонна
*)
Расчет с помощью KUKA
Load; с домашней страницы
KUKA ¬ download ¬
software ¬ KUKA.LOAD
available
01/2006
3
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Нахождение расстояния до центра масс
Lx =
расстояние до центра масс
по оси Х
Ly =
расстояние до центра масс
по оси Y
Lz =
расстояние до центра масс
по оси Z
Lxy =
центр масс на фланце
робота
Lxy = √Lx² + Ly²
01/2006
4
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
53 / 168
Настройка
KR 16 – диаграмма нагрузки
Допустимый момент инерции
в заданной точке 0.36
kgm² (Lxy=120,Lz=150 мм)
Внимание: Момент инерции следует проверить, используя
KUKA Load. Обязательно для данных вносимых в
контроллер
01/2006
5
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Информация о нагрузке
По умолчанию установлено значение
-1;это соответствует нагрузке,
указанной в машинных данных робота.
01/2006
6
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное
Учебное пособие
пособие MP2
MP2 01.06.00
01.06.00
54
54 // 168
168
Настройка
Информация о нагрузке
При настройке используйте максимально доступные моменты ускорения осей
робота, это необходимо для ввода данных о нагрузке текущего инструмента.
Внимание: Данные о нагрузке должны задаваться
для каждого нового откалиброванного инструмента.
01/2006
7
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Дополнительная нагрузка робота
Дополнительно к нагрузке на кисте робота, робот может нести нагрузку,
установленную на руке, соединительном звене или вращающейся колонне
робота, используя стандартные динамические значения.
Нагрузкой могут являться сварочный трансформатор или блок
подключения устройств с патрубками для подвода кабелей
Значение допустимой дополнительной нагрузки указывается изготовителем
для каждого робота.
Дополнительная нагрузка на робот не должна превышать допустимых
значений так, как существует риск возможного прогибания осей робота.
Так же это относится к дополнительной нагрузке на кисть робота.
Превышение допустимой добавочной нагрузки на робот увеличивает
износ робота и уменьшает гарантийный срок службы.
01/2006
8
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
55 / 168
Настройка
Дополнительная нагрузка, рука / соединительное звено / вращающееся колонна: на примере KR 16
Расстояния L x, Ly, Lz
до точек приложения
дополнительной нагрузки
отмеряются от базовой
системы координат робота
01/2006
9
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Дополнительная нагрузка, рука / соединительное звено / вращающаяся колонна
По умолчанию установлено значение -1;
это соответствует дополнительной нагрузке,
указанной в машинных данных робота
01/2006
10
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
56 / 168
Настройка
Дополнительная нагрузка, рука / соединительное звено/ вращающаяся колонна
Если установлено значение 0 , это значит,
что на роботе нет дополнительной нагрузки.
Так же это касается и основной нагрузки на
робот.
01/2006
11
mp2_tool_payload_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
57 / 168
Настройка
Калибровка базы
Рабочее пространство (паллета, рабочий стол, объект обработки)
имеет определенную пользователем Декартову систему координат
с началом в базовой точке, заданной пользователем.
ZBase
YBase
01/2006
XBase
1
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Цели калибровки базы
Управление вдоль
Поверхности или
пространства
рабочего стола.
Управление
кнопками
или используя
6D мышь
Инструмент
+ZМировая
+XМировая
База
+YМировая
Направление движения
01/2006
2
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
60 / 168
Настройка
Цели калибровки базы
Обучаемые точки
Обученные точки
связаны с началом
базовой системы
координат.
Инструмент
+ZМировая
+XМировая
База
+YМировая
3
01/2006
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Цели калибровки базы
Программный режим
Если базовая система
координат смещается,
то обученные точки
перемещаются вместе с
ней.
Инструмент
База
База
01/2006
4
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
61 / 168
Настройка
Цели калибровки базы
Программный режим
Возможно создать
несколько базовых
систем координат.
Инструмент
База 2
01/2006
5
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Метод “3-точки”
1й шаг
Начало базовой системы
координат - 1я точка
TCP
+ZМировая
1ым шагом, перемещаем рабочую точку
инструмента в начало новой базовой
системы координат.
01/2006
+XМировая
+YМировая
6
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное
Учебное пособие
пособие MP2
MP2 01.06.00
01.06.00
62
62 // 168
168
Настройка
Метод “3-точки”
2й шаг
Положительное
направление оси
X - 2я точка
TCP
+X
2ым шагом, перемещаем рабочую точку
инструмента в точку, расположенную на
положительном направлении оси X новой
базовой системы координат.
7
01/2006
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Метод “3-точки”
3й шаг
Положительное направление оси Y
на плоскости XY -3я точка
TCP
+Y
+X
3-им шагом, перемещаем рабочую точку
инструмента в точку, расположенную на
положительном направлении оси Y на плоскости
XY новой базовой системы координат.
01/2006
8
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
63 / 168
Настройка
Откалиброванная база
TCP
+Z
+Y
+X
Данная калибровка однозначно
определяет положение базовой
системы координат.
01/2006
9
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Активация базы
Название базы
01/2006
Введите номер базы
BASE_DATA[1-32]
10
mo2_base_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
64 / 168
Программирование
Виды движений робота KUKA (интерполяционные виды)
Перемещение по осям
Движение по траектории
PTP (Из точки в точку):
LIN (Линейное):
CIRC (Круговое):
Инструмент движется с
максимальной скоростью
до конечной точки.
Инструмент движется по
прямой траектории с
постоянной скоростью.
Инструмент движется по
круговой траектории с
постоянной скоростью.
Т2
Т2
Т2
Т1
Т1
Т1
01/2006
1
mo2_motion_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
66 / 168
Программирование
Движение PTP
Т1
TCP
Т2
Кратчайший
путь
01/2006
Быстрейший
путь
1
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Синхронность двмжений в режиме PTP
Скорость каждой оси v
ось 2: ведущая ось
V max
т.е. ось 3:адаптируется
т.е. ось 6:адаптируется
Т1
Т2
Ускорение
Постоянная Торможение
скорость
Время t
Ведущая ось – ось совершающая самое большое перемещение;
скорость заданная в инлайн формуляре игнорируется.
01/2006
2
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
68 / 168
Программирование
PTP движение – режим максимально быстрого движения
Режим максимально быстрого движения используется по умолчанию,
т.е. в каждой точки пути используется максимально допустимый
момент. Скорость постоянно изменяется, чтобы предотвратить
превышение максимально допустимого момента.
Фаза
торможения
Постоянная
скорость
Уменьшение скорости
из-за высокого момента
скорость
Постоянная
Фаза
ускорения
Vмакс
t
01/2006
3
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения PTP
Скорость
Тип движения
Параметры движения
Строгое позиционирование
Включен параметр
сглаживания
Название точки
01/2006
4
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
69 / 168
Программирование
Программирование движения PTP
Инструмент
Выбор инструмента
Tool_Data[1]..[16], Nullframe
База
Выбор системы координат детали
Base_Data[1]..[32], Nullframe
Внешняя TCP
Робот управляет инструментом: False
Робот управляет деталью:True
01/2006
5
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения PTP
Ускорение
Для движения используется
ускорение.
Значения: 1..100%
Величина сглаживания*)
Размер величины параметра
сглаживания.
Значения: 0..100%
Параметр“Approximation distance”
отображается, если выбран указатель
(CONT).
*)
01/2006
6
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH C
Учебное пособие MP2 01.06.00
70 / 168
Программирование
Статус и вид
Переменные “S” и “T” служат для выбора конкретной позиции робота в
тех случаях, когда возможно несколько вариантов конечного положения
осей робота в одной точке в пространстве.
Указание Статуса и Вида имеет значение только для
PTP движения. именно поэтому первое движение при
выполнении программы должно быть PTP.
DEFDATMAIN_PROGRAM
MAIN_PROGRAM( () )
DEFDAT
DECL
DECLPOS
POSXPOINT1={X
XPOINT1={X900,
900,YY0,
0,ZZ800,
800,AA0,
0,BB0,
0,CC0,
0,SS6,
6,TT27}
27}
FDAT
FPOINT1...
DECL
DECL FDAT FPOINT1...
...
...
Статус
Вид
ENDDAT
ENDDAT
01/2006
7
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Статус и вид
01/2006
Статус = 1
Вид = 46
Статус = 2
Вид = 43
Статус = 6
Вид = 59
Статус = 4
Вид = 63
8
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
71 / 168
Программирование
Статус и вид
01/2006
9
mo2_motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
72 / 168
Программирование
Движение LIN
Т3
Т1
TCP
Т2
Рабочая точка инструмента двигается вдоль прямой линии в конечную точку
01/2006
1
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
График скорости
Скорость V
График скорости относится к
рабочей точке выбранного инструмента.
V заданная
Т1
Т2
Ускорение
01/2006
Постоянная
скорость
Время t
Торможение
2
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
74 / 168
Программирование
Программирование движения LIN
Скорость
Параметры движения
Тип движения
Точное позиционирование
Включено
сглаживание
Название точки
01/2006
3
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения LIN
Инструмент
Выбор инструмента
Tool_Data[1]..[16], Nullframe
База
Система координат детали
Base_Data[1]..[32], Nullframe
Внешняя TCP
Робот управляет инструментом: False
Робот управляет деталью: True
01/2006
4
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
75 / 168
Программирование
Программирование движения LIN
Ускорение
Ускорение используется для
движения. Значения: 1...100%
Размер сглаживания*)
Размер расстояния
сглаживания.
Значения: 0...300 mm
Параметр “Размер сглаживания”
отображается только если сглаживание
установлено (CONT).
*)
01/2006
5
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения LIN
Управление ориентацией - Standard
Начальная точка
Конечная точка
Во время движения по траектории, ориентация
инструмента постоянно меняется. Направление
действия инструмента изменяется
поворотом и вращением.
01/2006
6
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
76 / 168
Программирование
Программирование движения LIN
Управление ориентацией - Wrist PTP
Начальная точка
Конечная точка
Во время движения по траектории, ориентация
инструмента постоянно меняется. Это
осуществляется благодаря линейному изменению
(движение по осям) углов кисти. Таким образом,
может быть решена задача однозначного положения
кисти, поскольку отключено управление
ориентацией инструмента путем вращения и
поворота.
01/2006
7
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения LIN
Управление ориентацией - Constant
Начальная точка
Конечная точка
При движении по траектории ориентация остается
постоянной. Пренебрегают запрограммированной
ориентацией в конечной точке, а используется
ориентация начальной точки.
01/2006
8
mo2_motion_lin_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
77 / 168
Программирование
Движение CIRC
Начальная точка
Конечная точка
TCP
Вспомогательная
точка
Рабочая точка инструмента двигается по дуге до конечной точки
01/2006
1
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Движение CIRC
Здесь, рабочая точка инструмента или детали двигается до конечной точки
вдоль дуги. Путь задается начальной, конечной и вспомогательными точками.
Конечная точка текущего движения является начальной для последующего.
Вспомогательная точка
Конечная точка
Начальная точка
Конечная точка
Конечная точка
Начальная точка
Вспомогательная точка
Ориентация рабочей точки не принимается во внимание в
вспомогательной точке, поэтому нет необходимости задания четкой
ориентации в ней.
01/2006
2
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
80 / 168
Программирование
График скорости
График движения TCP
выбранного инструмента
Скорость на
траектории V
V прог
P1
P2
Ускорение
01/2006
Постоянная
Время t
Торможение
3
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование движения по кругу (CIRC)
Скорость
Тип движения
Параметры движения
Точное положение
Добавление сглаживания
Конечная
точка
Промежуточная
(вспомогательная) точка
01/2006
4
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
81 / 168
Программирование
Programming a CIRC
motion движения (CIRC)
Программирование
кругового
Tool
Выбор инструмента
Tool_Data[1]..[16], Nullframe
Base
Выбор системы координат
объекта
Base_Data[1]..[32], Nullframe
External TCP
Робот управляет инструментом: False
Робот управляет объектом: True
01/2006
5
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование кругового движения (CIRC)
Ускорение
Ускорение используется для
движения. Значения: 1...100%
Размер сглаживания*)
Размер расстояния
сглаживания.
Значения: 0...300 mm
Параметр “Размер сглаживания”
отображается только если сглаживание
установлено (CONT).
*)
01/2006
6
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
82 / 168
Программирование
Программирование кругового движения (CIRC)
Контроль ориентации - Standard
Во время движения по траектории, ориентация
инструмента постоянно меняется. Направление
действия инструмента изменяется
поворотом и вращением.
01/2006
7
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Программирование кругового движения (CIRC)
Контроль ориентации - Wrist PTP
Во время движения по траектории, ориентация
инструмента постоянно меняется. Это
осуществляется благодаря линейному изменению
(движение по осям) углов кисти. Таким образом, может
быть решена задача однозначного положения кисти,
поскольку отключено управление ориентацией
инструмента путем вращения и поворота.
01/2006
8
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
83 / 168
Программирование
Программирование
движения (CIRC)
Programming a CIRCкругового
motion
Контроль ориентации - Constant
При движении по траектории ориентация остается
постоянной. Пренебрегается запрограммированной
ориентацией в конечной точке и используется
ориентация начальной точки.
01/2006
9
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
о
Полная окружность (360 )
Целая окружность может быть
составлена из двух сегментов.
P1
P1
01/2006
INI
INI
PTP
PTPHOME
HOME
…
…
LIN
LINP1
P1
LIN
LINP2
P2
CIRC
CIRC P3
P3 P4
P4 ;¬
;¬ P3
P3 isis AUX;
AUX; P4
P4 isis
END
CIRC
P5
P2
;¬
P5
is
AUX;
END CIRC P5 P2 ;¬ P5 is AUX;P2
P2
isisEND
ENDLIN
LINP1
P1
...
...
PTP
PTPHOME
HOME
END
END
10
mo2_motion_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
84 / 168
Программирование
Сглаживание движений
Во время сглаживания, робот не двигается точно по
запрограммированным положениями и не затормаживает.
• уменьшение износа
• уменьшение времени цикла
Преимущества:
P1
Z
P2
Y
P3
X
01/2006
1
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Время цикла, улучшенное при помощи сглаживания
P1
P2
P3
P4
без сглаживания
Скорость
Vprog
Т время (сек)
5
15
20
25
30
15
20
25
30
Со сглаживанием
Скорость
Vprog
10
5
P1
01/2006
10
P2
P3
Т время (сек)
P4
2
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
86 / 168
Программирование
Движение PTP со сглаживанием
Движение PTP со
сглаживанием
P2 сглаживаемая
точка
возможные траектории сглаживания
P2
P1
01/2006
кратчайшее расстояние
P3
3
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Движение PTP со сглаживанием
Контур A
P2
P1
Контур B
P3
Значение “Approximation distance” определяет
размер сглаживания. Траектория не может
быть установлена, она непредсказуема.
01/2006
4
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
87 / 168
Программирование
Движение LIN со сглаживанием
Движение LIN со
сглаживанием
P2 сглаживаемое
положение
P2
P1
01/2006
P3
Две параболические дуги
(симметричная постоянная скорости)
5
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Движение LIN со сглаживанием
P2
P3
P1
Размер сглаживания в мм
Введенное значение “Approximation distance”
определяет расстояние от конечной точки
до точки, в которой начинается сглаживание.
Результирующая траектория не дуга. Также
используется для следующей команды
движения CIRC.
01/2006
6
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
88 / 168
Программирование
Движение CIRC со сглаживанием
Движение CIRC со
сглаживанием
P3 сглаживаемое
положение
P4
P2 (вспомогательная)
P3
(конечная)
P1
01/2006
7
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Препроцессор
Что такое препроцессор?
Выполняемая строка (белая линия), которая выделена во время запуска
программы, всегда показывает блок, который выполняется в настоящее время.
Препроцессор, наоборот, не видим и просчитывает выполнение на три шага
вперед (стандартные настройки).
Каковы функции препроцессора?
Для просчета траектории, например, сглаживания, необходимо обрабатывать
данные при помощи препроцессора. Обрабатываются не только данные о
движении, но и арифметические действия и команды контроля периферии.
Какое влияние оказывает препроцессор?
Команды или данные, которые влияют на периферию (например, команды
входа/выхода) могут остановить препроцессор. Если препроцессор остановлен,
сглаживание не может быть выполнено.
01/2006
8
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
89 / 168
Программирование
Препроцессор
Выполняемая строка (видимая)
Препроцессор (невидим)
01/2006
9
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Препроцессор
Препроцессор здесь останавливается
Предупреждающее сообщение появляется, когда препроцессор остановлен
01/2006
10
mo2_motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
90 / 168
Навигатор – Создание программ
Навигатор (пользователь)
Заголовок
Директория
или список файлов
Структура
директорий
Строка статуса
01/2006
1
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Символы в навгаторе (пользователь)
Символ
Drives
Тип
Установленный путь
Робот
KRC:\
Дублированные файлы
Archive:\
Директории и файлы
Символ
Тип
Значение
Директория (папка)
Нормальная директория
Папка открыта
Папка открыта
Архив
ZIP файл
Чтение директории
Содержание папки читается
Модуль
Программа на пользовательском уровне
Программ с ошибкой не может быть
Модуль содержит ошибку скомпилирована
01/2006
2
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
92 / 168
Навигатор – Создание программ
Использование навигационных кнопок
Выбор
Выбор устройства,
папки или файла
Переключение между
структурой папок и
списком файлов
Открыть папку
или файл
01/2006
3
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Построение новой программы
или
Комментарий
Имя программы
Подтверждение
01/2006
4
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
93 / 168
Навигатор – Создание программ
Режимы выполнения программ
Режим
Пользователь
GO
Описание
Режим GO
Все команды программы выполняются от начала и до конца без остановки.
MSTEP
Motion Step (движение блоками)
Выполняется перемещение по шагам, т.е. с остановкой перед каждой
командой движения.
Программа выполняется без препроцесора.
Эксперт
ISTEP
01/2006
Incremental Step (выполнение отдельного блока)
Команда выполняется шаг за шагом, т.е. с остановкой после каждой
команды (включая пустые строки).
Программа выполняется без препроцессора.
5
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Статус программы
01/2006
Серый:
Программа не выбрана.
Желтый:
Указатель находится на выбранной программе.
Зеленый:
Программа выбрана и выполняется.
Красный:
Выбранная и запущенная программа остановлена.
Черный:
Программа выполнена.
6
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
94 / 168
Навигатор – Создание программ
Архив
Эта функция позволяет сохранить важные данные на дискете. Все
файлы сжимаются и сохраняются как ZIP архив.
Если вы вставите файл в существующий архив, имя
робота будет проверено. Оно сравнивается с именем,
которое установлено в контроллере.
Если имена отличаются, появляется вопрос,
действительно ли вы хотите перезаписать
существующий архив.
01/2006
7
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Архивирование отдельных программ
Выбранные файлы сохраняются на дискете
01/2006
8
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
95 / 168
Навигатор – Создание программ
Восстановление отдельных программ
Выбранные файлы загружаются обратно на жесткий диск
01/2006
9
mp2_navigator_user_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
96 / 168
Программирование логики
Логическое прграммирование
Опрос входов и установление выходов используется для
становления связи между контроллером робота и периферией
(например, инструменты, датчики и т.д.)
Выходы:
$OUT[1] ... $OUT[4096]
Входы:
$IN[1] ... $IN[4096]
$IN[1025]=TRUE
$IN[1026]=FALSE
Контроллер
01/2006
Периферия
1
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Доступные логические команды
Могут быть выбраны следующие логические команды:
Функция задержки
по времени
Функция задержки
по сигналу
Функции переключения
Соединение/рассоединение
в участок сети Interbus
Функции задержки, простые функции переключения и простые
импульсные функции могут выполняться с остановленным препроцессором.
01/2006
2
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
98 / 168
Программирование логики
Функция задержки от времемни (WAIT)
При выборе функции “WAIT” может быть определено время задержки.
Эта команда всегда выполняется при остановленном препроцессоре,
даже при времени задержки 0с.
Время задержки в секундах
P3
Example:
PTP P1 VEL=100% PDAT1
PTP P2 VEL=100% PDAT2
WAIT Time=1 sec
PTP P3 VEL=100% PDAT3
P2
Движение прервется
на 1 секунду в точке
P2
P1
3
01/2006
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Функция задержки от сигнала (WAIT FOR)
При выборе функции “WAIT FOR” определяются следующие
параметры:
1
2
3
Окно Значение
“
”
1
“NOT”
“
2
01/2006
”
“NOT”
4
5
6
Примечание
Включение внешних логических операций
(например, WAIT FOR (IN1) AND (IN2))
Отрицание булевых выражений
Включение внутренних логических операций
(например, WAIT FOR (IN1) AND (IN2))
Отрицание булевых выражений
4
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
99 / 168
Программирование логики
Функция задержки от сигнала (WAIT FOR)
Условие задержки может быть запрограммировано, например, при помощи
следующего шаблона:
WAIT FOR (IN1 OR IN2 OR IN3) AND (NOT OUT1 OR OUT2) OR NOT (IN4)
Внутренняя
логическая
операция:
выражение в
скобках.
01/2006
Внешняя
логическая
операция:
операция
между
выражениям
и в скобках.
Возможна смешанная форма:
может быть использовано
максимум 12 операндов.
5
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Функция задержки от сигнала (WAIT FOR)
При выборе функции “WAIT FOR” определяются следующие параметры:
1
2
3
Окно Значение
3
4
01/2006
4
5
6
Примечание
IN, OUT, TIMER,
Входы/выходы, различные флаги,
FLAG, CYCFLAG, таймеры или имена, определенные
пользователем
пользовательская
переменная
1- 4096
Значение входа/выхода, флаг или
таймер
6
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
100 / 168
Программирование логики
Зависимый сигнал, функция задержки (WAIT FOR)
При выборе “WAIT FOR” определяются следующие параметры:
1
2
3
Окно Значение
“
5
”
Длинное
текстовое
имя
“
”
6
“CONT”
4
5
6
Примечание
Длинное текстовое имя может быть
запрограммировано в списке системных
переменных, который доступен в
экспертном уровне
Выполнение с остановленным
препроцессором
Выполнение в препроцессоре
7
01/2006
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Зависимый сигнал, функция задержки (WAIT FOR)
Если “WAIT FOR” выбран с отключенным препроцессором, точное
положение всегда выполняется, даже если условие встречалось.
Препроцессор остановлен
Пример:
PTP P1 VEL=100% PDAT1
PTP P2 CONT VEL=100% PDAT2
WAIT FOR IN 1
PTP P3 VEL=100% PDAT3
P3
P2
Движение остановится
в точке P2 до тех пор,
пока не поступит сигнал
со входа 1
01/2006
8
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
101 / 168
Программирование логики
Зависимый сигнал, функция задержки (WAIT FOR)
Если “WAIT FOR” выбран с “CONT”, событие проверяется в
препроцессоре. Если условие встречается, выполняется сглаживание.
Выполнение в
препроцессоре
Пример:
PTP P1 VEL=100% PDAT1
PTP P2 CONT VEL=100% PDAT2
WAIT FOR IN 1 CONT
PTP P3 VEL=100% PDAT3
Последующии
изменения сигнала
не определяются.
P1
P3
P2
Возможная
проверка входа 1.
= препроцессор
01/2006
9
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Функции переключения
Могут быть выбраны следующие функции переключения:
Простая функция
переключения
Простая импульсная
функция
Функция переключения,
зависящая от траектории
Импульсная функция,
зависящая от траектории
01/2006
10
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
102 / 168
Учебное пособие MP2 01.06.00
Программирование логики
Простая функция переключения (OUT)
Если выбрана функция “OUT”, определяются следующие параметры:
1
Окно
1
2
2
3
Значение
Примечание
1- 4096
Номер выхода
“
Длинное текстовое имя может быть
запрограммировано в списке системных переменных,
который доступен в экспертном уровне
”
Длинное
текстовое имя
3
4
TRUE
FALSE
Статус, в который переключается выход
“
Выполнение с остановленным препроцессором
”
4
“CONT”
Выполнение в препроцессоре
11
01/2006
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Простая функция переключения (OUT)
Пример:
Точка 3 не
сглаживается (т.к.
препроцессор остановлен).
LIN P1 VEL=0.2 m/s PDAT1
LIN P2 CONT VEL=0.2 m/s PDAT2
LIN P3 CONT VEL=0.2 m/s PDAT3
OUT 1 ‘ ‘ State= TRUE
LIN P4 VEL=0.2 m/s PDAT4
P2
P1
P3
P4
Выход 1 проверяется
в точке 3.
01/2006
12
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
103 / 168
Программирование логики
Простая функция переключения (OUT)
Точка 3
сглаживается
Пример:
LIN P1 VEL=0.2 m/s PDAT1
LIN P2 CONT VEL=0.2 m/s PDAT2
LIN P3 CONT VEL=0.2 m/s PDAT3
OUT 1 ‘ ‘ State= TRUE CONT
LIN P4 VEL=0.2 m/s PDAT4
P3
P2
P1
P4
Возможное положение, в
котором препроцессор
проверяет выход 1.
01/2006
13
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Простая импульсная функция (PULSE)
При выборе функции “PULSE”, определяются следующие параметры:
1
Окно
1
2
2
4
5
Значение
Примечание
1- 4096
Номер выхода
“
Длинное текстовое имя может быть
запрограммировано в списке системных
переменных, который доступен в экспертном уровне
”
Длинное
текстовое имя
3
3
TRUE
FALSE
Статус, в который переключается выход
“
Выполнение с остановленным препроцессором
”
4
5
01/2006
“CONT”
Выполнение в препроцессоре
0.1 … 3
Длина импульса в секундах
14
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
104 / 168
Учебное пособие MP2 01.06.00
Программирование логики
Простая импульсная функция (PULSE)
“Высокий” уровень переключения:
STATE=TRUE
OUT 1
Time
1
0
Time
“Низкий” уровень переключения:
STATE=FALSE
OUT 1
Time
1
0
01/2006
Time
15
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Функция “SYN OUT”, зависящая от времени
Переключение по траектории (с PTP, LIN, CIRC) может осуществляться в
зависимости от начальной или конечной точки.
Такое использование включает, например:
• Закрывание или открывание сварочных клещей во время точечной сварки
• Переключение сварочного тока во время дуговой сварки
• Начало или конец распыления при нанесении клея или других покрытий.
01/2006
16
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
105 / 168
Программирование логики
Действие переключения в начале и в конце траектории
При выборе “SYN OUT”, определяются следующие параметры: здесь
конечная точка со START или END
1
Окно
1
2
2
4
5
Значение
Примечание
1- 4096
Номер выхода
“
Длинное текстовое имя может быть
запрограммировано в списке системных переменных,
который доступен в экспертном уровне
”
Длинное
текстовое имя
3
3
TRUE
FALSE
Статус, в который переключается выход
“START”
Конечная точка, в которой выполняется
функция переключения
4
“END”
-1000 … +1000
5
01/2006
Задержка переключения (в мс)
17
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Действие переключения в начале и в конце траектории
Достигается точное положение начальной и конечной точки:
Конечная точка
Начальная точка
Пример:
P2
LIN P1 VEL=0.3 m/s CPDAT1
LIN P2 VEL=0.3 m/s CPDAT2
SYN OUT 1 ‘ ‘ State= TRUE at START Delay=20 ms
SYN OUT 2 ‘ ‘ State= TRUE at END Delay=-20 ms
LIN P3 VEL=0.3 m/s CPDAT3
P1
LIN P4 VEL=0.3 m/s CPDAT4
+
P3
-
Зона переключения *)
P4
*) Зона переключения: Если заданные значения - это границы зоны переключения, то
контроллер автоматически переключается, как только он попадает в эту зону.
01/2006
18
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
106 / 168
Учебное пособие MP2 01.06.00
Программирование логики
Действие переключения в начале и в конце траектории
Начальная точка достигается точно, конечная сглаживается:
Конечная точка
Начальная точка
P3
+
Пример:
P2
LIN P1 VEL=0.3 m/s CPDAT1
LIN P2 VEL=0.3 m/s CPDAT2
SYN OUT 1 ‘ ‘ State= TRUE at START Delay=20 ms
SYN OUT 2 ‘ ‘ State= TRUE at END Delay=-20 ms
LIN P3 CONT VEL=0.3 m/s CPDAT3
P1
LIN P4 VEL=0.3 m/s CPDAT4
-
+
P4
Центр сглаживания
01/2006
19
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Действие переключения в начале и в конце траектории
Начальная и конечная точки сглаживаются:
Конечная
точка
Начальная
точка
+
Пример:
P2
LIN P1 VEL=0.3 m/s CPDAT1
LIN P2 CONT VEL=0.3 m/s CPDAT2
SYN OUT 1 ‘ ‘ State= TRUE at START Delay=20 ms
SYN OUT 2 ‘ ‘ State= TRUE at END Delay=-20 ms
LIN P3 CONT VEL=0.3 m/s CPDAT3
P3
+
P1
P4
LIN P4 VEL=0.3 m/s CPDAT4
Центр сглаживания
01/2006
20
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
107 / 168
Программирование логики
Выполнение переключения в любой точки траектории
•
Если вы используете команду SYNOUT-PATH, связанную с
траекторией, вы можете запрограммировать действие
переключения в любой точки вдоль траектории, задавая
расстояние.
•
Так же как переключение в начальной и конечной точках, это
действие можно либо задержать либо произвести заранее .
•
Выполнение переключения возможно только при движении по
траектории (LIN or CIRC).
•
Команда SYNOUT-PATH прописывается для следующего
блока движения.
Команда SYNOUT-PATH с параметрами траектории при
использовании для программирования движения PTP,
отвергается интерпретатором во время выполнения движения.
01/2006
21
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Выполнение переключения в начале и в конце траектории
При выборе команды “SYN OUT” определяются следующие
параметры: здесь конечная точка с PATH
1
Окно
1
2
3
4
5
6
Значение
Примечание
1- 4096
Номер выхода
“
Длинное текстовое имя может быть
запрограммировано в списке системных переменных,
который доступен в экспертном уровне
”
Длинное
текстовое имя
TRUE
FALSE
Статус, при котором переключается выход
“PATH”
Конечная точка, в которой выполняется
функция переключения
5
-2000 … +2000
6
-1000 … +1000
Расстояние для выполнения переключения
(in
mm) выполнения переключения (в мс)
Задержка
3
4
01/2006
2
22
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
108 / 168
Учебное пособие MP2 01.06.00
Программирование логики
Выполнение переключения в любой точки траектории
Начальное положение достигается точно, конечная точка сглаживается:
Конечна точка
20 mm
Пример:
P2 +
LIN P1 VEL=0.3 m/s CPDAT1
SYN OUT 1 ‘ ‘ State= TRUE PATH=20 mm Delay=-5 msLIN P2 CONT VEL=0.3 m/s CPDAT2
LIN P3 CONT VEL=0.3 m/s CPDAT3
LIN P4 VEL=0.3 m/s CPDAT4
-
+
-5 ms
P4
P1
01/2006
P3
23
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Выполнение переключения в любой точки траектории
Начальная и конечная точки сглаживаются:
Конечная точка
Пример:
20 mm
LIN P1 CONT VEL=0.3 m/s CPDAT1
SYN OUT 1 ‘ ‘ State= TRUE PATH=20 mm Delay=-5 msLIN P2 CONT VEL=0.3 m/s CPDAT2
LIN P3 CONT VEL=0.3 m/s CPDAT3
LIN P4 VEL=0.3 m/s CPDAT4
-
P1
01/2006
P3
P2 +
+
-5 ms
P4
24
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
109 / 168
Программирование логики
Выполнение переключения в любой точки траектории
Если выбрана команда “SYN PULSE”, определяются следующие
параметры:
Выход
Расстояние
Текст
Статус
Длина импульса
Выход 1
Время
Точка переключения
Выход 1
Время
Время
1
1
0
Время
0
Время
25
01/2006
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
Соединение/рассоединение в сеть Interbus
Если выбрана команда “IBUS-Seg. on/off”, определяются
следующие параметры:
Соединение/
рассоединение
3.0
терминал для подключения
шины 3 (фиксируется на
инструменте)
терминал для
подключения шины 1
01/2006
терминал для
подключения шины 2
1.0
2.0
1.1
2.1
1.2
2.2
26
mp2_logic_en.ppt
© Copyright by KUKA Roboter GmbH College
110 / 168
Учебное пособие MP2 01.06.00
Программирование схвата
Конфигурация схвата (меню)
До 16 схватов может быть сконфигурировано при помощи меню “Configure”
01/2006
1
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Конфигурация схвата
Gripper <name>
Имя схвата; 24 символа
Gripper type <number>
Функциональный тип схвата
Представленные типы 1-5
Outputs <numbers>
Назначение выходам контроллера
входов приводов схвата
Inputs <numbers>
Назначение входам контроллера
выходов датчиков схвата
State <name>
Обозначение состояний схвата,
в зависимости от типа; 11
символов
01/2006
2
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
112 / 168
Учебное пособие MP2 01.06.00
Программирование схвата
Программирование схвата – Типы функций
Количество выходов
переключаемых положений
Тип 1
2
4
2
Тип 2
2
2
3
Тип 3
2
2
3
Тип 4
3
2
3
Тип 5
2
4
2
Тип
01/2006
Количество
Количество входов
Дальнейшее свободное определение типов функций схвата
3
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Конфигурация схвата (например, тип 5)
Имя схвата
Тип схвата (1...5)
Положение
Полож.
Активация
OUT 1 OUT 2
Выходы
Определение
IN 1
IN 2
IN 3
IN 4
A
TRUE FALSE TRUE FALSE TRUE FALSE
B
FALSE TRUE FALSE TRUE
FALSE TRUE
Входы
01/2006
4
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
113 / 168
Программирование схвата
Активация схвата
Активация схвата через меню
Определение схвата
01/2006
Назначение кнопок захвата
определяется в конфигурации схвата.
На кнопках может отображаться
максимум 5 символов. Если имя схвата
содержит 5 символов, система
автоматически заменяет имя номером
схвата.
5
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Функции программирования схвата
Следующие команды могут быть выбраны из меню “Технология”:
Функция схвата
Проверка схвата
01/2006
6
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
114 / 168
Учебное пособие MP2 01.06.00
Программирование схвата
Захват без сглаживания
При выборе схвата определяются следующие параметры:
Сглаживание
выключено
Имя схвата
Выбор функции
OFF: Когда истекает время задержки, программа
продолжается.
ON: Программа не продолжается, пока не
поступят сигналы с датчиков схвата.
01/2006
7
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Захват со сглаживанием
При выборе схвата определяются следующие параметры:
Сглаживание
Задержка
Вспомогательная
точка
Конец
Начало
01/2006
8
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
115 / 168
Программирование схвата
Проверка схвата
При выборе проверки схвата определяются следующие параметры:
Задержка
Вспомогательная точка
Выбор
функции
Имя схвата
Эта команда выполняется, только если она
предшествует команде движения
01/2006
9
mp2_gripper_en.ppt
© Copyright by KUKA Roboter GmbH College
116 / 168
Учебное пособие MP2 01.06.00
Стационарный инструмент
Стационарный инструмент
“Стационарный инструмент” означает,
что робот переносит объект относительно
одного или нескольких фиксированных
инструментов, установленных в ячейке.
Калибровка состоит из двух частей:
Z
Y
Z
X
X
• Расчет дистанции
между TCP
фиксированного
инструмента и началом
мировой системы
координатe.
Z
Y
X
Y
• Объект устанавливается на
фланец робота и калибруется.
1
01/2006
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Калибровка стационарного инструмента
1. Калибровка стационарного инструмента
+X
+Y
+Z
Координаты сохраняются как
BASE_DATA[1]....[32].
Этот метод используется для определения TCP стационарного
инструмента.
01/2006
2
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
118/ 168
Стационарный инструмент
Калибровка стационарного инструмента
1ый шаг
• Инструмент с
известными
размерами
перемещается к TCP
фиксированного
инструмента.
TCP известного
инструмента
01/2006
3
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Калибровка стационарного инструмента
2ой шаг
Фланец
• На втором шаге
фланец робота
ориентируется
перпендикулярно
рабочему
направлению
инструмента.
Ориентация калибруется при помощи 5D или 6D
метода.
01/2006
4
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
119 / 168
Учебное пособие MP2 01.06.00
Стационарный инструмент
Калибровка движущегося объекта
2. Калибровка движущегося объекта
Z
Y
Z
X
X
Координаты сохраняются как
TOOL_DATA[1]....[16].
Y
Этот метод используется для определения вспомогательной
точки на объекте, установленном на фланце робота.
01/2006
5
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Калибровка движущегося объекта
1ый шаг
• Начало системы координат объекта перемещается в
TCP стационарного инструмента.
Начало
координат
01/2006
6
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
120 / 168
Стационарный инструмент
Калибровка движущегося объекта
второй шаг
• На втором шаге задается точка на положительном
направлении оси Х системы координат объекта.
Начало
координат
01/2006
7
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Калибровка движущегося объекта
третий шаг
• На последнем шаге задается точка в положительном
направлении оси Y на плоскости XY системы координат объекта.
Начало
координат
01/2006
8
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
121 / 168
Стационарный инструмент
Установка инструмента / внешний инструмент
01/2006
9
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Тип базы и инструмента
Имя базы или
инструмента
Определение
типа
01/2006
10
tool_fixed_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
122 / 168
Экспертный уровень. Введение
Изменение группы пользователя
Когда выбирается уровень “Expert”, необходимо ввести пароль.
Установленный пароль “kuka”.
01/2006
1
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Навигатор (экспертный уровень)
Отображение системных файлов и директорий.
Отображение
устройств
01/2006
2
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
124 / 168
Экспертный уровень. Введение
Дополнительные символы (экспертный уровень)
Устройства
Символ
01/2006
Тип
Default path
Жесткий диск
Например, Kukadisk (C:\) или Kukadata (D:\)
Дискета
A:\
CD-Rom
E:\
Сетевые диски
Например, F:\, G:\ и т.д.
3
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Дополнительные символы (экспертный уровень)
Директории и файлы
Символ
Тип
SRC-файл
SRC- файл
Файл программа
Подпрограмма
SRC- файл содержит
ошибку
Программа с ошибкой не может быть
откомпилирована
DAT- файл
Список данных
DAT- файл содержит
ошибку
01/2006
Значение
Список данных с ошибкой не
может быть откомпилирован
ASCII-файл
Текстовый файл
Другие файлы
Файлы двоичной кодировки
4
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
125 / 168
Экспертный уровень. Введение
Создание нового модуля (экспертный уровень)
Программу KRL можно создать из файлов SRC и DAT.
•
SRC – содержит код программы
•
DAT – содержит данные
01/2006
Cell
Основа программы для контроллера PLC
Expert
SRC и DAT файл без основы программы
Expert Submit
SUB файл без основы программы
Function
SRC файл без основы программы
Module
SRC и DAT файл с основой программы
Submit
SUB файл с основой программы
5
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Отображение ошибок
Программа содержит
ошибки
Если выделен файл, содержащий ошибку,
панель инструментов принимает следующий вид:
01/2006
6
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
126 / 168
Экспертный уровень. Введение
Список ошибок
Краткое описание
Номер ошибки
Строка и столбец
Курсор находится на
линии, содержащей
ошибку
Номера строк в списке ошибок соответствуют строкам в редакторе,
поэтому следует включить опции “All FOLDs op” и “Detail view”.
01/2006
7
mp2_navigator_expert_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
127 / 168
Экспертный уровень. Введение
Подпрограммы
Подпрограммы используются для частей программ, которые часто
используются.
• Подпрограммы сокращают объем ввода текста во время
программирования.
• Подпрограммы сокращают длину программы, таким образом, делая
программу более ясной.
• Подпрограммы могут повторно использоваться в других программах.
• Подпрограммы могут использоваться для структурирования программы.
01/2006
1
mp2_subprograms_en.ppt
© Copyright by KUKA Roboter GmbH College
Общие подпрограммы
Имя программы, заголовок
DEF
DEFMAIN_PROG
MAIN_PROG(())
INI
INI
PTP
PTPHOME
HOME
…
…
…
…
…
…
GLOBAL_SP1(
GLOBAL_SP1())
…
…
…
…
…
…
PTP
PTPHOME
HOME
END
END
01/2006
Вызов подпрограммы
Общая подпрограмма
DEF
DEFGLOBAL_SP1
GLOBAL_SP1(())
INI
INI
...
...
END
END
2
mp2_subprograms_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
130 / 168
Экспертный уровень. Введение
Бесконечный цикл (LOOP)
Описание
Зациклить программу можно при помощи команды LOOP. Блок команды
LOOP постоянно повторяется. Если вы хотите закончить
выполнение блока, вы можете вызвать команду EXIT
Команды
01/2006
1
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Бесконечный цикл
Синтаксис:
LOOP
Команда 1
...
Команда n
ENDLOOP
...
...
PTP
PTPHOME
HOME
LOOP
LOOP
LIN
LINP1
P1
LIN
LINP2
P2
LIN
LINP4
P4
ENDLOOP
ENDLOOP
...
Команда n
PTP
PTPHOME
HOME
......
01/2006
2
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
132 / 168
Экспертный уровень. Введение
Условное ветвление (IF..THEN..ELSE)
Описание
Проверяется условие, и выполняется либо первый блок команды (THEN),
либо второй блок (ELSE).
• В блоке команд нет ограничений на количество команд.
• Каждая команда IF может содержать вложенные команды IF.
• Слово ELSE и второй блок команды можно опустить.
• Можно использовать ENDIF для каждого IF.
01/2006
3
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Условное ветвление
Синтаксис:
IF Проверяемое_условие
Команда
ELSE
Команда
ENDIF
THEN
...
...
IF
IF $IN[22]==TRUE
$IN[22]==TRUE THEN
THEN
PTP
HOME
PTPHOME
ELSE
ELSE
$OUT[17]=TRUE
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP
HOME
PTPHOME
ENDIF
ENDIF
...
...
01/2006
Нет
Условие?
Да
Команда
Команда
4
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
133 / 168
Экспертный уровень. Введение
Безусловный выход из цикла (EXIT)
Описание
Команда EXIT вставляется в блок команды цикла. Она может
использоваться в нескольких циклах.
Команда EXIT может использоваться для выхода из выполняемого
цикла. Программа продолжится после команды ENDLOOP.
01/2006
5
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Безусловный выход из цикла
Синтаксис: EXIT
DEF
DEFEXIT_PRO
EXIT_PRO(())
PTP
HOME
PTPHOME
LOOP
;Начало
LOOP
;Start of бесконечного
endless loop цикла
LIN
P1
LIN P1
IF
IF$IN[1]
$IN[1]==
==TRUE
TRUETHEN
THEN
EXIT
;Завершение,
когда
выбран
EXIT
;Terminate when
input
1 set вход 1
ENDIF
ENDIF
LIN
P2
LINP2
ENDLOOP
;Конец
ENDLOOP
;End ofбесконечного
endless loop цикла
PTP
HOME
PTP HOME
END
END
01/2006
6
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
134 / 168
Экспертный уровень. Введение
Переключатель - Switch
Описание
Команда SWITCH выбирает указание для различных ветвей программы.
Только одна ветвь программы выполняется и затем программа
переходит к команде ENDSWITCH.
Выбор?
Команда
01/2006
Команда
Команда
Команда
7
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Переключатель - Switch
Синтаксис:
SWITCH Переменная
CASE 1
Команда
CASE 2
Команда
DEFAULT
ENDSWITCH
SWITCH
SWITCHPROG_NR
PROG_NR
CASE
1
CASE 1
Part1
; ;если
Prog_No== 1
1
Part1(())
if Prog_No
CASE
2
CASE 2
Part2
; ;если
Prog_No== 2
2
Part2(())
if Prog_No
DEFAULT
DEFAULT
ERROR_SP(
значения
ERROR_SP()); ;другие
all other
values
ENDSWITCH
ENDSWITCH
01/2006
Выбор
Выбор
Команда
Команда
8
mp2_loop_if_switch_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
135 / 168
Режим внешнего автоматического управления
Структура системы
Контроль всей
системы и хранение
данных
Главный компьютер
Контролируемые
компоненты системы
(роботы и периферия)
PLCs
Роботы
Выполнение программ
01/2006
1
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Структура системы: KRC - SPS
Формирующая программа для выбора программ движения
Внешнее автоматическое
управление:
Режим, при котором главный
компьютер или контроллер (PLC)
берет на себя управление
системой робота.
PLC
CELL.SRC
Обмен сигналами
T
T
Информация об операциях и
ошибках передаются на контроллер
01/2006
Все действия робота, например,
выполнение движения, распознавание
ошибок, запуск программы –
управляются контроллером
2
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
138/ 168
Режим внешнего автоматического управления
Формирование интерфейса
Сигналу интерфейса внешнего автоматического управления должен быть
присвоен физический вход и выход контроллера.
01/2006
3
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Входы внешнего автоматического управления
описание
функции
Var
I/O
01/2006
Имя переменной
Переменная
Вход
Номер входа или
значение переменной
4
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
139/ 168
Режим внешнего автоматического управления
Выходы внешнего автоматического управления – Условие начала
Описание
функции
Имя функции
Номер выхода
01/2006
5
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
$NEAR_POSRET
Сигнал $NEAR_POSRET определяет, расположен ли робот внутри сферы вокруг
положения, сохраненного в $POS_RET*). Радиус сферы может быть установлен
в файле $CUSTOM.DAT, путем изменения системной переменной $NEARPATHTOL.
$NEAR_POSRET=FALSE
$NEAR_POSRET=TRUE
$NEARPATHTOL
Причина отклонения
от траектории,
например,
динамическая
остановка
*) $POS_RET: Положение, в котором робот покидает траекторию ( )
01/2006
6
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
140/ 168
Режим внешнего автоматического управления
Формирующая программа: CELL.SRC
Проверка положения
Функция для
передачи номера
программы
…
INIT
BASISTECH INI
CHECK HOME
PTP HOME Vel= 100 % DEFAULT
AUTOEXT INI
LOOP
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
;EXAMPLE1 ( )
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
;EXAMPLE2 ( )
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
;EXAMPLE3 ( )
• Удаление точки с
запятой
• Заменяется
программой с
именем EXAMPLEx
Если номер программы
отсутствует, происходит
перезапуск с
$EXT_START
01/2006
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
7
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Расширение CELL.SRC
LOOP
• Выберите ветвь CASE и при
нажатом SHIFT + курсор,
вставьте новую ветвь
• Проделайте то же самое
для каждой последующей
программы
• Измените номер программы и
передаваемое имя
программы
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG1 ( )
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG2 ( )
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG3 ( )
CASE 4
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG4 ( )
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
01/2006
8
mp2_automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College
Учебное пособие MP2 01.06.00
141 / 168
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ìåòîäîëîãèÿ ïðîãðàììèðîâàíèÿ - çàäà÷è
Çàäà÷è ïîñëåäîâàòåëüíîé ïðîãðàììíîé ìåòîäîëîãèè:
¾ Ñòðóêòóðíîå ïðîãðàììèðîâàíèå óïðîùàåò ðåøåíèå
ñëîæíûõ çàäà÷ ïðè èñïîëüçîâàíèè ïðîãðàìì ñ
æåñòêîé èåðàðõè÷åñêîé ñòðóêòóðîé.
01/2006
¾
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå - ìåòîä ñîçäàíèÿ
ïðîãðàìì, îñíîâíàÿ ïîñëåäîâàòåëüíîñòü äåéñòâèé
êîòîðûõ ëåãêî ÷èòàåìà è ïîíÿòíà.
¾
Çàäà÷à ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ - ýòî îáåñïå÷åíèå
ýôôåêòèâíîé ïîääåðæêè ïðîãðàìì (ìîäèôèêàöèÿ è
äîïîëíåíèå), à íå îãðàíè÷åíèå ïðîãðàììèñòà.
1
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Òðåáîâàíèÿ ê ïðîãðàììàì
Ïðîãðàììû äîëæíû:
¾
01/2006
¾
Ðàáîòàòü
¾
Íå ñîäåðæàòü îøèáîê
¾
Áûòü ïîíÿòíûìè
¾
Áûòü óäîáíûìè äëÿ îòëàäêè
¾
Èìåòü ÿñíóþ ñòðóêòóðó
¾
Áûòü ýêîíîìíûìè
Êàæäûé èç ýòèõ ïàðàìåòðîâ îêàçûâàåò âëèÿíèå
íà ýôôåêòèâíîñòü ïðîãðàììû.
2
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
6 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ðàçðàáîòêà è ïðîåêòèðîâàíèå
Âàæíî:
01/2006
¾
Ïðåæäå ÷åì ðàçðàáàòûâàòü ïîñëåäîâàòåëüíîñòü
äåéñòâèé íåîáõîäèìî ïîíÿòü, ÷òî æå íàäî ñäåëàòü.
¾
Ïðè ýòîì âðåìÿ ñîçäàíèÿ ïðîãðàìì íå âîçðàñòàåò.
Òàê, òùàòåëüíàÿ ïðîðàáîòêà íà ñòàäèè
ïðîåêòèðîâàíèÿ ïîçâîëÿåò ñýêîíîìèòü âðåìÿ
ïðè òåñòèðîâàíèè.
3
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñîçäàíèå êîíöåïöèè è ïðîåêòèðîâàíèå - òðåáîâàíèÿ ñïåöèôèêàöèè
Òðåáîâàíèÿ ïîëüçîâàòåëÿ êàê îñíîâà äëÿ ïðîåêòèðîâàíèÿ:
¾ Ïðåäëàãàåìûå èëè
òðåáóåìûå ïàðàìåòðû
• ×òî ïðîãðàììà äåëàåò?
• Êàêèå âõîäíûå ñèãíàëû ïîòðåáóþòñÿ äëÿ ïðîãðàììû?
• Êàêèå âûõîäíûå ñèãíàëû áóäåò âûäàâàòü ïðîãðàììà?
• Êàê áóäåò âûïîëíÿòüñÿ ïðîãðàììà?
• Êàê ïðîãðàììà ðåàãèðóåò íà îøèáêè è ñáîè?
01/2006
4
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åíîå ïîñîáèå MP3 01.06.03
7 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ñîçäàíèå êîíöåïöèè è ïðîåêòèðîâàíèå - òåõíè÷åñêîå çàäàíèå
Îïðåäåëåíèå:
Òåõíè÷åñêîå çàäàíèå
Òåõíè÷åñêîå çàäàíèå - îðãàíèçàöèîííàÿ
è òåõíè÷åñêàÿ ñïåöèôèêàöèÿ äëÿ ñîçäàíèÿ
ïðîãðàìì.
01/2006
5
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñîçäàíèå êîíöåïöèè è ïðîåêòèðîâàíèå - òåõíè÷åñêîå çàäàíèå
Ïðåèìóùåñòâà òåõíè÷åñêîãî çàäàíèÿ:
01/2006
¾
Îïèñàíèå ïðèëîæåíèÿ
¾
Îïðåäåëåíèå ïàðàìåòðîâ âõ./âûõ. è ïðîãð. ïîñëåäîâàòåëüíîñòåé
¾
ßñíûé àëãîðèòì ïðîãðàììû
¾
Óïðîùàåò ôîðìóëèðîâàíèå çàäà÷è
6
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
8 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ðàçðàáîòêà è ïðîåêòèðîâàíèå
Ïðîãðàììèðîâàíèþ äîëæíî ïðåäøåñòâîâàòü ôóíêöèîíàëüíîå îïèñàíèå.
Îíî äîëæíî áûòü ÿñíûì è ïðîñòûì, íî òåì íå ìåíåå èñ÷åðïûâàþùèì.
Ôóíêöèîíàëüíîå îïèñàíèå äîëæíî òî÷íî ñîîòâåòñòâîâàòü òðåáîâàíèÿì
çàäà÷è. Òàêèì îáðàçîì ôîðìèðóåòñÿ îñíîâà äëÿ ïëàíèðîâàíèÿ.
Ýòî äåéñòâèòåëüíî òàê, ïîòîìó ÷òî:
01/2006
¾
Ñîìíåíèÿ óâåëè÷èâàþò âåðîÿòíîñòü ïîëüçîâàòåëüñêîé èëè
îïåðàòîðñêîé îøèáêè.
¾
Âåçäå, ãäå âîçìîæíî, ïðîãðàììà äîëæíà âûïîëíèòü òî, ÷òî
îæèäàåò ïîëüçîâàòåëü - ÷òî ÿâëÿåòñÿ åñòåñòâåííûì è ïîíÿòíûì.
7
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ìåòîäîëîãèÿ ïëàíèðîâàíèÿ ïðîãðàììû
1. Ðàçäåëèòå çàäà÷ó íà ìîäóëè:
01/2006
¾
Âñÿ çàäà÷à ðàçäåëÿåòñÿ íà
ïîäçàäà÷è.
¾
Èíäèâèäóàëüíûå êîìïîíåíòû
ìîãóò ðåøàòüñÿ ðàçäåëüíî.
¾
Êîìïîíåíòû, âûïîëíÿþùèå îäèíàêîâóþ ðàáîòó, äîñòàòî÷íî
ïðîñòî èçìåíÿþòñÿ, íå çàòðàãèâàÿ äðóãèå ôóíêöèè.
8
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
9 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ìåòîäîëîãèÿ ïëàíèðîâàíèÿ ïðîãðàììû
2. Íåçàâèñèìîñòü êîìïîíåíòîâ:
01/2006
¾
Íà÷àâøèñü ñ ïîæåëàíèé ïîëüçîâàòåëÿ, ïðîáëåìà
ðàçðåøàåòñÿ ïîñòåïåïåííî äî ñòàäèè, êîãäà
êîìïîíåíòû ìîãóò áûòü ïðåîáðàçîâàíû â KRL.
¾
Ïðîåêòû, âûïîëíåííûå ïîñëåäîâàòåëüíî ïî ñòàäèÿì
ðàçâèòèÿ, ñòàíîâÿòñÿ áîëåå äåòàëèçèðîâàííûìè.
9
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðåäñòàâëåíèå î ïëàíèðîâàíèè ïðîãðàììû
Ãðàôè÷åñêîå ïðåäñòàâëåíèå ïðîöåññà:
¾
Èñïîëüçîâàíèå áëîê-ñõåìû ïðîãðàììû (DIN 66001)
START
No
Yes
No
Yes
No
Yes
END
01/2006
10
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
10 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðåäñòàâëåíèå î ïëàíèðîâàíèè ïðîãðàììû - ïðåèìóùåñòâà
Èìåþòñÿ ñëåäóþùèå ïðåèìóùåñòâà:
¾
Ïðîãðàììíûé àëãîðèòì â ãðàôè÷åñêîì âèäå
áîëåå ÷åòêèé (èç-çà ëåãêîñòè âîñïðèÿòèÿ), ÷åì
òîò æå ñàìûé àëãîðèòì â ïîñëåäîâàòåëüíîì
ïðîãðàììíîì ÿçûêå.
¾
 áîëüøèíñòâå ñëó÷àåâ, ïðè òðàíñëÿöèè
ïðîãðàììû â ïðîãðàììíûé êîä áóäåò íàìíîãî
ëåã÷å èçáåæàòü ñòðóêòóðíûõ îøèáîê (òàêèõ, êàê
if, while, for).
¾
01/2006
Ïðîãðàììà ìîæåò áûòü íàãëÿäíî çàäîêóìåíòèðîâàíà.
11
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
11 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû
Ãðàôè÷åñêîå ïðåäñòàâëåíèå ïðîöåäóðû:
¾
Áëîê-ñõåìà ïðîãðàììû (DIN 66001)
Áëîê-ñõåìû ïðîãðàììû - ýòî îäèí èç ñïîñîáîâ ñôîðìóëèðîâàòü
àáñòðàêòíûå îïèñàíèÿ ïðîãðàìì è ïðîöåññîâ. Ïðåäñòàâëåííàÿ
ïîñëåäîâàòåëüíîñòü èñïîëüçóåò ñòàíäàðòèçèðîâàííûå ñèìâîëû,
êîòîðûå íå çàâèñÿò îò èñïîëüçóåìîãî ïðîãðàììíîãî êîäà.
START
No
No
Yes
Yes
No
Yes
END
01/2006
1
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñðàâíåíèå ñ ÿçûêîì ïðîãðàììèðîâàíèÿ
Ïðèìåð áëîê-ñõåìû ïðîãðàììû:
Ýòîò àëãîðèòì ïðåäíàçíà÷åí äëÿ âû÷èñëåíèÿ íàèáîëüøåãî îáùåãî ôàêòîðà
äâóõ ÷èñåë a è b. Ýòî ôóíêöèÿ 'hcf' ñ äâóìÿ âõîäíûìè ïàðàìåòðàìè (a è b).
Áëîê-ñõåìà ïðîãðàììû
KRL
Pascal
function hcf (a,b:integer);
function
while a<>b do
while
If a>b
if
a-b
01/2006
then a:=a-b else b:=b-a;
b-a
hcf:=a;
2
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
14 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Îïåðàöèÿ
Ñèìâîëèêà
Îñíîâíûå ñîñòîÿíèÿ
â ïðîãðàììíîì êîäå
01/2006
Îïèñàíèå
Ïîñëåäîâàòåëüíîñòü èçìåíåíèÿ ñîñòîÿíèé
Ñîñòîÿíèå 1, Ñîñòîÿíèå 2..., Ñîñòîÿíèå n.
3
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
01/2006
Îïåðàöèÿ
Îïèñàíèå
Îïåðàöèÿ íàä
âõîäàìè/âûõîäàìè
Ýòà îïåðàöèÿ èñïîëüçóåòñÿ äëÿ âõîäîâ/âûõîäîâ,
ðàññìàòðèâàåòñÿ íîðìàëüíîå ñîñòîÿíèå.
4
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
15 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Îïåðàöèÿ
Ñèìâîëèêà
Îïåðàöèÿ IF (áåç
ELSE)
Condition
Yes
No
Îïèñàíèå
Åñëè ëîãè÷åñêîå óñëîâèå âûïîëíåíî (âåðíî),
âûïîëíÿåòñÿ îïåðàöèÿ A, èíà÷å
ñëåäóåò ïðîäîëæåíèå ïðîãðàììû.
Statement A
01/2006
5
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
Condition
No
Yes
Statement A
01/2006
Îïåðàöèÿ
Îïèñàíèå
Îïåðàöèÿ IF (áåç
ELSE) èëè âåòâëåíèå
Åñëè ëîãè÷åñêîå óñëîâèå âûïîëíåíî (âåðíî),
âûïîëíÿåòñÿ îïåðàöèÿ A, èíà÷å âûïîëíÿåòñÿ
îïåðàöèÿ B.
Statement B
6
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
16 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
Îïåðàöèÿ
Âåòâëåíèå
01/2006
Îïèñàíèå
Âåòâëåíèå/áåçóñëîâíûé ïåðåõîä.
7
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
START
Îïåðàöèÿ
Çàâåðøåíèå
Îïèñàíèå
Íà÷àëî èëè êîíåö ïðîãðàììû.
END
01/2006
8
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
17 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Îïåðàöèÿ
Ñèìâîëèêà
Íàïðàâëåííûå
ëèíèè
01/2006
Îïèñàíèå
Ñâÿçè è îïåðàöèè.
9
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
Îïåðàöèÿ
WHILE-öèêë
WHILE
Condition ?
Yes
No
Îïèñàíèå
Îïåðàöèÿ âûïîëíÿåòñÿ, ïîêà âûïîëíåíî
óñëîâèå. Êàê òîëüêî óñëîâèå ïåðåñòàåò
âûïîëíÿòüñÿ, äåéñòâèå öèêëà íà÷èíàåòñÿ
çàíîâî, ïðîãðàììà âûïîëíÿåò âîçâðàò
ê ïåðâîé îïåðàöèè, ñëåäóþùåé çà öèêëîì.
Statement
01/2006
10
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
18 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Îïåðàöèÿ
Ñèìâîëèêà
REPEAT-öèêë
No
Statement
Repeat
Condition ?
Îïèñàíèå
Îïåðàöèÿ âûïîëíÿåòñÿ, ïîêà âûïîëíåíî
óñëîâèå. Ïðè âûïîëíåíèè óñëîâèÿ
ïðîãðàììà âûïîëíÿåò âîçâðàò ê ïåðâîé
îïåðàöèè, ñëåäóþùåé çà öèêëîì.
Îïåðàöèÿ õîòÿ áû îäèí ðàç âñåãäà áóäåò
âûïîëíåíà.
Yes
01/2006
11
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
Îïåðàöèÿ
FOR-öèêë
For i =
Statement
01/2006
Îïèñàíèå
Îïåðàöèÿ âûïîëíÿåòñÿ îïðåäåëåííîå êîëè÷åñòâî ðàç.
Ïåðåìåííàÿ i èçìåíÿåòñÿ îò íà÷àëüíîãî çíà÷åíèÿ
("from") ê êîíå÷íîìó ("to") ñ îïðåäåëåííûì
ïðèðàùåíèåì ("step"). FOR-öèêë âûïîëíÿåòñÿ
ñòîëüêî ðàç, ïîêà ïåðåìåííàÿ ñ÷åòà íå äîñòèãíåò
èëè íå ïðåâûñèò îïðåäåëåííîãî çíà÷åíèÿ.
12
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
19 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Áëîê-ñõåìà ïðîãðàììû - ñèìâîëèêà
Ñèìâîëèêà
Îïåðàöèÿ
Âûçîâ ïîäïðîãðàììû
Fetch ( )
01/2006
Îïèñàíèå
Îïðåäåëåííàÿ ïîñëåäîâàòåëüíîñòü
îïåðàöèé îáîñîáëÿåòñÿ è âûïîëíÿåòñÿ
êàê îòäåëüíàÿ ïîäïðîãðàììà, êîòîðàÿ
ìîæåò áûòü âûçâàíà èç ïðîãðàììû.
13
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð áëîê-ñõåìû - îñíîâíîé ïðîãðàììû
START
Boss
íà ìåñòå
Ïðèìåð
áëîê-ñõåìû
ïðîãðàììû:
äåíü
èç æèçíè
ñëóæàùåãî
Yes
No
Îòâåò íà
âîïðîñ
Óæå
5 ÷àñîâ?
No
Ñëóæàùèé íå
âûñïàëñÿ
No
Yes
Óñòàíîâèòü
áóäèëüíèê
íà 1 ÷àñ
Óáèéñòâî
âðåìåíè
Ñîí äî
çâîíêà
áóäèëüíèêà
Yes
Ïîðà äîìîé
END
01/2006
14
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
20 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðèìåð áëîê-ñõåìû ïîäïðîãðàììû
START
Ïðèìåð
áëîê-ñõåìû
ïðîãðàììû:
äåíü
èç æèçíè
ñëóæàùåãî
Óñòàíîâèòü
áóäèëüíèê
íà ÷àñ âïåðåä
No
×òåíèå êíèãè
äî çâîíêà
áóäèëüíèêà
Óæå
12 ÷àñîâ?
Ïîéòè ïîåñòü
Yes
No
Óæå
5 ÷àñîâ?
END
01/2006
15
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
21 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðåäñòàâëåíèå î ïëàíèðîâàíèè ïðîãðàììû
01/2006
¾
Áëîê-ñõåìà ïðîãðàììû, ñ îäíîé ñòîðîíû
ÿâëÿåòñÿ äåòàëüíûì îïèñàíèåì ïðîãðàììû,
ñ äðóãîé ñòîðîíû äîêóìåíòàöèåé ïðîãðàììû.
¾
Àâòîð áëîê-ñõåìû äîëæåí âñåãäà ïîìíèòü,
÷òî äîêóìåíòàöèÿ, â ïåðâóþ î÷åðåäü, ïðåäíàçíà÷åíà
äëÿ äðóãèõ (êîíå÷íûõ ïîëüçîâàòåëåé),
à íå äëÿ ñîáñòâåííîãî èñïîëüçîâàíèÿ.
1
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû
Íàãëÿäíîñòü:
¾
Íàãëÿäíîñòü îáëåã÷àåò ïîèñê îøèáîê
è ïðåäîòâðàùàåò èõ ïîÿâëåíèå èçíà÷àëüíî.
¾
Íàãëÿäíîñòü îáëåã÷àåò ïîíèìàíèå ïðîãðàììû è,
êàê ñëåäñòâèå, óïðîùàåò ïðîöåññ åå èçìåíåíèÿ.
¾
01/2006
Äîáàâëåííûõ ïîçäíåå â òåêñò ïðîãðàììû êîììåíòàðèåâ îêàçûâàåòñÿ
íåäîñòàòî÷íî. Íåîáõîäèìî îïèñûâàòü êàæäîå äåéñòâèå â ïðîöåññå.
2
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
24 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû
Îáîçíà÷åíèå èìåí äàííûõ:
¾
¾
01/2006
Èìåíà äëÿ äàííûõ äîëæíû âûáèðàòüñÿ ïî ñìûñëó.
Òàì, ãäå ýòî âîçìîæíî, äëÿ îäíîçíà÷íîñòè èäåíòèôèêàöèè,
ñëåäóåò èñïîëüçîâàòü ïðèñòàâêè, íàïðèìåð: IN_IMM_READY.
3
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû - îïèñàíèå èìåí äàííûõ
Îáîçíà÷åíèå èìåí äàííûõ â ñèñòåìå:
1. Äëèííûå òåêñòû
Outputs
SYS
18
19
20
21
01/2006
Ausgänge
Output
Gripper open
Gripper close
Output
4
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
25 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû - îïèñàíèå èìåí äàííûõ
Îáîçíà÷åíèå èìåí äàííûõ â ñèñòåìå:
2. Îáîçíà÷åíèÿ áàç (BASE) è èíñòðóìåíòîâ (TOOL)
BASE îáîçíà÷åíèÿ
01/2006
TOOL îáîçíà÷åíèÿ
5
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû - îïèñàíèå èìåí äàííûõ
Îáîçíà÷åíèå èìåí äàííûõ â ñèñòåìå:
2. Îáîçíà÷åíèÿ áàç (BASE) è èíñòðóìåíòà (TOOL)
DEF AIR ( )
...
PTP HOME Vel= 100% DEFAULT
PTP P3 CONT Vel= 100% Tool[2]:Gripper Base[2]: table
PTP P4 CONT Vel= 100% Tool[2]:Gripper Base[2]: table
PTP xP5
...
END
01/2006
6
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
26 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû - îïèñàíèå èìåí äàííûõ
Îáîçíà÷åíèå èìåí äàííûõ â ÿçûêå KRL:
3. Îïèñàíèå ñèãíàëîâ
DEF PART_1 ( )
; Inputs / Outputs
SIGNAL machine_OK $IN[32]
SIGNAL Programnumber $IN[33] to $IN[40]
SIGNAL cycle_start $OUT[88]
…
IF machine_OK==TRUE THEN
cycle_start = TRUE
…
ENDIF
…
END
01/2006
7
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû
Âûäåëåíèå ÷àñòåé ïðîãðàììû ñ ïîìîùüþ îòñòóïîâ:
01/2006
¾
Äëÿ âûäåëåíèÿ ñòðóêòóðû â ïðåäåëàõ ïðîãðàììíîãî
ìîäóëÿ, ðåêîìåíäóåòñÿ ðàçìåùàòü âëîæåííûå
ïîñëåäîâàòåëüíîñòè êîìàíä ñ îäèíàêîâûì îòñòóïîì
îò êðàÿ, íåïîñðåäñòâåííî îäíó ïîä äðóãîé.
¾
Äîñòèãàåìûé ïðè ýòîì âèçóàëüíûé ýôôåêò,
ñëóæèò âñåãî ëèøü äëÿ óïðîùåíèÿ âîñïðèÿòèÿ
ïðîãðàììû äðóãèìè ëþäüìè.
8
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
27 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû
Îòñòóïû â ïðîãðàììå íà ÿçûêå KRL
DEF INDENTION ( )
INT part, counter
INI
PTP HOME Vel= 100% DEFAULT
LOOP
FOR counter = 1 TO 20
part = part + 1
; Inlineforms are not able to indent !!!
PTP P3 CONT Vel= 100% Tool[2]:Greifer Base[2]: Tisch
PTP P4 CONT Vel= 100% Tool[2]:Greifer Base[2]: Tisch
PTP xP5
ENDFOR
…
ENDLOOP
END
01/2006
9
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû
Èñïîëüçîâàíèå êîììåíòàðèåâ:
01/2006
¾
Êîììåíòàðèè, ñàìè ïî ñåáå, íå ìîãóò ñäåëàòü
ïðîãðàììó ÷åòêîé, òåì íå ìåíåå, îíè çíà÷èòåëüíî
óïðîùàþò ïîíèìàíèå ïðîãðàìì ñî ñëîæíîé ñòðóêòóðîé.
¾
Ïðîãðàììèñò äîëæåí ñëåäèòü çà òåì, ÷òîáû
ñîäåðæàíèå êîììåíòàðèÿ áûëî àêòóàëüíûì ïî
îòíîøåíèþ ê ïðîãðàììå. Åñëè ïðîãðàììà áûëà
èçìåíåíà, òî ñîäåðæàíèå êîììåíòàðèÿ òàêæå
ñëåäóåò ïðîâåðèòü.
10
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
28 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû
Èñïîëüçîâàíèå êîììåíòàðèåâ â ÿçûêå KRL:
Äîñòóïíû ñëåäóþùèå êîìàíäû êîììåíòàðèåâ:
File
Program
Configure
Monitor
Setup
Commands Technology
Help
0 Normal
1 Stamp
Ïðîèçâîëüíûé òåêñò
Ðàñøèðåííûé òåêñò
01/2006
11
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû - êîììåíòàðèé "NORMAL" (îáû÷íûé)
Òåêñò ìîæíî ëåãêî ââåñòè, âûáðàâ êîìàíäó "NORMAL":
;
Any text
Ïðèìåð:
Îêíî ââîäà
...
INI
PTP HOME Vel= 100% DEFAULT
; Any text
PTP P1 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
...
Ïðè ïîâòîðíîì âûáîðå êîìàíäû ñòðîêà â îêíå áóäåò
ñîäåðæàòü ðàíåå ââåäåííûé òåêñò ïî óìîë÷àíèþ.
01/2006
12
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
29 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû - êîììåíòðèé: "STAMP" (øòàìï)
Èìÿ ïîëüçîâàòåëÿ è òåêñò ìîãóò áûòü ëåãêî ââåäåíû ïîñëå
âûáîðà êîìàíäû "STAMP":
; 01.01.05 10:15 NAME USER
Ïðèìåð:
CHANGES: Any text
Èìÿ
Îêíî òåêñòà
...
INI
PTP HOME Vel= 100% DEFAULT
; 01.01.05 10:15 NAME: User CHANGES: Any text
PTP P1 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
...
Ñ ïîìîùüþ êëàâèø "New time", "New name" è "new text"
ñîîòâåòñòâóþùåå îêíî ìîæåò áûòü âûáðàíî èëè îáíîâëåíî.
01/2006
13
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû - Êîììåíòàðèé: "NORMAL EXPERT"
 ðåæèìå ýêñïåðòà "Expert mode" ïðîãðàììèñò ìîæåò ïðåîáðàçîâàòü ëþáóþ ñòðîêó
â êîììåíòàðèé äîáàâëåíèåì ñèìâîëà ";" â íà÷àëî ñòðîêè (èñêëþ÷åíèå: inline ôîðìû).
DEF CLEANING ( )
; **************************************
; *** AUTOR Peter PAN
***
; *** Last changing 05/05/05 ***
; **************************************
INI
PTP HOME Vel= 100% DEFAULT
…
part = part + 1; part-counter increase
; move to purge
PTP P4 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP xP5 ; Endposition cleaning
Èñïîëüçóÿ ";" âîçìîæíî îòäåëåíèå êîììåíòàðèÿ â êîíöå êîìàíäíîé ñòðîêè.
01/2006
14
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
30 / 198
Ó÷åáíðîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû
Èñïîëüçîâàíèå FOLDs:
01/2006
¾
 îòëè÷èå îò îáû÷íûõ ðåäàêòîðîâ, KRC ðåäàêòîð ïîêàçûâàåò
ñîäåðæàíèå ïðîãðàììû â çàâèñèìîñòè îò òðåáîâàíèé.
Ïîëüçîâàòåëü âèäèò òîëüêî âàæíîå äëÿ íåãî ñîäåðæàíèå ïðîãðàììû,
à íà óðîâíå ýêñïåðòà ìîæíî óâèäåòü âñþ ïðîãðàììó öåëèêîì.
¾
Ïîëüçîâàòåëüñêèé èíòåðôåéñ KUKA, èñïîëüçóÿ ò.í. FOLDs äåëàåò
ïðîãðàììó ïîíÿòíåå. Ýòî äîñòèãàåòñÿ âêëþ÷åíèåì äåêëàðàöèé
èëè èíñòðóêöèé â áëîê ìåæäó îáîçíà÷åíèÿìè ";FOLD"è";ENDFOLD".
Ïî óìîë÷àíèþ FOLDs ñâåðíóòû, èõ ñîäåðæàíèå ñêðûòî.
Èñïîëüçóÿ êîìàíäû ìåíþ FOLDs ìîæíî îòêðûòü èëè çàêðûòü.
15
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû
FOLDs - ñâåðíóòû:
DEF CLEANING ( )
…
INI
IO_SETUP
PTP HOME Vel= 100% DEFAULT
…
PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP HOME Vel= 100% DEFAULT
END
01/2006
USER
FOLD
KUKA
FOLD
16
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
31 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Íàãëÿäíîñòü ïðîãðàììû
Ïðèìåíåíèå FOLD's - KUKA FOLD ðàçâåðíóò
DEF CLEANING ( )
…
INI
IO_SETUP
PTP HOME Vel= 100% DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
BAS(#PTP_DAT)
FDAT_ACT=FHOME
BAS(#FRAMES)
BAS(#VEL_PTP,100)
$H_POS=XHOME
PTP XHOME
…
PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP HOME Vel= 100% DEFAULT
END
01/2006
KUKA
FOLD
open
17
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Íàãëÿäíîñòü ïðîãðàììû
Ïðèìåíåíèå FOLD‘s – USER FOLD ðàçâåðíóò
DEF CLEANING ( )
…
INI
IO_SETUP
$OUT[12]=TRUE ;cell OK
part = 0 ; counter reset
glue = FALSE ; glueing off
position = 0 ; position-counter reset
PTP HOME Vel= 100% DEFAULT
…
PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP HOME Vel= 100% DEFAULT
END
01/2006
USER
FOLD
open
18
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
32 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðåîáðàçîâàíèå â ïðîãðàììíûå ñòðóêòóðû
¾
¾
01/2006
Êàê ìû óáåäèëèñü, äëÿ ñòðóêòóèðîâàííîãî
ðåøåíèÿ ïðîáëåì, òðåáóåòñÿ íåìíîãîå.
Ïðîáëåìà äîëæíà áûòü ÷åòêî
ñôîðìóëèðîâàíà è ðàçáèòà íà ýòàïû.
Êàæäûé îòäåëüíûé ýòàï ìîæåò áûòü
ðàçäåëåí íà îòäåëüíûå ìàëåíüêèå ýòàïû.
 çàâèñèìîñòè îò ïðèðîäû ïðîáëåìû, âîçìîæíî èñïîëüçîâàíèå
îäíîé èç ñëåäóþùèõ ïðîöåäóð: óñëîâíîå âåòâëåíèå, öèêëû è
äàííûå.
19
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðåîáðàçîâàíèå â ïðîãðàììíûå ñòðóêòóðû –Óñëîâíûé ïåðåõîä, âûáîð
¾
Ñ ïîìîùüþ îïåðàòîðîâ [ if (óñëîâèå) ....; else; ...endif ]
âîçìîæíî ïðèçíàíèå îäíîãî èç îïðåäåëåííûõ ñîñòîÿíèé
äîñòàòî÷íî âàæíûì äëÿ äàëüíåéøåãî âûïîëíåíèÿ ïðîãðàììû. Ýòè
îïåðàöèè íàçûâàþòñÿ âûáîðîì, âåòâüþ èëè óñëîâíîé îïåðàöèåé.
Ñèíòàêñèñ:
01/2006
Ñèíòàêñèñ:
IF ... THEN
SWITCH
ELSE
CASE
ENDIF
ENDSWITCH
20
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
33 / 198
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðåîáðàçîâàíèå â ïðîãðàììíûå ñòðóêòóðû – Öèêëû
¾
Öèêëû ìîãóò èñïîëüçîâàòüñÿ êàê ïðîñòîå ñðåäñòâî äëÿ
ïîâòîðåíèÿ ÷àñòè ïðîãðàììû. ×èñëî ïîâòîðåíèé ìîæåò áûòü
îïðåäåëåíî â öèêëå èëè ñâÿçàíî ñ óñëîâèåì.
Ñèñòàêñèñ:
01/2006
• FOR
ENDFOR (ñ÷åòíûé öèêë)
• WHILE
ENDWHILE (âûðåçàííûé öèêë)
• REPEAT
UNTIL (íåâûðåçàííûé öèêë)
• LOOP
ENDLOOP (îêîí÷àíèå öèêëà)
21
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðåîáðàçîâàíèå â ïðîãðàììíûå ñòðóêòóðû – Îñíîâíàÿ èíôîðìàöèÿ
¾ Äàííûå - îáðàáàòûâàåìàÿ èíôîðìàöèÿ â ýëåêòðîííîì âèäå
¾
Ñóùåñòâóþò ïðîñòûå òèïû äàííûõ ñ ïðåäîïðåäåëåííûìè
ñâîéñòâàìè, íàïðèìåð: öåëûå ÷èñëà, ÷èñëà ñ ïëàâàþùåé çàïÿòîé
èëè ëîãè÷åñêèå ñîñòîÿíèÿ (true/false).
¾
01/2006
Êîìïëåêñíûå òèïû äàííûõ, íàïðèìåð, ñòðóêòóðû (robot position)
22
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
34 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå
Ïðåîáðàçîâàíèå â ïðîãðàììíûå ñòðóêòóðû – Ïðîãðàììèðîâàíèå
¾
Àëãîðèòì - ýòî ìåòîä ñõåìàòè÷åñêîãî ðåøåíèÿ ïîñòàâëåííîé
çàäà÷è.  ðàñïîðÿæåíèè ïðîãðàììèñòà èìåþòñÿ ñëåäóþùèå
ñðåäñòâà:
Ñèíòàêñèñ :
¾ SUBPROG ( ) Ëîêàëüíûå èëè ãëîáàëüíûå ïîäïðîãðàììû
01/2006
¾ DEFFCT
Ôóíêöèè
¾ INTERRUPT
Âûïîëíåíèå ïðîöåññà, ïàðàëëåëüíîãî ïðîãðàììå ðîáîòà
¾ TRIGGER
Ïåðåêëþ÷àùèå äåéñòâèÿ, çàâèñÿùèå îò ïóòè
23
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
35 / 198
Îáùàÿ èíôîðìàöèÿ îá ýêñïåðòíîì óðîâíå
Ñìåíà ãðóïïû ïîëüçîâàòåëåé
Ïîñëå íàæàòèÿ êëàâèøè "Expert", ïîëüçîâàòåëÿ ïðîñÿò ââåñòè
ïàðîëü. Ââåäèòå ïàðîëü "kuka".
01/2006
1
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
Îáîçíà÷åíèÿ â Íàâèãàòîðå
Ñèìâîë
Îïèñàíèå
Ñèìâîë
Îïèñàíèå
Ïàïêà çàêðûòà
Ìîäóëü ñîäåðæèò îøèáêó
Ïàïêà îòêðûòà
SRC ôàéë ñîäåðæèò
îøèáêó
Ìîäóëü
Dat ôàéë ñîäåðæèò îøèáêó
SUB ôàéë
SRC ôàéë
Dat ôàéë
01/2006
2
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
38 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Îáùàÿ èíôîðìàöèÿ îá ýêñïåðòíîì óðîâíå
Ñîçäàíèå íîâîãî ìîäóëÿ
KRL ïðîãðàììà ìîæåò áûòü ñîñòàâëåíà èç SRC è DAT ôàéëîâ:
•
SRC - ñîäåðæèò êîä ïðîãðàììû
•
DAT - ñîäåðæèò ñïåöèôè÷åñêèå ïðîãðàììíûå äàííûå
Cell
Ñêåëåò (çàãîòîâêà) ïðîãðàììû äëÿ óïðàâëåíèÿ îò PLC
SRC è DAT ôàéëû áåç ñêåëåòà ïðîãðàììû
Expert
01/2006
Expert
Submit
SUB ôàéë áåç ñêåëåòà ïðîãðàììû
Function
SRC ôàéë áåç ñêåëåòà ïðîãðàììû
Module
SRC, DAT ôàéëû ñî ñêåëåòîì ïðîãðàììû
Submit
SUB ôàéë ñî ñêåëåòíîé ïðîãðàììîé
3
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
Âàðèàíòû âûïîëíåíèÿ ïðîãðàììû (1)
Ðåæèì
GO
Îïèñàíèå
Ðåæèì GO
Âñå êîìàíäû â ïðîãðàììå âûïîëíÿþòñÿ ñ íà÷àëà è äî êîíöà
ïðîãðàììû áåç ÎÑÒÀÍÎÂÊÈ.
MSTEP
Øàã äâèæåíèÿ (áëîê äâèæåíèÿ)
Ïðîãðàììà âûïîëíÿåò îäíó êîìàíäó äâèæåíèÿ, ò.å ïåðåä êàæäîé
êîìàíäîé äâèæåíèÿ áóäåò âûïîëíÿòüñÿ ÎÑÒÀÍÎÂ. Ïðîãðàììà
âûïîëíÿåòñÿ áåç îïåðåæàþùåãî ïðîñ÷èòûâàíèÿ.
ISTEP
Èíêðåìåíòàëüíûé Øàã (ïðîñòîé áëîê)
Ïðîãðàììà âûïîëíÿåòñÿ øàã çà øàãîì, ò.å ñ ÎÑÒÀÍÎÂÎÌ ïîñëå
êàæäîé êîìàíäû (âêëþ÷àÿ ïóñòûå ñòðîêè). Ïðîãðàììà âûïîëíÿåòñÿ
îïåðåæàþùåãî ïðîñ÷èòûâàíèÿ.
01/2006
4
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
39 / 198
Îáùàÿ èíôîðìàöèÿ îá ýêñïåðòíîì óðîâíå
Âàðèàíòû âûïîëíåíèÿ ïðîãðàììû (2)
Ðåæèì
PSTEP
Îïèñàíèå
Ïðîãðàììíûé Øàã
Ïðîãðàììà âûïîëíÿåòñÿ øàã çà øàãîì áåç îïåðåæàþùåãî
ïðîñ÷èòûâàíèÿ.
Ïîäïðîãðàììû âûïîëíÿþòñÿ ïîëíîñòüþ
CSTEP
Íåïðåðûâíûé Øàã (èíñòðóêöèÿ äâèæåíèÿ)
Àïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå òî÷åê âûïîëíÿåòñÿ ñ
îïåðåæàþùèì ïðîñ÷èòûâàíèåì, ò.å. îíè àïðîêñèìèðóþòñÿ.
Òî÷íîå ïîçèöèîíèðîâàíèå âûïîëíÿåòñÿ áåç îïåðåæàþùåãî
ïðîñ÷èòûâàíèÿ è áåç ÎÑÒÀÍÎÂÀ ïîñëå êàæäîé êîìàíäû äâèæåíèÿ
Ðåæèìû âûïîëíåíèÿ ïðîãðàììû #PSTEP è #CSTEP
àêòèâèçèðóþòñÿ òîëüêî ÷åðåç èçìåíåíèå ïåðåìåííîé
ôóíêöèè ($PRO_MODE) è íå èñïîëüçóÿ ñòàòóñíûå êíîïêè.
01/2006
5
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
Âûâîä íà äèñïëåé ìàøèííûõ äàííûõ è âåðñèè ÏÎ
Äðóãèå îêíà ìîæíî ïðîñìîòðåòü, èñïîëüçóÿ êëàâèøó "TAB"
01/2006
6
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College
40 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Îáùàÿ èíôîðìàöèÿ îá ýêñïåðòíîì óðîâíå
Ñêðûòûå ïðîãðàììíûå ÷àñòè - FOLDS
¾
×àñòè ïðîãðàìì ìîãóò áûòü ñêðûòû â FOLDS.
¾
Ýòè ÷àñòè îáðàáàòûâàþòñÿ âî âðåìÿ âûïîëíåíèÿ ïðîãðàìì.
¾
FOLDS ïî óìîë÷àíèþ çàêðûòû.
¾
Ñîäåðæèìîå FOLDS íå âèäíî äëÿ ïîëüçîâàòåëÿ.
¾
FOLDS äîïóñêàþò âëîæåíèÿ.
¾
Sub-FOLDS èìåþò öâåòîâóþ êîäèðîâêó.
Öâåòîâàÿ êîäèðîâêà FOLDS:
Çàêðûòûé FOLD
Oòêðûòûé FOLD
Çàêðûòûé sub-FOLD
Îòêðûòûé sub-FOLD
Ñîäåðæàíèå FOLD
01/2006
1
fold_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñêðûòûå ïðîãðàììíûå ÷àñòè - FOLDS
Ñèíòàêñèñ ñîçäàíèÿ FOLD:
;FOLD Èìÿ
Ñòðîêà ïðîãðàììû
Ñòðîêà ïðîãðàììû
;ENDFOLD
int x
INI
;fold Home_position
$out[1]=true
counter=0
advance=35.0
;endfold
01/2006
int x
INI
Home_position
2
fold_en.ppt
© Copyright by KUKA Roboter GmbH College
42 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Îáùàÿ èíôîðìàöèÿ îá ýêñïåðòíîì óðîâíå
Ñêðûòûå ïðîãðàììíûå ÷àñòè - FOLDS
int x
INI
Outputs
01/2006
int x
INI
Outputs
$out[1]=true
$out[2]=true
$out[3]=true
3
fold_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñêðûòûå ïðîãðàììíûå ÷àñòè - FOLDS
int x
INI
Outputs
$out[1]=true
$out[2]=true
$out[3]=true
01/2006
int x
INI
;fold Outputs
$out[1]=true
$out[2]=true
$out[3]=true
;endfold
4
fold_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
43 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Îïðåäåëåíèå “ïåðåìåííûõ”
Äëÿ èñïîëüçîâàíèÿ êîíñòàíò (öèôð, ñèìâîëîâ, è ò.ä.) â ñèñòåìå
óïðàâëåíèÿ ðîáîòîì âûäåëÿþòñÿ îáëàñòè ïàìÿòè, â
êîòîðûõ ýòè çíà÷åíèÿ ìîãóò áûòü ñîõðàíåíû.
Ñîõðàíåííàÿ òàêèì îáðàçîì èíôîðìàöèÿ, ìîæåò áûòü íàéäåíà â
ðàçíûõ ÷àñòÿõ ïðîãðàììû äëÿ îöåíêè è äàëüíåéøåé îáðàáîòêè.
Ïåðåìåííàÿ - ôèêñèðîâàííàÿ îáëàñòü ïàìÿòè, ê ñîäåðæàíèþ
êîòîðîé ìîæíî îáðàòèòüñÿ, èñïîëüçóÿ èìÿ ïåðåìåííîé.
Ïðèìåð:
...
...
Part_counter
Part_counter==37
37
...
...
01/2006
Èìÿ ïåðåìåííîé
Çíà÷åíèå
ïåðåìåííîé
1
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Äåêëàðèðîâàíèå ïåðåìåííûõ
Äåêëàðèðîâàíèå ïåðåìåííûõ âñåãäà èìååò ñëåäóþùèé ñèíòàêñèñ:
DECL Data_Type Variable_Name
Ïðèìåð:
Def
DefMain(
Main())
DECL
DECLINT
INTpart_counter
part_counter
INI
INI
...
...
End
End
01/2006
2
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
46 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ïåðåìåííûå è èõ èìåíà
Èìåíà ïåðåìåííûõ â KRL
¾
äëèíà íå äîëæíà ïðåâûøàòü 24 ñèìâîëà.
¾
ìîãóò ñîñòîÿòü èç áóêâ (A-Z), öèôð (0-9), ñèìâîëà '_'
è ‘$’.
01/2006
¾
íå äîëæíû íà÷èíàòüñÿ ñ öèôðû.
¾
íå äîëæíû ñîâïàäàòü ñ ïðèçíàêîì ïåðåìåííîé.
3
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðîñòûå òèïû äàííûõ
Öåëûå
Âåùåñòâåííûå
Áóëåâû
Ñèìâîëüíûå
INT
REAL
BOOL
CHAR
Îáîçíà÷åíèå
Öåëûå ÷èñëà
×èñëà ñ
ïëàâàþùåé
çàïÿòîé
Ëîãè÷åñêîå
çíà÷åíèå
1 ñèìâîë
Äèàïàçîí
çíà÷åíèé
-231
...
(231-1)
+/-1.1E-38
...
+/-3.4E+38
TRUE, FALSE
ASCII ñèìâîëû
1-255
Ïðèìåð
32
1.43
TRUE
“A”
Òèïû äàííûõ
Ïðèçíàê
01/2006
4
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
47 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Îñíîâíàÿ ñòðóêòóðà ïðîãðàììû ðîáîòà
DEF
DEFNAME(
NAME() )
;--- Ðàçäåë äåêëàðàöèé --...
;--- Ðàçäåë èíèíöèàëèçàöèé --...
;--- Ðàçäåë êîìàíä --...
END
END
01/2006
5
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Àêòèâèðîâàíèå DEF ñòðîêè
• Ïåðåìåííûå äîëæíû áûòü çàäåêëàðèðîâàíû äî INI ñòðîêè
• Äëÿ îïðåäåëåíèÿ ñèíòàêñèñà ïåðåä INI ñòðîêîé, DEF ñòðîêà
äîëæíà áûòü àêòèâèðîâàíà
01/2006
6
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
48 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Äåêëàðèðîâàíèå è ïðèñâîåíèå çíà÷åíèå
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
;--;--- Declaration
Declarationsection
section ----DECL
DECLINT
INTPART
PART
;--;--- Initialization
Initializationsection
section -----
INI
INI
;Initialization
;Initializationofofacceleration
accelerationand
andvelocity
velocity
;--Instruction
section
--;--- Instruction section ---
PART=58
PART=58
PART='B111010'
PART='B111010'
;Value
;Valueassignment,
assignment,decimal
decimal
Value
assignment,
binary
Value assignment, binary
PART='H3A'
PART='H3A'
......
;Value
;Valueassignment,
assignment,hexadecimal
hexadecimal
END
END
Ïðèñâîåíèå çíà÷åíèé ïðîèçâîäèòñÿ ñ îïåðåæåíèåì!
01/2006
ÆÆ
7
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Âðåìÿ æèçíè ïåðåìåííûõ
Ïåðåìåííûå, çàäåêëàðèðîâàííûå ...
â SRC ôàéëå
• ... äîñòóïíû òîëüêî â ñâîèõ ïðîãðàììàõ.
• ... íåäîñòóïíû â ëîêàëüíûõ ïîäïðîãðàììàõ.
DEF HP1( )
DEF HP1( )
DECL INT CUBE
DECL INT CUBE
INI
INI
CUBE=0
CUBE=0
END
END
â ñîîòâåòñòâóþùåì DAT ôàéëå
• ... äîñòóïíû òîëüêî â ñâîèõ ïðîãðàììàõ,
ò.å. â îñíîâíîé ïðîãðàììå è â ëîêàëüíûõ
ïîäïðîãðàììàõ.
DEFDAT
DEFDAT HP1(
HP1( ))
DECL
INT
DECL INT CUBE=0
CUBE=0
...
...
ENDDAT
ENDDAT
â $CONFIG.DAT ôàéëå
• ... äîñòóïíû â êàæäîé ïðîãðàììå.
• ... ìîãóò áûòü âûçâàíû âî âðåìÿ
âûïîëíåíèÿ ïðîãðàììû.
01/2006
DEFDAT
DEFDAT$CONFIG
$CONFIG
DECL
DECLINT
INTCUBE=0
CUBE=0
...
...
ENDDAT
ENDDAT
...
8
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
49 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Äåêëàðèðîâàíèå êîíñòàíò
Äåêëàðèðîâàíèå êîíñòàíò âñåãäà äîëæíî èìåòü ñëåäóþùèé ñèíòàêñèñ, è îíè
ìîãóò äåêëàðèðîâàòüñÿ òîëüêî â ñïèñêå äàííûõ:
DECL CONST Datentyp Variable_Name
Ïðèìåð :
Defdat
Defdat Main(
Main())
Decl
DeclCONST
CONSTREAL
REALPI
PI==3.14159
3.14159
...
...
End
End
Íåëüçÿ èçìåíÿòü êîíñòàíòû â SRC-ôàéëå. Ýòî ïðèâåäåò ê
ñîîáùåíèþ îá îøèáêå.
01/2006
9
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College
50 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ïðîñìîòð îòäåëüíîé ïåðåìåííîé
Èìÿ òåêóùåé ïåðåìåííîé;
âûáèðàåòñÿ êíîïêîé "NAME"
Òåêóùåå çíà÷åíèå âûáðàííîé
ïåðåìåííîé â îêíå "NAME"
01/2006
$PRO_MODE
#GO
Íîâîå çíà÷åíèå âûáðàííîé
ïåðåìåííîé â îêíå "NAME"
#ISTEP
Ïàïêà ðàçìåùåíèÿ ïðîãðàììû
/R1/CELL.SRC
1
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College
Variable display – Single
Òåêóùåå çíà÷åíèå ïåðåìåííîé
áóäåò îáíîâëåíî òîëüêî ïîñëå
íàæàòèÿ êíîïêè "Return-Key" â
îêíå "Name"
PART
51
Òåêóùåå çíà÷åíèå ïåðåìåííîé
áóäåò îáíîâëÿòüñÿ àâòîìàòè÷åñêè
ïðè îäíîâðåìåííîì íàæàòèè
êëàâèø "Shift+Return-Keys"
/R1/HAUPT.SRC
Âíèìàíèå: Ôóíêöèîíàëüíûå îãðàíè÷åíèÿ íà òåêóùèå ïåðåìåííûå
01/2006
2
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College
52 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Îêíî ïåðåìåííûõ- Êîíôèãóðàöèÿ
Äëÿ èñïîëüçîâàíèÿ ïåðåìåííîé â îêíå
ïåðåìåííûõ îíà äîëæíà áûòü:
¾
Çàäåêëàðèðîâàíà â $config.dat
¾
KUKA-Ñèñòåìíîé ïåðåìåííîé
01/2006
3
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College
Îêíî ïåðåìåííûõ- Êîíôèãóðàöèÿ
Íåïðåðûâíîå
îáíîâëåíèå
01/2006
Êíîïêè
Íàçíà÷åíèå
Display
Ïåðåêëþ÷åíèå ðåæèìîâ äèñïëåÿ
Tab
Ñëåäóþùàÿ ãðóïïà/ñïèñîê
Jump
Ïåðåõîä ê ãðóïïîâûì ïàðàìåòðàì
(íàïðèìåð, øèðèíà ñòîëáöà)
Insert
Îòêðûòèå ìåíþ "âñòàâèòü"
(âñòàâèòü äî/ïîñëå ãðóïïû/ñòðîêó)
Delete
Óäàëåíèå ãðóïïû/ñòðîêè
OK
Ïðèíÿòü, ñîõðàíèòü è
çàêðûòü îêíî êîíôèãóðàöèè
Cancel
Çàêðûòü îêíî áåç ñîõðàíåíèÿ
Îïèñàíèå
ïåðåìåííîé
Èñïîëüçóåìîå
èìÿ ïåðåìåííîé
4
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
53 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Îêíî ïåðåìåííûõ - Ïðîñìîòð
Íåïðåðûâíîå
îáíîâëåíèå
Êíîïêè
Ôóíêöèè
Configure
Ïåðåõîä â ðåæèì êîíôèãóðàöèè
Tab
Ñëåäóþùàÿ ãðóïïà/ñïèñîê
Refresh all
Ñòàòè÷åñêîå îáíîâëåíèå
Îïèñàíèå
ïåðåìåííîé
Òåêóùåå
çíà÷åíèå
Start info / Àêòèâàöèÿ/äåàêòèâàöèÿ íåïðåðûâíîãî
Cancel info îáíîâëåíèÿ
01/2006
Edit
Èçìåíåíèå èìåíè èëè çíà÷åíèÿ
ïåðåìåííîé (äîñòóï ê çàïèñè)
OK
Ïðèíÿòü, ñîõðàíèòü è çàêðûòü
êîíôèãóðàöèþ
Cancel
Çàêðûòü îêíî áåç ñîõðàíåíèÿ
5
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College
54 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ìàññèâû (îäíîìåðíûå)
Ñèíòàêñèñ:
Ïðèìåð:
Ñîçäàíèå:
DECL Data_Type Variable_Name[Number of array elements]
Ðàáîòà:
Variable_Name[Index] = Value_Assignment
DEF MAIN_PROGRAM(
MAIN_PROGRAM( ))
DEF
DECL
REAL measurement[3]
measurement[3]
DECL REAL
INI
INI
measurement[1]
[1] == 17.5
17.5
measurement
measurement
[2]
=
35.7
measurement[2] = 35.7
measurement[3]
[3] == 67.2
67.2
measurement
...
...
END
END
01/2006
1
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðîñòîé ñ÷åòíûé öèêë
Ñèíòàêñèñ: FOR Counter = Start TO End
Statement
ENDFOR
Ïðèìåð:
DEF
DEFINIT_OUTPUTS
INIT_OUTPUTS(())
DECL
DECLINT
INTCOUNTER
COUNTER
INI
INI
FOR
FORCOUNTER=1
COUNTER=1TO
TO10
10
;Set
output
1-10
to
;Set output 1-10 toFALSE
FALSE
$OUT[counter]=FALSE
$OUT[counter]=FALSE
ENDFOR
ENDFOR
...
...
END
END
01/2006
$OUT[X]
X>10 ?
no
yes
2
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
56 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ïðèìåð: Ïðîñòîé ñ÷åòíûé öèêë (1)
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
DECL
DECLINT
INTCELL[4]
CELL[4]
;Array
DECL
INT
;Arrayindex
index
DECL INTFI
FI
INI
INI
FOR
FORFI
FI==11TO
TO44
CELL[FI]
=
CELL[FI] =FI
FI**55
ENDFOR
ENDFOR
......
END
END
1*5=5
CELL
5
[1] [2]
01/2006
[3]
[4]
3
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð: Ïðîñòîé ñ÷åòíûé öèêë (2)
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
DECL
DECLINT
INTCELL[4]
CELL[4]
DECL
;Array
DECLINT
INTFI
FI
;Arrayindex
index
INI
INI
FOR
FORFI
FI==11TO
TO44
CELL[FI]
=
CELL[FI] =FI
FI**55
ENDFOR
ENDFOR
......
END
END
2 * 5 = 10
CELL
5
10
[1] [2]
01/2006
[3]
[4]
4
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
57 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ïðèìåð: Ïðîñòîé ñ÷åòíûé öèêë (3)
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
DECL
DECLINT
INTCELL[4]
CELL[4]
DECL
INT
;Array
DECL INTFI
FI
;Arrayindex
index
INI
INI
FOR
FORFI
FI==11TO
TO44
CELL[FI]
=
CELL[FI] =FI
FI**55
ENDFOR
ENDFOR
......
END
END
3 * 5 = 15
CELL
5
10 15
[1] [2]
01/2006
[3]
[4]
5
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð: Ïðîñòîé ñ÷åòíûé öèêë (4)
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
DECL
DECLINT
INTCELL[4]
CELL[4]
DECL
;Array
DECLINT
INTFI
FI
;Arrayindex
index
INI
INI
FOR
FORFI
FI==11TO
TO44
CELL[FI]
=
CELL[FI] =FI
FI**55
ENDFOR
ENDFOR
......
END
END
4 * 5 = 20
FI = 5
CELL
5
10 15 20
[1] [2]
01/2006
[3]
[4]
6
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
58 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Äâóìåðíûé ìàññèâ
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
DECL
DECLINT
INTMEAS_VALUE
MEAS_VALUE[2,4]
[2,4]
DECL
INT
ROW,COLUMN
DECL INT ROW,COLUMN
INI
INI
; ;-----Pre-assignment
Pre-assignmentofofan
anarray
array----FOR
FORROW
ROW==11TO
TO22
FOR
FORCOLUMN
COLUMN==11TO
TO44
MEAS_VALUE
[ROW,COLUMN]
MEAS_VALUE [ROW,COLUMN]==00
ENDFOR
ENDFOR
ENDFOR
ENDFOR
......
END
END
Êîëîíêà
01/2006
1
2
3
4
0
0
0
0
0
0
0
0
Ðÿä 1
Ðÿä 2
7
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð: òðåõìåðíûé ìàññèâ
BOOL MATRIX [3, 3, 3]
Êîëîíêà
Ðÿä
01/2006
Óðîâåíü
8
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
59 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Òðåõìåðíûé ìàññèâ
DEF
DEFMAIN_PROGRAM(
MAIN_PROGRAM() )
BOOL
BOOLMATRIX
MATRIX[3,3,3]
[3,3,3]
INT
INTROW,
ROW,COLUMN,
COLUMN,LEVEL
LEVEL
INI
INI
FOR
FORLEVEL
LEVEL==11TO
TO33
FOR
COLUMN
FOR COLUMN==11TO
TO33
FOR
ROW
=
1
TO
FOR ROW = 1 TO33
MATRIX
MATRIX[ROW,
[ROW,COLUMN,
COLUMN,LEVEL]
LEVEL]==FALSE
FALSE
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
......
END
END
Êëþ÷åâîå ñëîâî "DECL" ìîæåò áûòü îïóùåíî ïðè
äåêëàðèðîâàíèè ïðîñòûõ òèïîâ äàííûõ.
01/2006
9
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College
60 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ñòðóêòóðû
Ïðèìåð: Òî÷íîå îïèñàíèå ìàøèíû
Öâåò
Ìîòîð
Ïðîèçâîäèòåëü
01/2006
Êîíäèöèîíåð
1
structure_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñòðóêòóðû
¾
¾
Ñòðóêòóðà - ýòî êîìáèíàöèÿ ðàçëè÷íûõ òèïîâ
äàííûõ, ñîáðàííûõ â ãðóïïó.
Ñòðóêòóðà èíèöèàëèçèðóåòñÿ ñîâîêóïíî.
¾
Íå âñå ïàðàìåòðû îáÿçàòåëüíî äîëæíû áûòü
ñîâìåñòíî îïðåäåëåíû.
¾
Ïîðÿäîê ñëåäîâàíèÿ ïàðàìåòðîâ íå âàæåí.
Îïðåäåëÿåìûå ïîëüçîâàòåëåì ñòðóêòóðû äîëæíû îêàí÷èâàòüñÿ íà ...TYPE!
01/2006
2
structure_en.ppt
© Copyright by KUKA Roboter GmbH College
62 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Ñòðóêòóðà, îïðåäåëÿåìàÿ ïîëüçîâàòåëåì
Òèï äàííûõ
Èìÿ ñòðóêòóðû
Èìÿ ïåðåìåííîé
DEF
DEFWELD
WELD( () )
STRUC
STRUCWELDTYPE
WELDTYPEREAL
REALV_WIRE,
V_WIRE,INT
INTCHARAC,
CHARAC,BOOL
BOOLPULSE
PULSE
DECL
DECLWELDTYPE
WELDTYPESEAM1
SEAM1
INI
INI
SEAM1={V_WIRE
SEAM1={V_WIRE0.7,
0.7,CHARAC
CHARAC5,5,PULSE
PULSEFALSE}
FALSE}
......
SEAM1.PULSE=TRUE
SEAM1.PULSE=TRUE
......
END
END
Èçìåíåíèå çíà÷åíèÿ â ñîâîêóïíîñòè
ñ èñïîëüçîâàíèåì ðàçäåëèòåëüíîé òî÷êè
01/2006
3
structure_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðåäîïðåäåëåííûå ñòðóêòóðû
 KUKA ñèñòåìå óïðàâëåíèÿ ðîáîòîì ïðåäîïðåäåëåíû ñëåäóþùèå ñòðóêòóðû:
01/2006
STRUC AXIS
REAL A1,A2,A3,A4,A5,A6
STRUC E6AXIS
REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6
STRUC FRAME
REAL X,Y,Z,A,B,C
STRUC POS
REAL X,Y,Z,A,B,C INT S,T
STRUC E6POS
REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6, INT S,T
4
structure_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
63 / 198
Ïåðåìåííûå è äåêëàðèðîâàíèå
Òèï äàííûõ - ïåðå÷èñëåíèå - ENUM
Ìÿ÷
01/2006
Àâòî
Ëîïàòà
Ãàëüêà
1
enum_en.ppt
© Copyright by KUKA Roboter GmbH College
Òèï äàííûõ - ïåðå÷èñëåíèå
¾
Òèï äàííûõ - ïåðå÷èñëåíèå ñîñòîèò èç êîíå÷íîãî ÷èñëà
êîíñòàíò
¾
Êîíñòàíòû ìîãóò èìåòü ïðîèçâîëüíûå èìåíà
¾
Êîíñòàíòû îïðåäåëÿþòñÿ ïðîãðàììèñòîì
¾
Ïåðåìåííàÿ ìîæåò òîëüêî ïðèíèìàòü çíà÷åíèå
îäíîé èç ýòèõ êîíñòàíò
Îïðåäåëÿåìûå ïîëüçîâàòåëåì ENUM äîëæíû îêàí÷èâàòüñÿ íà ...TYPE!
01/2006
2
enum_en.ppt
© Copyright by KUKA Roboter GmbH College
66 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïåðåìåííûå è äåêëàðèðîâàíèå
Òèï äàííûõ - ïåðå÷èñëåíèå
 KUKA ñèñòåìå óïðàâëåíèÿ ðîáîòîì ïðåäîïðåäåëåíû ñëåäóþùèå
ENUM ïåðåìåííûå: ENUM MODE_OP T1, T2, AUT, EX, INVALID
DEF
DEFSEARCH
SEARCH()()
ENUM
ENUMCOUNTRY_TYPE
COUNTRY_TYPE German,
German,English,
English,French
French
DECL
DECLCOUNTRY_TYPE
COUNTRY_TYPE LANGUAGE
LANGUAGE
INI
INI
Ñîçäàíèå ENUM ïåðåìåíîé
......
LANGUAGE
LANGUAGE==#German
#German
01/2006
Äåêëàðèðîâàíèå ENUM ïåðåìåíîé
......
LANGUAGE
LANGUAGE==#English
#English
Ïðèñâîåíèå çíà÷åíèÿ
…
…
END
END
Ïðèñâîåíèå çíà÷åíèÿ
3
enum_en.ppt
© Copyright by KUKA Roboter GmbH College
Îáçîð - òèïû äàííûõ
Òèïû äàííûõ
Ïðîñòûå
òèïû äàííûõ
- INT
- REAL
- BOOL
- CHAR
Ìàññèâû
Âñå ýëåìåíòû ìàññèâà
• èìåþò îäèí òèï äàííûõ
• èìåþò îäíî èìÿ
• ðàçëè÷àþòñÿ òîëüêî ïî
èíäåêñíîìó íîìåðó
01/2006
Êîìïëåêñíûå
òèïû äàííûõ
Ñòðóêòóðû
Ïåðå÷èñëåíèÿ
Âñå ýëåìåíòû ñòðóêòóðû ENUM ïåðåìåííûå
• ìîãóò èìåòü ðàçëè÷íûé
• ìîãóò ïðèíèìàòü òîëüêî
òèï äàííûõ
îäíî èç çàðàíåå
• èìåòü ðàçëè÷íûå îáîçíà÷åíèÿ îïèñàííûõ çíà÷åíèé
4
enum_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
67 / 198
Ïîäïðîãðàììû è ôóíêöèè
Ëîêàëüíûå ïîäïðîãðàììû
¾
KRL-ôàéë ìîæåò ñîñòîÿòü èç 255 ëîêàëüíûõ ïîäïðîãðàìì.
¾
Ìàêñèìàëüíàÿ ãëóáèíà âëîæåíèÿ äëÿ ïîäïðîãðàìì - 20.
¾
Ëîêàëüíûå ïîäïðîãðàììû ðàñïîëàãàþòñÿ ïîñëå îñíîâíîé ïðîãðàììû
è èäåíòèôèöèðóþòñÿ ñ ïîìîùüþ îáîçíà÷åíèé DEF è END.
¾
Ëîêàëüíûå ïîäïðîãðàììû ìîãóò áûòü âûçâàíû íåîäíîêðàòíî.
¾
Êîîðäèíàòû òî÷åê ñîõðàíÿþòñÿ â ñîîòâåòñòâóþùåì DAT ñïèñêå è
äîñòóïíû äëÿ âñåãî ôàéëà.
¾
01/2006
Îäíàæäû âûïîëíèâ ëîêàëüíóþ ïîäïðîãðàììó, ïðîãðàììà âîçâðàùàåòñÿ
ê êîìàíäå, ðàñïîëîæåííîé ïîñëå êîìàíäû âûçîâà ïîäïðîãðàììû.
1
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College
Ëîêàëüíûå ïîäïðîãðàììû
DEF
DEFMain_Program
Main_Program( () )
INI
INI
......
Subprogram1
Subprogram1( () )
......
Subprogram2
Subprogram2( () )
......
END
END
DEF
DEFSubprogram1
Subprogram1( () )
......
Subprogram2
Subprogram2( () )
......
END
END
DEF
DEFSubprogram2
Subprogram2( () )
......
END
END
01/2006
2
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
69 / 198
Ïîäïðîãðàììû è ôóíêöèè
Ãëîáàëüíûå ïîäïðîãðàììû
¾
¾
Ãëîáàëüíûå ïîäïðîãðàììû ñîñòîÿò èç îòäåëüíîãî SRC ôàéëà.
Ïåðåìåííûå, çàäåêëàðèðîâàííûå â ãëîáàëüíûõ
ïîäïðîãðàììàõ, íåäîñòóïíû â îñíîâíîé ïðîãðàììå.
¾ Ïåðåìåííûå, çàäåêëàðèðîâàííûå â îñíîâíîé ïðîãðàììå,
íåäîñòóïíû â ãëîáàëüíîé ïîäïðîãðàììå.
DEF
DEFMAINPROG
MAINPROG(())
INI
INI
...
...
GLOBAL_SP1()
GLOBAL_SP1()
DEF
DEFGLOBAL_SP1
GLOBAL_SP1(())
INI
INI
...
...
...
...
...
...
END
END
01/2006
END
END
3
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College
Âîçâðàò èç ãëîáàëüíîé ïîäïðîãðàììû
RETURN
¾
Ôóíêöèÿ RETURN ïðåêðàùàåò âûïîëíåíèå ïîäïðîãðàììû
è ÿâëÿåòñÿ ïðè÷èíîé âîçâðàùåíèÿ ñèñòåìû ê âûçûâàåìîìó
ìîäóëþ.
DEF
DEFMAINPROG
MAINPROG(())
INI
INI
...
...
GLOBAL_SP1()
GLOBAL_SP1()
...
...
END
END
01/2006
DEF
DEFGLOBAL_SP1
GLOBAL_SP1(())
INI
INI
...
...
IF
IFvalue
value>15
>15THEN
THEN
RETURN
RETURN
ENDIF
ENDIF
…
…
END
END
4
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College
70 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïîäïðîãðàììû è ôóíêöèè
Ïåðåäà÷à ïàðàìåòðîâ ïåðåìåííûõ
Main_program ( )
X=21.0
Y=TRUE
Calc (X,Y)
01/2006
Calc (……)
1
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïåðåäà÷à ïàðàìåòðîâ ïåðåìåííûõ
Ñóùåñòâóþò äâå ðàçëè÷íûå îïöèè ïåðåäà÷è:
IN ïàðàìåòð
(âûçîâ ïî çíà÷åíèþ)
Çíà÷åíèå ïåðåìåííîé îñòàåòñÿ
íåèçìåííûì â îñíîâíîé ïðîãðàììå,
ò.å. ïðîäîëæåíèå ïðîöåññà
ïîñëåäóåò ñî ñòàðûì çíà÷åíèåì
èç îñíîâíîé ïðîãðàììû
01/2006
OUT ïàðàìåòð
(âûçîâ ïî ññûëêå)
Çíà÷åíèå ïåðåìåííîé
èçìåíÿåòñÿ â îñíîâíîé
ïðîãðàììå, ò. å. çíà÷åíèå
áåðåòñÿ èç ïîäïðîãðàììû
2
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
72 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïîäïðîãðàììû è ôóíêöèè
Ïåðåäà÷à ïåðåììåíûõ â ëîêàëüíóþ ïîäïðîãðàììó
Ñèíòàêñèñ:
Âûçîâ ïðîãðàììû:
Subprogram_Name (Transfer_Variable)
Çàãîëîâîê ïîäïðîãðàììû:
DEF Subprogram_Name (Variable_Name: Call by)
Ïðèìåð:
DEF
DEFMAIN
MAIN( () )
REAL
REALAMOUNT
AMOUNT
INI
INI
......
CALC
CALC(AMOUNT)
(AMOUNT)
END
END
DEF
DEFCALC
CALC(SUM:OUT)
(SUM:OUT)
REAL
REALSUM
SUM
......
END
END
01/2006
3
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïåðåäà÷à ïåðåììåíûõ â ãëîáàëüíóþ ïîäïðîãðàììó
Ñèíòàêñèñ:
Âûçîâ ïðîãðàììû:
Subprogram_Name (Transfer_Variable)
Çàãîëîâîê ïîäïðîãðàììû:
DEF Subprogram_Name (Variable_Name: Call by)
Ïðèìåð:
DEF
DEFMAIN
MAIN( () )
REAL
REALAMOUNT
AMOUNT
INI
INI
......
CALC
CALC(AMOUNT)
(AMOUNT)
END
END
DEF
DEFCALC
CALC(SUM:OUT
(SUM:OUT) )
REAL
SUM
REAL SUM
INI
INI
......
END
END
01/2006
4
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
73 / 198
Ïîäïðîãðàììû è ôóíêöèè
Ïðèìåð ïåðåäà÷è ïåðåììåííûõ
DEF PROG_1 ( )
DEF PROG_1 ( )
INT A, B
INT A, B
REAL C
REAL C
A=1
A=1
B=2
B=2
C = 3.0
C = 3.0
CALC (A, B, C)
CALC (A, B, C)
Ïîðÿäîê
âàæåí!
HALT; A is now 11
HALT; A is now 11
; B is now 2
; B is now 2
C is
is now
now 3.0
3.0
;; C
END
END
DEF
DEF CALC
CALC (X1:
(X1: OUT,
OUT, X2:
X2: IN,
IN, X3:
X3: IN)
IN)
INT
INT X1,
X1, X2
X2
REAL
REAL X3
X3
X1
X1 == X1+10
X1+10 ;; X1
X1 is
is now
now 11
11
X2
X2 == X2+10
X2+10 ;; X2
X2 is
is now
now 12
12
X3
X3 == X3+10
X3+10 ;; X3
X3 is
is now
now 13.0
13.0
END
END
01/2006
Äâà òèïà ïàðàìåòðîâ:
Âûçîâ ïî çíà÷åíèþ: IN
Âûçîâ ïî ññûëêå:
OUT
Èñïîëüçîâàíèå ëèñòà
ïàðàìåòðîâ íåîáõîäèìî è â
LOCAL
è
GLOBAL
ïîäïðîãðàììàõ.
5
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïåðåäà÷à ïàðàìåòðîâ ìàññèâà
Ìàññèâû ìîãóò áûòü ïåðåäàíû òîëüêî ñ ïàðàìåòðîì OUT
(Âûçîâ ïî ññûëêå)
¾ Ìàññèâû ìîãóò áûòü ïåðåäàíû òîëüêî â ñïåöèôè÷åñêîé
ðàçìåðíîñòè, íàïðèìåð: ARRAY_1D[ ] , ARRAY_2D[,] ,
ARRAY_3D[,,]
¾
Ïðèìåð:
01/2006
DEF
DEFMAIN
MAIN(())
CHAR
CHARNAME[8]
NAME[8]
INI
INI
...
...
SP1
SP1(NAME[
(NAME[])])
END
END
DEF
DEFSP1
SP1(FIRST_NAME[
(FIRST_NAME[]:OUT)
]:OUT)
CHAR
FIRST_NAME[
CHAR FIRST_NAME[]]
...
...
END
END
6
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College
74 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïîäïðîãðàììû è ôóíêöèè
Ôóíêöèè
Ôóíêöèè
Àðèôìåòè÷åñêèé
àëãîðèòì
Çíà÷åíèÿ íà âõîäå
Çíà÷åíèÿ íà âûõîäå
Âîçâðàò
Ïðèìåð: èñïîëüçóÿ êàìåðó äëÿ óòî÷íåíèÿ ïîçèöèè Æ
ðàññ÷èòàòü ïîçèöèþ âçÿòèÿ
© Copyright by KUKA Roboter GmbH College
Ôóíêöèè
¾
Ôóíêöèÿ - ýòî ïîäïðîãðàììà, êîòîðàÿ âîçâðàùàåò
îïðåäåëåííîå çíà÷åíèå â îñíîâíóþ ïðîãðàììó.
¾
Èìÿ ïðîãðàììû òàêæå ÿâëÿåòñÿ èìåíåì ïåðåìåíîé
îïðåäåëåííîãî òèïà äàííûõ.
¾
×òîáû áûòü ïåðåäàííûì, çíà÷åíèå äîëæíî áûòü âîçâðàùåíî
ñ ïîìîùüþ îïåðàòîðà RETURN(x), ïðåäøåñòâóþùåãî ENDFCT.
Ñèíòàêñèñ:
DEFFCT Data_Type NAME_FUNCTION ( )
...
RETURN(x)
ENDFCT
© Copyright by KUKA Roboter GmbH College
76 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïîäïðîãðàììû è ôóíêöèè
Ôóíêöèè ñ IN è OUT ïàðàìåòðàìè
X=15
Âûçîâ ïî çíà÷åíèþ
15
NUMBER
225
DEF
DEFPROG()
PROG()
INT
INTX,Y,E
X,Y,E
......
X=5*3
X=5*3
Y=SQUARE(X)
Y=SQUARE(X) ;Y=225
;Y=225
E=Y/X
E=Y/X
......
END
END
DEFFCT
DEFFCTINT
INTSQUARE(NUMBER:IN)
SQUARE(NUMBER:IN)
INT
INTNUMBER
NUMBER
......
NUMBER=NUMBER*NUMBER
NUMBER=NUMBER*NUMBER X = 15
RETURN(NUMBER)
Y = 225
RETURN(NUMBER)
......
E = 15
ENDFCT
ENDFCT
Âûçîâ ïî ññûëêå
15
X , NUMBER
225
DEFFCT
DEFFCTINT
INTSQUARE(NUMBER:OUT)
SQUARE(NUMBER:OUT)
INT
INTNUMBER
NUMBER
......
NUMBER=NUMBER*NUMBER
NUMBER=NUMBER*NUMBER X = 225
RETURN(NUMBER)
Y = 225
RETURN(NUMBER)
......
E=1
ENDFCT
ENDFCT
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
77 / 198
Ñïèñîê äàííûõ
Ñïèñîê äàííûõ - ëîêàëüíûé
Ñïèñîê äàííûõ èñïîëüçóåòñÿ äëÿ ïîäãîòîâêè ñïåöèôè÷åñêèõ ïðîãðàìì
è äåêëàðàöèé âûñîêîãî óðîâíÿ (ïåðåìåííûå, êîîðäèíàòû, è ïð.)
Source file (SRC file)
DEF
DEFPROG_1
PROG_1(())
...
...
HALT
HALT Ïðèñâîåíèå çíà÷åíèÿ
...
...
OTTO
OTTO==25
25
...
...
HALT
HALT
END
END
Data list (DAT file)
DEFDAT
DEFDATPROG_1
PROG_1
INT
INTOTTO
OTTO==00
ENDDAT
ENDDAT
Çíà÷åíèå îñòàåòñÿ íåèçìåííûì
ïîñëå âûïîëíåíèÿ ïðîãðàììû
01/2006
Äåêëàðèðîâàíèå è èíèöèàëèçàöèÿ
DEFDAT
DEFDATPROG_1
PROG_1
INT
INTOTTO
OTTO==25
25
ENDDAT
ENDDAT
1
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñïèñîê äàííûõ - ãëîáàëüíûé
Îïðåäåëåííûå ñèñòåìíûå ôàéëû ÿâëÿþòñÿ ãëîáàëüíûìè ñïèñêàìè äàííûõ,
ò.å. ïåðåìåííûå, ñèãíàëû è äåêëàðàöèè äåéñòâèòåëüíû äëÿ âñåõ ïðîãðàìì.
$MACHINE.DAT
$CONFIG.DAT
DEFDAT
$CONFIG
$CONFIG
.. DEFDAT
. ...
E6AXIS
HOME
HOME{A1
{A10.0,A2
0.0,A2-90.0,...}
-90.0,...}
.. E6AXIS
..
..
ENDDAT
ENDDAT
01/2006
DEFDAT
$MACHINE
$MACHINE
.. DEFDAT
..
..
$SOFTP_END[1]
==185.0
185.0
. $SOFTP_END[1]
.
..
..
$SOFTP_END[6]
==350.0
350.0
.. $SOFTP_END[6]
.
. ..
ENDDAT
ENDDAT
2
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College
80 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñïèñîê äàííûõ
Èìïîðò ïåðåìåííûõ
Ïåðåìåííûå, îïðåäåëåííûå â ñïèñêå äàííûõ ìîãóò áûòü
èìïîðòèðîâàíû â "äðóãóþ" îñíîâíóþ ïðîãðàììó.
PROG_1.SRC
DEF
DEFPROG_1
PROG_1( () )
......
HALT
...HALT
...
OTTO
==25
25
...OTTO
...
END
END
PROG_1.DAT
DEFDAT
DEFDATPROG_1
PROG_1PUBLIC
PUBLIC
DECL
INT
OTTO
=
0
DECL INT OTTO = 0
......
ENDDAT
ENDDAT
PROG_2.SRC
DEF
DEFPROG_2
PROG_2( () )
IMPORT
IMPORTINT
INTOTTO_2
OTTO_2IS
IS/R1/PROG_1
/R1/PROG_1....OTTO
OTTO
......
......
END
END
01/2006
• Ñîäåðæàíèå ïåðåìåííîé
íå ìîæåò áûòü èçìåíåíî
• Óáåäèòåñü â ïðàâèëüíîñòè
íàïèñàíèÿ ïóòè
3
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College
Ãëîáàëüíûå ïåðåìåííûå
Ïåðåìåííûå, îïðåäåëåííûå â ñïèñêå äàííûõ, ìîæíî ñäåëàòü
äîñòóïíûìè äëÿ âñåõ "äðóãèõ" îñíîâíûõ ïðîãðàìì.
PROG_1.SRC
DEF
DEFPROG_1
PROG_1( () )
......
HALT
...HALT
...
OTTO
==25
25
...OTTO
...
END
END
PROG_1.DAT
DEFDAT
PUBLIC
DEFDATPROG_1
PROG_1PUBLIC
DECL
GLOBAL
DECL GLOBALINT
INTOTTO
OTTO==00
......
ENDDAT
ENDDAT
PROG_2.SRC
DEF
DEFPROG_2
PROG_2( () )
......
OTTO
OTTO==100
100
......
END
END
01/2006
Ñîäåðæàíèå ïåðåìåííîé
ìîæåò áûòü èçìåíåíî
4
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
81 / 198
Îáðàáîòêà äàííûõ
Àðèôìåòè÷åñêèå îïåðàöèè
Îñíîâíûå àðèôìåòè÷åñêèå îïåðàöèè äëÿ öåëûõ INTEGER è âåùåñòâåííûõ REAL òèïîâ äàííûõ:
Îïåðàòîð Îïèñàíèå
+
Ñóììèðîâàíèå èëè çíàê ïëþñ
-
Âû÷èòàíèå èëè çíàê ìèíóñ
*
Óìíîæåíèå
/
Äåëåíèå
Ðåçóëüòàò àðèôìåòè÷åñêîé îïåðàöèè:
Îïåðàíäû
01/2006
INT
REAL
INT
INT
REAL
REAL
REAL
REAL
1
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð ïðîãðàììû
DEF
DEFARITH()
ARITH()
;------;-------Declaration
Declarationsection
section--------------INT
INTA,B,C
A,B,C
REAL
REALK,L,M
K,L,M
;-------;--------Initialization
Initializationsection
section------------- ;All
;Allvariables
variablesare
areinvalid
invalidprior
priortotoinitialization!
initialization!
AA== 22
;A=2
;A=2
BB== 9.8
;B=10
9.8
;B=10
CC== 7/4
;C=1
7/4
;C=1
KK== 3.5
;K=3.5
3.5
;K=3.5
LL == 0.1E01
;L=1.0
0.1E01
;L=1.0* *EEhave
havetotobe
beaacapital
capitalletter
letter
MM== 33
;M=3.0
;M=3.0
;------------;-------------Main
Mainsection-----------section-----------AA== AA* *CC
;A=2
;A=2
BB== BB- -'HB‘
;B=-1
'HB‘
;B=-1
CC== CC++KK
;C=5
;C=5
KK== KK* *10
;K=35.0
10
;K=35.0
LL == 10
;L=2.0
10/ /44
;L=2.0
LL == 10
;L=2.5
10/ /4.0
4.0
;L=2.5
LL == 10
;L=2.5
10/ /4.4.
;L=2.5
LL == 10./
;L=2.5
10./44
;L=2.5
CC== 10./
;C=3
10./4.4.
;C=3
MM== (10/3)
;M=9.0
(10/3)* *MM
;M=9.0
END
END
01/2006
2
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
84 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Îáðàáîòêà äàííûõ
Îïåðàòîðû ñðàâíåíèÿ
Èñïîëüçóÿ îïåðàòîðû ñðàâíåíèÿ, ìîæíî ñîçäàâàòü ëîãè÷åñêèå âûðàæåíèÿ.
Ðåçóëüòàò îïåðàöèè ñðàâíåíèÿ - âñåãäà èìååò òèï äàííûõ BOOL.
Îïåðàòîð
Îïèñàíèå
Ïðèìåíèì äëÿ òèïîâ äàííûõ
==
<>
ðàâíî
INT, REAL, CHAR, ENUM, BOOL
íå ðàâíî
INT, REAL, CHAR, ENUM, BOOL
>
áîëüøå, ÷åì
INT, REAL, CHAR, ENUM
<
ìåíüøå, ÷åì
INT, REAL, CHAR, ENUM
>=
áîëüøå, ÷åì/ðàâíî
INT, REAL, CHAR, ENUM
<=
ìåíüøå, ÷åì/ðàâíî
INT, REAL, CHAR, ENUM
Ïðèìåð: BOOL A,B
...
B = 10 < 3
A = 10/3 == 3
B = ((B == A) <> (10.00001 >= 10)) == TRUE
01/2006
;B=FALSE
;A=TRUE
;B=TRUE
3
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ëîãè÷åñêèå îïåðàòîðû
Ëîãè÷åñêèå îïåðàòîðû èñïîëüçóþòñÿ äëÿ ëîãè÷åñêèõ îïåðàöèé ñ Áóëåâûìè
ïåðåìåííûìè, êîíñòàíòàìè è ïðîñòûìè ëîãè÷åñêèìè âûðàæåíèÿìè.
Îïåðàòîð
01/2006
×èñëî îïåðàíäîâ Îïèñàíèå
NOT
1
Èíâåðñèÿ
AND
2
Ëîãè÷åñêîå È
OR
2
Ëîãè÷åñêîå ÈËÈ
EXOR
2
Èñêëþ÷àþùåå ÈËÈ
4
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
85 / 198
Îáðàáîòêà äàííûõ
Òàáëèöû èñòèííîñòè
Òàáëèöû èñòèííîñòè äëÿ ëîãè÷åñêèõ îïåðàöèé:
Îïåðàöèè
NOT A
A AND B
A OR B
A EXOR B
1
&
>1
=1
A=TRUE
B=TRUE
FALSE
TRUE
TRUE
FALSE
A=TRUE
B=FALSE
FALSE
FALSE
TRUE
TRUE
A=FALSE
B=TRUE
TRUE
FALSE
TRUE
TRUE
A=FALSE
B=FALSE
TRUE
FALSE
FALSE
FALSE
Ïðèìåð: ...
BOOL A,B,C
...
A = TRUE
B = NOT A
C = (A AND B) OR NOT (B EXOR NOT A)
A = NOT NOT C
...
01/2006
;A=TRUE
;B=FALSE
;C=TRUE
;A=TRUE
5
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Áèòîâûå îïåðàòîðû
Áèòîâûå îïåðàòîðû èñïîëüçóþòñÿ äëÿ âûïîëíåíèÿ ëîãè÷åñêèõ îïåðàöèé
íàä îòäåëüíûìè áèòàìè öåëîãî ÷èñëà.
Îïåðàòîð
×èñëî îïåðàíäîâ Îïèñàíèå
B_NOT
1
Ïîáèòîâàÿ èíâåðñèÿ
B_AND
2
Ïîáèòîâàÿ îïåðàöèÿ ëîãè÷åñêîå È
B_OR
2
Ïîáèòîâàÿ îïåðàöèÿ ëîãè÷åñêîå ÈËÈ
B_EXOR
2
Ïîáèòîâàÿ îïåðàöèÿ èñêëþ÷àþùåå ÈËÈ
Ïîñêîëüêó ê ñèìâîëó â êîäèðîâêå ASCII ìîæíî òàêæå îáðàòèòüñÿ, èñïîëüçóÿ
öåëî÷èñëåííûé êîä ASCII, òî òèï äàííûõ îïåðàíäîâ ìîæåò áûòü êàê ñèìâîëüíûì
(CHAR) òàê è öåëî÷èñëåííûì (INT). Íî ðåçóëüòàò âñåãäà áóäåò öåëî÷èñëåííûé (INT).
01/2006
6
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
86 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Îáðàáîòêà äàííûõ
Áèòîâûå îïåðàòîðû
23
22
21
20
8
4
2
1
1îå ÷èñëî
0
1
0
1
=5
2îå ÷èñëî
1
1
0
0
=12
B_AND
0
1
0
0
=4
B_OR
1
1
0
1
=13
B_EXOR
1
0
0
1
=9
Çíà÷åíèå
Ïðèìåð:
Ïîáèòîâàÿ èíâåðñèÿ ýòî íå ïðîñòàÿ èíâåðñèÿ âñåõ áèòîâ. Âìåñòî ýòîãî,
1 äîáàâëÿåòñÿ ê îïåðàíäó è èçìåíÿåò çíàê, íàïðèìåð:
B_NOT 10 = -11
or B_NOT -10 = 9
01/2006
7
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèîðèòåò îïåðàöèé
Îïåðàòîðû âûïîëíÿþòñÿ â ñëåäóþùåì ïîðÿäêå ïðèîðèòåòà.
Ïðèîðèòåò
Ïðèìåð:
01/2006
Îïåðàòîð
1
NOT
B_NOT
2
*
/
3
+
-
4
AND B_AND
5
EXOR
B_EXOR
6
OR
B_OR
7
==
<>
<
>
INT A,B
BOOL E,F
A=4
B=7
E = TRUE
F = FALSE
E = NOT E OR F AND NOT (-3 + A * 2 > B)
>=
<=
;E=FALSE
8
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
87 / 198
Îáðàáîòêà äàííûõ
Ñòàíäàðòíûå ôóíêöèè
Ñòàíäàðòíûå ôóíêöèè ïðåäíàçíà÷åíû äëÿ ìàòåìàòè÷åñêèõ âû÷èñëåíèé:
X=SIN (α)
X=COS (α)
01/2006
Îïèñàíèå
Ôóíêöèÿ
Ìîäóëü ÷èñëà
ABS (X)
Êâàäðàòíûé êîðåíü
SQRT (X)
Ñèíóñ
SIN (X)
Êîñèíóñ
COS (X)
Òàíãåíñ
TAN (X)
Àðêêîñèíóñ
ACOS (X)
Àðêòàíãåíñ
ATAN2 (Y, X)
α
9
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College
88 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ïðåîáðàçîâàíèå êîîðäèíàò â èíòåðïîëÿöèîííîì öèêëå (12 ìñ)
Ïðÿìîå ïðåîáðàçîâàíèå
A1,A2,A3,A4,A5,A6
X,Y,Z,A,B,C(,S,T)
Z
Y
X
Îáðàòíîå ïðåîáðàçîâàíèå
01/2006
1
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
Äåêàðòîâàÿ ñèñòåìà êîîðäèíàò
X
Y
Z
Ñèñòåìà êîîðäèíàò
èíñòðóìåíòà $TOOL
Z
Y
X
Z
Y
Z
X
Ñèñòåìà êîîðäèíàò
ðîáîòà
$ROBROOT
01/2006
Y
Áàçîâàÿ ñèñòåìà
êîîðäèíàò $BASE
X
Ìèðîâàÿ ñèñòåìà
êîîðäèíàò $WORLD
2
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
90 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Êèíåìàòè÷åñêàÿ ïîñëåäîâàòåëüíîñòü ñ èíòåðïîëÿöèåé, ñâÿçàííîé ñ áàçîé
$IPO_MODE=#BASE
X
Y $TOOL
Z
$POS_ACT
Z
Y
X
Z
Z
Y
Y
X
$ROBROOT
01/2006
$BASE
X
$WORLD
3
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
Êèíåìàòè÷åñêàÿ ïîñëåäîâàòåëüíîñòü ñ èíòåðïîëÿöèåé, ñâÿçàííîé ñ èíñòðóìåíòîì
$IPO_MODE=#TCP
X
Y $TOOL
Z
Z
$POS_ACT
Y
X
Z
Z
Y
Y
X
$ROBROOT
01/2006
X
$WORLD
$BASE
4
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
91 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Îáçîð
Îáçîð òèïîâ
òèïîâ äâèæåíèÿ
äâèæå
KUKA ðîáîò - âèäû äâèæåíèÿ (èíòåðïîëÿöèîííûå òèïû)
LIN
PTP
CIRC
Äâèæåíèå ïî òðàåêòîðèè
Äâèæåíèå ïî îñÿì
Ñàìîå áûñòðîå ïåðåìåùåíèå Öåíòð àêòèâíîãî â
Öåíòð àêòèâíîãî â íàñòîÿùåå
ìåæäó äâóìÿ òî÷êàìè.
íàñòîÿùåå âðåìÿ
âðåìÿ èíñòðóìåíòà äâèæåòñÿ
èíñòóìåíòà äâèæåòñÿ âäîëü ïî îïðåäåëåííîìó êðóãîâîìó ïóòè.
Ñèñòåìà óïðàâëåíèÿ
ïðÿìîé ëèíèè èç íà÷àëüíîé
ðàññ÷èòûâàåò òðåáóåìóþ
òî÷êè â êîíå÷íóþ.
ðàçíèöó óãëîâ.
P2
P2
P2
P1
P1
P1
01/2006
1
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
BCO ïåðåìåùåíèå
• Ïåðåä îòðàáîòêîé ïðîãðàììû äîëæåí áûòü âûïîëíåí
áëîê ñîîòâåòñòâèé (BCO-block coincidence).
• Ýòî äîñòèãàåòñÿ íàæàòèåì êëàâèøè Start ïîñëå âûáîðà
ïðîãðàììû.
• Ðîáîò äâèæåòñÿ àâòîìàòè÷åñêè íà óìåíüøåííîé ñêîðîñòè
• Ïî äîñòèæåíèè ðîáîòîì çàïðîãðàììèðîâàííîãî ïóòè ïðîãðàììà
ìîæåò áûòü ïðîäîëæåíà ïîâòîðíûì íàæàòèåì êëàâèøè Start.
HOME ïåðåìåùåíèå ðåêîìåíäóåòñÿ è äëÿ ïåðâîãî
è äëÿ ïîñëåäíåãî äâèæåíèÿ, êàê ïðåäñòàâëåííàÿ
îäíîçíà÷íî îïðåäåëåííàÿ íåêðèòè÷åñêàÿ ïîçèöèÿ.
BCO ïåðåìåùåíèå íåâûïîëíèìî â ðåæèìå
Âíåøíåé Àâòîìàòèêè!
01/2006
2
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
94 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
PTP äâèæåíèå - óïðîùåííîå
V
Ôàçà
óñêîðåíèÿ
Ïîñòîÿííàÿ ôàçà
Vmax
Ôàçà çàìåäëåíèÿ
Axis 3
Axis 4
Axis 2
t
01/2006
3
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
PTP äâèæåíèå - áîëåå âûñîêèé ïðîôèëü äâèæåíèÿ
Áîëåå âûñîêèé ïðîôèëü äâèæåíèÿ èñïîëüçóåòñÿ êàê ñòàíäàðò äëÿ äâèæåíèé PTP.
V
Ôàçà
çàìåäëåíèÿ
Ïîñòîÿííàÿ ôàçà
Óìåíüøåíèå
ñêîðîñòè èç-çà
âûñêîãî ìîìåíòà
Ïîñòîÿííàÿ
ôàçà
Ôàçà
óñêîðåíèÿ
Vmax
t
01/2006
4
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
95 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
PTP äâèæåíèå - ñïåöèôè÷åñêîå ïî îñÿì
Ñêîðîñòè è óñêîðåíèÿ îñåé äîëæíû áûòü èíèöèàëèçèðîâàíû
ïåðåä âûïîëíåíèåì PTP - ïåðåìåùåíèé.
Âåëè÷èíû óêàçàíû â %.
DEF
DEFPTP_AXIS
PTP_AXIS(())
INT
INTXX
INI
;Initialization
INI
;Initialization
...
...
FOR
FORX=1
X=1TO
TO66
$ACC_AXIS[X]=70
;Modification
$ACC_AXIS[X]=70
;Modificationof
ofthe
theaxis
axisaccelerations
accelerations
$VEL_AXIS[X]=70
;Modification
of
the
axis
velocities
$VEL_AXIS[X]=70
;Modification of the axis velocities
ENDFOR
ENDFOR
...
...
PTP
PTP{AXIS:
{AXIS:A1
A10,
0,A2
A2–90,
–90,A3
A390,
90,A4
A40,
0,A5
A50,
0,A6
A60}
0}
...
...
END
END
01/2006
5
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
PTP äâèæåíèå - Äåêàðòîâîå
Êîîðäèíàòû áàçû è èíñòðóìåíòà òàêæå äîëæíû áûòü îïðåäåëåíû
ïðè ââîäå òî÷êè ñ èñïîëüçîâàíèåì Äåêàðòîâûõ êîîðäèíàò.
DEF
DEFPTP_AXIS
PTP_AXIS(())
INT
X
INT X
INI
INI
$BASE=BASE_DATA[1]
$BASE=BASE_DATA[1] ;Setting
;Settingthe
thebase
basecoordinate
coordinatesystem
system
$TOOL=TOOL_DATA[3]
;Setting
the
tool
coordinate
$TOOL=TOOL_DATA[3] ;Setting the tool coordinatesystem
system
FOR
FORX=1
X=1TO
TO66
$ACC_AXIS[X]=70
;Modification
$ACC_AXIS[X]=70
;Modificationofofthe
theaxis
axisaccelerations
accelerations
$VEL_AXIS[X]=70
;Modification
$VEL_AXIS[X]=70
;Modificationof
ofthe
theaxis
axisvelocities
velocities
ENDFOR
ENDFOR
...
...
PTP
PTP{POS:X
{POS:X1025,
1025,YY0,
0,ZZ1480,
1480,AA0,
0,BB0,
0,CC0}
0}
...
...
END
END
01/2006
6
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
96 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèé
Ñïåöèôè÷åñêîå äâèæåíèå ïî îñÿì - àáñîëþòíîå è îòíîñèòåëüíîå
Àáñîëþòíîå
PTP {A3 45}
A3 = 90°
Àêòóàëüíàÿ ïîçèöèÿ
Îòíîñèòåëüíîå
PTP_REL {A3 45}
01/2006
7
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Äåêàðòîâîå äâèæåíèå ïî îñÿì - àáñîëþòíîå è îòíîñèòåëüíîå
PTP_REL {X 50, Y 50}
Z
PTP {X 50, Y 50}
Y in [mm]
200
150
100
50
50
01/2006
100
150
200
X in [mm]
8
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
97 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Îáçîð
Îáçîð òèïîâ
òèïîâ äâèæåíèÿ
äâèæå
KUKA ðîáîò - âèäû äâèæåíèÿ (èíòåðïîëÿöèîííûå òèïû)
LIN
PTP
CIRC
Äâèæåíèå ïî òðàåêòîðèè
Äâèæåíèå ïî îñÿì
Ñàìîå áûñòðîå ïåðåìåùåíèå Öåíòð àêòèâíîãî â
Öåíòð àêòèâíîãî â íàñòîÿùåå
ìåæäó äâóìÿ òî÷êàìè.
íàñòîÿùåå âðåìÿ
âðåìÿ èíñòðóìåíòà äâèæåòñÿ
èíñòóìåíòà äâèæåòñÿ âäîëü ïî îïðåäåëåííîìó êðóãîâîìó ïóòè.
Ñèñòåìà óïðàâëåíèÿ
ïðÿìîé ëèíèè èç íà÷àëüíîé
ðàññ÷èòûâàåò òðåáóåìóþ
òî÷êè â êîíå÷íóþ.
ðàçíèöó óãëîâ.
P2
P2
P2
P1
P1
P1
01/2006
1
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College
CP äâèæåíèÿ (CP = Continuous Path)
Ñêîðîñòè è óñêîðåíèÿ ïåðåìåùåíèÿ, âðàùåíèÿ è ïîâîðîòà äîëæíû
áûòü èíèöèàëèçèðîâàíû ïåðåä âûïîëíåíèåì CP äâèæåíèé.
Èìÿ ïåðåìåííîé
Ñêîðîñòü
Óñêîðåíèå
01/2006
Òèï
Åäèíèöà
Ôóíêöèÿ
$VEL.CP
REAL
m/s
Ñêîðîñòü ïåðåìåùåíèÿ
$VEL.ORI1
REAL
°/s
Ñêîðîñòü âðàùåíèÿ
$VEL.ORI2
REAL
°/s
Ñêîðîñòü ïîâîðîòà
$ACC.CP
REAL
m/s²
Óñêîðåíèå ïåðåìåùåíèÿ
$ACC.ORI1
REAL
°/s²
Óñêîðåíèå âðàùåíèÿ
$ACC.ORI2
REAL
°/s²
Óñêîðåíèå ïîâîðîòà
2
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
100 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Äâèæåíèÿ ïî òðàåêòîðèè - àáñîëþòíûå è îòíîñèòåëüíûå
Ïîñëå èíèöèàëèçàöèè îñíîâíîãî ïàêåòà, ïàðàìåòðû
ñêîðîñòåé è íîðìû óñêîðåíèé CP äâèæåíèé òàêæå
óñòàíàâëèâàþòñÿ ïî óìîë÷àíèþ â ìàêñèìàëüíûå çíà÷åíèÿ,
îïðåäåëåííûå â ìàøèííûõ äàííûõ èëè $CONFIG.DAT.
DEFDAT
DEFDAT$CONFIG
$CONFIG
...
...
; ;CP
CP- -MOVEMENTS
MOVEMENTS
;---------------------------------;---------------------------------DECL
DECLCIRC_TYPE
CIRC_TYPEDEF_CIRC_TYP=#BASE
DEF_CIRC_TYP=#BASE
REAL
DEF_VEL_CP=2.00
REAL DEF_VEL_CP=2.00
REAL
REALDEF_VEL_ORI1=200.0
DEF_VEL_ORI1=200.0
REAL
REALDEF_VEL_ORI2=200.0
DEF_VEL_ORI2=200.0
REAL
REALDEF_ACC_CP=2.3
DEF_ACC_CP=2.3
REAL
REALDEF_ACC_ORI1=100.0
DEF_ACC_ORI1=100.0
REAL
REALDEF_ACC_ORI2=100.0
DEF_ACC_ORI2=100.0
......
ENDDAT
ENDDAT
01/2006
3
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Äâèæåíèÿ ïî òðàåêòîðèè - àáñîëþòíûå è îòíîñèòåëüíûå
Ïåðâîå äâèæåíèå â ïðîãðàììå äîëæíî áûòü PTP.
DEF
DEFCPMOTION
CPMOTION( () )
INI
INI
$BASE=BASE_DATA[1]
;Setting
$BASE=BASE_DATA[1]
;Settingthe
thebase
basecoordinate
coordinatesystem
system
$TOOL=TOOL_DATA[3]
;Setting
$TOOL=TOOL_DATA[3]
;Settingthe
thetool
toolcoordinate
coordinatesystem
system
$VEL.CP=1.0
;Modification
$VEL.CP=1.0
;Modificationofofvelocities
velocities
$VEL.ORI1=150
$VEL.ORI1=150
$VEL.ORI2=100
$VEL.ORI2=100
;Modification
$ACC.CP=1.7
;Modificationofofaccelerations
accelerations
$ACC.CP=1.7
$ACC.ORI1=80
$ACC.ORI1=80
$ACC.ORI2=80
$ACC.ORI2=80
......
PTP
PTPHOME
HOME
;Absolute
LIN
;Absolutecoordinate
coordinatespecification
specification
LIN{X
{X1050,
1050,ZZ900}
900}
LIN_REL
{X
100,
Y
250,
Z
125}
;Relative
distance
LIN_REL {X 100, Y 250, Z 125} ;Relative distancespecification
specification
......
END
END
01/2006
4
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
101 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Êðóãîâîå äâèæåíèå
CIRC Aux_Point , End_Point , CA Circular_Angle
Àðãóìåíò
Îáúÿñíåíèå
Aux_Point
Êîîðäèíàòà âñïîìîãàòåëüíîé òî÷êè - ñïåöèôèöèðóåòñÿ ïîñðåäñòâîì
ôîðìóëÿðà èëè ïî íàçâàíèþ ïóíêòà â ïåðå÷íå äàííûõ
End_Point
Êîîðäèíàòà êîíå÷íîé òî÷êè - ñïåöèôèöèðóåòñÿ ïîñðåäñòâîì ôîðìóëÿðà
èëè ïî íàçâàíèþ ïóíêòà â ïåðå÷íå äàííûõ
Circular_
Angle
CA = Êðóãîâîé Óãîë
Êðóãîâîé óãîë â ãðàäóñàõ
Ïðè ñïåöèôèöèðîâàíèè âñïîìîãàòåëüíîé èëè êîíå÷íîé
òî÷êè ïîñðåäñòâîì ôîðìóëÿðà, óáåäèòåñü â ïðàâèëüíîì
âûáîðå èíñòðóìåíòà è ñèñòåìû êîîðäèíàò áàçû!
01/2006
5
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
Êðóãîâîå äâèæåíèå
CA > 0°
Êðóã âûïîëíÿòñÿ â çàïðîãðàììèðîâàííîì íàïðàâëåíèè:
ñòàðòîâàÿ òî÷êà - âñïîìîãàòåëüíàÿ òî÷êà - êîíå÷íàÿ òî÷êà
CA < 0°
Êðóã âûïîëíÿòñÿ â íàïðàâëåíèè, ïðîòèâîïîëîæíîì çàïðîãðàììèðîâàííîìó:
ñòàðòîâàÿ òî÷êà - êîíå÷íàÿ òî÷êà âñïîìîãàòåëüíàÿ òî÷êà
Óãëû îðèåíòàöèè â "ðàñ÷åòíîé" òî÷êå íàçíà÷åíèÿ èäåíòè÷íû óãëàì
îðèåíòàöèè â òî÷êå íàçíà÷åíèÿ, êîòîðàÿ áûëà ïîëó÷åíà "îáó÷åíèåì".
CA = 290°
Çàïðîãðàììèðîâàííàÿ CA = -290°
êîíå÷íàÿ òî÷êà
Àêòóàëüíàÿ
êîíå÷íàÿ òî÷êà
Âñïîìîãàòåëüíàÿ
Âñïîìîãàòåëüíàÿ òî÷êà
Àêòóàëüíàÿ
êîíå÷íàÿ òî÷êà
Çàïðîãðàììèðîâàííàÿ
êîíå÷íàÿ òî÷êà
Ñòàðòîâàÿ òî÷êà
Ñòàðòîâàÿ òî÷êà
01/2006
6
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College
102 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Óïðàâëåíèå îðèåíòàöèåé ïðè LIN äâèæåíèÿõ
Ïåðåìåííàÿ
$ORI_TYPE
Çíà÷åíèå
#CONSTANT
$ORI_
TYP
01/2006
Îïèñàíèå
Îðèåíòàöèÿ îñòàåòñÿ ïîñòîÿííîé
âî âðåìÿ âûïîëíåíèÿ CP äâèæåíèÿ.
Îðèåíòàöèÿ, çàïðîãðàììèðîâàííàÿ
â êîíå÷íîé òî÷êå, èãíîðèðóåòñÿ.
E = #C
ONST
ANT
1
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Óïðàâëåíèå îðèåíòàöèåé ïðè LIN äâèæåíèÿõ
Ïåðåìåííàÿ
$ORI_TYPE
Çíà÷åíèå
#VAR
Îïèñàíèå
Âî âðåìÿ âûïîëíåíèÿ CP äâèæåíèÿ
îðèåíòàöèÿ íåïðåðûâíî èçìåíÿåòñÿ
ê îðèåíòàöèè â êîíå÷íîé òî÷êå.
$ORI_
TYPE
= #VA
R
01/2006
2
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
104 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Óïðàâëåíèå îðèåíòàöèåé ïðè LIN äâèæåíèÿõ
Ïåðåìåííàÿ
$ORI_TYPE
01/2006
Çíà÷åíèå
#JOINT
Îïèñàíèå
Âî âðåìÿ äâèæåíèÿ îðèåíòàöèÿ
èíñòðóìåíòà íåïðåðûâíî ìåíÿåòñÿ
îò ñòàðòîâîé ê êîíå÷íîé òî÷êå.
Ýòî äîñòèãàåòñÿ ëèíåéíîé
òðàíñôîðìàöèåé îñåâûõ óãëîâ êèñòè.
Èñïîëüçóÿ ýòó îïöèþ, ìîæíî èçáåæàòü
ïðîáëåì îñîáåííîñòè êèñòè, òàê êàê
ïðè ýòîì îòñóòñòâóåò îðèåíòàöèîííîå
óïðàâëåíèå âðàùåíèåì è ïîâîðîòîì
íàïðàâëåíèÿ èíñòðóìåíòà.
3
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïåðåìåííûå äëÿ óïðàâëåíèÿ îðèåíòàöèåé ïðè êðóãîâûõ äâèæåíèÿõ
Ïåðåìåííàÿ
Çíà÷åíèå
Îïèñàíèå
$ORI_TYPE
#CONSTANT
Îðèåíòàöèÿ îñòàåòñÿ ïîñòîÿííîé âî
âðåìÿ âûïîëíåíèÿ êðóãîâîãî äâèæåíèÿ.
Îðèåíòàöèÿ, çàïðîãðàììèðîâàííàÿ â
êîíå÷íîé òî÷êå, èãíîðèðóåòñÿ.
$ORI_TYPE
#VAR
Âî âðåìÿ âûïîëíåíèÿ êðóãîâîãî
äâèæåíèÿ îðèåíòàöèÿ íåïðåðûâíî
èçìåíÿåòñÿ ê êîíå÷íîé òî÷êå.
$CIRC_TYPE
#BASE
Ïðîñòðàíñòâåííî-çàâèñèìîå óïðàâëåíèå
îðèåíòàöèåé ïðè êðóãîâîì äâèæåíèè
$CIRC_TYPE
#PATH
Çàâèñèìîå îò ïóòè óïðàâëåíèå
îðèåíòàöèåé ïðè êðóãîâîì äâèæåíèè
Ïåðåìåííàÿ "$CIRC_TYPE" íå èìååò ñìûñëà â ñëó÷àå ëèíåéíîé
òðàíñôîðìàöèè óãëîâ îñåé êèñòè ïðè "$ORI_TYPE = #JOINT".
01/2006
4
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
105 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Óïðàâëåíèå îðèåíòàöèåé ïðè êðóãîâûõ äâèæåíèÿõ
$ORI_TYPE = #CONSTANT
$CIRC_TYPE = #PATH
01/2006
5
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Óïðàâëåíèå îðèåíòàöèåé ïðè êðóãîâûõ äâèæåíèÿõ
$ORI_TYPE = #VAR
$CIRC_TYPE = #PATH
01/2006
6
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
106 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Óïðàâëåíèå îðèåíòàöèåé ïðè êðóãîâûõ äâèæåíèÿõ
$ORI_TYPE = #CONSTANT
$CIRC_TYPE = #BASE
01/2006
7
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Óïðàâëåíèå îðèåíòàöèåé ïðè êðóãîâûõ äâèæåíèÿõ
$ORI_TYPE = #VAR
$CIRC_TYPE = #BASE
01/2006
8
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
107 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Êîìïüþòåðíîå îïåðåæåíèå (ïðåïðîöåññîð)
×òî òàêîå ïðåïðîöåññîð?
Îñíîâíîé óêàçàòåëü (áåëàÿ ñòðîêà), êîòîðûé ìîæåò âûäåëÿòüñÿ â GUI âî âðåìÿ
âûïîëíåíèÿ ïðîãðàììû, âñåãäà ïîêàçûâàåò áëîê, êîòîðûé âûïîëíÿåòñÿ â
íàñòîÿùåå âðåìÿ. Óêàçàòåëü ïðåïðîöåññîðà, íàîáîðîò, íåâèäèì è îïåðåæàåò
îñíîâíîé óêàçàòåëü íà òðè áëîêà äâèæåíèÿ (ïî óìîë÷àíèþ).
Êàêîâû ôóíêöèè óêàçàòåëÿ ïðåïðîöåññîðà?
Äëÿ âîçìîæíîñòè ïðîñ÷åòà òðàåêòîðèè, íàïðèìåð, àïïðîêñèìàöèè äâèæåíèÿ,
âîçíèêàåò íåîáõîäèìîñòü ïðî÷òåíèÿ äàííûõ î çàïëàíèðîâàííîé òðàåêòîðèè ñ
èñïîëüçîâàíèåì óêàçàòåëÿ ïðåïðîöåññîðà. Ïðè ýòîì îáðàáàòûâàþòñÿ íå òîëüêî äàííûå
äâèæåíèÿ, íî òàêæå è àðèôìåòè÷åñêèå äàííûå è êîìàíäû óïðàâëåíèÿ ïåðèôåðèåé.
Êàêîå âëèÿíèå îêàçûâàåò óêàçàòåëü ïðåïðîöåññîðà?
Èíñòðóêöèè è äàííûå, îêàçûâàþùèå âîçäåéñòâèå íà ïåðèôåðèþ (íàïðèìåð,
èíñòðóêöèè âõîäà/âûõîäà), îñòàíàâëèâàþò ïðåïðîöåññîð. Åñëè ïðåïðîöåññîð
îñòàíîâëåí, àïïðîêñèìàöèÿ ïîçèöèè íå ìîæåò áûòü âûïîëíåíà.
01/2006
1
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
Óêàçàòåëü ïðåïðîöåññîðà
Ïåðåìåííàÿ $ADVANCE îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî áëîêîâ äâèæåíèÿ,
êîòîðîå ïðåïðîöåññîð ìîæåò îáðàáîòàòü ïåðåä óêàçàòåëåì ïðîãðàììû.
Îäíàêî, àêòóàëüíîå çíà÷åíèå îïåðåæåíèÿ çàâèñèò îò âîçìîæíîñòåé êîìïüþòåðà.
Ñèíòàêñèñ:
$ADVANCE = Value
Çíà÷åíèå
01/2006
Îáúÿñíåíèå
0
Àïïðîêñèìàöèÿ íåâîçìîæíà, êàæäàÿ òî÷êà ïîçèöèîíèðóåòñÿ
1
Ìèíèìàëüíîå çíà÷åíèå, ðàçðåøàþùåå àïïðîêñèìàöèþ
3
Çíà÷åíèå ïî óìîë÷àíèþ
5
Ìàêñèìàëüíîå çíà÷åíèå
2
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
110 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ïîçèöèÿ óêàçàòåëÿ ïðåïðîöåññîðà
Îñíîâíîé óêàçàòåëü
Óêàçàòåëü ïðåïðîöåññîðà
01/2006
3
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
Àâòîìàòè÷åñêèé îñòàíîâ îïåðåæåíèÿ
Èíñòðóêöèè è äàííûå, îêàçûâàþùèå âîçäåéñòâèå íà ïåðèôåðèþ (íàïðèìåð
èíñòðóêöèè âõîäà/âûõîäà), èëè îñíîâàííûå íà òåêóùåì ñîñòîÿíèè ðîáîòà,
îñòàíàâëèâàþò ïðåïðîöåññîð. Ýòî íåîáõîäèìî äëÿ ãàðàíòèðîâàíèÿ
ïðàâèëüíîé ïîñëåäîâàòåëüíîñòè êîìàíä è äâèæåíèé ðîáîòà.
Êîìàíäû
HALT
WAIT
ANIN ON/OFF
Îáùåèñïîëüçóåìûå
ñèñòåìíûå ïåðåìåííûå
$IN[x]
$OUT[x]
$ANIN[x] $ANOUT[x]
PULSE
ANOUT ON/OFF
Èìïîðòèðîâàííûå ïåðåìåííûå Âñå, êîãäà èìååòñÿ äîñòóï
Ïîëíàÿ òàáëèöà êîìàíä, àâòîìàòè÷åñêè îñòàíàâëèâàþùèõ ïðåïðîöåññîð
ìîæåò áûòü íàéäåíà â äîêóìåíòàöèè (ñì. CD ñ äîêóìåíòàöèåé)
01/2006
4
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
111 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
CONTINUE
Ñèíòàêñèñ:
CONTINUE
 ïðèëîæåíèÿõ, ãäå îñòàíîâêà ïðåïðîöåññîðà äîëæíà áûòü
ïðåäîòâðàùåíà, êîìàíäà CONTINUE äîëæíà áûòü âñòàâëåíà
â ïðîãðàììó ñðàçó ïåðåä óìåñòíîé èíñòðóêöèåé. Â ýòîì
ñëó÷àå ñèñòåìà óïðàâëåíèÿ ïîçâîëèò ïðîäîëæèòü îïåðåæåíèå.
Äåéñòâèå ýòîé êîìàíäû îãðàíè÷åíî ñëåäóþùåé
ñòðîêîé ïðîãðàììû (äàæå, åñëè ýòà ñòðîêà ïóñòàÿ!!).
01/2006
5
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå ñ èñïîëüçîâàíèåì CONTINUE
Ñèíòàêñèñ:
CONTINUE
Óñëîâèå èëè ïðèñâîåíèå çíà÷åíèÿ âûïîëíåíû ñ
îïåðåæåíèåì, íî òåïåðü ïîÿâèëàñü âîçìîæíîñòü
àïïðîêñèìèðîâàòü ïðåäûäóùóþ òî÷êó
DEF EXIT_PRO ( )
...
PTP XP9 C_PTP
CONTINUE
WAIT FOR $IN[14] == TRUE
...
END
01/2006
6
continue_en.ppt
© Copyright by KUKA Roboter GmbH College
112 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå ñ ïîìîùüþ PTP êîìàíä
PTP Point_Name (or coordinate) C_PTP
• Âåëè÷èíà äèàïàçîíà àïïðîêñèìàöèè ïîçèöèîíèðîâàíèÿ óñòàíàâëèâàåòñÿ
ñ èñïîëüçîâàíèåì ïåðåìåííîé $APO.CPTP (in %)
• Ìàêñèìóì äèñòàíöèè àïïðîêñèìèðîâàíèÿ îãðàíè÷åí â ìàøèííûõ
äàííûõ äî 90° äëÿ âñåõ îñåé
DEF
DEFPTP_AXIS_CPTP
PTP_AXIS_CPTP(())
...
...
$APO.CPTP
$APO.CPTP==50
50
...
...
PTP
PTPXHOME
XHOME
PTP
PTP{AXIS:
{AXIS:A1
A180,
80,A2
A2–40,
–40,A3
A30,0,A4
A40,0,A5
A50,
0,A6
A6-90}
-90}C_PTP
C_PTP
PTP
XPOINT1
C_PTP
PTP XPOINT1 C_PTP
...
...
END
END
01/2006
1
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð PTP-PTP àïïðîêñèìèðîâàííîãî ïîçèöèîíèðîâàíèÿ
PTP {POS:X 1159.08,Y -232.06,Z 716.38,A 171.85,B 67.32,C 162.65,S 2,T 10}
PTP {POS:X 1246.93,Y -98.86,Z 715,A 125.1,B 56.75,C 111.66,S 2,T 10} C_PTP
PTP {POS:X 1109.41,Y -0.51,Z 715,A 95.44,B 73.45,C 70.95,S 2,T 10}
$APO.CPTP=20
PTP {POS:X 1296.61,Y 133.41,Z 715,A 150.32,B 55.07,C 130.23,S 2,T 11} C_PTP
PTP {POS:X 988.45,Y 238.53,Z 715,A 114.65,B 50.46,C 84.62,S 2,T 11} C_PTP
PTP {POS:X 1209.5,Y 381.09,Z 715,A -141.91,B 82.41,C -159.41,S 2,T 11}
Êîíå÷íàÿ òî÷êà
Íà
ïð
àâ
ëå
íè
åä
Ñòàðòîâàÿ òî÷êà
âè
æå
íè
ÿ
$APO.CPTP=20
01/2006
2
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
114 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå â CP äâèæåíèÿõ
Ïåðåìåííàÿ
$APO.CDIS
mm
(Äèñòàíöèÿ)
REAL
$APO.CORI
°
(Îðèåíòàöèÿ)
REAL
$APO.CVEL
%
(Ñêîðîñòü)
01/2006
Åäèíèöà/
Òèï äàííûõ
INT
Îïèñàíèå
Ïðèçíàê
Äèñòàíöèÿ äî êîíå÷íîé
òî÷êè äîëæíà áûòü ìåíüøå,
÷åì çíà÷åíèå $APO.CDIS
C_DIS
Äîìèíèðóþùèé îðèåíòàöèîííûé
óãîë äîëæåí áûòü ìåíüøå,
÷åì çíà÷åíèå $APO.CORI
C_ORI
Ñêîðîñòü â ôàçå çàìåäëåíèÿ
â êîíå÷íóþ òî÷êó äîëæíà
áûòü ìåíüøå,
÷åì çíà÷åíèå $APO.CVEL
C_VEL
3
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå â CP äâèæåíèÿõ
LIN Point_Name (or coordinate) Approximate_Positioning_Criterion
Âåëè÷èíà äèàïàçîíà àïïðîêñèìàöèè ïîçèöèîíèðîâàíèÿ óñòàíàâëèâàåòñÿ
ñ èñïîëüçîâàíèåì ïåðåìåííûõ $APO.CDIS, $APO.CVEL è $APO.CORI
DEF
DEFLIN_CIRC_CONT
LIN_CIRC_CONT( () )
......
$APO.CVEL
$APO.CVEL==50
50
$APO.CDIS
$APO.CDIS==20
20
$APO.CORI
$APO.CORI==20
20
......
PTP
PTPXHOME
XHOME
LIN_REL
LIN_REL{X
{X-500,
-500,ZZ250,
250,AA50,
50,CC90}
90}C_VEL
C_VEL
CIRC
XHP,
XZP,
CA
270
C_ORI
CIRC XHP, XZP, CA 270 C_ORI
LIN
LIN{X
{X1050,
1050,YY120,
120,ZZ1000,
1000,AA0,0,BB0,0,CC0}
0}C_DIS
C_DIS
......
END
END
01/2006
4
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03.
115 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ïðèìåð LIN-LIN àïïðîêñèìèðîâàííîãî ïîçèöèîíèðîâàíèÿ
PTP {POS: X 1159.08,Y -232.06,Z 716.38,A 171.85,B 67.32,C 162.65,S 2,T 10}
$APO.CDIS=20
LIN {X 1246.93,Y -98.86,Z 715,A 125.1,B 56.75,C 111.66} C_DIS
LIN {X 1109.41,Y -0.51,Z 715,A 95.44,B 73.45,C 70.95}
LIN {X 1296.61,Y 133.41,Z 714.99,A 150.32,B 55.07,C 130.23} C_ORI
LIN {X 988.45,Y 238.53,Z 714.99,A 114.65,B 50.46,C 84.62} C_VEL
LIN {X 1209.5,Y 381.09,Z 715,A -141.91,B 82.41,C -159.41}
Êîíå÷íàÿ òî÷êà
Íà
ïð
àâ
$APO.CDIS=20
ëå
íè
åä
âè
æå
Ñòàðòîâàÿ òî÷êà
01/2006
íè
ÿ
5
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
PTP-CP àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå
CP motion (CP = Continuous Path) = LIN or CIRC
Program:
Program:
......
LIN
LINP1
P1
LIN
LINP2
P2C_DIS
C_DIS
PTP
PTPP3
P3
......
Ñòîë
Ïðîáëåìà çäåñü ñîñòîèò â òîì, ÷òî àïïðîêñèìèðîâàííîå äâèæåíèå
íåïðåäñêàçóåìî. Ñóùåñòâóåò âîçìîæíîñòü ñòîëêíîâåíèÿ ñî ñòîëîì.
01/2006
6
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
116 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
PTP-CP àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå
Äëÿ ïðåäîòâðàùåíèÿ âûøåóïîìÿíóòîé ïðîáëåìû, èçáåãàÿ òî÷íîãî
ïîçèöèîíèðîâàíèÿ, äîëæíî áûòü äîáàâëåíî CP äâèæåíèå (P2_AUX).
Program:
Program:
P2_AUX
......
LIN
LINP1
P1
LIN
LINP2
P2C_DIS
C_DIS
LIN
LINP2_AUX
P2_AUXC_DIS
C_DIS
PTP
PTPP3
P3
......
Ñòîë
01/2006
7
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïðèìåð CIRC-CIRC àïïðîêñèìèðîâàííîãî ïîçèöèîíèðîâàíèÿ
PTP {POS: X 980,Y -238,Z 718,A 133,B 66,C 146,S 6,T 50}
$APO.CDIS=20
CIRC {X 925,Y -285,Z 718},{X 867,Y -192,Z 718,A 155,B 75,C 160} C_DIS
$ORI_TYPE=#CONST
CIRC {X 982,Y -221,Z 718,A 50,B 60,C 0},{X 1061,Y -118,Z 718,A -162,B 60,C 177}, CA 150 C_ORI
…
CIRC {X 963.08,Y -85.39,Z 718},{X 892.05,Y 67.25,Z 718.01,A 97.34,B 57.07,C 151.11} C_ORI
$APO.CVEL=50
CIRC_REL {X -50,Y 50},{X 0,Y 100} C_VEL
$APO.CDIS=40
CIRC_REL {X -50,Y 50},{X 0,Y 100} C_DIS
Ñòàðòîâàÿ òî÷êà
CIRC_REL {X -50,Y 50},{X 0,Y 100}
Êîíå÷íàÿ òî÷êà
01/2006
8
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
117/ 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå êîíòóðà ñ LIN-CIRC áëîêàìè
Àïïðîêñèìèðîâàííîå ïîçèöèîíèðîâàíèå ïóòè ñîñòîèò èç äâóõ
ïàðàáîëè÷åñêèõ ñåãìåíòîâ, êîòîðûå èìåþò òàíãåíöèàëüíûé
ïåðåõîä äðóã ê äðóãó, à òàêæå ê èíäèâèäóàëüíûì áëîêàì.
Êîíåö àïïðîêñèìàöèè ïîçèöèîíèðîâàíèÿ
Ñòàðò àïïðîêñèìàöèè ïîçèöèîíèðîâàíèÿ
01/2006
9
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College
118 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ñòàòóñ è Ïîâîðîò
Çàïèñè "S" è "T" â POS ñòðóêòóðå ñëóæàò äëÿ âûáîðà ñïåöèôè÷åñêîé,
îäíîçíà÷íî îïðåäåëåííîé ïîçèöèè ðîáîòà, êîãäà âîçìîæíû íåñêîëüêî
ðàçëè÷íûõ ïîëîæåíèé îñåé äëÿ äîñòèæåíèÿ îäíîé è òîé æå òî÷êè.
Óêàçàíèå Ñòàòóñà è Ïîâîðîòà èìååò çíà÷åíèå òîëüêî
äëÿ PTP äâèæåíèÿ. Èìåííî ïîýòîìó, ïåðâîå äâèæåíèå
ïðè âûïîëíåíèè ïðîãðàììû, äîëæíî áûòü PTP.
DEFDAT
DEFDATMAIN_PROGRAM
MAIN_PROGRAM(())
DECL
DECLPOS
POSXPOINT1={X
XPOINT1={X900,
900,YY0,
0,ZZ800,
800,AA0,
0,BB0,
0,CC0,
0,SS6,6,TT27}
27}
DECL
FDAT
FPOINT1...
DECL FDAT FPOINT1...
...
...
STATUS
TURN
ENDDAT
ENDDAT
01/2006
1
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñòàòóñ è Ïîâîðîò
01/2006
Status = 1
Turn = 46
Status = 2
Turn = 43
Status = 6
Turn = 59
Status = 4
Turn = 63
2
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
120 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ïîâîðîò
Äëÿ îñåé âðàùåíèÿ , èíäèâèäóàëüíûå áèòû îïðåäåëÿþò âåëè÷èíó
çíàêà îñè ñëåäóþùèì îáðàçîì:
Áèò x = 0: óãîë îñè x ≥ 0°
Áèò x = 1: óãîë îñè x < 0°
Çíà÷åíèå Áèò 5
Áèò 4
Áèò 3
Áèò 2
Áèò 1
Áèò 0
0
A6 ≥ 0° A5 ≥ 0° A4 ≥ 0° A3 ≥ 0° A2 ≥ 0° A1 ≥ 0°
1
A6 < 0° A5 < 0° A4 < 0° A3 < 0° A2 < 0° A1 < 0°
Ïðèìåð:
Ñïåöèôèêàöèÿ T 19 Æ T‘B010011‘
Îñè A1, A2 è A5 îòðèöàòåëüíû; îñè A3, A4 è A6 ïîëîæèòåëüíû
01/2006
3
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñòàòóñ - ÁÈÒ 0: Ïîçèöèÿ êîðíåâîé òî÷êè êèñòè
Wrist root point
BA = Basic area
Æ Bit 0 = 0
OHA = Overhead area
Æ Bit 0 = 1
01/2006
4
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
121 / 198
Ïðîãðàììèðîâàíèå äâèæåíèÿ
Ñòàòóñ - ÁÈÒ 1: êîíôèãóðàöèÿ Ðóêè
Îñü 5
Îñü 3
Îñü 2
Ñìåùåíèå
Áèò 1 óêàçûâàåò ïîëîæåíèå ðóêè. Çíà÷åíèå
áèòà çàâèñèò îò èñïîëüçóåìîé ìîäåëè ðîáîòà.
Äëÿ ðîáîòîâ, îñè 3 è 4 êîòîðûõ ïåðåñåêàþòñÿ,
ïðèìåíèìî ñëåäóþùåå:
Áèò 1 ïðèíèìàåò çíà÷åíèå 0, åñëè îñü 3 < 0°,
èíà÷å áèò 1 = 1.
Äëÿ ðîáîòîâ ñî ñìåùåíèåì ìåæäó îñüþ 3 è
îñüþ 4 (íàïðèìåð, KR 30) óãîë, îò êîòîðîãî ìåíÿåòñÿ
çíà÷åíèå áèòà 1, çàâèñèò îò âåëè÷èíû ýòîãî ñìåùåíèÿ.
01/2006
KR 30
5
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
Ñòàòóñ - ÁÈÒ 1: êîíôèãóðàöèÿ Êèñòè
Áèò 2 óêàçûâàåò íà êîíôèãóðàöèþ êèñòè. Ýòî çàâèñèò îò ïîçèöèè
îñè 5.
01/2006
6
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College
122 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñèñòåìíûå ïåðåìåííûå
Ñèñòåìíûå ïåðåìåííûå è ñèñòåìíûå ôàéëû
¾
KRC ïîääåðæèâàåò ïîíÿòèå ïðåäîïðåäåëåííûõ ñèñòåìíûõ ïåðåìåííûõ
è ñèñòåìíûõ ôàéëîâ.
¾
Ñèñòåìíûå ïåðåìåííûå ìîãóò áûòü ïðî÷èòàíû è çàïèñàíû òàêèì æå îáðàçîì,
êàê ëþáàÿ äðóãàÿ ïåðåìåííàÿ (ñ îãðàíè÷åíèÿìè èç-çà òèïà äàííûõ).
¾
Âîçìîæíî çàïèñàòü îòäåëüíûå ñïèñêè äàííûõ ñ îïðåäåëåíèÿìè
äàííûõ è èíèöèàëèçàöèÿìè, åñëè òðåáóåòñÿ.
¾
Ñèñòåìà ñîäåðæèò ïðåäîïðåäåëåííûå ñïèñêè äàííûõ, êîòîðûå
ìîãóò áûòü ñãåíåðèðîâàíû èëè óäàëåíû, íàïðèìåð:
01/2006
$MACHINE.DAT
Àäàïòàöèÿ ñèñòåìû ê ðîáîòó
$CUSTOM.DAT
Êîíôèãóðèðîâàíèå óïðàâëÿþùèõ ôóíêöèé
$CONFIG.DAT
Ïðåäîïðåäåëåííûé ñïèñîê äàííûõ
$ROBCOR.DAT
Ñïåöèôè÷åñêèå äëÿ ðîáîòà äàííûå
1
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College
Çàïóñê è îñòàíîâêà òàéìåðîâ
Ñèñòåìíàÿ ïåðåìåííàÿ $TIMER[1]…$TIMER[32] ñëóæèò öåëÿì èçìåðåíèÿ âðåìåííûõ
ïîñëåäîâàòåëüíîñòåé (20 íà äèñïëåé). Âðåìåííîé ïðîöåññ çàïóñêàåòñÿ è îñòàíàâëèâàåòñÿ
ïîñðåäñòâîì ñèñòåìíûõ ïåðåìåííûõ $TIMER_STOP[1]…$TIMER_STOP[16]:
Ñèíòàêñèñ:
$TIMER_STOP[No] = Value
Àðãóìåíò
Value
Òèï
BOOL
Îáúÿñíåíèå
FALSE:
TRUE:
Çàïóñê òàéìåðà
Îñòàíîâ òàéìåðà
Ïðèìåð:
$TIMER[5] = 0
;Ñáðîñ â òàéìåðå 5 íàçíà÷åííîãî çíà÷åíèÿ
$TIMER_STOP[5] = FALSE ;Çàóñê òàéìåðà 5
...
$TIMER_STOP[5] = TRUE ;Îñòàíîâ òàéìåðà 5
01/2006
2
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College
124 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Ñèñòåìíûå ïåðåìåííûå
Ôëàã òàéìåðà
1
0
1
0
$TIMER_STOP[No]
$TIMER_FLAG[No]
$TIMER[No] in ms
10000
0
Time
Ïîçèöèÿ íóëÿ
-10000
01/2006
3
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College
Ôëàãè
Ôëàãè - ýòî îäíîáèòíûå ïàìÿòè è îíè èñïîëüçóþòñÿ êàê ãëîáàëüíûå ìàðêåðû.
Ôëàãè ÿâëÿþòñÿ ñòàòè÷íûìè
Ñèíòàêñèñ:
$FLAG[No] = Value
Àðãóìåíò
Òèï
Îáúÿñíåíèå
No.
INT
Íîìåð ôëàãà,
Äèàïàçîí çíà÷åíèé: 1…1024 (999 íà äèñïëåé)
Value
BOOL
FALSE: Ñáðîñ ôëàãà
TRUE: Óñòàíîâêà ôëàãà
Ïðèìåð:
$FLAG[1] = FALSE
01/2006
;Ñáðîñ ôëàãà 1
4
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
125 / 198
Ñèñòåìíûå ïåðåìåííûå
Öèêëè÷åñêèå ôëàãè
Öèêëè÷åñêèå ôëàãè - ýòî òàêæå îäíîáèòíûå ïàìÿòè, íî îíè öèêëè÷åñêè àêòèâíû
òîëüêî íà óðîâíå ðîáîòà
Ñèíòàêñèñ:
$CYCFLAG[No] = Value
Àðãóìåíò
Òèï
Îáúÿñíåíèå
No.
INT
Íîìåð öèêëè÷åñêîãî ôëàãà,
Äèàïàçîí çíà÷åíèé: 1…256 (32 íà äèñïëåé)
Value
BOOL
FALSE: Ñáðîñ öèêëè÷åñêîãî ôëàãà
TRUE: Óñòàíîâêà öèêëè÷åñêîãî ôëàãà
Ïðèìåð:
$CYCFLAG[1] = $IN[2] AND $IN[13]
01/2006
;Áóëåâî âûðàæåíèå öèêëè÷åñêè
îöåíèâàåòñÿ è îáíîâëÿåòñÿ.
5
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College
126 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû - Îáçîð
Èíñòðóêöèÿ ñêà÷êà
Âåòâëåíèå
GOTO
Óñëîâíîå âåòâëåíèå
Ïåðåêëþ÷àòåëü
IF - THEN - ELSE
SWITCH - CASE
Ñèñòåìà óïðàâëåíèÿ íå îáíàðóæèâàåò ëîãè÷åñêèå îøèáêè!
01/2006
1
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College
Èíñòðóêöèÿ ñêà÷êà
Ñèíòàêñèñ:
GOTO Marker
GOTO âûðàæåíèÿ ìîãóò î÷åíü áûñòðî ïðèâåñòè ê ïîòåðå ñòðóêòóðíîé ÿñíîñòè
â ïðåäåëàõ ïðîãðàììû è äîëæíû ïîýòîìó èñïîëüçîâàòüñÿ êàê ìîæíî ðåæå
DEF
DEFPRG
PRG(())
...
...
GOTO
GOTOMark1
Mark1
...
...
...
...
Mark1:
Mark1:
...
...
END
END
01/2006
2
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College
128 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Óñëîâíîå âåòâëåíèå
Ñèíòàêñèñ
IF Execution_Condition THEN
Statement
ELSE
Statement
ENDIF
......
IFIF$IN[22]==TRUE
$IN[22]==TRUETHEN
THEN
PTP
HOME
PTP HOME
ELSE
ELSE
$OUT[17]=TRUE
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP
PTPHOME
HOME
ENDIF
ENDIF
......
01/2006
Condition
OK ?
No
Yes
Statement A
Statement B
3
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College
Ïåðåêëþ÷àòåëü
Syntax: SWITCH Variable (INT or ENUM)
CASE 1
Statement
CASE 2
Statement
DEFAULT
ENDSWITCH
Selection
1
Statement A
2
Statement B
3
n
Statement C
Statement n
...
...
SWITCH
SWITCHPROG_NO
PROG_NO
CASE
CASE11
Part1
Part1(()) ; ;ififProg_No
Prog_No==11
CASE
2
CASE 2
Part2
; ;ififProg_No
Part2()()
Prog_No==22
DEFAULT
DEFAULT
ERROR_SP(
ERROR_SP()); ;all
allother
othervalues
values
ENDSWITCH
ENDSWITCH
...
...
01/2006
4
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
129 / 198
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû - Îáçîð
Öèêëû
Áåñêîíå÷íûå öèêëû
LOOP
Ñ÷åòíûå öèêëû
FOR - TO - STEP
WHILE
Óñëîâíûå öèêëû
REPEAT - UNTIL
Ñèñòåìà óïðàâëåíèÿ íå îáíàðóæèâàåò ëîãè÷åñêèå îøèáêè!
01/2006
1
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
Öèêëû - ãëàâíîå
1.
Öèêëû ïðåäíàçíà÷åíû äëÿ ïîâòîðåíèÿ èíñòðóêöèé ïðîãðàììû.
2.
Ðàçëè÷àéòå ñ÷åòíûå è óñëîâíûå öèêëû.
3.
Ñêà÷îê â öèêë ñíàðóæè íå äîïóñêàåòñÿ è íå âûïîëíÿåòñÿ
ñèñòåìîé óïðàâëåíèÿ (ñîîáùåíèÿ îá îøèáêå).
4. Âëîæåíèå öèêëîâ - ÿâëÿåòñÿ äàëüíåéøåé òåõíèêîé ïðîãðàììèðîâàíèÿ.
01/2006
2
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
132 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Ñ÷åòíûé öèêë
Ñèíòàêñèñ:
FOR
Counter = Start
Statement
ENDFOR
TO End
E6POS
E6POSPOSITION[4,4]
POSITION[4,4]
INT
INTX,
X,YY
...
...
FOR
FORX=1
X=1TO
TO44STEP
STEP11
FOR
Y=4
TO
FOR Y=4 TO11STEP
STEP-1
-1
POSITION[X,Y]=P1
POSITION[X,Y]=P1
POSITION[X,Y].X=P1.X+50
POSITION[X,Y].X=P1.X+50
POSITION[X,Y].Y=P1.Y+50
POSITION[X,Y].Y=P1.Y+50
ENDFOR
ENDFOR
ENDFOR
ENDFOR
01/2006
STEP Increment
For i = 1 to 4
Statement
3
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
Âûðåçàííûé öèêë
Ñèñíòàêñèñ: WHILE Condition
Statement
ENDWHILE
...
...
WHILE
WHILE$IN[22]==TRUE
$IN[22]==TRUE
$OUT[17]=TRUE
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP
PTPHOME
HOME
WHILE
condition ?
Yes
No
Statement
ENDWHILE
ENDWHILE
...
...
01/2006
4
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
133 / 198
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Íåâûðåçàííûé öèêë
Ñèíòàêñèñ:
REPEAT
Statement
UNTIL Condition
...
...
REPEAT
REPEAT
No
Statement
$OUT[17]=TRUE
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP
PTPHOME
HOME
Repeat
condition ?
UNTIL
UNTIL$IN[22]==TRUE
$IN[22]==TRUE
...
...
01/2006
Yes
5
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
Áåñêîíå÷íûé öèêë
Ñèíòàêñèñ:
LOOP
Statement 1
...
Statement n
ENDLOOP
...
...
PTP
PTPHOME
HOME
LOOP
LOOP
LIN
LINXP1
XP1
LIN
LINXP2
XP2
LIN
LINXP4
XP4
ENDLOOP
ENDLOOP
PTP
PTPHOME
HOME
...
...
01/2006
Statement A
Statement B
Statement C
6
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
134 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Ïðåæäåâðåìåííîå çàâåðøåíèå âûïîëíåíèÿ öèêëà
Ñèíòàêñèñ:
EXIT
Ëþáîé öèêë ìîæåò áûòü çàâåðøåí ïðåæäåâðåìåííî ïðè èñïîëüçîâàíèè EXIT.
DEF
DEFEXIT_PRO
EXIT_PRO(())
PTP
PTPXHOME
XHOME
LOOP
;Start
LOOP
;Startof
ofendless
endlessloop
loop
LIN
XP1
LIN XP1
IF
IF$IN[1]
$IN[1]==
==TRUE
TRUETHEN
THEN ;Terminate
;Terminatewhen
when
EXIT
;input
EXIT
;input11set
set
ENDIF
ENDIF
LIN
LINXP2
XP2
ENDLOOP
; ;End
ENDLOOP
Endofofendless
endlessloop
loop
PTP
PTPXHOME
XHOME
END
END
01/2006
7
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
135 / 198
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Îæèäàíèå ñîñòîÿíèÿ
Ñèíòàêñèñ: WAIT FOR Condition
DEF EXIT_PRO ( )
...
WAIT FOR $IN[14] == TRUE ;waits until input 14 is set
...
END
¾
Åñëè ëîãè÷åñêîå âûðàæåíèå "Condition" óæå ÿâëÿåòñÿ TRUE
êîãäà WAIT âûçûâàåòñÿ, ïðîãðàììà âûïîëíÿåòñÿ áåç îñòàíîâà
(îñòàíîâ îïåðåæåíèÿ, îäíàêî ïðîèçâîäèòñÿ).
¾ Åñëè "Condition" â FALSE, âûïîëíåíèå ïðîãðàììû
îñòàíàâëèâàåòñÿ ïîêà âûðàæåíèå íå ïðèìåò çíà÷åíèåTRUE.
01/2006
1
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College
Îæèäàíèå ñîñòîÿíèÿ
Ñèíòàêñèñ: WAIT FOR Time
DEF EXIT_PRO ( )
...
WAIT SEC 5
...
WAIT SEC Time*0.5+0.25
;waits 5 seconds
;waits calculated time
END
"Time" ÿâëÿåòñÿ àðèôìåòè÷åñêèì REAL âûðàæåíèåì, êîòîðîå
ìîæåò èñïîëüçîâàòüñÿ äëÿ îïðåäåëåíèÿ ÷èñëà ñåêóíä, â òå÷åíèå
êîòîðûõ äîëæíî áûòü ïðåðâàíî âûïîëíåíèå ïðîãðàììû.
Åñëè çíà÷åíèå îòðèöàòåëüíî, ïðîãðàììà íå æäåò.
01/2006
2
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College
138 / 198
Ó÷åáíîå ïîñîáèå MP3 01.06.03
Óïðàâëåíèå âûïîëíåíèåì ïðîãðàììû
Îñòàíîâ ïðîãðàììû
Ñèíòàêñèñ: HALT
HALT âûðàæåíèÿ èñïîëüçóþòñÿ äëÿ îñòàíîâêè ïðîãðàìì.
Ïîñëåäíÿÿ âûïîëíÿåìàÿ êîìàíäà äâèæåíèÿ áóäåò, îäíàêî, çàâåðøåíà.
Ïðîãðàììà ìîæåò áûòü âîçîáíîâëåíà íàæàòèåì êëàâèøè START.
Ñïåöèàëüíûé ñëó÷àé:  ñëó÷àå âûïîëíåíèÿ ïðîãðàìì ïðåðûâàíèÿ,
ïðîöåäóðà áóäåò ïîëíîñòüþ âûïîëíåíà (ïðåïðîöåññîð).
01/2006
3
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College
Ó÷åáíîå ïîñîáèå MP3 01.06.03
139 / 198