Запись команд ДУ в WB-MIR v.2

Добрый день.

Соединили устройство WB-MIR v.2 с компьютером через АС-4.При отправке команд по ModBus RTU согласно данной таблице https://wirenboard.com/wiki/WB-MIR_v2_Registers все ответы приходят корректно и успешно.

При внесении команд согласно данной статье https://wirenboard.com/wiki/WB-MSx_Consumer_IR_Manual ни одна команда не записывается.

Последовательность действий:

1.Записали в параметр (к примеру 5301) значение 1;

2.Поднесли пульт к IR и отправили команду;

3.Записали в параметр (к примеру 5301) значение 0;

4.Записали в параметр (к примеру 5101) значение 1 для отправки команды по ИК;

Команда не передается(Проверяли камерой,не светится).При проверке буфера по параметру 5400 в ответ приходит 0.
Как решить данную проблему?

пульт LG 6711A90023C

А посмотрите - есть ли что-то в регистрах,

Чтобы отредактировать сигнал под номером i или записать его по Modbus (без пульта ДУ), запишите 1 в регистр флага по адресу 5200 + i. После этого сигнал в виде последовательности натуральных чисел (смотрите рисунок "Пример содержимого оперативного буфера WB-MIR") будет записан в подряд идущие регистры хранения, начиная с регистра 2000. В конце последовательности будут два подряд идущих регистра хранения, содержащих 0. Если сигнал под номером i не был записан ранее, в регистрах хранения 2000 и 2001 будут находиться 0

UPD: А прошивка-то какой версии?

В регистрах пусто.
Версия 1.8C

Другой пульт пробовали? Сейчас подключу такое ж устройство - воспроизведу.

Пробовали,та же история

Подключил - настроил, сейчас команды напишу и проверю.

Так. Проверяем что пусто:

Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][14][51][FF][00][DD][8D]
Waiting for a confirmation...
<37><05><14><51><FF><00><DD><8D>
SUCCESS: written 1 elements!
root@wirenboard-ACAX3M6K:~# for i in {2000..2050}; do  echo "register $i data $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x03 -r$i | grep Data:)"; done
register 2000 data 	Data: 0x0000 
register 2001 data 	Data: 0x0000 
register 2002 data 	Data: 0x0000 
register 2003 data 	Data: 0x0000 
register 2004 data 	Data: 0x0000 
register 2005 data 	Data: 0x0000 
register 2006 data 	Data: 0x0000 
register 2007 data 	Data: 0x0000 
register 2008 data 	Data: 0x0000 
register 2009 data 	Data: 0x0000 
register 2010 data 	Data: 0x0000 
register 2011 data 	Data: 0x0000 
register 2012 data 	Data: 0x0000 
register 2013 data 	Data: 0x0000 
register 2014 data 	Data: 0x0000 
register 2015 data 	Data: 0x0000 
register 2016 data 	Data: 0x0000 
register 2017 data 	Data: 0x0000 
register 2018 data 	Data: 0x0000 
register 2019 data 	Data: 0x0000 
register 2020 data 	Data: 0x0000 
register 2021 data 	Data: 0x0000 
register 2022 data 	Data: 0x0000 
register 2023 data 	Data: 0x0000 
register 2024 data 	Data: 0x0000 
register 2025 data 	Data: 0x0000 
register 2026 data 	Data: 0x0000 
register 2027 data 	Data: 0x0000 
register 2028 data 	Data: 0x0000 
register 2029 data 	Data: 0x0000 
register 2030 data 	Data: 0x0000 
register 2031 data 	Data: 0x0000 
register 2032 data 	Data: 0x0000 
register 2033 data 	Data: 0x0000 
register 2034 data 	Data: 0x0000 
register 2035 data 	Data: 0x0000 
register 2036 data 	Data: 0x0000 
register 2037 data 	Data: 0x0000 
register 2038 data 	Data: 0x0000 
register 2039 data 	Data: 0x0000 
register 2040 data 	Data: 0x0000 
register 2041 data 	Data: 0x0000 
register 2042 data 	Data: 0x0000 
register 2043 data 	Data: 0x0000 
register 2044 data 	Data: 0x0000 
register 2045 data 	Data: 0x0000 
register 2046 data 	Data: 0x0000 
register 2047 data 	Data: 0x0000 
register 2048 data 	Data: 0x0000 
register 2049 data 	Data: 0x0000 
register 2050 data 	Data: 0x0000 

