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

Наладка: оживить железо

cncctl.ru — рабочее место наладчика приводов: шина EtherCAT, привязка осей к железу, параметры привода, осциллограф, джог. Двенадцать шагов от логина до подтверждённого движения оси. Каждый шаг — одно действие: зачем, что делаете, что видите, чем проверить. Слова — в Понятиях, станочная сторона — в разделе Станки.

Граница

Чем cncctl не является

Инструментов два, и они не спорят. В cncai живёт замысел: двойник оборудования, программа, симуляция. В cncctl живёт факт и руки: что реально висит на кабеле, как настроен привод, куда едет ось.

cncai — замыселcncctl — факт и руки
вопросдеталь выйдет правильной?привод настроен правильно?
предметдвойник, программа, заготовка, нулишина, слейв, ось, паспорт мотора, контур регулирования
единицымашинные — миллиметры деталимоторные — обороты, импульсы, момент
где стоит человекза столому шкафа

Сопоставление «ось ↔ слейв шины» делается ИМЕННО ЗДЕСЬ. В карточке станка в cncai этой операции нет вовсе — там стоит подсказка «Сопоставление ось↔слейв шины делается при наладке в cncctl» и кнопка «Открыть наладку (cncctl)». То же с дискретикой: cncai записывает, ЧТО установлено, а к какому пину это привязано — назначается здесь.

Результат наладки не остаётся в наладке: привязка осей и паспорт оси уезжают в двойник, и конфигурация системы ЧПУ по-прежнему генерится из двойника. Второй правды не появляется.

01–03

Подступиться

Войти, выбрать стенд, взять шину в наладку.

04–06

Связать

Разобрать состав шины, привязать оси и дискретные роли.

07–09

Настроить

Параметры привода, питание и момент, джог и масштаб оси.

10–12

Проверить

Осциллографы, конфиги и оверлеи, диагностика контура.

Шаг 1

Вход и свой стенд

Вход по логину и паролю — форма «Логин» / «Пароль» / кнопка «Войти». Самостоятельная регистрация закрыта: доступ выдаётся по приглашению.

Дверь после входа — «Мои боксы»

Аккаунт видит свои промышленные боксы и разведённые на них стенды (виртуальные машины). В таблице стендов — состояние (онлайн/оффлайн), что на стенде сейчас развёрнуто, автозапуск, максимальный джиттер. Кнопка «Открыть стенд» ведёт в верстак наладки.

  • «Добавить бокс» — одноразовый код и команда установки для чистого Debian 12; бокс появляется в списке сам, как только выйдет на связь. Подробно — Установка бокса;
  • RT-тест (кнопка «Замерить») — джиттер реального времени на выбранной VM: годен ли стенд под циклическую шину;
  • «Создать станок» — опросить шину стенда и создать 3-осевой станок с привязкой осей к найденным приводам; сначала предпросмотр, неопознанные слейвы осями не становятся;
  • «Залить проект на стенд» — выбрать станок или партитуру автоматики из cncai и развернуть её конфиг на стенде.

Адрес называет стенд

Выбранный стенд всегда стоит в адресе страницы параметром ?node=. Ссылку из адресной строки можно переслать коллеге — он откроет ТОТ ЖЕ стенд, а не тот, что остался у него в браузере.

Стенд, на который ничего не залито, работать не мешает: шина принадлежит стенду, а не проекту. Экраны, которым нужен двойник (конфиги, привязка осей), скажут об этом прямо: «Стенд свободен — проект не залит» с кнопкой «К боксам».

Шаг 2

Кто держит шину

На шине EtherCAT ровно один мастер. Значит, вопрос «что мне сейчас можно» сводится к одному: кто держит шину прямо сейчас. Это не тумблер и не настройка — это факт, который читается со стенда.

