Перейти к содержанию

Навигация

WB-MSx Consumer IR Manual: различия между версиями

м
Нет описания правки
м
м
(не показана 1 промежуточная версия этого же участника)
Строка 59: Строка 59:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16
#Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 1
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 1
#Направляем пульт на окно приемника и нажимаем кнопку на пульте ДУ
#Направляем пульт на окно приемника и нажимаем кнопку на пульте ДУ
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 0
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 0
#Завершаем запись сигнала с номером 1
#Завершаем запись сигнала с номером 1
</syntaxhighlight>
</syntaxhighlight>
Строка 69: Строка 69:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#Отдаём команду воспроизвести сигнал с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16
#Отдаём команду воспроизвести сигнал с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5101 1
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5101 1
</syntaxhighlight>
</syntaxhighlight>
==== Редактирование сигнала в постоянной памяти ====
==== Редактирование сигнала в постоянной памяти ====
Чтобы отредактировать сигнал под номером <code>i</code> или записать его по Modbus (без пульта ДУ), запишите 1 в регистр флага по адресу <code>5200 + i</code>. После этого сигнал в виде последовательности натуральных чисел (смотрите рисунок "Пример содержимого оперативного буфера WB-MIR") будет записан в подряд идущие регистры хранения, начиная с регистра <code>2000</code>. В конце последовательности будут два подряд идущих регистра хранения, содержащих 0. Если сигнал под номером <code>i</code> не был записан ранее, в регистрах хранения <code>2000</code> и <code>2001</code> будут находиться 0. Для внесения изменений в последовательность (в том числе для записи команды по Modbus) нужно записать правильную последовательность в данные регистры хранения с помощью команд <code>WRITE_SINGLE_REGISTER</code> и <code>WRITE_MULTI_REGISTERS</code>. В конце изменённой последовательности всё также должен быть маркер конца последовательности - два подряд идущих регистра хранения, содержащих 0. Чтобы удалить сигнал, запишите в первые два регистра хранения (<code>2000</code> и <code>2001</code>) 0. После окончания редактирования запишите 0 в регистр флагов по адресу <code>5200 + i</code>. До тех пор пока в регистре флагов по адресу <code>5200 + i</code> не будет стоять 0, никакие другие операции, в том числе и над другими сигналами, не будут доступны.
Чтобы отредактировать сигнал под номером <code>i</code> или записать его по Modbus (без пульта ДУ), запишите 1 в регистр флага по адресу <code>5200 + i</code>. После этого сигнал в виде последовательности натуральных чисел (смотрите рисунок "Пример содержимого оперативного буфера WB-MIR") будет записан в подряд идущие регистры хранения, начиная с регистра <code>2000</code>. В конце последовательности будут два подряд идущих регистра хранения, содержащих 0. Если сигнал под номером <code>i</code> не был записан ранее, в регистрах хранения <code>2000</code> и <code>2001</code> будут находиться 0. Для внесения изменений в последовательность (в том числе для записи команды по Modbus) нужно записать правильную последовательность в данные регистры хранения с помощью команд <code>WRITE_SINGLE_REGISTER</code> и <code>WRITE_MULTI_REGISTERS</code>. В конце изменённой последовательности всё также должен быть маркер конца последовательности - два подряд идущих регистра хранения, содержащих 0. Чтобы удалить сигнал, запишите в первые два регистра хранения (<code>2000</code> и <code>2001</code>) 0. После окончания редактирования запишите 0 в регистр флагов по адресу <code>5200 + i</code>. До тех пор пока в регистре флагов по адресу <code>5200 + i</code> не будет стоять 0, никакие другие операции, в том числе и над другими сигналами, не будут доступны.
237

правок