Курс Basic Programming Technical Department FANUC Russia Last modified at 04.09.2017 План проведения курса Basic Programming. День 1 •Устройство робота и контроллера •Пульт управления (клавиши управления и световая индикация) •Режимы ручного управления роботом •Системы координат инструмента и Пользовательские системы координат •ЗАДАНИЯ № 1, 2 •Создание программы и рассмотрение ее основных свойств •Описание шаблона перемещения в точку и его основных компонентов •ЗАДАНИЕ № 3 День 2 •Время на повторение информации предыдущего дня •Регистры •Позиционные регистры и их свойства •Операторы смещения OFFSET и TOOL OFFSET •Циклы и метки •Оператор условия •ЗАДАНИЯ № 4, 5 День 3 •Способы подключения дискретных и аналоговых сигналов. •Настройка сигналов •Групповые сигналы •ЗАДАНИЕ №6 •Пользовательские сигналы •Оператор ожидания •Операторы CALL и RUN. •Таймеры •ЗАДАНИЕ №7 •Работа с резервными копиями •Мастеризация робота (Quick Master) •ЗАДАНИЕ №8 •Обращение в службу технической поддержки •Итоговый тест 1 День 1. Устройство робота и контроллера. 2 Рабочая область робота R-2000iC/165F: 3 Диаграмма нагрузки на фланец R-2000iC/165F: Для настройки нагрузки необходимо на пульте управления роботом нажать клавишу MENU и выбрать пункт SYSTEM->MOTION. 4 Для настройки конкретной нагрузки наведите курсор на необходимую строку и нажмите F3 (DETAIL). Параметры нагрузки состоят из следующих пунктов: Schedule No[1] – порядковый номер нагрузки. Payload [kg] – масса нагрузки. Payload Center X [cm] – расстояние до центра масс нагрузки по оси X. Payload Center Y [cm] – расстояние до центра масс нагрузки по оси Y. Payload Center Z [cm] – расстояние до центра масс нагрузки по оси Z. Payload Inertia X [kgfcms^2] – момент инерции нагрузки относительно оси X. Payload Inertia Y [kgfcms^2] – момент инерции нагрузки относительно оси Y. Payload Inertia Z [kgfcms^2] – момент инерции нагрузки относительно оси Z. Существует возможность ввести параметры нагрузки на оси J1 и J3.Находясь в основном меню настройки нагрузки нажмите F4 (ARMLOAD). 5 Контроллер версии R-30iB A-cabinet. Кнопка сброса ошибок и запуска программы Кнопка авариного останова Переключатель режимов Место подключения USB 6 Пульт управления iPendant (клавиши управления и световая индикация). Кнопка аварийного останова BUSY – робот находится в работе (выполнение процесса с помощью пульта управления) RUN –выполняется программа Ключ переключения режимов работы STEP – индикатор состояния пошагового режима FAULT – индикатор наличия активной ошибки Свойства оставшихся индикаторов меняются в зависимости от установленного программного обеспечения Индикаторы состояния Ограничение скорости Клавиши управления Место подключения USB устройств Переключатель безопасности (Deadman switch) Место подключения кабеля Функциональное управление текущим экраном 7 Имя текущей программы Строка ошибки/состояния Режим ручного управления роботом Номер строки на которой находится программа Режим управления Состояние программы Клавиши управления функциональной строкой Клавиши: MENU – вызов общего меню системы SELECT – вызов списка программ EDIT – открыть текст текущей программы DATA – открыть меню параметров FCTN – открыть меню функций Ручное управление осями DISP – клавиша управления экраном RESET – клавиша сброса ошибок Клавиши: STEP – включить/отключить пошаговый режим HOLD – останов робота в “мягком” режиме FWD/BWD – ручной запуск программы вперед и назад COORD – переключение режимов ручного перемещения робота GROUP – переключение между управляемыми группами +%/-% – изменение ограничения скорости USER KEY - программируемые клавиши DIAG – открыть окно со списком активных ошибок HELP – открыть информационное меню . Примечание: Клавиши, окрашенные в сплошной синий цвет должны нажиматься одновременно с клавишей SHIFT. Клавиши, окрашенные одновременно в 2 цвета имеют двойной функционал: действие при одновременном нажатии с клавишей SHIFT и другое действие при простом нажатии на клавишу. 8 Режимы ручного управления роботом. Существует 4 основных режима, используемые для ручного перемещения роботом. Режим JOINT (независимое вращение осями) Режим WORLD. Происходит перемещение точки TCP (Tool centre point) относительно абсолютной (Мировой) системы координат робота 9 Режим USER. Перемещение точки TCP относительно Пользовательской системы координат. Режим TOOL. Перемещение точки TCP относительно системы координат инструмента. Направления осей изменяются динамически в зависимости от положения робота. 10 Системы координат инструмента и Пользовательские системы координат. Система координат инструмента - это декартова система координат, определяющая положение рабочей точки инструмента (TCP, tool center point) и положение самого инструмента. В системе координат инструмента начало координат обычно совпадает с рабочей точкой инструмента, а ось Z - с осью инструмента. Если система координат инструмента не определена, то действующей является система координат находящаяся в центре фланца запястья. Координаты (x, y, z) задают положение вершины инструмента (TCP), а координаты (w, p, r) – угловое положение самого инструмента. В системе координат для фланца координаты x, y, z задают положение вершины инструмента (TCP) в пространстве. Координаты w, p, r задают угловое положение инструмента относительно осей x, y и z системы координат фланца. Вершина инструмента необходима для определения данных позиционирования. 11 Настройка системы координат инструмента. Настройка системы координат инструмента как правильно производится относительно произвольной метки, находящейся неподалеку от робота. Для начала настройки системы координат инструмента необходимо на пульте управления роботом нажать клавишу MENU и выберите пункт SETUP->FRAMES. После чего на экране отобразится панель настройки систем координат. Нажмите клавишу F3 (OTHER) и выберите пункт Tool Frame. На экране, который появится, будут отображен список настроек инструментов в количестве 10 штук. Выберите из списка номер инструмента, который будет настроен. Нажмите F2(DETAIL) для выбора. Нажмите F2(METHOD) и выберите один из методов настройки инструмента: 1. “Three Point”-используют, если не требуется задавать углы наклона инструмента. 2. “Six Point(XZ) или (XY)” методы настройки по 6-ти точкам (самые распространенные). 3. Метод “Two Point + Z” используется для настройки инструмента манипуляторов не способных менять углы наклона инструмента (например, 4-х осевые роботы). 4. Использование метода “Four Point” позволяет наблюдать/минимизировать ошибку настройки TCP, не позволяет задавать углы наклона инструмента. 5. Direct Entry позволяет ввести заранее известные данные. Возможно использование комбинации методов “Four Point” и “Direct Entry”. 12 Метод SIX POINT XZ (по 6-ти точкам). После выбора метода настройки по шести точкам, появится меню настройки. Среди этого списка пункты Approach point 1,2,3 отвечают за перенос точки TCP с ее исходного положения в новое. Пункты Orient Origin Point, X Direction Point и Z Direction Point определяют ориентацию системы координат инструмента. Подведите будущую рабочую точку инструмента к метчику как можно более точно. Выберите из списка точку, которую необходимо записать и нажмите SHIFT+F5(RECORD). Состояние точки изменится с UNINIT на RECORDED. Пример положений робота при настройке системы координат инструмента по методу шести точек: Approach point 1 Approach point 2 Approach point 3 Для более точной настройки первых трех точек необходимо соблюсти следующие условия: - угол между точками должен составлять 120 градусов в горизонтальной плоскости - угол между инструментом и нормалью к метке должен составлять 45 градусов Данные условия являются лишь рекомендацией Orient origin point X direction point Z direction point Для записи точки Orient origin point подведите инструмент робота вертикально к метке Для записи точки X direction point переместите робота в режиме WORLD в направлении, которое далее будет принято за направление координаты X (15-20 см). Далее для записи точки Z direction point переместите робота в точку Orient origin point и затем в режиме WORLD переместите робота в направлении, которое далее будет которое далее будет принято за направление координаты Z (15-20 см). Для перемещения робота в ранее записанную точку выберите ее и нажмите SHIFT+F4(MOVE_TO). Робот начнет перемещение по кратчайшему пути. Для экстренной остановки робота отпустите переключатель DEADMAN Switch. 13 Настройка пользовательской системы координат. Определенная пользователем система координат (например, внешний инструмент) - это декартова система координат, определенная пользователем для каждой рабочей зоны. Если система координат пользователем не определена, то действует система мировых координат. Определенная пользователем система координат задается координатами (x, y, z), определяющими начало системы координат, и координатами (w, p, r), определяющими поворот системы координат вокруг осей X, Y и Z системы мировых координат. USER FRAME [N] USER FRAME[M] 14 WORLD FRAME Настройка пользовательской системы координат по методу трех точек. Нажмите клавишу MENU и выберите пункт SETUP->FRAMES. В появившемся окне нажмите F3(OTHER) и выберите User Frame. Далее выберите пользовательскую систему координат, которую необходимо настроить и нажмите F2(DETAIL). Выберите метод настройки по трем точкам (Tree point), нажав F2(METHOD). Пункты Orient Origin Point, X Direction Point и Y Direction Point определяют положение центра и ориентацию пользовательской системы координат. 15 Пример положений робота при настройки пользовательской системы координат по методу трех точек. Orient origin point X direction point Y direction point Подведите робот к точке, которая далее станет центром пользовательской системы координат. Выберите пункт Orient Origin Point и нажмите SHIFT+F5(RECORD). Переместите робот по направлению, которое затем станет направлением оси X новой системы координат. Запишите координаты этой точки в пункт X Direction Point. Переместите робот направлению, которое затем станет направлением оси Y новой системы координат. Запишите координаты этой точки в пункт Y Direction Point. Z Программное обеспечение определяет направление оси Z автоматически. При записи точек во время настройки пользовательской системы координат руководствуйтесь X “Правилом правой руки” . Задание: 1. Настроить инструмент по методу SIX POINT XZ. 2. Настроить пользовательскую систему координат по методу FOUR POINT. Y 16 Создание программы и рассмотрение ее основных свойств. Для создания программы и начала программирования необходимо нажать клавишу SELECT, после чего на экране отобразится окно управления программ. В данном списке присутствует набор системных программ защищенных от записи и редактирования. Они, как правило, уже имеют некий комментарий в соответствующем поле. Чтобы создать новую программу нажмите F2(CREATE). Далее откроется окно, где необходимо задать имя программы. Для этого можно использовать либо шаблонные слова (Words), либо заглавные, либо строчные буквы (Upper case, Lower case). Также доступен опциональный ввод с помощью клавиатуры (для пультов с опцией Touch Screen – Options/Keybrd -> F5(KEYBOARD)). Создание шаблона перемещения робота Логические инструкции Перезапись координат точки Редактирование текста После подтверждения имени программы нажмите ENTER, а затем F3(EDIT). После этого откроется пустой экран для редактирования текста программы. 17 Свойства программы можно просмотреть и отредактировать сначала вызвав общий список нажатием клавиши SELECT. Затем нажать клавишу NEXT и F2(DETAIL). На экране отобразиться список свойств конкретной программы. Creation Date – дата создания программы. Modification Date – дата последнего редактирования. Copy Source – источник копирования. Positions (TRUE/FALSE) – наличие точек перемещения. Size – размер программы. Program name – имя программы. Sub Type(None/Collection/Macro/Cond) – подтип программы. Comment – строка с комментарием. Group Mask – маска группы (См. сноску *). Определяет какая группа задействована в программе. Если Маска группы равна [*,*,*,*,*,*,*,*] это значит, что программа содержит только логические инструкции. Write protect – защита от записи и редактирования. Ignore pause – игнорирования прерывания работы при паузе или экстренном останове. Имеет место только для программ, содержащих лишь логические инструкции. Stack size – количество оперативной памяти выделяемое для работы данной программы. Размерность значения - long words (1 long word = 4 byte). Collection – добавить программу в коллекцию. * Сноска. Группами являются любые подвижные элементы, управляемые контроллером: роботы, позиционеры или просто отдельно взятые двигатели. 18 Описание шаблона перемещения в точку и его основных компонентов. Шаблон перемещения в точку пространства в тексте программы можно создать нажав F1 (Point) и выбрав один из четырех вариантов, перечисленных в выпадающем списке. Простейший шаблон состоит из 4 –х элементов: Тип перемещения в точку Типы перемещения в точку: 19 Порядковый номер точки Сглаживание Скорость Порядковый номер точки. Точка с одним и тем же порядковым номером может повторяться в тексте программы. При этом сохраняются координаты ее положения, а скорость, тип перемещения и другие свойства могут изменяться. Чтобы открыть свойства точки необходимо переместить бегунок на порядковый номер точки и нажать F5(POSITION): Для переключения между представлениями координат в полярных(Joint) или декартовых(Cartesian) значениях необходимо использовать клавишу F5(REPRE). UF – номер пользовательской системы координат в которой точка была записана. UT – номер системы координат инструмента в котором была записана точка. CONF – конфигурация робота в данной точке. X,Y,Z,W,P,R – координаты точки, рассчитанные относительно пользовательской системы координат. 20 Скорость перемещения в точку. Существует возможность задавать скорость перемещения в точку несколькими вариантами: Для типа перемещения JOINT Для остальных типов перемещения Для того, чтобы изменить единицу измерения скорости необходимо переместить бегунок на единицу измерения скорости, нажать F4(CHOICE) и выбрать новый тип. Сглаживание. Уровень сглаживания зависит от двух основных факторов. 1. Коэффициент при инструкции CNT. В пределах от 0 до 100. Чем выше коэффициент – тем выше уровень сглаживания. 2. Скорость перемещения в точку. Чем выше скорость – тем выше уровень сглаживания. Следует соблюдать предельное внимание при использовании инструкции сглаживания, так как она напрямую влияет на отработку траектории роботом. Любое изменение коэффициента CNT или скорости перемещения влечет за собой изменение траектории. Задание: 3. Написать тестовую программу на стенде, используя различные типы интерполяций, необходимые скорости и параметры сглаживания (алгоритм создания базовой программы описан ниже). 21 Типовой шаблон новой программы: F1(INST) -> Miscellaneous -> Remark – комментарий. F5 (EDCMD) -> Insert – вставить пустые строки. F1(INST) -> Offset/Frames -> UFRAME_NUM -> Const -> 7 ввести номер пользовательской плоскости. F1(INST) -> Offset/Frames -> UTOOL_NUM -> Const -> 10 ввести номер рабочего инструмента. F1(INST) -> Payload -> PAYLOAD[…] -> 1- ввести номер активной нагрузки. F1(INST) -> Miscellaneous -> OVERRIDE – значение скорости в верхнем правом углу экрана. “Домашняя” точка. 1. Курсор навести на номер точки -> Enter -> Upper Case или Options/Keyboard -> “Home”. 2. Курсор навести на номер точки -> F5(POSITION) -> F5 (REPRE) -> Joint – координаты вводятся в угловых значениях. - В случае, если система включает в себя несколько групп, использовать F1(Group) для переключения. Точка “подхода” (CNT-оператор сглаживания). Точка начала выполнения программы (FINE, необходима остановка). F5 (EDCMD)-> Remark (выделить сегмент и повторно нажать Remark) - Временное исключение строк из процесса выполнения программы (Обратное действие Unremark). Точка “отхода” (CNT-оператор сглаживания). Возврат в “домашнюю” точку. F5(EDCMD) -> Comment – отобразить комм-и переменных. 22 День 2. Регистры. В системах управления роботами FANUC регистрами называются глобальные переменные, которые используются для программирования. Список доступных регистров выводится на экран по нажатию на клавишу DATA на пульте управления, затем нажать F1(TYPE) и выбрать REGISTERS. Значения внутри каждого регистра могут быть как положительные, так и отрицательные. С плавающей запятой или нет. Ввести значение можно вручную, переместив бегунок на поле ввод, указав нужное значение. Каждому регистру может быть добавлен комментарий. Для этого необходимо навести бегунок на поле между квадратных скобок, нажать Enter и набрать нужную фразу. Чтобы добавить в программный код шаблон с использованием регистров необходимо нажать F(1) INST, далее пункт REGISTERS и выбрать одну из математических операций. 23 1. Операция присваивания. 2. Сложение. 3. Вычитание. 4. Умножение. 5. Деление. 6. Выводит частное от деления с остатком. 7. Выводит остаток от деления. 8. Редактирование собственной формулы. Существует возможность косвенного обращения к регистрам. Косвенное обращение позволяет использовать один из регистров как аргумент для номера другого регистра. Чтобы настроить косвенное обращение, требуется во время задания порядкового номера регистра нажать F(2) INDIRECT и выбрать номер регистра, через который будет осуществляться обращение. Например: R[1] = 10 R[4] = 7 R[7] = 45 Результатом выполнения строки на изображении слева будет то, что в регистр 10 запишется число 45. 24 Позиционные регистры и их свойства. Позиционными регистрами называются массивы данных, которые хранят внутри себя набор значений, представленных в виде координат. Список позиционных регистров можно открыть нажав клавишу DATA на пульте управления, далее TYPE, затем выбрать пункт POSITION REG. Данный список состоит из аббревиатуры позиционного регистра, комментария к каждому из них, а также текущего состояния и списка со значениями. Справа от знака равенства указано состояние позиционного регистра: * - позиционный регистр не инициализирован. В таком состоянии позиционные регистр находится в том случае, когда хотя бы одно из значений, которые в нем содержаться не определено. R – позиционный регистр записан. В позиционном регистре присутствуют все значения необходимые для работы с ним. Для того, чтобы занести ряд значений в позиционный регистр можно навести бегунок на значение справа от знака равенства и нажать клавишу F4(POSITION). В появившейся вкладке будут перечислены все параметры такие как координаты в декартовом виде или в виде углов поворота осей робота и конфигурация робота. Изменить любое значение можно переместив бегунок на него и введя новое. 25 Также в позиционный регистр возможно записать текущее положение робота переместив бегунок в положение справа от знака равенства и нажав F3(RECORD). В программе позиционные регистры вызываются через меню F(1) INST, пункт REGISTERS. Содержание данного пункта рассматривалось выше. После выбора математической операции требуется заполнить выбранный шаблон. К примеру, приравнять позиционный регистр возможно к следующим элементам: Lpos – записать в позиционный регистр текущее положение робота в декартовых координатах. Jpos - записать в позиционный регистр текущее положение робота в углах поворота осей. UFRAME[ ] - записать в позиционный регистр свойства пользовательской системы координат. UTOOL[ ] - записать в позиционный регистр свойства системы координат инструмента. P[ ] - записать в позиционный регистр координаты точки программы. PR[ ] - записать в позиционный регистр свойства другого позиционного регистра. Существует возможность обращаться к отдельному элементу позиционного регистра: Для подобного обращения используется конструкция PR[ i , j ], где: i = номер позиционного регистра. j = номер координаты (X = 1, Y = 2, Z = 3, W = 4, P = 5, R = 6). На изображении выше приведен пример, в котором указано, что координату Y позиционного регистра 1 требуется прировнять к 150. 26 Перемещения робота во всей программе можно задать с помощью позиционных регистров. Если уже иметь набор координат, записанных как позиционные регистры, то можно составить следующий пример программы: Каждый позиционный регистр содержит в себе координаты одного из углов квадрата, и программа построена таким образом, что робот должен пройти по его контуру. После запуска программы робот успешно выполняет указанные действия, о чем говорит контур по краям детали. Существует возможность использовать только один позиционный регистр для программирования траектории движения робота. В данном случае требуется перед перемещением на новое положение пересчитывать координаты, используя размеры детали с миллиметрах и направления соответствующие текущей выбранной пользовательской системы координат. Инициализация вершины фигуры (PR[1] – содержит координаты 1-ой вершины) Пересчет координат 27 Среди свойств позиционных регистров существует одна особенность: позиционный регистр не содержит информации о том, какие User Frame и User Tool были активны при записи в него координат. Рассмотрим на примере: существуют 2 программы по проходу инструментом робота по контуру детали. Одна запрограммирована через позиционные регистры, а другая запрограммирована с использованием точек в User Frame 1 и User Tool 1. Обе программы без ошибок выполняются в User Frame 1. Допустим произошло изменение значения текущего User Frame с первого на второй. После попытки запуска программы, написанной с помощью точек, появятся сообщение о неправильном выборе User Frame и остановке работы робота по ошибке. Если же будет вызвана программа, где в шаблонах перемещения заданы позиционные регистры, ошибка о выборе неправильного User Frame выводится не будет. Робот станет перемещаться в координаты, указанные в данных позиционных регистрах, только относительно новой выбранной пользовательской системы координат. Центр новой выбранной пользовательской системы координат 28 Операторы смещения OFFSET и TOOL OFFSET. Операторы OFFSET и TOOL OFFSET используются для задач, требующих смещения отдельно взятых точек или запрограммированной траектории на определенное значение по определенным координатам. Допустим, существует программа обхода детали «1» по контуру, написанная в User Frame 1. Если требуется сместить запрограммированную траекторию так, чтобы инструмент робота проходил по контуру детали «2», достаточно добавить к каждой точке программы оператор OFFSET и указать в его свойствах номер позиционного регистра, содержащего информацию о смещении. В позиционный регистр вносится информация о величине смещения в миллиметрах относительно координат X,Y,Z и в градусах относительно координат W,P,R пользовательской системы координат. Оператор TOOL OFFSET используется для случаев, когда необходимо произвести смещение относительно системы координат инструмента. Для использования операторов смещения в программе необходимо переместить бегунок в правый край нужной строки, нажать F4 (CHOICE) и выбрать из появившегося списка вариант Offset,PR[ ] или Tool_Offset,PR[ ]. Без смещения Со смещением 29 Циклы и Метки. Метки. Метки используются для осуществления быстрого перехода по строкам текста программы. Для использования перехода с помощью меток необходимо в текст программы вставить инструкцию начала метки и инструкцию перехода на метку: 1. LBL […] – начало метки. 2. JMP LBL […] – переход на метку. В квадратных скобках должен быть указан номер метки (от 1 до 32766). Двух меток с одним и тем же номером в программе быть не может, зато инструкций перемещения на одну и туже метку может быть несколько. Метке может быть добавлен комментарий состоящий максимум из 16 символов. 30 Циклы. Для того, чтобы повторить часть текста программы определенное количество раз, в программном обеспечении контроллера предусмотрен оператор FOR. Оператор состоит из двух составляющих: 1. FOR – задание начала цикла. Содержит в себе специально выделенный под данную задачу цифровой регистр, а также пределы счета. 2. ENDFOR – задание окончания цикла. Строки текста внутри цикла могут содержать как инструкции перемещения робота так и любые логические инструкции. Также существует возможность использования вложенных циклов при которой “внутренний” цикл будет повторяться такое количество раз, которое указано в “основном” цикле. 31 Оператор условия. Оператор условия используется для выполнения различных задач при выполнении какого-либо логического условия. При выборе данного оператора необходимо указать вид неравенства, а также элементы, которыми могут являться регистры, позиционные регистры, сигналы с периферии и т.д. Существует возможность использования условного оператора IF (…) THEN с одной ветвью или с двумя ветвями(оператор ELSE). В таком случае требуется оканчивать блок оператором ENDIF. Доступен оператор выбора SELECT R[] для выбора действия по значению указанного регистра. Пример использования оператора условия для выхода из “бесконечного” цикла Действия, которые необходимо выполнить по условию, указываются в конце строки: JMP LBL [ ] – перейти на метку CALL program – вызвать подпрограмму CALL program () – вызвать подпрограмму с указанием аргументов AND – продолжить условие с использованием логического “И” OR – продолжить условие с использованием логического “ИЛИ” Использование оператора IF (…) предлагает дополнительные действия. 32 Задание: 4. Требуется написать программу по обходу контуров 6-ти фигур расположенных друг относительно друга на одинаковом расстоянии. Количество строк в программе должно быть минимальным. Блок схема программы Начало Инициализация Задание цикла Пользовательская система координат должна быть настроена по краю плоскости на которой находятся фигуры. 5. Определите значения регистров после выполнения программы. a.Исходные данные: b.Текст программы: c. Результат Траектория Проверка условия Выход 33 День 3. Способы подключения дискретных и аналоговых сигналов. Основным средством обмена данными с периферийными устройствами в контроллерах роботов FANUC предусмотрено использование дискретных и аналоговых сигналов. Стандартным устройством для осуществления обмена сигналами является блок I/O Module A. Данный блок является опциональным и устанавливается в контроллер на специально предусмотренные крепежные места. Основными элементами I/O Module A являются объединяющая пластина (1), управляющий модуль, а также модули обмена сигналами (2). 34 Схема подключения I/O Module A. Кабель (1) – интерфейсный кабель между управляющим модулем и главной платой контроллера. Кабель (2) – кабель питания 24V между управляющим модулем и главной платой контроллера. Кабеля (3,4,5,6,7) – нестандартные кабеля между модулями обмена сигналами и периферийными устройствами. Еще одним вариантом обмена сигналами является специализированная плата Process I/O. Данная плата содержит набор коннекторов для подключения как дискретных, так и аналоговых сигналов и зачастую применяется в системах с инструментами для сварки или плазменной резки. Устанавливается в специально отведенный отсек. Помимо стандартных устройств в контроллерах роботов FANUC также предусмотрена возможность обмена данными с внешними устройствами с помощью промышленных интерфейсов Ethernet IP, DeviceNet, Profibus и ProfiNet. Для использования данных интерфейсов необходимо дополнить контроллер специальным программным обеспечением, а также управляющей интерфейсной платой (в случае с Ethernet IP плата не требуется). 35 Настройка сигналов: Для перехода на экран настройки сигналов необходимо нажать на пульте управления MENU->I/O и выбрать из списка те сигналы, которыми необходимо управлять. Основными из данного списка являются: Digital – дискретные сигналы. Analog – аналоговые сигналы. Group – групповые сигналы. Robot – сигналы управления рабочим органом робота. UOP – сигналы с внешней панели оператора. Дискретные сигналы: при переходе в меню с дискретными сигналами на контроллере, на экране отобразится следующий список. Данный список состоит из 512 строк и является описанием подключенных к контроллеру сигналов с периферийных устройств. Каждая строка включает в себя элементы: DO[ ]/DI[ ] – Обозначение (вых./вх.) и порядковый номер в системе. SIM – пункт, отвечающий за возможность симуляции сигналов: - Симуляция сигнала активна - Симуляция сигнала неактивна STATUS – состояние сигнала: - Неактивен - Активен - Не подключен физически 36 Каждому из сигналов, представленных в списке выше, существует возможность прописать адрес фактического подключения, эта процедура даст понять контроллеру робота на какое именно оборудование требуется послать сигнал или с какого принять. Удобнее всего рассмотреть адресацию на примере подключения I/O Module A. Уже сразу после того, как к контроллеру робота будет подключен модуль с дискретными сигналами и произведена перезагрузка, в списке активируется набор сигналов соответствующий по количеству тому, какого размера модуль был установлен. Адреса сигналов пропишутся автоматически последовательно на свободные места. Для того, чтобы открыть окно с информацией о адресации и изменить ее вручную, необходимо на экране списка сигналов нажать F2(CONFIG). Таблица адресации состоит из следующих пунктов: RANGE – диапазон сигналов, которые требуется объединить на одном устройстве. RACK – идентификационный номер устройства. SLOT – номер ячейки на данном устройстве. START – номер физического канала на ячейке устройства, с которого начнется указанный ранее диапазон. STAT. – состояние диапазона сигналов: - ACTIV – диапазон активен. - INVAL – адрес диапазона указан неверно. - PEND – адрес диапазона указан верно, требуется перезагрузка контроллера. - UNASG – адрес диапазона не задан. 37 Сигналы управления рабочим органом робота. Сигналы управления рабочим органом робота представляют собой набор дискретных сигналов специального назначения. Коннектор для подключения данного типа сигналов расположен только на механическом блоке робота. Их количество постоянно и ограничено 8-ю входными и 8-ю выходными сигналами (для большинства моделей роботов). Robot I/O, в отличие от обычных дискретных сигналов, не имеют адресации, так как отдельная ножка на коннекторе отвечает за конкретный сигнал из списка. Управление Digital I/O и Robot I/O в программе. Вызвать управления сигналами из программы возможно, нажав на пульте управления клавишу F1(INST) и выбрать пункт I/O. В появившемся меню появятся варианты сигналов и операции с ними: ON - перевести сигнал в состояние ON. OFF - Перевести сигнал в состояние OFF. Pulse (,width) - Перевести сигнал в состояние ON на заданный промежуток времени. R[ ] –прировнять состояние сигнала к цифровому регистру. (…) – свой вариант шаблона. 38 Групповые сигналы: Групповые сигналы служат средством обмена информацией с периферийными устройствами в виде чисел в десятеричном виде. Примером может послужить передача на сварочный источник параметров задания для сварочного процесса, а также прием обратной связи в ходе выполнения процесса сварки. Настройка групповых сигналов осуществляется в меню конфигурации этого типа сигналов: Для активации выбранной группы необходимо указать адрес набора дискретных сигналов: RACK – идентификационный номер устройства. SLOT – номер ячейке на определенном устройстве. START PT – номер физического канала на ячейке устройства, с которого начнется набор, входящий в группу. NUM PTS – количество сигналов в группе. Для того, чтобы подтвердить указанный адрес, требуется перезапустить контроллер. 39 Задание: 6. Сконфигурируйте сигналы: a. дискретные сигналы входов и выходов контроллера, воспользовавшись устройством предложенным тренером на самостоятельно определенное адресное пространство. b. групповые сигналы входов и выходов контроллера, воспользовавшись устройством предложенным тренером на самостоятельно определенное адресное пространство. 40 Пользовательские сигналы. Пользовательские сигналы - это набор специализированных сигналов, которые служат средством управления роботом с внешнего устройства (внешняя панель оператора). Существует разделение на 18 входных и 20 выходных сигналов, функция каждого из которых заранее определена и не имеет возможности быть измененной. Описание UOP сигналов. Outputs: UO[1](Cmd enabled) – сигнал, указывающий на то, что программа, включающая в себя инструкции перемещения роботом может быть запущена с внешнего устройства. UO[2](System ready) – данный сигнал выдается в случае, когда питание на серво усилитель подается. UO[3](Prg running) – данный сигнал выдается в ходе выполнения программы. Не активен когда программа находится на паузе. UO[4](Prg paused) - данный сигнал выдается в том случае, когда программа находится на паузе. UO[5](Motion held) – данный сигнал выдается в том случае, когда нажата клавиша HOLD или на вход системы поступает сигнал HOLD. UO[6](Fault) - данный сигнал выдается в том случае, когда в системе присутствует активная ошибка. UO[7](At perch) - данный сигнал выдается в том случае, когда робот находится в положении, ранее определенном как референсное положение. UO[8](TP enable) - данный сигнал выдается в том случае, когда пульт управления роботом включен. UO[9](Batt alarm) - данный сигнал выдается в том случае, если был обнаружен низкий заряд батареек в контроллере или станине робота. UO[10](Busy) - данный сигнал выдается в том случае, когда выполняется программа или производится процесс, использующий пульт управления роботом. UO[11-18](ACK1-ACK8) – набор сигналов, работающий параллельно с входными сигналами RSR(1-8). Дублирует состояние данных входных сигналов. UO[11-18](SNO1-SNO8) – набор сигналов, работающий параллельно с входными сигналами PNS(1-8). Дублирует состояние данных входных сигналов. UO[19](SNACK) – когда активирована функция PNS, сигнал SNACK используется вместе с данной функцией. Когда на контроллер поступает какой-либо из сигналов PNS, данный сигнал переходит в активное состояние на определенное время. 41 Inputs: UI[1](IMSTP) – данный сигнал определяет экстренный останов, контролируемый системой. Нормальное состояние данного сигнала – ON. Если данный сигнал не поступает на контроллер, выполняются следующие процессы: - Появляется сообщение об ошибке и прерывается контур питания до серво усилителя. - Производится экстренный останов робота. Также приостанавливается выполнение программы. UI[2](Hold) – сигнал временного останова, подаваемый с внешнего управляющего устройства. Нормальное состояние данного сигнала – ON. UI[3](SFSPD) – данный сигнал временно останавливает робот в то время когда открыта дверь безопасности рабочей ячейки. Нормальное состояние данного сигнала – ON. UI[4](Cycle stop) – данный сигнал прерывает выполнение текущей запущенной программы. Также, отменяет очередь в статусе ожидания программ RSR. UI[5](Fault reset) – данный сигнал дублирует функцию клавиши RESET на пульте управления робота и служит для сброса накопившихся ошибок. UI[6](Start) – сигнал запуска программы с внешнего устройства. (Для запуска программы с внешнего управляющего устройства используются сигналы RSR или PROD_START. Сигнал START используется для запуска временно остановленной программы). UI[7](Home) – сигнал, специально выделенный под макро программы. UI[8](Enable) – данный сигнал позволяет роботу быть перемещенным и переводит робота в состояние готовности. Если данный сигнал не активен, система запрещает ручное управление роботом и выполнение программ, содержащих инструкции перемещения робота. UI[9-16](RSR1-RSR8) – набор сигналов специально определенный для вызова RSR (Robot service request) программ. UI[9-16](PNS1-PNS8) – набор сигналов специально определенный для вызова PNS (Program number select) программ. UI[17](PNS strobe) – по приходу на контроллер данного сигнала производится выбор PNS программы в соответствием с состоянием набора сигналов PNS. UI[18](Prod start) – сигнал для запуска выбранной программы с внешнего управляющего устройства. Для того, чтобы активировать UOP сигналы необходимо изменить в настройках системы (MENU->NEXT->SYSTEM->CONFIG) два параметра. 1. В Пункт Enable UI signals присвоить значение TRUE. 2. В пункте Remote/Local control присвоить значение REMOTE. Для более детального описания сигналов UOP обратитесь к руководству пользователя на программное обеспечение. 42 Пример вызова программы с помощью сигналов PNS. Настроить специальные параметры вызова PNS программ возможно в меню Prog Select. В данном меню: Job prefix – Первые три символа в названии программы. Base number – Добавочное значение к номеру программы. Используется для увеличения вариантов названий программ. Acknowledge pulse width (msec) – Период в миллисекундах на который будет активирован информационный сигнал SNACK. 43 Оператор ожидания: Оператором ожидания в системе управления роботом FANUC является оператор WAIT. При программировании он используется, к примеру, в случае, когда робот должен провести в какой-либо точке (забора/установки детали) определенной время, необходимое для срабатывания захватного устройства. Оператор WAIT позволяет программировать ожидания разных видов: WAIT … (sec) – ожидание определенного периода времени. WAIT …=… (и прочие) – ожидание выполнения какого-либо шаблонного условия. WAIT (…) – ожидание выполнения условия, созданного пользователем. Пример условия, созданного пользователем: 44 Операторы CALL и RUN: Операторы CALL и RUN используются для вызова из одной программы набора подпрограмм. CALL: Строка 5 текста программы в примере состоят из оператора CALL, а также имени программы (TEST2), вызываемой данным оператором. Когда процесс выполнения программы доходит до этой строки, происходит следующее: Выполнение главной программы прерывается, полностью выполняется программа TEST2, затем выполнение главной программы продолжается. Текст программы TEST2 может содержать в себе любые инструкции, в том числе и инструкции перемещения роботом. С оператором CALL может использоваться любая программа, хранящаяся в памяти контроллера робота. RUN: Оператор RUN позволяет запускать программы параллельно друг другу. Добавить данный оператор в текст программы можно выполнив последовательность действий: F1(INST)->Multiple control->RUN. Программы, запускаемые данным способом как правило содержат только логические инструкции (Group Mask = ‘*,*,*,*,*,*,*,*’) и используются для мониторинга состояния сигналов или содержимого регистров. В редких случаях существует возможность с помощью оператора RUN запустить одновременно несколько программ, использующих разные группы перемещения. 45 Инструкция таймер. Инструкция таймера позволяет вести отсчёт времени различных процессов. При программировании может быть использовано вплоть до 20 программных таймеров, состояние которых можно увидеть, зайдя на экран MENU->NEXT->STATUS->PRG TIMER. В программе таймер можно вызвать с помощью нажатия клавиши F1(INST), затем выбрать пункт MISCELLANEOUS->TIMER[ ]. В квадратных скобках указывается порядковый номер используемого таймера. Вариантами операций с инструкцией таймер бывают следующие: - START – запуск таймера. - STOP – остановка таймера. - RESET – сброс показаний таймера. - (…) – прямое присвоение таймеру значений. Задание: 7. Применение полученных знаний/навыков. 1. Создать три программы PNS+(номер). 2. Настроить UOP. 3. Активировать UOP. 4. Внести в PNS программы инструкцию счета времени. 5. Написать программы, которые затем будут вызываться инструкцией RUN из PNS программ, и будут осуществлять запись в регистр значения на таймере, необходимо обеспечить условие выхода из бесконечного циклического процесса (например, с помощью флагов). 46 Работа с резервными копиями. На контроллерах роботов FANUC выделяют два основных вида резервных копий: 1. All of Above – резервная копия, содержащая в себе набор системных файлов с возможностью восстановления как по отдельности, так и всех сразу. 2. Image – образ системы. Данная резервная копия состоит из набора файлов размером по 1 Mb, количество которых зависит от размера установленного модуля памяти. Резервная копия в виде образа системы хранит в себе также все программное обеспечение, установленное на контроллере. Процесс снятия резервной копии All Of Above. На пульте управления роботом необходимо нажать клавишу MENU. 1. Выбрать пункт FILE->FILE. 2. На появившемся далее экране требуется нажать клавишу F5(UTIL) и выбрать пункт Set Device (UD1: - USB порт на контроллере, UT1: - USB порт на пульте, MC: - PCMCI адаптер с установленной Compact Flash картой в Main board). 3. В появившемся меню выбрать устройство, на которое требуется записать резервную копию. 4. Далее следует создать папку для резервной копии. Для этого необходимо нажать клавишу F5(UTIL) и выбрать пункт MAKE DIR. 5. Ввести название папки. Нажать ENTER, после чего автоматически система перейдет в созданную папку. 6. Далее нажать F4(BACKUP) и выбрать пункт All Of Above. 7. Система предложит ответить на два вопроса, но так как созданная папка является пустой, то на оба вопроса возможно дать ответ YES. 47 Процесс снятия резервной копии Image. 1. На пульте управления роботом необходимо нажать клавишу MENU. 2. Выбрать пункт FILE->FILE. 3. На появившемся далее экране требуется нажать клавишу F5(UTIL) и выбрать пункт Set Device. (UD1: - USB порт на контроллере, UT1: - USB порт на пульте, MC: - PCMCI адаптер с установленной Compact Flash картой в Main board). 4. В появившемся меню выбрать устройство, на которое требуется записать резервную копию. 5. Далее следует создать папку для резервной копии. Для этого необходимо нажать клавишу F5(UTIL) и выбрать пункт MAKE DIR. 6. Ввести название папки. Нажать ENTER, после чего автоматически система перейдет в созданную папку. 7. Далее нажать F4(BACKUP) и выбрать пункт Image. 8. Система предложит указать директорию записи. На данный вопрос необходимо выбрать ответ Current Directory. 9. Система предложит перезагрузить контроллер. Необходимо ответить OK и дождаться пока резервная копия образа системы будет записана на носитель информации. В случае, если контроллер отличается от текущего поколения, данный вариант снятия резервной копии Image может быть не доступен. Следует выполнить загрузку в режиме BOOT Monitor. Для активации данного режима необходимо выключить питание контроллера, зажать на пульте управления клавиши F1 и F5, удерживая их включить питание контроллера и дождаться загрузки контроллера в BOOT Monitor. 1. Далее необходимо выбрать пункт 4 Controller backup/restore. 2. Выбрать пункт 3 Back Up Controller as Images. 3. Выбрать устройство и папку на устройстве в которую требуется сохранить резервную копию (в некоторых случаях доступен лишь корневой каталог). 4. После сохранения всех файлов требуется нажать клавишу ENTER для перехода в основное меню BOOT Monitor. 5. Выбрать пункт 1 Configuration menu. 6. Выбрать пункт 2 Cold start. 7. Дождаться полной загрузки контроллера. 48 Режим запуска контроллера Controlled Start. На контроллерах поколения R-30iB существует возможность активации данного режима с помощью следующей комбинации: 1. FCTN->NEXT->CYCLE POWER 2. Указать OPTIONS 3. Выбрать CTRL 49 Процесс восстановления из резервной копии All Of Above. Восстановление из резервной копии любого вида требуется производить в том случае, когда текущее положение манипулятора совпадает с тем, при котором данная резервная копия была снята. В противном случае будет потеряна мастеризация робота. Восстановление из резервной копии All Of Above производится в режиме запуска контроллера Controlled Start. 1. Для активации данного режима необходимо выключить питание контроллера, зажать на пульте управления клавиши F1 и F5, удерживая их включить питание контроллера и дождаться загрузки контроллера в BOOT Monitor. 2. Далее необходимо выбрать пункт 1 Configuration menu и дождаться смены содержимого экрана. 3. Выбрать пункт 3 Controlled Start и дождаться пока контроллер не загрузится в соответствующем режиме. 4. После загрузки в режим Controlled Start. Необходимо нажать клавишу MENU, затем выбрать пункт FILE->FILE. 5. Далее потребуется выбрать носитель информации. (UD1: - USB порт на контроллере, UT1: - USB порт на пульте, MC: - PCMCI адаптер с установленной Compact Flash картой в Main board). 6. Найти на носителе информации папку с нужной резервной копией. 7. Нажать клавишу F4(RESTOR) и выбрать пункт All Of Above. 8. Дождаться восстановления файлов. 9. Загрузиться в режиме Cold Start. Для этого необходимо на пульте управления нажать клавишу FCTN и выбрать пункт Start Cold. 10. Дождаться полной загрузки контроллера. 50 Процесс восстановления из резервной копии Image. Восстановление из резервной копии любого вида требуется производить в том случае, когда текущее положение манипулятора совпадает с тем, при котором данная резервная копия была снята. В противном случае будет потеряна мастеризация робота. 1. Для активации данного режима необходимо выключить питание контроллера, зажать на пульте управления клавиши F1 и F5, удерживая их включить питание контроллера и дождаться загрузки контроллера в BOOT Monitor. 2. Далее необходимо выбрать пункт 4 Controller backup/restore. 3. Выбрать пункт 3 Restore Controller Images. 4. Выбрать устройство и папку на устройстве в которой хранится резервная копия (UD1: - USB порт на контроллере, MC: - PCMCI адаптер с установленной Compact Flash картой в Main board). 5. Подтвердить выбор пункта 1 OK (Current Directory). 6. Если количество файлов в папке соответствует размеру модуля памяти, то контроллер подтвердит это сообщением: Correspond with module size. 7. Далее требуется подтвердить восстановление из резервной копии. 8. После загрузки всех файлов требуется нажать клавишу ENTER для перехода в основное меню BOOT MONITOR. 9. Выбрать пункт 1 Configuration menu. 10. Выбрать пункт 2 Cold start. 11. Дождаться полной загрузки контроллера. 51 Мастеризация робота (процедура Quick Master -> случай 1 группы). В данном пункте руководства, процесс восстановления мастеризации робота рассматривается на примере потери мастеризации в результате отсутствия питания с батареек, установленных в станине манипулятора. 1. Первым сигналом после включения питания контроллера станет сообщение SRVO-062 BZAL, выдающееся по все осям манипулятора. 2. Нажать клавишу MENU и выбрать пункт SYSTEM->VARIABLES. Установить флаг $MASTER_ENB=1 3. Для сброса данного сообщения требуется нажать клавишу MENU, выбрать пункт SYSTEM->Master/Cal. Находясь в данном меню, требуется нажать клавишу F3 (RES_PCA) и далее F4 (YES). 4. После сброса ошибки пульскодеров потребуется перезагрузка контроллера. 5. После перезагрузки контроллера, среди сообщений об ошибках появится SRVO-075 Pulse not established (G:%d A:%d). Для сброса данного сообщения требуется повращать каждой из осей примерно на 5-10 градусов в обе стороны (доступна система координат JOINT). После потери роботом мастеризации, его программные ограничители теряют свою актуальность. В результате при выполнении вышеописанного пункта требуется соблюдать предельное внимание, так как некоторые модели роботов оснащены кабелем, протянутым внутри механического блока и соответственно нет возможности отслеживать его состояние (натяжение) при перемещении робота. 6. После сброса сообщения SRVO-075 необходимо выставить каждую ось робота так, чтобы каждая из насечек (рисок) каждой оси соответствовала своей ответной части наиболее точным образом. (Доступна система координат JOINT). 7. Нажать клавишу MENU и выбрать пункт SYSTEM->VARIABLES. В списке системных переменных необходимо найти переменную $DMR_GRP и нажать клавишу ENTER. Далее выбрать группу, для которой проводится мастеризация. 8. В появившемся списке требуется выбрать пункт $REF_COUNT и сверить хранящиеся там значения с паспортными данными. 9. Вернуться в предыдущее меню, выбрать пункт $REF_POS и убедиться, что хранящиеся там значения равны 0.000. 10. Установить флаг $REF_DONE=TRUE 11. Нажать клавишу MENU, выбрать пункт SYSTEM->Master/Cal. В появившемся меню переместить бегунок на пункт Quick Master и нажать клавишу ENTER. 12. Подтвердить выбор процедуры мастеризации. 13. Выбрать пункт Calibrate и нажать клавишу ENTER. 14. Результат калибровки робота выведется ниже на экране в виде координат текущего положения манипулятора. 52 8. Задание: Выполнить резервное копирование AOA и Image BackUp, восстановление резервных копий AOA и Image BackUp, а также процедуру восстановления мастеризации по методу Quick Mastering. 53 Обращение в службу технической поддержки. В процессе эксплуатации оборудования возможны случаи, когда требуется получить техническую консультацию представителей службы поддержки. Контакты всегда можно найти на сайте компании FANUC (fanuc.ru) в разделе «Свяжитесь с нами». Актуальный электронный адрес отдела технической поддержки по направлению робототехники: robotsupport@fanuc.ru Для ускорения обработки Вашего запроса, необходимо максимально точно сформулировать вопрос и предоставить данные по оборудованию: 1. серийный номер оборудования, указанный на станине робота или контроллере (в большинстве случаев имеет вид: «E-*****», где *****-пять или шесть цифр, пример указан на рисунке); 2. резервную копию АОА, которую в виде архива возможно прикрепить к письму. Алгоритм подготовки резервной копии АОА указан в соответствующем разделе обучения. Спасибо за Ваше внимание! 54