Sidebar Left

Modbus в оборудовании и программном обеспечении «Прорыв»

Протокол сам по себе — только половина дела. Вторая половина: кто выступает мастером, где описывается карта регистров конкретного прибора и как добавить в систему устройство, которого раньше в ней не было. Здесь — как это устроено у нас.

Контроллер как мастер
Контроллеры и устройства сбора данных серии ТК16L и E-422 работают в линии ведущими: опрашивают счётчики электроэнергии, датчики, станции управления, вычислители и расходомеры по Modbus RTU через порты RS-422/RS-485 и по Modbus TCP через Ethernet. Собранные данные накапливаются в архивах контроллера и передаются на верхний уровень — в программный комплекс Телескоп+ или в стороннюю систему.

Практические следствия такой схемы:

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

Модули расширения как ведомые устройства
Наши модули расширения — ПИК А16, ПИК-16УМ1, ПИК-24М, ПИК-24МE, ПИК-24Т, ТМДА24 — подключаются к контроллеру по RS-485 и выступают в роли ведомых Modbus. Так набор входов и выходов наращивается без замены контроллера: аналоговые входы, дискретные входы, каналы телеуправления, входы термосопротивлений.

Это же означает, что модули можно опрашивать и сторонним мастером — они не требуют проприетарного протокола.

Разработка драйвера устройства
Чтобы система понимала новый прибор, нужен драйвер: описание карты регистров и правил пересчёта в физические величины. В Телескоп+ такой драйвер разрабатывается штатными средствами — набор функций для разработки драйвера Modbus-устройства описан в разделе вопросов и ответов по программному обеспечению.

Что обычно требуется задать в драйвере:

  • адреса регистров и функции чтения для каждого параметра;
  • тип данных и порядок слов — как разобрано в разделе о типах данных;
  • масштабные коэффициенты и единицы измерения;
  • периодичность опроса и поведение при отсутствии ответа.

Скрипты на контроллере
Когда логика выходит за рамки простого опроса — например, нужно принять решение по значению регистра и выдать команду управления, — на контроллере исполняются скрипты. Они пишутся на C# в Редакторе скриптов, компилируются и переносятся в контроллер; есть пошаговая отладка прямо на устройстве. Скрипт может обращаться к подключённым по Modbus приборам, обрабатывать полученные значения и формировать управляющие воздействия — так, в частности, реализованы алгоритмы управления групповыми замерными установками.

Шлюзы и преобразователи
Если прибор с RS-485 нужно вывести в сеть TCP/IP, применяется шлюз: Е-32 или преобразователь RS-485 в Ethernet на 16 портов. Для мастера при этом меняется только транспорт: PDU остаётся прежним, а вместо адреса и контрольной суммы появляется заголовок MBAP. Именно поэтому разбор кадра полезно понимать в обоих вариантах — отладка через шлюз без этого превращается в гадание.

С чего начать интеграцию

  • Получите от производителя карту регистров и параметры порта.
  • Прочитайте один-два регистра с известными значениями и сверьте с показаниями прибора — так проверяются смещение адресов и порядок слов.
  • Соберите параметры в драйвер и проверьте опрос на реальном канале, с рабочими паузами и тайм-аутами.
  • Убедитесь, что при обрыве связи система корректно помечает данные как недостоверные, а не подставляет последнее значение.

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

← Все разделы справочника Modbus

Style Selector

Primary Color

Direction