Швейцарский нож Инженера АСУ ТП: Ищем, подслушиваем, настраиваем и шьём по Modbus одной утилитой

от автора

Ищем

Ищем Modbus RTU устройства

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

Программа настройки МР-02м

Программа настройки МР-02м

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

Modbus RTU Scanner

Modbus RTU Scanner

Линии 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. Ей можно быстро просканировать несколько подсетей и найти все свои преобразователи интерфейсов и ПЛК. Просто добавили аналогичный функционал в одну утилиту, чтоб не устанавливать на объекте кучу программ.

Сканер сети ethernet

Сканер сети ethernet

Кстати, наша программа не требует установки, чтоб по завершении ПНР не приходилось «подчищать за собой хвосты».

Подслушиваем

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

  1. Подключаем к ноутбуку USB преобразователь интерфейсов

  2. Подключаемся к линии между ПЛК и панелью

  3. Запускаем сниффер

  4. Подаем с панели команды запуска и изменения параметров

  5. Анализируем в сниффере полученные данные

  6. Используем их в программе для новой панели

Сниффер Modbus RTU. Адреса по устройствам

Сниффер Modbus RTU. Адреса по устройствам
Сниффер Modbus RTU. Адреса и значения

Сниффер Modbus RTU. Адреса и значения

Настраиваем

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

С ее помощью можно быстро:

  1. Найти все устройства на линиях

  2. Посмотреть их сигнатуры (тип устройства), версии прошивки и бутлоадера, серийные номера

  3. Открыть окно настройки нужного модуля и задать ему необходимы параметры (сетевые, типы датчиков и прочее)

  4. Сменить серийный номер

  5. Обновить прошивку программы, или бутлоадера

Окно настройки модуля МР-02м

Окно настройки модуля МР-02м
Настройка аналоговых входов МР-02м 6AI 6AO

Настройка аналоговых входов МР-02м 6AI 6AO

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

Настройка модуля Wiren Board

Настройка модуля Wiren Board
Настройка модуля реле Wiren Board

Настройка модуля реле Wiren Board

Шьём

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

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

Таблица найденных устройств с наличием обновлений прошивки

Таблица найденных устройств с наличием обновлений прошивки

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

Окно подтверждения обновления прошивки

Окно подтверждения обновления прошивки

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

Обновление прошивки МР-02м

Обновление прошивки МР-02м

Все этапы поиска устройств, информация о найденных устройствах и их прошивке отображается в логе с метками времени и сохраняется в корневую папку с программой в текстовый файл.

Скачать Программу настройки МР-02м можно по ссылке с нашего сайта ЦИНТРОН. Она расположена в разделе Документация у каждого модуля расширения МР-02м.

ссылка на оригинал статьи https://habr.com/ru/articles/1037242/