Industry 4.0 · цифровые двойники станков и промышленной автоматики · отечественная R&D-разработка +7 925 353-56-35 info@synctwin.ru
Документация / Блоки автоматики

Блоки автоматики: каналы и архетипы

Узел автоматики описывается как БЛОК — набор каналов и логика, которая этому набору полагается. Архетип — заготовка блока: состав каналов плюс шаблон типовой программы. Ниже — из чего состоит блок, какой словарь ролей у портов и что несёт каждый архетип каталога.

Устройство

Из чего состоит блок

srv0…srvN

Серво — оси

Ось несёт РОЛЬ (что за величину ею задают) и МЕХАНИЗМ (чем она физически является). Роль выбирает режим привода, механизм — то, что видит оператор и рисует двойник.

PP · PV · PT
di0…diN

Входы — датчики

Дискретный вход с РОЛЬЮ: что этот датчик знает. Роль решает, какие глаголы предлагаются автору именно на этом узле.

что известно
do0…doN

Выходы — исполнительные

Дискретный выход с РОЛЬЮ: что этот порт делает — держит, стопорит, метит, переводит поток.

что делается

Привязка к железу у архетипа пустая — и это намеренно. Слейв, шарнир и пин задаются на конкретном стенде при наладке. Пуск проверяет привязку и отказывает, если её нет: молчаливой подстановки «наверное, первый привод» не бывает.

Каждый канал помнит свой источник. Что принёс архетип, а что технолог добавил руками — видно у каждой оси и каждого порта. Довесок не теряется при обновлении шаблона.

Узлу предлагаются только его глаголы. Блоку без датчика наличия «дождись детали» не предложат вовсе — пригодность работает фильтром выбора, а не отказом после выбора.

Оси

Роль оси и механизм за ней

РольРежимЕдиницы паспортаЧто это
linear_axisPPммпрямая ось: ход по координате
jointPP°поворотная ось: угол
spindle_speedPVоб/минвращение без цели: лента, шнек, шпиндель
spindle_torquePTН·ммомент: затяжка, прижим

Роль и механизм ортогональны: лента конвейера и мачта крана обе линейны по роли, но выглядят и ведут себя совершенно по-разному.

Механизм осиЧто это
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 заведён именно затем, чтобы захват подтверждался сигналом, а не выдержкой на глазок. Пауза вслепую — это таймаут без названного исхода, а такой таймаут всегда заканчивается ложным успехом.

Каталог

Архетипы линии

Восемнадцать заготовок реальных модулей участка. Каждая несёт состав каналов И шаблон типовой программы — заготовку логики, которую технолог правит под свой узел. Все шаблоны написаны на том же языке, что и любая другая программа блока.

