Узел автоматики описывается как БЛОК — набор каналов и логика, которая этому набору полагается. Образец каталога — готовый блок: механизм с геометрией, паспорт каналов и программа-пример. Ниже — из чего состоит блок, какой словарь ролей у портов и что несёт каждый образец.
Ось несёт РОЛЬ (что за величину ею задают) и МЕХАНИЗМ (чем она физически является). Роль выбирает режим привода, механизм — то, что видит оператор и рисует двойник.
Дискретный вход с РОЛЬЮ: что этот датчик знает. Роль решает, какие глаголы предлагаются автору именно на этом узле.
Дискретный выход с РОЛЬЮ: что этот порт делает — держит, стопорит, метит, переводит поток.
Привязка к железу у образца пустая — и это намеренно. Слейв, шарнир и пин задаются на конкретном стенде при наладке. Пуск проверяет привязку и отказывает, если её нет: молчаливой подстановки «наверное, первый привод» не бывает.
Каждый канал помнит свой источник. Что принёс образец, а что технолог добавил руками — видно у каждой оси и каждого порта. Довесок не теряется при обновлении образца.
Узлу предлагаются только его глаголы. Блоку без датчика наличия «дождись детали» не предложат вовсе — пригодность работает фильтром выбора, а не отказом после выбора.
| Роль | Режим | Единицы паспорта | Что это |
|---|---|---|---|
| linear_axis | PP | мм | прямая ось: ход по координате |
| joint | PP | ° | поворотная ось: угол |
| spindle_speed | PV | об/мин | вращение без цели: лента, шнек, шпиндель |
| spindle_torque | PT | Н·м | момент: затяжка, прижим |
Роль и механизм ортогональны: лента конвейера и мачта крана обе линейны по роли, но выглядят и ведут себя совершенно по-разному.
| Механизм оси | Что это |
|---|---|
| belt | лента / рольганг — транспортировка потоком |
| pusher | толкатель — штучная выдача из магазина |
| gantry_axis | портальная ось — линейный привод хендлинга или крана |
| mast | мачта — вертикальный подъём кран-штабелёра |
| fork | вилка — телескопический заезд в ячейку |
| rotary_table | поворотный стол / делительная головка |
| auger | шнек дозатора |
| screw_spindle | шпиндель завинчивания |
| press_ram | пресс-плунжер / прижим |
| web_feed | протяжка ленты или плёнки |
| probe_axis | ось щупа контроля |
| linear_feed | локальная линейная подача — когда ни один из остальных не подходит |
Роль — не HAL-пин и не адрес. Это объявление смысла: по нему автору предлагается глагол, а оператору — понятная подпись на экране.
| Выход | Подпись | Глагол | Что означает |
|---|---|---|---|
| grip | захват | захвати / отпусти | схват манипулятора: держит деталь, пока выход включён |
| clamp | зажим (фиксатор) | зажми / разожми | прижим детали на позиции — стол, кондуктор, фиксатор паллеты |
| gate | стопор (отсекатель) | придержи / пропусти | останов потока: стопор конвейера, отсекатель магазина |
| valve | клапан | открой / закрой клапан | пневматика или среда: воздух, обдув, дозирование |
| marker | маркер | пометь деталь | отметка детали по результату контроля |
| applicator | аппликатор | приложи | прикладывающий орган: этикетка, штамп, накатка |
| diverter | стрелка | переведи поток | развилка маршрута: стрелка A/B на сортировке |
| vacuum | вакуум (присоски) | присоси / отпусти | вакуумный захват — тот же смысл, что grip, но другая физика |
| glue | клей | подай клей | подача клея или герметика на шов |
| part_feed | питатель | подай деталь | выдача штучной детали из магазина |
| Вход | Подпись | Глагол | Что означает |
|---|---|---|---|
| presence | наличие детали | дождись детали | деталь есть в зоне или ячейке — самый частый датчик линии |
| at_position | приход в точку | дождись прихода в точку | механизм доехал: концевик позиции |
| trigger | событие | дождись события | внешнее событие потока: «короб пришёл», старт от соседа |
| verdict | вердикт контроля | дождись вердикта | ответ измерителя годен / брак |
| fill_level | наполнение | дождись наполнения | уровень набран: дозатор, бункер, тара |
| force_ok | усилие достигнуто | дождись усилия | подтверждение прижима или затяжки от датчика усилия |
| grip_ok | захват подтверждён | дождись подтверждения захвата | схват сомкнут на детали: «взял», а не «команда подана» |
| label_gap | метка ленты | дождись метки | промежуток между этикетками — синхронизация протяжки |
«Команда подана» — это не «взял». Вход grip_ok заведён именно затем, чтобы захват подтверждался сигналом, а не выдержкой на глазок. Пауза вслепую — это таймаут без названного исхода, а такой таймаут всегда заканчивается ложным успехом.
11 образцов плюс пустой блок. Состав каналов образца не написан нами, а ВЫЧИТАН из файла механизма — сколько подвижных шарниров, как они зовутся, каковы пределы хода; роли и электрику каналов несёт паспорт, логику — программа-пример на том же языке, что и любая другая программа блока. Механизм и его геометрия приезжают вместе с блоком. Приводов под образцами нет, привязка к стенду пустая.
| Образец | Что это | Файлы каталога | Программа-пример | Карта имён |
|---|---|---|---|---|
| allex_arm Рука ALLEX | семиосевой манипулятор, вырезанный из чужого гуманоида | механизм · паспорт · программа · спека | есть | имена по договору |
| crp_ra18_25 CRP RA18-25 | РУКА как узел автоматики, 6 поворотных осей (CRP-RA18-2, 21.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 6 шарн. |
| crp_rh15_15_hp CRP RH15-15-HP | фрезерный робот, 6 поворотных осей (ROBOT-rh15, шаг 1, 24.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 6 шарн. |
| crp_wb1k_500 CRP WB1K-500-1800-800-R650 | одноосевой позиционер «две стойки» как узел автоматики (AUTO-crp-1, 23.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 1 шарн. |
| crp_wb1s_750 CRP WB1S-750-D770 | одноосевой сварочный позиционер как узел автоматики (AUTO-crp-1, 23.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 1 шарн. |
| crp_wb2s_250 CRP WB2S-250-D770 | двухосевой сварочный позиционер как узел автоматики (AUTO-crp-1, 23.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 2 шарн. |
| crp_wb3s_500 CRP WB3S-500-1800-800-R650 | трёхосевой сварочный позиционер «две станции» как узел автоматики (AUTO-crp-2, 23.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 3 шарн. |
| crp_wd250_6000 CRP WD250-6000-1R-H300 | линейный трек (седьмая ось робота) как узел автоматики (AUTO-crp-2, 23.09.2026) | механизм · карта имён · паспорт · программа · спека | есть | 1 шарн. |
| kr16 KUKA KR16 | РУКА как узел автоматики, 6 поворотных осей | механизм · карта имён · паспорт · программа · спека | есть | 6 шарн. |
| motopos_d500 MotoPos D500 | ПОЗИЦИОНЕР (поворотно-наклонный стол), 2 оси | механизм · карта имён · паспорт · программа · спека | есть | 2 шарн. |
| robotiq_2f_85 Robotiq 2F-85 | ЗАХВАТ (двухпальцевый параллельный), ОДИН привод | механизм · карта имён · паспорт · программа · спека | есть | 1 шарн. |
Пустой блок — законный старт. У него нет ни каналов, ни программы: оси, входы и выходы заводятся вручную в конструкторе, механизм приносится файлом. Кнопка — «Свой блок с нуля».
Имя шарнира — то, чем его зовёт программа. У образца из механизма оси зовутся так же, как шарниры в файле (через карту имён, если донор назвал их по-своему), и все числа хода в программе-примере взяты из его же пределов. Ни одно из них не выдумано.
Что образец НЕ делает. Он не подставляет числа вашего экземпляра и не привязывается к железу. Позиции в программе-примере показывают оси, а не партитуру вашего участка.
Ведомые шарниры не поддержаны. Где механизм объявляет один шарнир ведомым от другого (схват Robotiq: шесть шарниров, пять ведомые), программа адресует ведущий явно, а ведомые на картинке стоят.
Порождено из каталога образцов. Из каких пяти файлов состоит узел каталога — «Механизм и URDF».
Как устроена сама программа — шаг, дорожка, условие перехода, пороги аварии — на странице примеров программ. Путь навесного органа робота описан отдельно, в глаголах движения.