DDM845R: различия между версиями
(Есть более новая версия) Метка: новое перенаправление |
Matveevrj (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
__FORCETOC__ | |||
== Инициализация регистров == | |||
[[Файл:DDM845R.png|250px|thumb|right|Управление диммером в Web-интерфейсе]] | |||
Устанавливаем основные параметры: | |||
* Адрес HR0=34 | |||
* Скорость и параметры порта HR1=0 (по умолчанию 0) | |||
* Режим работы HR30=1 (по умолчанию 1) | |||
* Общую яркость HR44=100 (по умолчанию 100) | |||
* Дополнительные параметры: HR31, 33,34,35,36,37,60,61,62,63 = 0 | |||
* Период частоты HR32 = 10000 ... 10500 | |||
Устанавливаем яркость каналов (по умолчанию 0): | |||
* 1 HR40= (0-1023) | |||
* 2 HR41= (0-1023) | |||
* 3 HR42= (0-1023) | |||
* 4 HR43= (0-1023) | |||
Входы: | |||
* Для 1 вх IR4 = -25000 (выключатель разомкнут — может быть другое число, например 0x9ff6); ~50 — (выключатель замкнут) | |||
* Для 2 вх IR5 | |||
* Для 3 вх IR6 | |||
* Для 4 вх IR7 | |||
* Для 5 вх IR8 | |||
* Для 6 вх IR9 | |||
* Для 7 вх IR10 | |||
* Для 8 вх IR11 | |||
Создаем сценарии для преобразования значений регистров в понятные величины: | |||
* HR100=2, HR101=4, HR102=8, HR103= -1000, HR104=1 | |||
* HR200=2, HR201=5, HR202=8, HR203= -1000, HR204=1 | |||
* HR300=2, HR301=6, HR302=8, HR303= -1000, HR304=1 | |||
* HR400=2, HR401=7, HR402=8, HR403= -1000, HR404=1 | |||
* HR500=2, HR501=8, HR502=8, HR503= -1000, HR504=1 | |||
* HR600=2, HR601=9, HR602=8, HR603= -1000, HR604=1 | |||
* HR700=2, HR701=10, HR702=8, HR703=-1000, HR704=1 | |||
* HR800=2, HR801=11, HR802=8, HR803=-1000, HR804=1 | |||
Теперь результат можно получить в регистрах: | |||
* Для 1 вх IR100 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 2 вх IR101 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 3 вх IR102 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 4 вх IR103 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 5 вх IR104 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 6 вх IR105 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 7 вх IR106 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
* Для 8 вх IR107 = 0 (выключатель разомкнут) 1 (выключатель замкнут) | |||
== Набор команд == | |||
Набор команд для создания сценариев на незапрограммированном диммере. Адрес устройства — 34. | |||
<syntaxhighlight lang="bash"> | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r100 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r101 0x4 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r102 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r103 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r104 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r200 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r201 0x5 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r202 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r203 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r204 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r300 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r301 0x6 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r302 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r303 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r304 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r400 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r401 0x7 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r402 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r403 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r404 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r500 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r501 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r502 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r503 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r504 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r600 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r601 0x9 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r602 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r603 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r604 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r700 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r701 0xa | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r702 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r703 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r704 0x1 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r800 0x2 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r801 0xb | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r802 0x8 | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r803 0x9fff | |||
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r804 0x1 | |||
</syntaxhighlight> | |||
== Шаблон == | |||
Шаблон config-ddm845r.json для работы с устройством. | |||
<syntaxhighlight lang="ecmascript"> | |||
// Configuration options | |||
{ | |||
"device_type": "DDM845R", | |||
"device": { | |||
"name": "DDM845R", | |||
"id": "ddm845r", | |||
"delay_ms": 200, | |||
"enabled": true, | |||
"setup": [ | |||
{ | |||
"title": "Operational mode", | |||
"reg_type": "holding", | |||
"address": "30", | |||
"value": "1" | |||
} | |||
], | |||
"channels": [ | |||
{ | |||
"name": "Channel 1", | |||
"reg_type": "holding", | |||
"address": "0x28", | |||
"type": "range", | |||
"max": "0x3ff" | |||
}, | |||
{ | |||
"name": "Channel 2", | |||
"reg_type": "holding", | |||
"address": "0x29", | |||
"type": "range", | |||
"max": "0x3ff" | |||
}, | |||
{ | |||
"name": "Channel 3", | |||
"reg_type": "holding", | |||
"address": "0x2A", | |||
"type": "range", | |||
"max": "0x3ff" | |||
}, | |||
{ | |||
"name": "Channel 4", | |||
"reg_type": "holding", | |||
"address": "0x2B", | |||
"type": "range", | |||
"max": "0x3ff" | |||
}, | |||
{ | |||
"name": "All channels", | |||
"reg_type": "holding", | |||
"address": "0x2C", | |||
"type": "range", | |||
"max": "0x64" | |||
}, | |||
{ | |||
"name": "Channel mode 0-3", | |||
"reg_type": "holding", | |||
"address": "0x1E", | |||
"type": "range", | |||
"max": "0x03" | |||
}, | |||
{ | |||
"name": "PWM Freq", | |||
"reg_type": "holding", | |||
"address": "32", | |||
"type": "range", | |||
"max": "10500", | |||
"min": "10000" | |||
}, | |||
{ | |||
"name" : "Input 1 state", | |||
"reg_type" : "input", | |||
"address" : 100, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 2 state", | |||
"reg_type" : "input", | |||
"address" : 101, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 3 state", | |||
"reg_type" : "input", | |||
"address" : 102, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 4 state", | |||
"reg_type" : "input", | |||
"address" : 103, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 5 state", | |||
"reg_type" : "input", | |||
"address" : 104, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 6 state", | |||
"reg_type" : "input", | |||
"address" : 105, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 7 state", | |||
"reg_type" : "input", | |||
"address" : 106, | |||
"type" : "value" | |||
}, | |||
{ | |||
"name" : "Input 8 state", | |||
"reg_type" : "input", | |||
"address" : 107, | |||
"type" : "value" | |||
} | |||
] | |||
} | |||
} | |||
</syntaxhighlight> |
Версия 10:56, 20 января 2023
Инициализация регистров
Устанавливаем основные параметры:
- Адрес HR0=34
- Скорость и параметры порта HR1=0 (по умолчанию 0)
- Режим работы HR30=1 (по умолчанию 1)
- Общую яркость HR44=100 (по умолчанию 100)
- Дополнительные параметры: HR31, 33,34,35,36,37,60,61,62,63 = 0
- Период частоты HR32 = 10000 ... 10500
Устанавливаем яркость каналов (по умолчанию 0):
- 1 HR40= (0-1023)
- 2 HR41= (0-1023)
- 3 HR42= (0-1023)
- 4 HR43= (0-1023)
Входы:
- Для 1 вх IR4 = -25000 (выключатель разомкнут — может быть другое число, например 0x9ff6); ~50 — (выключатель замкнут)
- Для 2 вх IR5
- Для 3 вх IR6
- Для 4 вх IR7
- Для 5 вх IR8
- Для 6 вх IR9
- Для 7 вх IR10
- Для 8 вх IR11
Создаем сценарии для преобразования значений регистров в понятные величины:
- HR100=2, HR101=4, HR102=8, HR103= -1000, HR104=1
- HR200=2, HR201=5, HR202=8, HR203= -1000, HR204=1
- HR300=2, HR301=6, HR302=8, HR303= -1000, HR304=1
- HR400=2, HR401=7, HR402=8, HR403= -1000, HR404=1
- HR500=2, HR501=8, HR502=8, HR503= -1000, HR504=1
- HR600=2, HR601=9, HR602=8, HR603= -1000, HR604=1
- HR700=2, HR701=10, HR702=8, HR703=-1000, HR704=1
- HR800=2, HR801=11, HR802=8, HR803=-1000, HR804=1
Теперь результат можно получить в регистрах:
- Для 1 вх IR100 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 2 вх IR101 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 3 вх IR102 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 4 вх IR103 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 5 вх IR104 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 6 вх IR105 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 7 вх IR106 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
- Для 8 вх IR107 = 0 (выключатель разомкнут) 1 (выключатель замкнут)
Набор команд
Набор команд для создания сценариев на незапрограммированном диммере. Адрес устройства — 34.
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r100 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r101 0x4
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r102 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r103 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r104 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r200 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r201 0x5
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r202 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r203 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r204 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r300 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r301 0x6
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r302 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r303 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r304 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r400 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r401 0x7
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r402 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r403 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r404 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r500 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r501 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r502 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r503 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r504 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r600 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r601 0x9
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r602 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r603 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r604 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r700 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r701 0xa
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r702 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r703 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r704 0x1
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r800 0x2
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r801 0xb
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r802 0x8
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r803 0x9fff
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a34 -t0x06 -r804 0x1
Шаблон
Шаблон config-ddm845r.json для работы с устройством.
// Configuration options
{
"device_type": "DDM845R",
"device": {
"name": "DDM845R",
"id": "ddm845r",
"delay_ms": 200,
"enabled": true,
"setup": [
{
"title": "Operational mode",
"reg_type": "holding",
"address": "30",
"value": "1"
}
],
"channels": [
{
"name": "Channel 1",
"reg_type": "holding",
"address": "0x28",
"type": "range",
"max": "0x3ff"
},
{
"name": "Channel 2",
"reg_type": "holding",
"address": "0x29",
"type": "range",
"max": "0x3ff"
},
{
"name": "Channel 3",
"reg_type": "holding",
"address": "0x2A",
"type": "range",
"max": "0x3ff"
},
{
"name": "Channel 4",
"reg_type": "holding",
"address": "0x2B",
"type": "range",
"max": "0x3ff"
},
{
"name": "All channels",
"reg_type": "holding",
"address": "0x2C",
"type": "range",
"max": "0x64"
},
{
"name": "Channel mode 0-3",
"reg_type": "holding",
"address": "0x1E",
"type": "range",
"max": "0x03"
},
{
"name": "PWM Freq",
"reg_type": "holding",
"address": "32",
"type": "range",
"max": "10500",
"min": "10000"
},
{
"name" : "Input 1 state",
"reg_type" : "input",
"address" : 100,
"type" : "value"
},
{
"name" : "Input 2 state",
"reg_type" : "input",
"address" : 101,
"type" : "value"
},
{
"name" : "Input 3 state",
"reg_type" : "input",
"address" : 102,
"type" : "value"
},
{
"name" : "Input 4 state",
"reg_type" : "input",
"address" : 103,
"type" : "value"
},
{
"name" : "Input 5 state",
"reg_type" : "input",
"address" : 104,
"type" : "value"
},
{
"name" : "Input 6 state",
"reg_type" : "input",
"address" : 105,
"type" : "value"
},
{
"name" : "Input 7 state",
"reg_type" : "input",
"address" : 106,
"type" : "value"
},
{
"name" : "Input 8 state",
"reg_type" : "input",
"address" : 107,
"type" : "value"
}
]
}
}