Что показано в шапкеКто владеетЧто доступно
Работа · станокLinuxCNC — станок выполняет заданиетолько наблюдение; прямое управление приводами закрыто
Работа · автоматикаcncctl, но под ним ИГРАЕТ цикл партитурытолько наблюдение; правка под работающим сценарием запрещена
Наладкаcncctl, ничего не играетджог, осциллограф привода, правка настроек привода
Шина свободнаникто — мастер не поднятни прогонов, ни джога; наблюдение по SDO работает

Владелец шины — это ФАКТ, читаемый со стенда, а не выбор в интерфейсе. Подсказка к свободной шине говорит это прямо: «Это состояние ШИНЫ, а не назначения».

Как взять шину

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

Наладка cncctl заберёт шину у станка: приводы аварийно обесточатся (E-STOP),
LinuxCNC перестанет вести шину (сам EtherCAT-мастер остаётся). Поднимется наладка:
джог, осциллограф 1 кГц, прямой доступ к серво. Пока идёт наладка, со стороны
станка ничего не запустить. Переключение ~10-15 с.

Со свободной шины наладка занимает её без отъёма, и там прямо сказано: «Приводы остаются обесточенными, пока вы сами их не включите». Из-под играющей партитуры цикл сначала останавливают.

Один авторитет — арбитр

Решение «можно ли взять шину» принимает арбитр на самом стенде, а не браузер. Занято — приходит отказ, и он не молчит:

станок занят — переключение отменено. Подтверди «застопить и в наладку».

Причину подставляет арбитр (когда он её называет); ручка рядом — та же кнопка входа в наладку, второе нажатие идёт уже с явным подтверждением человека, кнопка подтверждения — «В НАЛАДКУ».

Отказ называет причину занятости, но не имя держателя. Кто именно держит шину, читается рядом — значком владельца в шапке. Это два разных места на экране, и они дополняют друг друга.

Выход

Кнопка «Выйти из наладки». Подтверждение говорит буквально:

Освободит шину и ОБЕСТОЧИТ приводы. Станок этим НЕ запускается и питание НЕ подаётся —
его поднимают отдельно, со стороны станка. Это просто отдаёт шину станку.

Итог: «Наладка выключена — шина свободна, приводы обесточены».

Шаг 3

Верстак: рамка, в которой всё происходит

После выбора стенда открывается верстак — одна рама для всех экранов наладки.

  • Шапка — пикер стенда, что на нём текущее (станок или партитура), значок владельца шины, переключатель «вирт. оси ⇄ серво», пикер слейва (только на страницах слейва);
  • Меню слева — четыре группы: «① СТАНОК» (или «① АВТОМАТИКА»), «② Монитор · LinuxCNC», «③ Шина · EtherCAT» и группа выбранного слейва;
  • Джог-док — липкая панель толчкового хода внизу экрана;
  • Единая кнопка действия — главное действие страницы всегда внизу, на одном месте.

Меню собирается по факту, а не по догадке

Набор вкладок выбранного слейва приходит из профиля его устройства с бэкенда. У серво и у IO-куплера наборы разные, и платформа не подставляет чужие: открыть «Ось и редуктор» на куплере нельзя, потому что этой вкладки там просто нет.

Пункты наладки привода видны только когда шину держит cncctl. Иначе на их месте — неактивная строка «Наладка приводов — возьмите шину» с подсказкой, что нажать. Пустое меню без объяснения — худший ответ, поэтому его тут нет.

Три экрана группы «② Монитор · LinuxCNC» открыты ВСЕГДА, при любом владельце шины: они только читают и сами объясняют, если HAL не поднят.

Шаг 4

Шина: что реально висит на кабеле

Меню «③ Шина · EtherCAT» → «Мастер + слейвы». Отдельной кнопки «Сканировать» нет: состав шины перечитывается сам, раз в несколько секунд, и читается со стенда напрямую — видно даже когда агент офлайн.

Что видите

КолонкаЧто в ней
Слейвпозиция S0, S1…, имя, тип («серво» · «IO-куплер» · «raw»), вендор, vid, pcode, состояние на шине
Ось станкаселектор оси текущего станка + «Привязать» / «Отвязать»
Диагностика«Открыть» — полная карточка слейва

