WB-REF-U: Errata

This is the approved revision of this page, as well as being the most recent.

ERRMODBUS001: Ответ устройства на адрес 0xFD

Подверженные устройства

Устройства WB-REF-U с версией прошивки до 1.4.3.

Описание

Устройства Wiren Board с расширением "Быстрый Modbus" мешают работать сторонним устройствам на одной шине, если они используют специальные команды, начинающиеся с 0xFD.

Причины и подробное описание

В нашем расширении протокола "Быстрый Modbus" зарезервированный адрес 0xFD используется для специальных широковещательных команд. Если на шине мастер отправит какому-то стороннему устройству осмысленный пакет, начинающийся с 0xFD и командами, не использующимися в расширении протокола "Быстрый Modbus", то устройство Wiren Board отвечает MODBUS_ERR_ILLEGAL_FUNCTION, тем самым мешает обмену с другим устройством. Это происходит из-за ошибки в драйвере шины, при которой пакет с адресом 0xFD начинает обрабатываться как обычный стандартный Modbus пакет.

Пути обхода

Не использовать одну шину для устройств Wiren Board и сторонних устройств.

Запланированное исправление

Исправлено в версии прошивки 1.4.3.


ERRMODBUS002: Ошибка в ответе на сканирование командой 0x46

Подверженные устройства

Устройства WB-REF-U с версией прошивки до 1.4.2.

Описание

Для работы с расширенными командами в быстром Modbus использовалась функция 0x60, которая оказалась в зарезервированном пространстве. Поэтому функция работы с расширенными командами была изменена на 0x46, но для сохранения обратной совместимости устройство может отвечать и на команду 0x60. Проблема была в том, что независимо от того, через какую команду было запрошено сканирование, устройство отвечало командой 0x60. Текущее исправление позволяет отвечать той же командой, которой был произведен запрос (0x46 или 0x60).

Возможные пути устранения

Обновить прошивку до версии 1.4.2.

Запланированное исправление

Исправлено в версии прошивки 1.4.2.


ERRMODBUS003: Неожиданное поведение при записи невалидных значений в некоторые регистры

Подверженные устройства

Устройства WB-REF-U с версией прошивки до 1.4.5.

Описание

При записи значений из диапазона [256 ... 65535] в некоторые регистры происходит отсечение старших 8 битов числа и в итоге в прошивку попадает число по модулю 256. Выглядит это так, что при записи, например числа 257, происходит то же самое, что и при записи числа 1.

Одним из таких регистров является адрес устройства (регистр 128).

Отдельно стоит отметить, что в диапазоне значений, указанных в документации, все регистры работают ожидаемо. Проблема возникает при записи невалидных значений более 255.

Возможные пути устранения

Обновить прошивку до версии 1.4.5.

Запланированное исправление

Исправлено в версии прошивки 1.4.5.


ERRMODBUS004: Ошибка в ответах с битовыми полями

Подверженные устройства

Устройства WB-REF-U с версией прошивки до 1.4.2.

Описание

Ответы с битовыми полями (запросы coil или discrete регистров, управление событиями) возвращали неправильные значения в старших битах.

Возможные пути устранения

Обновить прошивку до версии 1.4.2.

Запланированное исправление

Исправлено в версии прошивки 1.4.2.


ERRMODBUS006: Ответы на запросы с неверным битом четности

Подверженные устройства

Устройства WB-REF-U с версией прошивки до 1.4.4.

Описание

Устройство отвечало на запросы, в которых указан неверный бит четности, хотя должно игнорировать такие запросы.

Возможные пути устранения

Обновить прошивку до версии 1.4.4.

Запланированное исправление

Исправлено в версии прошивки 1.4.4.


ERRREFU01: Прекращение опроса некоторых каналов через Televis

Подверженные устройства

Все WB-REF-U с прошивкой до 1.4.2 включительно.

Описание

При первом запросе регистра через протокол Televis устройство возвращало ошибку illegal data address, что могло привести к остановке опроса данного канала драйвером wb-mqtt-serial.

Запланированное исправление

Исправлено в 1.4.3 (список изменений), обновите прошивку устройства.

В новой прошивке вместо illegal data address возвращается ошибка busy, которая не приводит к остановке опроса канала драйвером wb-mqtt-serial.

ERRREFU02: Ошибки при чтении регистров 24098-24120 (Eliwell)

Подверженные устройства

Все WB-REF-U с прошивкой до 1.4.5 включительно при работе с контроллерами Eliwell.

Описание

При работе с контроллерами Eliwell при чтении любого из регистров 24098 - 24120 все регистры в диапазоне 24098 - 24114 принимали неправильные (мусорные) значения.

Причины и подробное описание

Прошивка читает регистры не по одиночке, а регионами. Например, когда мы читаем регистр 24098, это вызывает одновременное чтение регистров из смежных областей памяти Eliwell (таких как 4095 и 4096), что в свою очередь приводит к неопределенному поведению контроллера и к мусорным значениям в регистрах WB-REF-U. Данная проблема возникала при чтении любого из регистров с 24098 по 24120 включительно, портились при этом регистры с 24098 по 24114 включительно.

Запланированное исправление

Исправлено в прошивке версии 1.4.6.

ERRREFU03: Ошибки при чтении регистров 1472-1476 (Eliwell ID985 LX)

Подверженные устройства

Только WB-REF-U с прошивкой 1.4.6 при работе с контроллерами Eliwell ID985 LX.

Описание

Дискретные регистры 1472-1476 всегда возвращают 0.

Причины и подробное описание

Из-за неправильной внутренней логики (в функции поиска региона) прошивка ошибочно считала, что регион для регистров 1472-1476 уже создан. При этом фактически регион для них никогда не создавался, а значит и не опрашивался. Соответственно, эти регистры всегда возвращали 0 при обращении к ним.

Запланированное исправление

Исправлено в прошивке версии 1.4.7