КИПиА ЯМАЛ
Электронная библиотека учебной документации КИПиА
6-й разряд · МДК.01.02 · Билет № 4 · Вопрос 3

Протокол Modbus, его достоинства и недостатки. Физический, канальный и прикладной уровни протокола Modbus.

Ответ

Ответ на вопрос

Протокол Modbus, его достоинства и недостатки. Физический, канальный и прикладной уровни протокола Modbus

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

Основные варианты:

  • Modbus RTU — двоичный формат по последовательной линии;

  • Modbus ASCII — текстовый формат;

  • Modbus TCP — передача Modbus-сообщений через Ethernet и TCP/IP.


1. Принцип работы Modbus

В классическом варианте обмен строится по схеме клиент–сервер; в старой терминологии часто говорят ведущий–ведомый.

Клиент отправляет запрос:

Клиент → запрос → Сервер

Сервер выполняет команду и возвращает ответ:

Клиент ← ответ ← Сервер

Например, ПЛК запрашивает у измерительного преобразователя значение температуры.

Каждое устройство в последовательной Modbus-сети имеет свой адрес.


Физический уровень

Физический уровень определяет, как электрически передаются сигналы.

Для Modbus RTU и Modbus ASCII обычно применяют:

  • RS-485;

  • реже RS-232.

Особенно распространён RS-485.

RS-485

Преимущества RS-485:

  • возможность подключения нескольких устройств к одной линии;

  • хорошая помехоустойчивость;

  • работа на значительных расстояниях;

  • дифференциальная передача сигнала.

Обычно используется витая пара.

Схематично:

ПЛК ───── прибор 1 ───── прибор 2 ───── прибор 3 RS-485

На концах длинной линии могут устанавливаться согласующие резисторы.

Для Modbus TCP физической средой обычно является Ethernet.


Канальный уровень

Канальный уровень определяет:

  • структуру кадра;

  • адрес устройства;

  • способ обнаружения ошибок;

  • правила передачи сообщений.

Modbus RTU

Кадр примерно имеет вид:

Адрес | Код функции | Данные | CRC

Адрес

Определяет устройство, которому предназначено сообщение.

Код функции

Определяет требуемую операцию.

Например:

  • 01 — чтение дискретных выходов;

  • 02 — чтение дискретных входов;

  • 03 — чтение Holding Registers;

  • 04 — чтение Input Registers;

  • 05 — запись одного дискретного выхода;

  • 06 — запись одного регистра;

  • 15 — запись нескольких дискретных выходов;

  • 16 — запись нескольких регистров.

Данные

Содержат адрес регистров, количество элементов и передаваемые значения.

CRC

CRC служит для обнаружения ошибок передачи.

Если контрольная сумма не совпадает, сообщение считается повреждённым.


Modbus ASCII

В Modbus ASCII информация передаётся символами ASCII.

Кадр начинается символом : и заканчивается специальной последовательностью конца строки.

Для контроля ошибок применяется LRC.

Modbus ASCII проще наблюдать человеком, но он менее эффективен по скорости и объёму передачи, чем RTU.


Modbus TCP

В Modbus TCP используется Ethernet и стек TCP/IP.

В этом варианте:

  • адресация сети выполняется средствами IP;

  • надёжная доставка обеспечивается TCP;

  • вместо RTU-кадра используется специальный заголовок MBAP;

  • CRC Modbus RTU в сообщении Modbus TCP не используется.


Прикладной уровень

Прикладной уровень определяет смысл команд и данных.

Modbus оперирует четырьмя основными типами объектов.

ОбъектТипНазначение
Coils1 битДискретные выходы
Discrete Inputs1 битДискретные входы
Input Registers16 битВходные регистры
Holding Registers16 битРегистры хранения

Coils

Используются для дискретных состояний, которые можно читать и изменять.

Например:

Пуск двигателя = 1 Стоп = 0

Discrete Inputs

Предназначены для чтения дискретных входных сигналов.

Например:

Концевой выключатель Аварийный контакт Состояние датчика

Input Registers

Используются для передачи измеряемых величин.

Например:

Температура Давление Расход

Holding Registers

Используются для хранения параметров, которые обычно можно читать и записывать.

Например:

Уставка температуры Коэффициент регулирования Заданная скорость
Пример обмена

Пусть контроллеру необходимо считать значение давления.

Он отправляет устройству:

Адрес устройства Код функции 03 Адрес регистра Количество регистров CRC

Устройство отвечает:

Адрес Код функции Количество байтов Значение давления CRC

Таким способом контроллер получает необходимые данные.


Достоинства Modbus

Основные преимущества:

  • открытый и широко распространённый протокол;

  • простая структура;

  • сравнительно простая реализация;

  • поддерживается большим количеством промышленного оборудования;

  • возможность подключения устройств разных производителей;

  • Modbus RTU хорошо подходит для относительно простых полевых сетей;

  • Modbus TCP позволяет использовать стандартные Ethernet-сети;

  • удобен для ПЛК, SCADA, HMI и измерительных приборов.


Недостатки Modbus

К недостаткам относятся:

  • в классическом Modbus RTU сравнительно небольшая скорость;

  • базовый Modbus не содержит развитых встроенных механизмов информационной безопасности;

  • данные передаются в виде регистров, и пользователь должен знать карту регистров конкретного прибора;

  • разные производители могут по-разному представлять многобайтовые значения;

  • при последовательной сети отказ или повреждение общей линии может нарушить связь с несколькими устройствами;

  • Modbus RTU не предназначен для передачи больших объёмов информации;

  • сам протокол не описывает смысл конкретного регистра — его необходимо смотреть в документации прибора.


Различие уровней кратко

Прикладной уровень ↓ Команды Modbus: 03, 04, 06, 16 и др. Регистры и данные Канальный уровень ↓ Кадр, адрес, CRC/LRC, правила передачи Физический уровень ↓ RS-485 / RS-232 или Ethernet для Modbus TCP

Кратко для ответа по билету

Modbus — открытый промышленный протокол обмена данными между контроллерами и полевыми устройствами. Основные варианты — Modbus RTU, Modbus ASCII и Modbus TCP.

На физическом уровне для Modbus RTU обычно используется RS-485, а для Modbus TCP — Ethernet. На канальном уровне формируется кадр, содержащий адрес устройства, код функции, данные и контроль ошибок CRC; в Modbus ASCII применяется LRC. На прикладном уровне определяются функции чтения и записи дискретных сигналов и 16-разрядных регистров.

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

Этот вопрос используется в билетах