Ниже на той же странице — сравнение всех слейвов бок о бок: AL-состояние, состояние CiA-402, CRC и его прирост, PHY/FWD, напряжение шины, температура, нагрузка. Это ответ на вопрос «чем эти три привода отличаются друг от друга».

Личность устройства

Карточка слейва, блок «Идентификация (паспорт серво)» — четыре поля, читаются из объекта 0x1018 словаря CoE:

ПолеЧто называет
Vendor Idизготовителя
Product codeмодель устройства
Revisionревизию — по ней подбирается описание модели
Serialсерийный номер экземпляра

Этой тройкой (vendor + product code + revision) устройство опознаётся в каталоге и получает свой профиль: какие у него объекты, какие лимиты, какие вкладки. Не опознано — тип «raw», и работа идёт напрямую по индексам словаря (см. Привод).

Проверяйте личность до привязки. Если слейв не назвал себя, никакой профиль под него не подставляется — в списке он честно стоит как «Неизвестный (raw SDO)», и осью его делать нельзя, пока не понятно, что это.

Линия: CRC и ошибки

Карточка слейва показывает ошибки по портам и отделяет «накоплено» от «растёт прямо сейчас» — это разные диагнозы:

линия чистая
накоплено с момента подъёма шины · сейчас не растут
▲ +14 за 30 с — ошибки РАСТУТ: кабель, разъём или помеха

Кадр, помеченный битым выше по цепочке, отмечается отдельно — это не вина текущего слейва.

Шину не опросить: «Шину опросить не удалось — проверь связь с боксом и что мастер EtherCAT поднят».

Шаг 5

Привязка оси к приводу — по одной оси

Два входа, одна запись: селектор «Ось станка» прямо в таблице «Мастер + слейвы» или меню «① СТАНОК» → «Сопоставление» → вкладка «Оси / серво» с кнопкой «Сохранить оси».

Что уезжает в двойник, что остаётся здесь

  • В двойник (cncai) — само сопоставление: какая ось каким слейвом ведётся, виртуальная ось или нет, люфт по оси. Это SSOT, и в cncctl оно не кешируется;
  • Здесь — cncctl дописывает к записи одну вещь: какой драйвер устройства (lcec) соответствует привязанному железу. Двойник называет ОСЬ, наладка называет МЕТАЛЛ.

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

Чем проверить

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

Привязка недоступна — читайте причину, она конкретная: «Стенд свободен — на нём не развёрнут ни станок, ни блок автоматики» · «На этом стенде развёрнута автоматика, а не станок. Шина, мастер и диагностика слейвов работают; привязать слейв к оси можно только на стенде со станком».

Шаг 6

Дискретика: роли на пины

«Сопоставление» → вкладка «Датчики и IO». Роли обвеса станка разложены по группам — Безопасность · Концевики · Измерение · Шпиндель · СОЖ · Пульт · Сигнализация — и в строке каждой роли четыре колонки:

КолонкаЧто в ней
Рольимя, тег «вход» / «выход», пометка «обязателен», описание
Пинвыбор физического пина шины из живого списка
Инверсиягалочка для нормально замкнутого контакта; доступна только у привязанной роли
Тест / сигналу выхода — кнопка «Мигнуть», у входа — живой индикатор

Отдельной кнопки «Сохранить» тут нет: выбор пина, инверсия и привязка сохраняются сразу, строка за строкой.

Чем проверить — прямо на этом экране

Это и есть главное отличие экрана от таблицы в конфиге: он даёт РУЧКУ проверить связь с железом, не выходя со страницы.

  • Выход — кнопка «Мигнуть»: щёлкнуло реле или загорелась лампа, значит роль сидит на том пине. Доступна только когда шину держит наладка;
  • Вход — живой индикатор: «● сигнал» при замкнутом контакте, «○ нет» при разомкнутом. Нажмите концевик рукой и посмотрите, какая строка ожила;
  • индикатор говорит и о своей неготовности: «не привязан» · «шина не поднята» · «HAL без пинов» · «нет данных» — вместо серого кружка, который можно принять за «нет сигнала».

