Команды протокола Modbus Приложение В. Команды протокола Modbus Для протокола Modbus реализовано выполнение следующих функций: • 03, 04 ( read registers ) – чтение одного или нескольких регистров; • 06 ( preset single register ) – запись одного регистра; • 16 ( preset multiple registers ) – запись нескольких регистров; • 17 ( report slave ID ) – чтение имени прибора и версии программы. Если адрес прибора равен нулю, для протокола Modbus это широковещательный адрес, прибор будет выполнять команды записи (6, 16), но не будет отправлять квитанции на принятые команды. На адреса более 247 прибор реагировать не будет.
Для функций 06 и 16 в случае попытки записать регистры, предназначенные только для чтения, или в случае попытки обращения к несуществующим регистрам возвращается ошибка 1 ( Illegal function ). Структура запроса и ответа для функции 17 Функция позволяет получить имя прибора и версию программного обеспечения. В таблице ниже представлен запрос на чтение имени и версии программного обеспечения прибора с адресом 12. Ответ на функцию 17 представлен в таблице ниже. ПРИМЕЧАНИЕ Поля X и YY определяются предприятием-изготовителем. Параметры протокола Modbus представлены в таблице 1 .
Таблица В.1 – Команды протокола Modbus 26 Адрес Функция Контрольная сумма 12 17 ZZ Адрес Функция Количество байт данных Данные 14 байт Контрольная сумма 12 17 14 МЭ110-1Т 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