6-осевой сварочный робот KUKA KR16 (serial 6R, LinuxCNC genserkins) со сварочной горелкой MIG/MAG. Та же кинематика, что у «КУКА — перекладка» (robot-kr16), но инструмент = горелка и есть параметры сварочного процесса (подача проволоки, скорость ведения). Генерирует .ini + DH-HAL. Без назначенных приводов — вирт. оси (loopback); назначили серво суставам — рендерится EtherCAT.
Тип станка — это кинематика и то, что конструктор умеет напечатать; числа экземпляра (ход, скорости, пределы) живут в двойнике конкретного станка.
| Кинематика LinuxCNC | genserkins |
| Координаты | X Y Z A B C |
| Оси | X · Y · Z · A · B · C |
| Рабочая зона, мм | 370 × 190 × 284 |
| Макс. подача | 18 000 мм/мин |
| Обороты головы | нет шпинделя |
| Рабочий орган по умолчанию | Сварочная горелка — MIG/MAG или TIG-горелка: ведёт шов по траектории. Ток, напряжение и газ живут режимами головы, программа выбирает режим по имени. |
| E-STOP · щуп | есть · нет |
| Что печатает конструктор | .ini · .hal · tools.tbl · kuka_kr16_svarschik.tbl |
Шесть блоков карточки одинаковы у всех пород; поля ниже — те, что читает конструктор этого типа станка (имена из реестра, 32 полей).
cartesian_reach_mm · clamp_max_acceleration_mm_s2 · clamp_max_velocity_mm_s · dh_a · dh_alpha_deg · dh_d · joint_limits_deg · max_joint_acceleration_deg_s2 · max_joint_velocity_deg_s · max_linear_acceleration_mm_s2 · max_linear_velocity_mm_s · servo_period_us · travel_speed_mm_s
bench_no_gearbox · spindle_max_rpm · wire_feed_m_min
axis_drives · bus_identities · io_coupler_slave
has_probe · io_coupler_modules · machine_outputs
cartesian_rot_limit_deg · effector_kind · effector_tcp_offset_mm · end_effector · headless · home_deg · kinematics_boot · machine_name · simulation_mode · var_file
Эталон породы: род motion, заготовка 40 × 30 × 10 мм. Проходит preflight без предупреждений и отправку без замечаний — иначе порода не настроена.
// ПРЯМОЙ ШОВ: подвести горелку к началу стыка, зажечь дугу, пройти
// шов рабочим ходом, погасить, отойти. Дуга — такое же действие в
// точке, как смыкание губок; новый род для сварки не заводится.
const v = param('подача шва', 480); // 8 мм/с профиля горелки
const a = [900, -150, 300]; // начало стыка, координаты ЯЧЕЙКИ
const b = [900, 150, 300]; // конец стыка
orient([180, 0, 0]); // сопло вниз
phase('подход');
moveTo([a[0], a[1], a[2] + 100]);
moveTo(a, { feed: v });
phase('шов');
weld({ to: b, arc: 3, feed: v }); // зажечь → пройти → погасить
phase('отход');
moveTo([b[0], b[1], b[2] + 100], { feed: v });
| операция | движок | слот · Ø | параметры |
|---|---|---|---|
| Прямой шов 300 мм | python_motion_path | — | arc_port feed_mm_min grasp_from home_abc home_xyz orientation_model path_json |
Сверяется с железом: смены инструмента нет. Все примеры типов станков — одной таблицей.
Руководство «Станки» · Все типы станков и кинематики · Как пишется программа этого рода · От программы к станку · Стенд и железо