Роль появляется в списке, только если она отмечена установленной в оснащении станка (в cncai). Не отмечена — экран скажет «Не отмечено как установленное» и даст ссылку туда, где отмечают. Агент не отвечает: «Агент шины не отвечает — селекторы пинов и живой DI недоступны».

Канал, которым управляет сам привод со своих клемм, помечен тегом «управляется приводом» — привязывать его к пину куплера не нужно.

Инверсия — про безопасность, а не про удобство. Нормально замкнутый контакт концевика или аварийной цепи ставится этой галочкой. Ошибка в ней означает, что защита «сработает» ровно тогда, когда её нет — и проверяется она ровно так, как описано выше: рукой, глядя на индикатор.

Шаг 7

Узел автоматики в наладке

Если на стенде текущая не станок, а партитура автоматики, шапка говорит это прямо («Стенд ведёт автоматику»), прогон станка скрывается, а вкладки «Сопоставление» меняют содержимое. Наладка приводов при этом работает как обычно — она про владельца шины, а не про потребителя.

«Оси / серво» у узла — «Серво автоматики»

КолонкаЧто в ней
Компонентроль канала: линейная ось · сустав (поворот) · шпиндель — вращение · шпиндель — затяжка
Шарнир механизмакакой шарнир принесённого механизма ведёт этот канал
Серво на шинекакой привод назначен каналу
Канал движенияномер дорожки в HAL, по которой исполнитель гонит траекторию
Адресуемо«да» · «по алиасу» · «нет»

Имя канала у автоматики — srv0, srv1…, у точек — di0, do0… Это и есть то, чем зовёт шарнир программа. У станка на этом месте стоит БУКВА оси — разные породы, разные имена, и подменять одно другим нельзя.

«Датчики и IO» у узла

Две карточки — «Выходы (DO)» и «Входы (DI)». Колонка называется уже не «шарнир», а «Звено механизма»: датчик сидит не на суставе, а на звене. Колонка «Ведёт» показывает, стоит ли за каналом реальный привод или заглушка виртуального стенда. Кнопка сохранения одна — «Сохранить сопоставление».

Тег «не назван в карте» — не косметика. Он означает, что программа адресует шарнир или звено, которого в принесённом механизме нет. Карта имён — предмет раздела Механизм (URDF); сами компоненты объявляются в cncai при сборке узла, здесь им назначается железо.

Шаг 8

Параметры привода

Вкладка слейва «Параметры»: сверху блок «Главное» (передаточные числа, лимиты, жёсткость), ниже вкладки «Наладка (группы)» и «Все параметры (полный каталог)».

Ключевое отличие от правки конфига: параметр SDO живёт в самом приводе и переживает перезагрузку стенда, а конфигурация LinuxCNC генерится из двойника при каждом пуске. Одно и то же число, заведённое в обоих местах, разъедется — поэтому масштаб оси держат в одном месте (см. шаг 10).

Подробно — Привод: параметры, фолты, паспорт. Профиль движения и машина состояний — CiA-402. Объектные словари по моделям — каталог приводов.

Шаг 9

Питание и момент

Питание приводов — не «режим интерфейса», а безопасность человека у станка. Поэтому оно живёт на отдельном экране и подтверждается железом.

Со стороны станка — «Прогон · джог»

Меню «② Монитор · LinuxCNC» → «Прогон · джог». Одна кнопка, три подписи:

КнопкаКогда показана
Включить станокстанок обесточен
Снять E-STOP + ВКЛстоит E-STOP
E-STOP / ВЫКЛстанок под питанием

