Как послать команду Modbus RTU на чтение аналогового вывода? Команда 0x03

Пример запроса AO с регистров от #40108 до 40110 для SlaveID адреса устройства 17. Адрес первого регистра будет 006B hex = 107, т.к. счет ведется с 0 адреса. Регистр аналогового выхода AO1 имеет значение 56 52 HEX или 22098 в десятичной системе. Список регистров указан в руководстве пользователя! В ответе возвращается количество записанных регистров.


Если по какой-либо причине наклейка на приборе не сохранилась, то нужно включить прибор, войти в меню параметров программирования, выбрать группу «COMM», и посмотреть есть ли там параметр «PROT». Значение AE 41 HEX — это 16 бит 1010 1110 0100 0001, может принимать различное значение, в зависимости от типа представления. Поле Byte Count Количество байт далее указывает количество полных байтов данных в ответе. Нормальный ответ на такой запрос — это эхо (повтор запроса в ответе), возвращается после того, как состояние DO было изменено.

Здравствуйте. Последний ответ не верен. Протокол Modbus уже более полугода поддерживается на линейке приборов ТРМ2хх. Кстати, раз уж поднялась такая тема, есть вопрос. При заказа желательно дополнительно указать, что прибор нужен с поддержкой MODBUS! Modbus —коммуникационный протокол, основан на архитектуре ведущий-ведомый (master-slave).

Адрес данных, указанный в запросе, недоступен. Младший бит первого байта данных содержит значение DO адрес которого указывался в запросе. Протокол Modbus появился в приборах с прошивкой v03.ххх. Значение, содержащееся в поле данных запроса, является недопустимой величиной. Ведомое устройство приняло запрос и обрабатывает его, но это требует много времени. Если запрашивалось меньше восьми значений DO, то оставшиеся биты в ответе будут заполнены нулями (в направлении от младшего к старшему байту).

Похожие материалы: