Wbincludes:WB-MIR: Errata, ERRMIR06
Версия от 20:14, 14 июня 2023; Pavel Gasheev (обсуждение | вклад) (Новая страница: «<h3> ERRMIR06: Проблемы при работе с ИК-приёмопередатчиком</h3> '''Подверженные устройства''' Все WB-MIR v2, WB-MSW с ИК с прошивкой до 4.29.7 включительно '''Описание''' В указанных прошивках наблюдается ряд проблем при использовании функционала ИК-приемопередатчика # пр...»)
ERRMIR06: Проблемы при работе с ИК-приёмопередатчиком
Подверженные устройства
Все WB-MIR v2, WB-MSW с ИК с прошивкой до 4.29.7 включительно
Описание
В указанных прошивках наблюдается ряд проблем при использовании функционала ИК-приемопередатчика
- при работе с банками ИК-команд (запись, редактирование) с поочередным использованием coil и holding регистров значения в них могли рассихронизироваться и ИК модуль мог "зависнуть" и более не отвечать на команды.
- при активной команде с одним банком можно установить в "1" coil регистры других банков.
- значение в регистре воспроизведения команды сбрасывалось в "0" сразу после начала воспроизведения, а не по окончанию команды
- при записи в ROM слишком длинной команды (больше максимальной длины) запись не производилась, однако при записи в RAM записывалось столько данных, сколько могло поместиться. Из-за этого могли быть сложности с запись длинных команд в ROM.
Причины и подробное описание
Ошибка в прошивке.
Запланированное исправление
Исправлено в версии прошивки 4.29.8
Пути обхода
- использовать только один интерфейс: либо coil либо holding регистры для работы с банками ИК-команд
- сначала завершать работу с одним банком, затем начинать работу с другим (это должны быть разные modbus-запросы)
- оценивать время выполнения команды и выполнять временную задержку на стороне клиента
- записать длинную команду можно так: выполнить запись в RAM, считать данные и записать из ROM через редактирование банка