3-осевой фрезер XYZ (trivkins). Оси соединены с приводами либо по EtherCAT (CiA-402/CSP, lcec — генерится ещё и ethercat-conf.xml), либо через LPT step/dir (stepgen + hal_parport) — это выбирается полем `interface`, а не выбором конструктора. Генерирует LinuxCNC .ini + .hal + tools.tbl.
Тип станка — это кинематика и то, что конструктор умеет напечатать; числа экземпляра (ход, скорости, пределы) живут в двойнике конкретного станка.
| Кинематика LinuxCNC | trivkins |
| Координаты | XYZ |
| Оси | X · Y · Z |
| Рабочая зона, мм | 1 000 × 1 000 × 200 |
| Макс. подача | 3 000 мм/мин |
| Обороты головы | 0–24 000 об/мин |
| Рабочий орган по умолчанию | Шпиндель — Вращающийся инструмент на фланце: фрезерует, сверлит, зенкует. Обороты задаёт станок или частотник — тогда «обороты» уезжают в регистр Modbus. |
| E-STOP · щуп | есть · нет |
| Что печатает конструктор | .ini · .hal · tools.tbl · cncctl_map.json · tools.tbl |
Шесть блоков карточки одинаковы у всех пород; поля ниже — те, что читает конструктор этого типа станка (имена из реестра, 58 полей).
allow_motion_without_homing · axes_to_drive · ballscrew_pitch_mm · default_linear_velocity_mm_s · max_acceleration_mm_s2 · max_following_error_mm · max_linear_acceleration_mm_s2 · max_velocity_mm_min · microstepping · servo_period_us · steps_per_rev · x_travel_mm · y_travel_mm · z_travel_mm
max_spindle_override · spindle_ethercat · spindle_gear_den · spindle_gear_num · spindle_lcec_type · spindle_max_rpm · spindle_min_rpm · spindle_model · spindle_pwm_pin · spindle_ramp_s · spindle_slave_position · spindle_vel_gain · spindle_vendor
axis_drives · bus_identities · dir_pin_x · dir_pin_y · dir_pin_z · interface · io_coupler_slave · parport_base_address · step_pin_x · step_pin_y · step_pin_z
estop_input_pin · has_estop · has_probe · io_coupler_modules · machine_fixture · machine_inputs · machine_io_channels · machine_outputs · probe_input_pin
machine_tools · tool_table
encoder_counts_per_rev · end_effector · halfile · headless · machine_name · max_feed_override · sim_stock · simulation_mode · var_file
Эталон породы: род cut, заготовка 40 × 30 × 10 мм. Проходит preflight без предупреждений и отправку без замечаний — иначе порода не настроена. Пример унаследован от базового типа станка того же рода.
stock(40, 30, 10);
face({ depth: 0.4 });
drill({ points: [[10, 10], [30, 20]], depth_mm: 3 });
| операция | движок | слот · Ø | параметры |
|---|---|---|---|
| Торцовка 0.8 мм | python_face | T1 · 12 мм | depth_mm feed plunge_feed rect rpm step_down step_over tool_diameter |
| Сверловка Ø6 | python_drill | T2 · 6 мм | depth_mm feed peck_mm plunge_feed points rpm |
Сверяется с железом: смены инструмента T1, T2, слово шпинделя S12000. Все примеры типов станков — одной таблицей.
Руководство «Станки» · Все типы станков и кинематики · Как пишется программа этого рода · От программы к станку · Стенд и железо