2026-08-17

Интеллектуальные инструменты

Помощник смены адреса ведомого Weida (SlaveAddr Agent): скажите компьютеру одну фразу — и адрес ведомого RS-485 изменён

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

Мы — Zhanjiang Weida Machinery Industrial Co., Ltd., выпускаем оборудование первичной переработки натурального каучука. Линия каучукового завода — это приёмка и коагуляция, промывка и дробление, крепование и гранулирование, сушка горячим воздухом, взвешивание и пакетирование. Влажная зона круглый год — вода и кислота; на креповании и гранулировании много электродвигателей и пара, линия сушки — горячий воздух. В таких местах мы обычно применяем датчики RS-485. Не ради моды: они помехоустойчивы и долговечны — дифференциальный сигнал устойчивее в сильных помехах, при пониженной скорости ещё устойчивее, и линию можно тянуть далеко. Сломался прибор — чаще всего его просто заменяют.

Заменить прибор легко, сменить адрес — трудно

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

Новые приборы с завода почти все имеют адрес 1. Если на шине уже есть номер 1, оба прибора начнут отвечать наперегонки: в лучшем случае цифры хаотично скачут, в худшем — весь сегмент шины перестаёт работать. Поэтому адрес меняют до подключения. Протокольно это несложно — одна запись регистра в Modbus RTU. Трудно другое: кто будет менять и каким софтом.

Софт на рынке делают не для цехового электрика

Софта для смены адреса ведомого немало. Открываешь — номер COM-порта, скорость, чётность, код функции, регистр, шестнадцатеричные окна выстроены в ряд. Тому, кто писал верхний уровень, это нормально; но на каучуковом заводе провода в реальности соединяют инженеры-механики и электрики, а не программисты. Они подключат линию A/B, посмотрят амперметр, сменят осушитель в клеммной коробке, но выбрать COM-порт, поставить драйвер CH340, отыскать регистр в инструкции производителя — не потому что не смогут, а потому что этот софт делали не для них.

Есть ещё язык. Наши линии стоят на каучуковых заводах в Гане, Кот-д'Ивуаре, Таиланде, Лаосе, Камбодже, Вьетнаме, Малайзии, Бразилии. Инструкция может быть на китайском, софт — на английском, а на объекте говорят по-французски, по-португальски, по-тайски, по-вьетнамски. Большинство программ смены адреса одноязычны. Электрик, глядя на экран английских аббревиатур, часто относит ноутбук к «понимающему в компьютерах» — а того может не быть на заводе.

Поэтому мы не стали делать ещё один Modbus-отладчик «покруче», а решили превратить смену адреса ведомого в дело, которое электрик понимает и может завершить сам.

Достаточно сказать компьютеру одну фразу

Мы создали этого помощника смены адреса (SlaveAddr Agent). Подключите линии A и B нового прибора к идущему в комплекте преобразователю RS-485 → USB, откройте exe без установки, вставьте USB в любой порт — и скажите на привычном языке:

Поменяйте адрес этого нового прибора на 7. Troca o endereço desse sensor para 12. Mets l'adresse de ce capteur à 5.

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

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

Это не чат-обёртка, а инженерно проработанный агент

За одной фразой стоит инкапсуляция целой инженерной цепочки:

  • Протокол — собственный. Контроль CRC Modbus RTU, чтение удерживающих регистров, запись одиночного регистра — построение и разбор кадров реализованы самостоятельно, без заводских отладочных программ; код стека протокола открыт для проверки.
  • Инструкция — OCR плюс правила. Фотография инструкции сначала распознаётся, затем по правилам извлекаются ключевые параметры — «регистр адреса ведомого, скорость, широковещательная запись» — и распознанный текст служит доказательной базой для последующей записи: регистр, отсутствующий в инструкции, использован не будет.
  • Профили приборов. В каком регистре у приборов разных производителей записан адрес ведомого и требуется ли перезапуск питания — ведётся как профиль; коллеги могут пополнять базу по своим приборам, и с каждым дополнением инструмент удобнее.
  • Модель только планирует, запись всегда в руках программы. Большая модель понимает речь и выстраивает шаги, но фактическая запись в регистр идёт только через встроенный инструмент из белого списка, с подтверждением и обратным чтением. Ошиблась модель — запись не уйдёт.
  • Работает и оффлайн. Если на заводе нет сети, программа переключается на встроенный офлайн-мастер: многоязычные правила так же понимают «поменяй на 7», процесс тот же — только без чата.

Он не может делать что попало

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

Поэтому у неё жёсткие ограничения:

  • только эти действия: перечислить последовательные порты, проверить USB-драйвер, опросить ведомого Modbus, прочитать присланное пользователем фото инструкции, прочитать/записать адрес ведомого, сверить результат. Запускать другие программы, править посторонние файлы, ходить на посторонние сайты и распознавать посторонние картинки нельзя;
  • перед фактической записью в прибор шаги показываются человеку и ждут его согласия; после записи обязательно чтение по новому адресу, нет ответа — остановка, вслепую продолжать нельзя;
  • командная строка выполняется не произвольно: запускаются только заранее определённые действия вроде проверки оборудования и установки драйвера, причём установка ещё проходит через подтверждение прав самой ОС;
  • без сети включается многоязычный офлайн-мастер с теми же шагами, только без чата; если недоступна модель, прибор всё равно должен быть заменён.

Это просто помощник смены адреса ведомого. Не общий искусственный интеллект и не инструмент удалённой эксплуатации.

Почему open source

Заводы первичной переработки разбросаны по каучуковым регионам. Постоянно на месте в основном рабочие первой линии; прибор сломался — менять надо сразу, но шаг смены адреса зачастую ждёт «компьютерщика» или удалённой поддержки из Китая. Линия стоит — и стоит именно на этом.

Если такие инструменты заперты в аппаратном ключе одного поставщика, соседнему заводу всё равно не пройти. Приборы на каучуковых заводах схожие, и способы смены адреса схожи — незачем каждому покупать ещё один непонятный софт. В открытом виде завод пользуется напрямую; коллеги-машиностроители применяют на своих линиях; цеховой электрик дополняет профиль регистрами своих приборов — и следующему человеку уже меньше листать инструкцию. Чем дальше регион, тем полезнее то, что может остаться на месте.

Зарабатывать на этом софте мы не планируем и платформой делать не будем. Weida Machinery строит линии и сервис и видит одно и то же событие, повторяющееся на каждом заводе. Сделать из него открытый инструмент — смена прибора с меньшей остановкой, сервис без лишней поездки; это хорошо и заводам, и коллегам, и нам самим.

Лицензия и технические подробности

Программа разработана Zhanjiang Weida Machinery Industrial Co., Ltd.; авторские права принадлежат компании, код открыт по лицензии MIT: использовать, изменять и распространять можно с указанием источника. Связь — по открытому протоколу Modbus RTU, кадры реализованы самостоятельно; интерфейс, последовательные порты и OCR — открытые компоненты, допускающие коммерческое использование и распространение, лицензии перечислены в NOTICE репозитория. Драйверы производителей чипов не встроены, чужие инструкции не встроены, код из рыночных отладчиков не извлечён. Ключ модели и официальный интерфейс вынесены в конфигурацию дистрибутива, в исходниках их нет; кто хочет подключить свою модель — достаточно поменять переменную окружения.

A к A, B к B, вставьте USB, откройте программу и скажите ей своими словами новый номер. Остальное сделает программа.

Если нужен код, свяжитесь с нами для консультации.