ГруппаАрхетипТиповая задачаОсиВыходыВходы
Транспорт conveyor
Конвейер (транспортёр)
гнать ленту и считать детали по фотодатчику srv0 лента di0 счётчик
Транспорт conveyor_roller
Роликовый конвейер (накопление)
передать деталь по зонам без давления (ZPA) srv0…srv2 зоны 1–3 di0…di2 датчики зон
Транспорт linear_transfer
Линейный трансфер
подать паллету к стопору, выдержать пост и выпустить srv0 рольганг do0 стопор di0 на позиции
Транспорт feeder
Питатель (распределение)
выдать одну заготовку из магазина srv0 толкатель do0 отсекатель di0 наличие
Хендлинг pick_place_2axis
Pick&Place 2 оси
перенести деталь из точки забора в точку укладки srv0 X, srv1 Z do0 захват di0 деталь есть, di1 захват сомкнут
Хендлинг gantry_3axis
Портал 3 оси + захват
взять деталь и уложить по маршруту XY → Z srv0 X, srv1 Y, srv2 Z do0 захват
Индексация rotary_index
Поворотный делительный стол
повернуть стол на одну делительную позицию srv0 стол do0 фиксатор di0 в позиции
Индексация rotary_clamp
Поворотный стол + зажим
зажать деталь, повернуть оснастку и разжать srv0 стол do0 зажим
Процесс dispenser
Дозатор
выдать дозу до подтверждения наполнения srv0 шнек do0 клапан di0 наполнение
Процесс screwdriver
Завинчивание (момент)
подать винт и затянуть до момента srv0 шпиндель (момент), srv1 подача Z do0 питатель винта di0 винт подан
Процесс press_fit
Запрессовка
запрессовать деталь до подтверждения усилия srv0 ползун di0 деталь, di1 усилие ОК
Контроль sorter
Сортировщик
развести деталь по признаку в ветку A или B srv0 лента do0 стрелка A, do1 стрелка B di0 признак
Контроль inspection
Контроль / тестирование
замерить щупом и по вердикту пометить брак srv0 щуп do0 маркер брака di0 в допуске
Упаковка labeling
Этикетирование
нанести этикетку на пришедший короб srv0 протяжка ленты do0 аппликатор di0 короб пришёл, di1 метка ленты
Упаковка palletizer
Паллетайзер
уложить слой на паллету srv0 X, srv1 Y, srv2 Z, srv3 поворот do0 захват
Упаковка case_erector
Формовка коробки
сформовать короб из заготовки и проклеить клапаны srv0 формовка, srv1 прижим do0 присоски, do1 клей di0 заготовка
Склад stacker_crane
Кран-штабелёр (склад)
привезти груз из ячейки в ячейку; вернуть кран в исходную srv0 рельс, srv1 мачта, srv2 вилка do0 захват di0 ячейка
Сборный feed_turn_grip
Подача + поворот + захват
подать, дозировать, повернуть и захватить srv0 ось, srv1 шнек, srv2 сустав do0 захват di0 наполнение

Девятнадцатая позиция каталога — пустой блок. У него нет ни каналов, ни шаблона программы: оси, входы и выходы заводятся вручную в конструкторе. Это законный старт для узла, который ни на что из списка не похож.

Кран-штабелёр объявляет ещё и задание. Кроме шаблона у него описана поверхность задач: «привези груз из ячейки A в ячейку B» и «вернись в исходную» — задания шлёт складская система или пульт оператора, программа при этом одна и та же.

Что шаблон НЕ делает. Он не подставляет числа хода вашего механизма и не привязывается к железу. Позиции в шаблонах схематичны — это заготовка-процедура, а не готовая партитура вашего участка.

Образцы из механизма

Узел, собранный из принесённой 3D-модели

Четвёртая порода карточек того же каталога: состав каналов не написан нами, а ВЫЧИТАН из файла механизма — сколько подвижных шарниров, как они зовутся, каковы пределы хода. Механизм и его геометрия приезжают вместе с блоком. Это учебные образцы: приводов под ними нет, привязка к стенду пустая.

ОбразецКаналы из файлаПрограмма-пример
motopos_d500
Позиционер Motoman MotoPos D500
два поворотных шарнира: наклон и вращение столаесть — обход хода по пределам файла
flir_ptu_d46
Поворотная голова FLIR PTU-D46
два поворотных шарнира: поворот и наклонесть — обзор сцены
ewellix_lift
Телескопическая колонна Ewellix TLT
две линейные ступени (верхняя объявлена ведомой нижней, поддержки ведомых шарниров нет — обе адресуются явно)нет — ход винта (lead_mm) паспортом узла не назван, цель прямой оси в оборотах считать не из чего
robotiq_2f_85
Схват Robotiq 2F-85
шесть шарниров, пять из них ведомыенет — готовится: честная программа возможна только с поддержкой ведомых шарниров

Имя шарнира — то, чем его зовёт программа. У образца из механизма оси зовутся так же, как шарниры в файле, и все числа хода в программе-примере взяты из его же пределов. Ни одно из них не выдумано.

Ведомые шарниры пока не поддержаны. Где механизм объявляет один шарнир ведомым от другого, программа адресует обе ступени явно; там, где ведомых большинство, программы-примера нет вовсе — и это сказано прямо, а не заменено правдоподобной подделкой.

Как устроена сама программа — шаг, дорожка, условие перехода, пороги аварии — на странице примеров программ. Путь навесного органа робота описан отдельно, в глаголах движения.