Состояние подписано словами, а не кодом: «🟢 ПОД ПИТАНИЕМ · ось удерживается» либо «⚪ обесточен · ось свободна», при аварии — суффикс « · E-STOP».

⛔ Стенд отпускают, и это подтверждают измерением

«Нажал ВЫКЛ» — это намерение. Снят ли момент на самом деле, знает только железо. Поэтому снятие питания проверяется обратным чтением, и если подтверждения нет, экран не рисует успех, а оставляет висеть предупреждение:

Момент НЕ подтверждён снятым — проверьте приводы вручную;
при сомнении жмите аппаратный грибок

Выход из наладки обесточивает приводы, но снятие момента не подтверждает. Это разные пути: подтверждение живёт на пути питания станка, а «Выйти из наладки» просто отдаёт шину. Уходя от стенда после прогона — проверьте фактом: вал свободен, ось проворачивается рукой. «Дошло до IDLE» моментом снятым не является.

Переключатель «вирт. оси ⇄ серво»

В шапке — два тега состояния: «○ вирт. оси» и «● серво», и кнопка перевода. Это не про наладку, а про то, крутит ли поднятый станок реальные приводы. Пока шину держит наладка, переключатель заблокирован: «Идёт наладка — шину ведёт cncctl. Сначала выйдите из наладки».

Перевести станок на живые приводы?
Конфиг соберётся заново из двойника и LinuxCNC перезапустится уже на EtherCAT.
Дальше любое движение — реальное: уберите руки и инструмент из зоны,
приводы должны быть свободны. Программа, если она загружена, слетит —
отправьте её заново.
Шаг 10

Джог и проверка оси

Два разных джога — не путать

Джог наладки (по приводу)Джог станка (LinuxCNC)
гдедок внизу на вкладках слейва«Прогон · джог»
единицыобороты вала, об/минмиллиметры, мм/с
когда доступентолько пока шину держит cncctlтолько когда станок включён
что двигаетвал мотора, напрямую по CiA-402ось станка через интерполятор

Джог-док

Три кнопки — «назад», «СТОП», «вперёд» — и подпись шага в оборотах. Полная панель на странице слейва даёт настройку: шаг (до 5 об) и скорость (до 5 об/с) в режиме позиции, скорость до 300 об/мин в режиме скорости. Режим момента (CST) помечен как в разработке и кнопка выключена.

Состояние привода подписано баннером и объясняет само себя:

🟢 ЗАПИТАН — удерживает, вал жёсткий. Отпустится сам после хода (или STOP).
⚪ ОТПУЩЕН — вал свободен. Команда сама запитает только на время движения.
🔴 ФОЛТ — нажми STOP, при необходимости сбрось в Диагностике.
⚪ Нет связи с приводом — управление НЕДОСТУПНО. Запитай привод.

Привод сам обесточивается после хода — это защита от нагрева на простое, а не сбой. Просадка момента и смена статусворда на осциллографе в этот момент — норма.

Направление: убедиться глазами

Вкладка «Ось и редуктор»: кнопки «Назад» / «Вперёд» / «Стоп» рядом с живой 3D-механикой (шестерни, ходовой винт), анимация идёт от энкодера. Дайте короткий ход и сверьте: вал крутится в ту сторону, куда просите, ось едет в ту сторону, в какую должна.

Отдельной кнопки «направление верно» в наладке нет. Направление проверяется глазами и, если ось едет не туда, инвертируется в паспорте оси двойника — там же, где MIN, MAX и База.

Масштаб: где он живёт

Блок «Паспорт оси: двойник ↔ привод» кладёт рядом три колонки — «Объект», «Двойник (паспорт)» и «Привод (прочитано)» — по двум объектам:

ОбъектЧто это
0x6091электронный редуктор привода
0x607D:1 / :2программные пределы MIN и MAX

Каждая строка помечена «совпадает» / «расходится» / «не прочитано». Разошлось — «Либо примите значения привода как паспорт оси, либо перезапишите привод из двойника следующим launch». Кнопка «Принять как паспорт оси» пишет прочитанные значения в двойник:

