Краткое описание протокола Modbus.

Протокол Modbus RTU компании Modicon поддерживают многие фирмы-производители контроллеров . Протокол предполагает одно активное устройство в линии ( master), которое может обращаться к нескольким пассивным (slave). Синтаксис команд протокола позволяет адресовать 254 устройства, соединенных в одну линию. 
Возможно применение протокола modbus в дуплексных и полудуплексных линиях связи. Физическим уровнем протокола modbus как правило является линия стандарта RS422/RS485,
однако при соединении точка-точка тот же формат команд может быть использован на любом последовательном асинхронном физическом интерфейсе, в том числе RS232. Возможно применение протокола modbus в сетевой среде поверх транспортных протоколов UDP/TCP и IPX/SPX.
Протокол modbus подразумевает наличие в линии только одного ведущего устройства (master) и множества подчиненных устройств (slave). Инициатива проведения обмена всегда исходит от ведущего устройства, которое подает запрос (определенная последовательность байт) в линию и переходит в состояние прослушивания линии связи. Ведомое устройство отвечает на запрос, пришедший в его адрес.
Окончание ответной посылки мастер определяет, определяя временные интервалы между окончанием приема предыдущего байта и началом приема следующего. Если этот интервал превысил время, необходимое для приема двух байт на заданной скорости передачи, прием кадра ответа считается завершенным.
Кадры запроса и ответа по протоколу modbus имеют формат, приведенный в ( Таблица 1-1).
Таблица 1-1. Кадр посылки modbus

Поле кадра
Длина в байтах
адрес подчиненного устройства
1
номер функции
1
Данные
N < 254
контрольная сумма
2


адрес подчиненного устройства - первое однобайтное поле кадра. Оно содержит адрес подчиненного устройства, к которому адресован запрос. Подчиненные устройства отвечают только на запросы, поступившие в их адрес. Ответ также начинается с адреса отвечающего устройства. Может изменяться от 1 до 254;
номер функции - это следующее однобайтное поле кадра. Оно говорит подчиненному устройству, какие данные или выполнение какого действия требует от него ведущее устройство;
данные - поле содержит информацию необходимую подчиненному устройству для выполнения заданной мастером функции или содержит данные передаваемые подчиненным устройством в ответ на запрос ведущего. Длина и формат поля зависит от номера функции;
контрольная сумма - заключительное двухбайтное поле кадра, содержащее циклическую контрольную сумму CRC-16 всех предыдущих полей кадра. Контрольная сумма завершает кадры запроса и ответа.

Во время обмена данными могут возникать ошибки двух типов. Первый тип - это ошибки, связанные с искажениями при передаче данных. Второй тип – логические ошибки.
Ошибки первого типа обнаруживаются при помощи фреймов символов, контроля четности и циклической контрольной суммы CRC16. Результат передается в линию связи с младшего байта.
Для сообщений об ошибках второго типа протокол Modbus RTU предусматривает, что устройства могут отсылать ответы, свидетельствующие об ошибочной ситуации. Признаком наличия сообщения об ошибке, является установленный старший бит кода команды. Кадр ответа с ошибкой приведен в ( Таблица 1-2).

Таблица 1-2. Кадр ответа с ошибкой modbus

Сетевой адрес
Код команды
Код ошибки
CRC - код
01
81
02
C1 91

Могут быть отправлены ответы, имеющие следующие коды (Таблица 1-3):
Таблица 1-3. Коды ошибок modbus.

Код ошибки
Название
Комментарий
01
ILLEGAL FUNCTION
Команда не реализована (недопустимый номер функции)
02
ILLEGAL DATA ADDRESS
Некорректный адрес
03
ILLEGAL DATA VALUE
Некорректные данные
04
FAILURE IN ASSOCIATED DEVICE

05
ACKNOWLEDGE
Данные не готовы
06
BUSY, REJECTED MESSAGE
Система занята
07
NAK-NEGATIVE ACKNOWLEDGMENT

08
MEMORY PARITY ERROR


В протокол Modbus можно выделить несколько подмножеств команд ( Таблица 1-4).
Таблица 1-4. Подмножества команд modbus.

Подмножество команд
Диапазон кодов команд
Стандартные команды
1-21
Резерв для расширенных функций
22-64
Пользовательские
65-119
Резерв для внутренних нужд
120-255

Ремонт преобразователей частоты

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

Отправить комментарий