Системы робота Концепция ПО Приводы Оперативная память 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