Записать прочитанные с привода 0x6091 и 0x607D в двойник (ось X)?
Двойник — источник правды: следующий launch сгенерирует конфиг из этих значений.

Масштаб не задваивают. Электронный редуктор привода держат 1:1, а реальный масштаб (импульсов на миллиметр, шаг ШВП) живёт в конфигурации LinuxCNC — он выводится из двойника. Слайдеры на вкладке «Ось и редуктор» — визуализатор механики, а не запись в привод. Вся цепочка (энкодер → электронный редуктор → механический редуктор → шаг винта → импульсов на мм) показана карточкой «Передача» и НИКОГДА не пересчитывается на экране — только отображается, чтобы не разъехаться с двойником.

Там же — строка «Ход до стены int32»: сколько миллиметров укладывается в счётчик позиции при текущем масштабе. Уперлись в это число — виноват масштаб, а не ось.

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

Шаг 11

Смотреть: осциллографы и монитор

Инструментов наблюдения три, и они снимают РАЗНОЕ. Путать их дорого:

ИнструментЧто снимаетКогда работает
Осциллограф (вкладка слейва)шину EtherCAT напрямую, 1 кГцшина у cncctl
Осциллограф пиновHAL-пины поднятого контурапри любом поднятом HAL
Мониторинг приводов (/live)приводы по SDO, опрос 1 Гцпри любом владельце шины

Подробно — Осциллографы и замеры.

Шаг 12

Конфиги, оверлеи, диагностика

Файлы конфигов

Меню «① СТАНОК» → «Файлы конфигов»: список файлов стенда слева, редактор справа с подсветкой ini/hal/xml, «Назад»/«Вперёд» (отмена и повтор), «Сохранить» (на боксе создаётся резервная копия .bak). Читается по SSH — работает даже когда агент лежит. Кнопка «Отправить проект на стенд» пересобирает конфиг из двойника и заливает его; станок при этом не запускается.

Правка файла на стенде — это вторая правда, и она живёт до следующего пуска. Конфиг всегда генерится из двойника: постоянное изменение делается в двойнике, а не здесь. Экран так и говорит, когда файлов ещё нет: «Конфиг ещё не сгенерён на боксе. Отправь станок на стенд — файлы появятся здесь».

Оверлеи HAL

Свои фрагменты HAL поверх сгенерированного конфига: имя, область («станок (рез)» · «наладка» · «оба»), переключатель «включён», текст. Материализуются при отправке проекта на стенд. Плашка на странице не оставляет двусмысленности:

Оверлей — временный патч наладчика
Он ДОПОЛНЯЕТ граф (грузится последним), а не пересоздаёт его. Если один и тот же
оверлей нужен на 2+ станках — просите расширить конструктор, а не держите патч навечно.

Диагностика привода и «Контур»

Вкладка слейва «Диагностика»: активный фолт с расшифровкой статусворда и кнопкой «Сбросить фолт». Ниже — карточка «Контур» и кнопка «Прогнать диагностику»: одним запросом собирается вся цепочка

двойник → стенд → агент → LinuxCNC → нули → шина → пины → инструменты

Каждое звено получает статус (норма / внимание / отказ), деталь и, где возможно, подсказку «что делать». Прогон читает уже собранное состояние — станок не трогает.

Состояние привода не прочиталось — это не «ошибок нет». Экран так и пишет: «Запрос состояния не прошёл — это НЕ значит „ошибок нет“», и называет варианты причин: слейв не в OP, шину держит другой владелец, привод не отвечает по SDO, агент недоступен.

Порядок

