Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
настройка_modbus [2022/09/15 21:25] Sanch-KK |
настройка_modbus [2022/11/01 01:54] Sanch-KK |
||
---|---|---|---|
Строка 321: | Строка 321: | ||
" | " | ||
</ | </ | ||
+ | В этом случае, | ||
- | И еще один фильтр: | + | <del>И еще один фильтр: |
===== Запись в Modbus устройство ===== | ===== Запись в Modbus устройство ===== | ||
Строка 409: | Строка 410: | ||
</ | </ | ||
+ | ===== Mapping значений и команд контроллера в регистры Modbus ===== | ||
+ | |||
+ | Рассмотрим на примере вентустановки | ||
+ | Допустим, | ||
+ | * AUTO | ||
+ | * ON | ||
+ | * HEAT | ||
+ | * FAN_ONLY | ||
+ | Для команды OFF записываем 0 | ||
+ | |||
+ | Это реализуется строкой | ||
+ | " | ||
+ | |||
+ | наличие " | ||
+ | |||
+ | Соответственно, | ||
+ | |||
+ | В нашей вентустановке за переключение режима работы (нагрев-вентиляция-авто) отвечает отдельный регистр 43 | ||
+ | |||
+ | настроим отображение режима работы на требуемые значения данного регистра и, также, привяжем это отображение к командному топику (" | ||
+ | |||
+ | " | ||
+ | |||
+ | теперь при переключении режимов в регистр 43 будет записываться 3 для Авторежима, | ||
+ | |||
+ | Еще лайфхак: | ||
+ | < | ||
+ | " | ||
+ | </ | ||
+ | В примере выше, в значения регистра будет маппироваться только команда, | ||
+ | |||
+ | первый null перед массивом соответствия команда -> значение по умолчанию, | ||
+ | Если не подобрали - пытаемся преобразовать по значению | ||
+ | |||
+ | Если не использовать " | ||
+ | |||
+ | (описание не завершено) | ||
+ | |||
+ | < | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ]] | ||
+ | } | ||
+ | </ | ||