< Назад

Протокол Modbus: основы RTU, ASCII и TCP

1. Что такое Modbus?

Modbus — протокол обмена сообщениями прикладного уровня для передачи данных между контроллерами и устройствами. RS-485 и RS-232 — электрические интерфейсы, а Modbus RTU, ASCII и TCP определяют соответствующие форматы сообщений и способы передачи. Наличие интерфейса RS-485 само по себе не означает поддержку Modbus.

В жидкостных системах протокол может использоваться для чтения состояния и передачи параметров управления. Поддержку протокола, коды функций и регистры необходимо проверять в руководстве по связи для конкретной модели контроллера. Эта статья не утверждает, что все изделия FOREACH поддерживают перечисленные интерфейсы.

2. Чем отличаются RTU, ASCII и TCP?

По одному разъёму нельзя определить режим связи. У последовательных устройств должны совпадать режим передачи, скорость и формат кадра; для TCP требуются совместимые настройки сети и службы устройства.

РежимСтруктура сообщенияЧто проверить
Modbus RTUАдрес + Код функции + Данные + CRCПараметры последовательной связи, адрес устройства и временные интервалы кадров
Modbus ASCIIКодирование ASCII с LRC и установленными символами начала и окончанияПараметры последовательной связи, кодирование и LRC
Modbus TCPЗаголовок MBAP + Код функции + Данные; дополнительный CRC режима RTU не используетсяIP-адрес, порт, идентификатор транзакции и Unit Identifier

3. Последовательная адресация и обмен запросами и ответами

Индивидуальные адреса устройств в последовательной сети находятся в диапазоне 1–247; 0 предназначен для широковещательных сообщений, а 248–255 зарезервированы. Обычно контроллер отправляет адресный запрос, и выбранное устройство отвечает. На широковещательные запросы записи ответ не передаётся. Наличие 8-битного поля адреса не делает каждое значение от 0 до 255 допустимым индивидуальным адресом.

Эти правила относятся к последовательным линиям. В Modbus TCP заголовок MBAP содержит Unit Identifier; его роль в маршрутизации через шлюз зависит от реализации. Не переносите правила последовательной адресации автоматически на любую конфигурацию TCP.

4. Проверяйте коды функций вместе с картой регистров

Код функции определяет тип данных и операцию чтения или записи; поле данных содержит адреса, количество или значения. Два устройства Modbus не обязательно имеют одинаковые определения регистров.

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

НаправлениеОбычное адресное сообщение в последовательной сети
Контроллер → УстройствоАдрес | Код функции | Данные | CRC (RTU) / LRC (ASCII)
Устройство → КонтроллерАдрес | Код функции | Данные | CRC (RTU) / LRC (ASCII)
Код функции (шестнадцатеричный)Операция
01Чтение дискретных выходов (coils)
02Чтение дискретных входов
03Чтение регистров хранения
04Чтение входных регистров
05Запись одного дискретного выхода
06Запись одного регистра
0FЗапись нескольких дискретных выходов
10Запись нескольких регистров
Таблица запросов и ответов описывает обычный адресный обмен в последовательной сети. На широковещательный запрос ответа нет; в ответе об исключении код функции и данные имеют другое значение. TCP использует формат, описанный выше. Устройство не обязано реализовывать все перечисленные функции.

5. Наладка устройства управления жидкостной системой

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

Отдельно проверяйте успешную связь, принятие команды, завершение движения и фактически поданный объём. Подтверждение записи не доказывает, что насос завершил работу. После тайм-аута запросите состояние перед повторением команды дозирования, чтобы избежать повторной подачи дозы.

Регистрируйте запросы, ответы, коды исключений и условия тайм-аутов. Для поиска причин проверяйте концевые ограничения, поиск исходного положения, состояние клапанов и временную последовательность действий. Точные команды, адреса и единицы отсчёта задаются руководством по связи устройства.

Источники

ПредыдущаяПредыдущей новости нет
СледующаяСледующей новости нет

Проектируйте связь и движение совместно

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