В каком порядке это делают

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

  • 1. Бокс на связи — иначе всё остальное скажет «агент не подключён»;
  • 2. Стенд поднят и выбран — адрес называет его через ?node=;
  • 3. Шина у наладки — иначе вкладки привода не откроются;
  • 4. Слейвы в OP — иначе команды движения не пройдут: «Слейв в состоянии PREOP, не в OP — команды движения не пройдут»;
  • 5. Личность опознана — иначе профиля нет и параметры показывать нечем;
  • 6. Слейв привязан к оси — иначе масштаб и пределы взять неоткуда;
  • 7. Паспорт мотора введён — иначе проценты приборов считать не от чего;
  • 8. Короткий ход в наладке — направление и масштаб глазами;
  • 9. Паспорт оси сведён — двойник и привод не расходятся;
  • 10. Прогон на вирт. осях, потом на серво — со стороны станка (см. Станки);
  • 11. Шина отпущена, момент проверен — руками, а не по надписи.
Безопасность

Границы: что откуда управляется

Наладка — работа рядом с оборудованием

Реальное время живёт на боксе: контур, HAL, EtherCAT-мастер, арбитр шины. Из браузера идут команды и приходят факты; сам цикл наружу не выносится и в облаке не считается. Поэтому наладка не ломается от качества канала — она либо командует и получает ответ, либо честно говорит, что команда не дошла.

Четыре гейта, через которые не пройти

ГейтЧто не пустит
Владелец шиныправка настроек и джог — только когда шину держит наладка; под работающим циклом правка запрещена
Питаниеджог станка заблокирован, пока станок обесточен
Подтверждениелюбая запись в привод требует явного подтверждения; сервер отдельно требует признак согласия и проверяет диапазон
Обратное чтениезаписали — прочитали обратно; не совпало — предупреждение, а не «сохранено»

Отказ говорит словами и даёт ручку

Отказ не приходит кодом. Он называет слой, причину и следующее действие:

Станок не включён (E-STOP или обесточен) — джог не выполнен.
  → Снимите E-STOP и включите станок (ВКЛ), затем повторите джог.

Нельзя выполнить толчковое перемещение (jog): станок выполняет программу
  → Остановите программу («Стоп»), затем повторите

Шину держит LinuxCNC (станок в резе) — переключите стенд в наладку.

Агент станции не отвечает — команда не выполнена. Проверьте связь с боксом
и что шина в НАЛАДКЕ (cncctl), затем повторите.

E-STOP

Аварийный останов принадлежит станку и его цепи, а не наладочному инструменту. В cncctl он виден с трёх сторон:

  • как состояние — тег « · E-STOP» и подпись «Станок ВЫКЛ (E-STOP)»;
  • как кнопки «E-STOP / ВЫКЛ» и «Снять E-STOP + ВКЛ» на экране прогона;
  • как побочный эффект захвата шины: наладка, забирая шину у станка, аварийно обесточивает приводы — об этом сказано в подтверждении до нажатия.

Аппаратный грибок остаётся главным. Экранная кнопка — это команда, и она подтверждается обратным чтением; если подтверждения нет, инструмент прямо просит проверить приводы вручную и при сомнении нажать грибок. Никакая веб-страница не заменяет физическую цепь останова.

Готовится

Что заявлено, но ещё не доехало

Готовится

Джог в режиме момента (CST)

Кнопка есть, но выключена: нужен циклический объект задания момента в драйвере устройства. Режимы позиции (CSP) и скорости (CSV) работают. Сроков не называем.

Готовится

Автонастройка «в одно касание» и тест инерции с движением

Сейчас доступны ручная жёсткость, онлайн-инерция и усиления через ацикличный SDO. Одно-кнопочная автонастройка требует циклического прогона.

Готовится

Ток, I²t и температура энкодера в показателях привода

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

Готовится

Графический конфигуратор оси для приводов кроме IS620N

Вкладка «Ось и редуктор» пока построена под один вендор — адреса объектов вендор-специфичны. Для остальных приводов работают «Параметры» и «Обзор», и экран говорит об этом прямо.

Готовится

История фолтов и тренды температуры

Сейчас читается активный код и состояние по статусворду; расшифровка таблицы ошибок есть для распространённых кодов.