Путь робота — глаголами от мест ячейки
Технолог называет замысел: перенести, перевернуть, проварить шов. Точки, позы и проверки платформа выводит из двойника ячейки.
Программа движения: путь навесного по местам ячейки
Программа движения описывает путь навесного органа — схвата, струбцины, горелки — по местам рабочей ячейки. Траекторию называет автор: куда ехать, что взять, где проварить. Платформа выводит кадры, ориентацию и порядок осей.
Места ячейки — тиски, кантователь, паллета, сварочный стол — живут в двойнике и замеряются обучением. Программа называет только имя места, а не набивает координаты.
Поэтому одна программа переносится между ячейками с теми же именами мест без правки текста. Понадобилось править программу под ячейку — знание о ячейке утекло в замысел.
Программу пишут в лаборатории в браузере: код слева, кадр ячейки справа — места, деталь в руке, навесное. Пересчёт идёт на каждое изменение.
| Род программы | Траектория | Координаты | Инструмент |
|---|---|---|---|
| Рез | Выводится из объёма детали | Детали: ноль — верх болванки | Стол слотов, смена инструмента |
| Движение | Называет автор, каждая ось — по своему заданию | Ячейки: места по имени | Слотов нет: у схвата и горелки их не бывает |
Проверка, каким родом описывать задачу: меняет ли смена навесного саму траекторию? Да — рез. Нет — движение. Сварка — не третий род: шов называет автор, значит это движение с горелкой.
Из чего собирается путь
Элементарные
Ориентация, переезд, губки, поворот, сглаживание, выдержка, фаза.
Приёмы целиком
Перенос, переворот, облёт, сварной шов, кольцевой шов.
Факты ячейки
Место и деталь: координаты живут в двойнике и замеряются обучением.
Один шаг замысла автора — не одна строка G-code: смыкание губок и поворот разворачиваются в несколько кадров. Приёмы целиком раскрываются в те же элементарные действия — второй истины про путь нет.
| Глагол | Технолог называет | Платформа выводит | Ограничение |
|---|---|---|---|
place место | Имя места ячейки | Координаты — из двойника, замеряются обучением | Имени нет в двойнике — отказ со списком того, что есть |
part деталь | Габарит, место, сторона захвата | Точку захвата, точку над деталью, верх, центр, пролёт по оси захвата | Место — опора под деталью: низ на опоре, верх выше на толщину |
orient ориентация | Углы кисти, градусы | В кадр попадает только при смене — модально, как в G-code | Не названа — поза из начальной точки двойника |
moveTo переезд | Точку и подачу | Без подачи — рапид, с подачей — рабочий ход | Числовая точка отсчитывается от базы программы |
jaws губки | Открыть или закрыть; пролёт — по желанию | Пролёт по умолчанию — ширина детали; раскрытие — из паспорта головы | Пролёт не назван и не встречался — отказ; усилие задаёт наладка привода |
rotate кантование | На сколько повернуть | Абсолютную позу кисти, всегда рабочим ходом | Только боковой захват: рапид кистью роняет деталь |
dwell выдержка | Секунды | — | Длительность не названа — отказ |
phase фаза | Имя фазы словами | Подписи и границы на шкале плеера | Фаза без имени — отказ |
smooth сглаживание | Режим и плечо скругления, мм | Кривую через точки или со срезанными углами | Крайние точки и точки действий не двигаются |
transfer перенос | Точки A и B, порт схвата, ширину детали | Подвод, раскрытие, захват, подъём, укладку, отпуск | Порт схвата обязателен и не угадывается |
flip переворот | Какая грань станет опорной | Ось, угол, высоту разворота и новую высоту детали | Ниже минимума — отказ с числом: полудиагональ плюс зазор |
orbit облёт | Вокруг чего, отступ, сектор | Дугу, на которой голова смотрит на поверхность; шаг — из допуска на хорду | Губки пусты; дуга сквозь габарит детали — отказ |
weld шов | Точки шва или деталь для обвара, выход дуги | Путь горелки, наклон на сторонах контура, тепловложение из режима | Выход дуги обязателен: на руке со схватом первый порт — клапан губок |
weldRing кольцевой шов | Центр стыка, ось, диаметр, отступ, рабочий угол | Радиус, точку старта — дальнюю от робота, шаг точек из допуска | Дуга обрывается там, где рука встаёт; остаток кольца сообщается углом |
Что называет автор, что берётся из двойника
Называет автор
Замысел: что кантуем, куда кладём, где шов. Не назвал — отказ с человеческим текстом, а не догадка.
Берётся из двойника
Место, опора, пролёт губок, вылет, порт клапана, начальная точка и база программы. В тексте программы не дублируются.
Докручивается
Высота разворота, скорость, сторона захвата. У каждого параметра есть умолчание, и оно видно в подсказке глагола.
Программа начинается и заканчивается в начальной точке двойника — только тогда её можно ставить в процедуру проекта в любом порядке.
Где догадка стоила бы детали
Отказ — там, где догадка стоила бы детали или железа. Предупреждение — там, где написанное бывает законным замыслом, но молчать о нём нельзя.
| Ситуация | Реакция | Почему |
|---|---|---|
| Кантование при захвате сверху | отказ | Взятой сверху деталью кантовать нечем — нужен боковой захват |
| Свести губки, не назвав пролёт | отказ | Пролёт — размер детали, а не константа платформы |
| Путь варит, а выход дуги не привязан | отказ | Подстановка порта означала бы, что вместо дуги дёрнется клапан губок |
| Дуга и губки на одном выходе | отказ | Зажигание дуги сомкнуло бы схват |
| Дуга зажжена и не погашена | отказ | Горелка уехала бы в начальную точку горящей |
| Ход назвал место, которого нет в двойнике | отказ с именем места | «Поехать примерно туда, где было раньше» — ровно тот дефект, ради которого места заведены |
| Парковка там, где губки работают с деталью | отказ с числами | «Дом» внутри оснастки не отделяет руку ни от детали, ни от следующей программы |
| Начальная точка не задана | предупреждение | Программа стартует оттуда, где рука стоит сейчас; в процедуру проекта её ставить нельзя |
| Путь заканчивается сомкнутыми губками | предупреждение | Деталь уедет в начальную точку вместе с рукой — законно, если её передают дальше |
| В пути есть кантование | предупреждение | Смещение детали при развороте зависит от вылета схвата — этого числа программа не знает |
Кантование делает ноль детали недействительным. Между переворотом и следующим резом той же детали обязателен поиск заготовки касаниями на том же станке — иначе нарушение проявится не отказом, а запоротой деталью.
Переворот детали струбциной на месте
Деталь 200 × 100 × 50 мм лежит в тисках станка. Рука подходит над ней рапидом и разводит губки на ходу, опускается на точку захвата, смыкает губки и ждёт зажима. Затем поднимается, кантует деталь на 180° рабочим ходом, кладёт обратно, отпускает и уходит в начальную точку.
Тот же переворот записывается одним глаголом flip с опорной гранью «противоположная»: высоту разворота, ось и угол платформа считает из габарита детали.
| Фаза | Глаголы | Что происходит |
|---|---|---|
| подвод | moveTo, jaws на ходу | Рапидом над деталью; губки разводятся, рука не встаёт |
| захват | moveTo, jaws, dwell | На точку захвата с подачей, сомкнуть на пролёт детали, выдержка до подъёма |
| переворот | moveTo, rotate | Подъём на высоту разворота, кантование — всегда рабочим ходом |
| укладка | moveTo, jaws | Вниз на опору, губки открыть |
| возврат | moveTo | Над деталью и дальше — в парковку |
Шапка программы
Несёт то, чего по координатам не восстановить: конвенцию ориентации, направление оси инструмента, способ захвата и порт схвата.
Ручки
Подача переноса, высота подхода и высота разворота вынесены в параметры с диапазоном и шагом — их крутят без правки текста.
Губки перед стартом
Программа разжимает губки перед выходом в начальную точку и возвращается туда с отпущенной деталью.
Голова — полноценный участник конфигурации
Навесное — не подпись на схеме. Голова сама объявляет, что ей нужно от станка или робота. Сменили модель захвата в справочнике — сменилась конфигурация, и второго места, за которым пришлось бы следить, нет.
| Голова объявляет | Подробности |
|---|---|
| Свои оси | Ход губок, подача проволоки, поворот резцедержки, наклон стола. Едут отдельно от кинематики: губки не участвуют в обратной задаче, подача проволоки не двигает точку инструмента. |
| Свои сигналы | «Открыть», «датчик зажато», «пуск дуги», «затвор», «задание мощности» — со смыслом, направлением, типом и каналом. Физический адрес назначает технолог при наладке. |
| Свой шпиндель | Фреза на фланце робота, шлифовальная головка: шпиндель приезжает вместе с головой и уезжает с ней. |
| Своё исполнение | Губки приводит пневматика или сервопривод, фреза меняется руками или автосменой. Исполнение выбирается настройками карточки, сигналы и процедура смены из него следуют. |
| Что умеет | Фрезерная программа требует головы, умеющей фрезеровать, — никакая кинематика этого не переголосует. |
Виды навесного
Голова, горелка, схват, струбцина, тиски, патрон. У струбцины, тисков и патрона привод — вариантом: ручной, пневмогидро или электро.
Инструмент паллетайзера
«Умная струбцина»: серво-плиты, подхваты, присоски — один вид навесного со своими осями и сигналами.
Числа за производителя не выдумываются
Пока паспорт модели не пришёл, пределы оси навесного помечены как предварительные — и пометка печатается в сам файл конфигурации, где её прочтёт наладчик.
Порода — это кинематика, а не бренд
«Рука 6 осей» — порода; имя производителя и «с позиционером» — данные конкретного экземпляра. Две руки с одной кинематикой — один тип, даже на приводах разных заводов: различие живёт в паспорте двойника.
| Конструктор | Оси | Что это | Зрелость |
|---|---|---|---|
| Рука 6 осей | X Y Z A B C | Шарнирный промышленный робот. Геометрия — таблицей DH: один конструктор обслуживает любую руку 6R. Пока приводы не назначены, оси виртуальные | опытный |
| Сварочный робот | X Y Z A B C | Та же рука 6R с горелкой MIG/MAG; в паспорте — подача проволоки и скорость ведения. С двухосевым позиционером кольцевой шов делает стол, горелка стоит | опытный |
| Гексапод | 6 штанг → X Y Z A B C | Платформа на шести линейных штангах, полная поза | опытный |
| Трипод | Z + 2 наклона | Три линейных цилиндра держат головку: синхронно — подача, врозь — наклон | опытный |
| Линейная дельта | 3 каретки → X Y Z | Платформа на трёх тягах; инструмент всегда вертикально | опытный |
Движения — да, рез по объёму — нет
У шарнирной руки нет прямой декартовой оси: плоский G-code на ней значил бы не то, что нарисовано. Перенос, установка и сварочный проход программируются движениями.
Непригодное не исчезает
Станок, непригодный для рода программы, остаётся в списке с названной причиной: исследовательский запуск иногда нужен, а молчаливый запрет объясняет хуже.
Где проверено
Кинематика пород проверена на виртуальных осях; рука 6 осей и сварочный позиционер — ещё и на живых серво стенда.
От программы до движения руки
- Создать«Программы → Движения → Новая программа», выбор машины — один раз. Список делит машины по пригодности: под рез или с захватом на фланце.
- НаписатьЛаборатория: глаголы слева, ячейка в 3D справа. Сохранение показывает счётчик ошибок, предупреждений и справок проверки.
- Проверить до пускаВоздух, врезка, столкновения и посадка считаются одной математикой по одному описанию механизма. Прогон движения судится до конца программы.
- Оснастить и отправитьСтенд и профили осей делаются текущими, режим — виртуальные оси или приводы, проверки поимённо.
- Пуск и мониторКонфигурация порождается из двойника, база, программа — по шагам. Монитор показывает координаты и 3D по факту, «Стоп» — одна команда во всех окнах.
Виртуальные оси
Шины нет, момента нет: проверить программу и порядок кадров без риска.
Приводы
Реальные серво по EtherCAT, момент подаётся только внутри шага движения. То же самое, но железо отвечает.
Ответ железа
Ответ кнопки доказывает только, что запрос принят. Факт — позиция, ошибка слежения, слово состояния привода — снимается с другого канала и виден на экране.
Что работает и что отрабатывается во внедрении
- РаботаетГлаголы движения и проверки до пуска в лаборатории, пуск на виртуальных осях, сварочный позиционер на живых серво стенда.
- Опытный уровеньРука 6 осей, сварочный робот, гексапод, трипод, линейная дельта — кинематика проверена на виртуальных осях; на вашей ячейке отрабатывается во внедрении.
- Без вашего числа — без числаГабариты деталей, вылет схвата, режимы сварки берутся из вашего паспорта и техзадания внедрения.
Роботы, позиционеры и захват — по паспорту производителя
Геометрия, оси и пределы моделей взяты из паспорта или STEP производителя. Пометка у всех моделей — «по паспорту»: на стенде их оси идут на виртуальных осях.
| Производитель · модель | Вид | Оси | Пометка |
|---|---|---|---|
| KUKA KR16 | рука | 6 | по паспорту |
| CRP RA18-25 | рука | 6 | по паспорту |
| CRP RH15-15-HP | фрезерный робот | 6 | по паспорту |
| CRP RP32-180 | паллетайзер | 4 | по паспорту |
| CRP RS04-03 | SCARA | 4 | по паспорту |
| CRP WB1K-500, WB1S-750, WB2S-250, WB3S-500 | сварочные позиционеры | 1–3 | по паспорту |
| CRP WD250-6000 | линейный трек | седьмая ось | по паспорту |
| MotoPos D500 | поворотно-наклонный позиционер | 2 | по паспорту |
| Robotiq 2F-85 | двухпальцевый захват | один привод | по паспорту |
| KUKA KR16 + CRP WB2S-250 | составной вид: рука и позиционер | рука 6 + позиционер | по паспорту |
Оси ведёт наше управление
Модель робота в двойнике движется по программе платформы; оси ведёт наше управление, на стенде — виртуальные оси.
Без постпроцессоров
Постпроцессоров в языки роботов нет: программа не выгружается в контроллер робота производителя, и управление этим контроллером мы не заявляем.
Ваша модель
Модель, которой нет в библиотеке, собирается из STEP производителя; объём и сроки — по согласованию при внедрении.
Обсудить внедрение
Опишите ячейку — робот, навесное, места и деталь. Соберём её в двойнике и предложим этап НИОКР с ценой и сроком.
Запросить доступОбсудить внедрение
Опишите узел или линию — ответим, что проверим и в какой срок. Целевые показатели фиксируются в техзадании внедрения.
Запросить доступ