Для начала попробуем в RAM записать. Стартуем запись:

modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5001 1
Data to write: 0x0
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][89][00][00][1D][32]
Waiting for a confirmation...
<37><05><13><89><00><00><1D><32>
SUCCESS: written 1 elements!

Нажимаем кнопку пульта, отключаем:

modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5001 0
Data to write: 0x0
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][89][00][00][1D][32]
Waiting for a confirmation...
<37><05><13><89><00><00><1D><32>
SUCCESS: written 1 elements!

Проверяем:

root@wirenboard-ACAX3M6K:~# for i in {2000..2050}; do  echo "register $i data $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x03 -r$i | grep Data:)"; done
register 2000 data 	Data: 0x01c6 
register 2001 data 	Data: 0x01bb 
register 2002 data 	Data: 0x003f 
register 2003 data 	Data: 0x009b 
register 2004 data 	Data: 0x003d 
register 2005 data 	Data: 0x0031 
register 2006 data 	Data: 0x003b 
register 2007 data 	Data: 0x009f 
register 2008 data 	Data: 0x003c 
register 2009 data 	Data: 0x009f 
register 2010 data 	Data: 0x003c 
register 2011 data 	Data: 0x0031 
register 2012 data 	Data: 0x003c 
register 2013 data 	Data: 0x0031 
register 2014 data 	Data: 0x003b 
register 2015 data 	Data: 0x009f 
register 2016 data 	Data: 0x003c 
register 2017 data 	Data: 0x0032 
register 2018 data 	Data: 0x003c 
register 2019 data 	Data: 0x0031 
register 2020 data 	Data: 0x003c 
register 2021 data 	Data: 0x009e 
register 2022 data 	Data: 0x003c 
register 2023 data 	Data: 0x0032 
register 2024 data 	Data: 0x003c 
register 2025 data 	Data: 0x0031 
register 2026 data 	Data: 0x003c 
register 2027 data 	Data: 0x009e 
register 2028 data 	Data: 0x003d 
register 2029 data 	Data: 0x009e 
register 2030 data 	Data: 0x003c 
register 2031 data 	Data: 0x0031 
register 2032 data 	Data: 0x003c 
register 2033 data 	Data: 0x009f 
register 2034 data 	Data: 0x003c 
register 2035 data 	Data: 0x0031 
register 2036 data 	Data: 0x003c 
register 2037 data 	Data: 0x009f 
register 2038 data 	Data: 0x003b 
register 2039 data 	Data: 0x009f 
register 2040 data 	Data: 0x003c 
register 2041 data 	Data: 0x009f 
register 2042 data 	Data: 0x003c 
register 2043 data 	Data: 0x009e 
register 2044 data 	Data: 0x003c 
register 2045 data 	Data: 0x0031 
register 2046 data 	Data: 0x003c 
register 2047 data 	Data: 0x009f 
register 2048 data 	Data: 0x003c 
register 2049 data 	Data: 0x009e 
register 2050 data 	Data: 0x003c 

Воспроизводим:

odbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5002 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][8A][FF][00][AC][C2]
Waiting for a confirmation...
<37><05><13><8A><FF><00><AC><C2>
SUCCESS: written 1 elements!

При этом передатчик мограет, в камеру видно.
У вас прошивка какая?

Это HW аппаратная версия.
Ниже FW Написано - там что?
Да, обратите внимание:

Как и в случае работы с регистрами постоянного хранения, в каждый момент времени можно выполнять только одну операцию только над одним сигналом. Так как во время выполнения любой операции в один из регистров флагов ставится 1, а после завершения операции туда же ставится 0, в каждый момент времени среди всех регистров флагов, относящихся к ИК-приёмопередатчику, только один регистр может быть установлен в единицу. Попытка записи 1 в регистры флагов, связанных с ИК, при уже имеющейся единице приведёт к ошибке BUSY .

Вот такие команды покажут состояния регистров.
echo “register 5001 $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x01 -r5001 | grep Data:)”
echo “register 5101 $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x01 -r5101 | grep Data:)”
echo “register 5201 $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x01 -r5201 | grep Data:)”
echo “register 5301 $(modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a55 -t0x01 -r5301 | grep Data:)”

Регистры “воспроизведения” автоматически обнуляются по его завершении, проверять не надо.
UPD: поправил адреса регистров.

Да, а какими командами записываете? Обратите внимание - coil, запись командой 0x05.
Попробуйте вот прямо из консоли выполнить, только адрес и порт смените.