Ищем Modbus RTU устройства
При проведении пуско-наладочных работ на объекте Инженерам часто приходится иметь дело с "солянкой" различного оборудования на линиях RS-485, передающих данные по Modbus RTU на "средний", или "верхний" (в BMS\SCADA) уровни.

Написали программу, которая умеет искать Modbus RTU устройства по COM-порту, а так же через преобразователи интерфейсов с протоколами Modbus RTU over TCP и Modbus TCP. Прописали IP адрес и порт шлюза, выбрали протокол и готово.

Линии RS-485 могут быть подключены напрямую к ПЛК / сенсорным панелям (HMI) к их разъемам RS-485, а могут через преобразователи интерфейсов типа MOXA NPort \ mGATE (дорого, но качественно), ICP DAS tgw-* (средне), ОВЕН МКОН (не рекомендую), Waveshare (рекомендую модель 4-CH_RS485_TO_ETH с изоляцией портов - топ за свои деньги) и множество других. Одни используют Modbus RTU over TCP, другие преобразуют Modbus RTU в Modbus TCP. Для того, чтоб проверить все ли устройства видны на линии нужно было подключить к ноутбуку USB-свисток (преобразователь интерфейсов RS-485 to USB) и через программу Modbus RTU Scanner по виртуальному COM-порту искать устройства, что весьма неудобно бывает с множеством линий и в замкнутом пространстве.

Помимо классического поиска Modbus RTU устройств методом перебора их slave адресов наша программа так же поддерживает "быстрый" поиск Модулей расширения ЦИНТРОН МР-02м и устройств WirenBoard через арбитраж устройств (информация по ключевым словам "быстрый модбас", "fast modbus"), что позволяет найти все устройства на линиях за пару секунд.

Ищем IP устройства
Для поиска IP устройств в сети отлично справляется программа advanced ip scanner. Ей можно быстро просканировать несколько подсетей и найти все свои преобразователи интерфейсов и ПЛК. Просто добавили аналогичный функционал в одну утилиту, чтоб не устанавливать на объекте кучу программ.

Кстати, наша программа не требует установки, чтоб по завершении ПНР не приходилось "подчищать за собой хвосты".
Подслушиваем
Бывает у какого-нибудь китайского станка начинает выходить из строя сенсорная панель, подключенная к ПЛК по RS-485. Исходников программ нет, таблицы Modbus переменных найти нет возможности, а производство должно работать. Для того, чтоб заменить сенсорную панель и написать для нее программу управления станком необходимо, как минимум, знать адрес slave устройства и адреса \ типы переменных, используемых для пуска и задания параметров работы.
Подключаем к ноутбуку USB преобразователь интерфейсов
Подключаемся к линии между ПЛК и панелью
Запускаем сниффер
Подаем с панели команды запуска и изменения параметров
Анализируем в сниффере полученные данные
Используем их в программе для новой панели


Настраиваем
Данная программа изначально разрабатывалась для настройки наших Модулей расширения МР-02м, Датчиков температуры и влажности ДТВ-RS-485 и Счетчиков электроэнергии СЭ-02м-3.
С ее помощью можно быстро:
Найти все устройства на линиях
Посмотреть их сигнатуры (тип устройства), версии прошивки и бутлоадера, серийные номера
Открыть окно настройки нужного модуля и задать ему необходимые параметры (сетевые настройки, типы датчиков и прочее)
Сменить серийный номер
Обновить прошивку программы, или бутлоадера


Так как наши устройства поддерживают быстрый модбас ("fast modbus" от Wiren Board), то добавили поддержку быстрого поиска, обновления прошивки и частичной настройки и для устройств Wiren Board.


Шьём
Как было сказано выше, данная утилита поддерживает обновление прошивки программы и бутлоадера устройств ЦИНТРОН, а так же Wiren Board.
Поддерживается автоматический поиск обновления прошивок при наличии интернета, либо ручной - через выбор прошивки из локальной папки.


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

Все этапы поиска устройств, информация о найденных устройствах и их прошивке отображается в логе с метками времени и сохраняется в корневую папку с программой в текстовый файл.
Скачать Программу настройки МР-02м можно по ссылке с нашего сайта ЦИНТРОН. Она расположена в разделе Документация у каждого модуля расширения МР-02м.
serafims
Эх, жаль у самого Wirenboard подобной утилиты нет пока, а только конфигуратор в зачаточном состоянии. На чем написана программа, какие ключевые библиотеки?
CYNTRON Автор
Это точно.
Написана на питоне + QT, для сниффера и сканера ip взяты за примеры проекты из гитхаба.
Практически все написано через Cursor AI + Claude Sonnet 4.6.