Возникла проблема с интеграцией модуля МЭ110-220.3М в систему.
В документации на модуль (http://new.owen.ru/uploads/39/re_me110-220.3m_2675.pdf) в разделе "Г.2 Команды протокола ModBus" есть указание поддерживаемых функций:
Для протокола ModBus реализовано выполнение следующих функций:
– 03, 04 (read registers) – чтение одного или нескольких регистров;
...
Однако, при попытке использовать функцию 04 возвращается ошибка 1 (Illegal function). При этом, функция 03 отрабатывает без ошибок и возвращает значение требуемого регистра.
Пример, попытка прочитать регистр 0x0010 (Байт статуса) выглядит таким образом:
Код:
Запрос: 10 04 00 10 00 01
33 4E
Ответ: 10 84 01
D2 C5
Поясните, пожалуйста, это ошибка в документации и устройство не поддерживает функцию 04 или все же есть способ опросить устройство этой функцией?
Хотелось бы избежать использование функции 03, т.к. мастер-устройство для Hodling Register создает 2 запроса на чтение и запись и это поведение не отключить. Попытка записи в регистры только для чтения приводит к ошибке.