Описание заголовка mbap – Инструкция по эксплуатации Basler Electric BE1-11 Modbus Protocol
Страница 10
4
9424273774, ред. B
Рис. 2. Запрос/ответ Modbus через TCP/IP
Для обозначения блока ADU Modbus через TCP/IP используется специальный заголовок, который
называется заголовком MBAP (заголовок прикладного протокола Modbus).
Он отличается от блока ADU протокола Modbus RTU, используемого на последовательной линии.
•
Поле адреса ведомого устройства в Modbus, которое обычно использовалось
на последовательных линиях связи Modbus, заменяется на однобайтовый идентификатор
блока внутри заголовка MBAP. Идентификатор блока используется для передачи данных
через такие устройства, как мосты, маршрутизаторы и шлюзы, использующие один
IP-
адрес для поддержания нескольких независимых конечных блоков Modbus.
•
Все запросы и ответы Modbus построены таким образом, чтобы получателю сообщения
сразу было понятно, что сообщение закончено. Для кодов функций, в которых блок PDU
Mod
bus имеет фиксированную длину, достаточно только кода функции. Для кодов
функций, содержащих варьирующийся объем данных в запросе или ответе, поле данных
содержит количество байтов.
•
При использовании Modbus TCP в заголовке MBAP передается дополнительная
информация о длине, что позволяет получателю распознавать границы сообщения, даже
если для передачи оно было разбито на несколько пакетов. Наличие правил явной
и неявной длины, а также использование кода обнаружения ошибок CRC-32 (в сети
Ethernet) обеспечивают бесконечно малую вероятность появления нераспознанной ошибки
в сообщении запроса или ответа.
Описание заголовка MBAP
Заголовок MBAP содержит поля, перечисленные в таблице 2.
Таблица 2. Поля заголовка MBAP
Поле
Длина
Описание
Клиент
Сервер
Идентификатор
транзакции
2 байта
Идентификатор транзакции
запроса/ответа Modbus.
Запускается
клиентом.
Повторно
копируется
сервером из
полученного
запроса.
Идентификатор
протокола
2 байта
0 = протокол Modbus.
Запускается
клиентом.
Повторно
копируется
сервером из
полученного
запроса.
Длина
2 байта
Разрешенное количество
байт.
Запускается
клиентом
(запрос).
Запускается
сервером (ответ).
Идентификатор
блока
1 байт
Идентификатор удаленного
ведомого устройства,
подключенного по
последовательной линии
или по другим каналам.
Запускается
клиентом.
Повторно
копируется
сервером из
полученного
запроса.
Блок PDU
Блок ADU Modbus TCP/IP
Код функции
Данные
Заголовок MBAP
Общая информация
BE1-11