Команды протокола Modbus Приложение В. Команды протокола Modbus Для протокола Modbus реализовано выполнение следующих функций: • 03, 04 ( read registers ) – чтение одного или нескольких регистров; • 06 ( preset single register ) – запись одного регистра; • 16 ( preset multiple registers ) – запись нескольких регистров; • 17 ( report slave ID ) – чтение имени прибора и версии программы. Если адрес прибора равен нулю, для протокола Modbus это широковещательный адрес, прибор будет выполнять команды записи (06, 16), но не будет отправлять квитанции на принятые команды. На адреса более 247 прибор реагировать не будет.
Для функций 06 и 16 при попытке записать регистры, предназначенные только для чтения, или при попытке обращения к несуществующим регистрам возвращается ошибка 1 ( Illegal function ). Структура запроса и ответа для функции 17 Функция позволяет получить имя прибора и версию программного обеспечения. В таблице ниже представлен запрос на чтение имени и версии программного обеспечения прибора с адресом 12. Таблица В.1 – Запрос для функции 17 Ответ на функцию 17 представлен в таблице ниже: Таблица В.2 – Ответ на функцию 17 ПРИМЕЧАНИЕ Поля X и YY определяются предприятием-изготовителем. Параметры протокола Modbus представлены в таблице ниже:
Таблица В.3 – Регистры протокола Modbus 26 Адрес Функция Контрольная сумма 12 17 ZZ Адрес Функция Количество байт данных Данные 14 байт Контрольная сумма 12 17 14 МЭ110-1H VX.YY ZZ Команда Номера регистров Данные записи/ чтения Тип данных Примечание Имя прибора 0–3 МЭ110-1Н Char Только чтение Версия прошивки 4–5 Х – номер версии; YY– номер подверсии Char Только чтение. Устанавливается предприятием- изготовителем Скорость обмена 6 Byte: 0 – 2,4 кбит/с; 1 – 4,8 кбит/с; 2 – 9,6 кбит/с; 3 – 14,4 кбит/с; 4 – 19,2 кбит/с; 5 – 28,8 кбит/с; 6 – 38,4 кбит/с; 7 – 57,6 кбит/с; 8 – 115,2 кбит/с Unsigned char Запись/Чтение. По умолчанию – 2 Длина слова данных 7 Byte: 7 или 8 Unsigned char Запись/Чтение.
По умолчанию – 8 Тип контроля четности слова данных 8 Byte: 0 – контроля нет; 1 – четность; 2 – нечетность Unsigned char Запись/Чтение. По умолчанию – 0 Количество стоп- битов в посылке 9 Byte: 0 – 1 стоп-бит; 1 – 2 стоп-бита Unsigned char Запись/Чтение. По умолчанию – 0