Примеры нескольких функции MODBUS.
4.1. Функция 03h – запрос состояния 16-битных регистров внешних входных сигналов или внутренних 16-битовых регистров системы управления
Эта функция используется для запроса состояния непрерывного массива 16-битных регистров внешних входных сигналов или внутренних 16-битовых регистров системы управления. Кадр запроса от ведущего устройства определяет начальный адрес массива и количество запрашиваемых регистров. Нумерация регистров начинается с нуля.
В ответе ведомого устройства данные каждого запрашиваемого регистра выравниваются по правому краю. Для каждого регистра передается сначала старший, затем – младший байт.
Запрос от ведущего устройства mb_req_pdu имеет следующую структуру:
Код функции | 1 байт | 0x03 |
Начальный адрес | 2 байта | от 0x0000 до 0xFFFF |
Количество регистров памяти | 2 байта | от 1 до 125 (0x7D) |
Ответ ведомого устройства в случае корректного выполнения функции mb_rsp имеет следующий вид:
Код функции | 1 байт | 0x03 |
Количество байтов | 1 байт | 2 x N* |
Значения регистров памяти | N x 2 байтов |
*N – количество регистров.
Ответ ведомого устройства в случае ошибки выполнения функции mb_exception_rsp имеет следующий вид:
Код функции | 1 байт | 0x83 |
Код ошибки | 1 байт | 01, 02, 03 или 04 |
Ниже приведен пример выполнения функции.
Запрос | Ответ | ||
Имя поля | (hex) | Имя поля | (hex) |
Функция | Функция | ||
Старший байт начального адреса | Число байтов | ||
Младший байт начального адреса | 6B | Значение старшего байта регистра (108) | |
Старший байт количества регистров | Значение младшего байта регистра (108) | 2B | |
Младший байт количества регистров | Значение старшего байта регистра (109) | ||
Значение младшего байта регистра (109) | |||
Значение старшего байта регистра (110) | |||
Значение младшего байта регистра (110) |
4.2. Функция 06h – запись значения в 16-битный регистр внешних входных сигналов или 16-битный внутренний регистр системы управления
Эта функция используется для записи значения в один 16-битный регистр внешних входных сигналов или внутренний 16-битовый регистр системы управления. Ведущее устройство передает адрес регистра. Нумерация регистров начинается с нуля.
В случае успешного выполнения функции ведомое устройство возвращает кадр, переданный ведущим устройством, без изменений.
Запрос от ведущего устройства mb_req_pdu имеет следующую структуру:
Код функции | 1 байт | 0x06 |
Адрес регистра | 2 байта | от 0x0000 до 0xFFFF |
Значение регистра | 2 байта | от 0x0000 до 0xFFFF |
Ответ ведомого устройства в случае корректного выполнения функции mb_rsp имеет следующий вид:
Код функции | 1 байт | 0x06 |
Адрес регистра | 2 байт | от 0x0000 до 0xFFFF |
Значение регистра | 2 байта | от 0x0000 до 0xFFFF |
Ответ ведомого устройства в случае ошибки выполнения функции mb_exception_rsp имеет следующий вид:
Код функции | 1 байт | 0x86 |
Код ошибки | 1 байт | 01, 02, 03 или 04 |
Ниже приведен пример выполнения данной функции.
Запрос | Ответ | ||
Имя поля | (hex) | Имя поля | (hex) |
Функция | Функция | ||
Старший байт адреса регистра | Старший байт адреса регистра | ||
Младший байт адреса регистра | Младший байт адреса регистра | ||
Старший байт значения регистра | Старший байт значения регистра | ||
Младший байт значения регистра | Младший байт значения регистра |
Технология I2C.
Дата добавления: 2016-04-19; просмотров: 1303;