Инструменты пользователя

Инструменты сайта


настройка_modbus

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
настройка_modbus [2023/10/25 01:48]
Admin [раздел poll]
настройка_modbus [2025/04/06 10:48] (текущий)
Admin [Mapping значений и команд контроллера в регистры Modbus]
Строка 26: Строка 26:
   *  "t_heat" - имя параметра устройства.    *  "t_heat" - имя параметра устройства. 
   *  "reg" - регистр (или стартовый HOLDING REGISTER) параметра   *  "reg" - регистр (или стартовый HOLDING REGISTER) параметра
-  *  "ir: - INPUT REGISTER или "reg"- HOLDING REGISTER или "coil": coil+  *  "ir: - INPUT REGISTER или "reg"- HOLDING REGISTER или "coil": COIL или "din" - DISCRETE INPUT 
   * "map" - правила преобразования  (TBD)   * "map" - правила преобразования  (TBD)
   * "type":"i16" -  указывает, что значение - 16-ти битное число со знаком   * "type":"i16" -  указывает, что значение - 16-ти битное число со знаком
Строка 124: Строка 124:
           }           }
 }                 }                
-</coils>+</code> 
 ==== Разделы baud и serial ==== ==== Разделы baud и serial ====
 Пример: Пример:
Строка 450: Строка 451:
  
 ===== Mapping значений и команд контроллера в регистры Modbus ===== ===== Mapping значений и команд контроллера в регистры Modbus =====
 +Более подробно настройка преобразований описана в отдельном разделе [[использование_преобразований_map]]
  
 +Далее, разобраны примеры применения
 Рассмотрим на примере вентустановки Рассмотрим на примере вентустановки
 Допустим, регистр 41 отвечает за включение установки. Соответственно, в него надо записать "1" для всех рабочих режимов: Допустим, регистр 41 отвечает за включение установки. Соответственно, в него надо записать "1" для всех рабочих режимов:
Строка 460: Строка 463:
  
 Это реализуется строкой  Это реализуется строкой 
 +<code>
 "on":{"reg":41,"type":"u8l","id":1,"map":{"cmd":[["OFF",0],["ON",1],["AUTO",1],["HEAT",1],["FAN_ONLY",1]]}} "on":{"reg":41,"type":"u8l","id":1,"map":{"cmd":[["OFF",0],["ON",1],["AUTO",1],["HEAT",1],["FAN_ONLY",1]]}}
 +</code>
 наличие "id"=1 позволяет не только напрямую управлять данным регистром при помощи именованного параметра "on" (топика air/on/set) но и привязать его к командному суффиксу канала наличие "id"=1 позволяет не только напрямую управлять данным регистром при помощи именованного параметра "on" (топика air/on/set) но и привязать его к командному суффиксу канала
  
Строка 469: Строка 473:
  
 настроим отображение режима работы на требуемые значения данного регистра и, также, привяжем это отображение к командному топику ("id":1) настроим отображение режима работы на требуемые значения данного регистра и, также, привяжем это отображение к командному топику ("id":1)
 +<code>
 "pmode":{"reg":43,"type":"u8l","id":1,"map":{"cmd":[["AUTO",3],["HEAT",2],["FAN_ONLY",1]]}}, "pmode":{"reg":43,"type":"u8l","id":1,"map":{"cmd":[["AUTO",3],["HEAT",2],["FAN_ONLY",1]]}},
 +</code>
 теперь при переключении режимов в регистр 43 будет записываться 3 для Авторежима, 2 - для режима нагрева, 1 - для режима вентиляции теперь при переключении режимов в регистр 43 будет записываться 3 для Авторежима, 2 - для режима нагрева, 1 - для режима вентиляции
  
настройка_modbus.1698187696.txt.gz · Последнее изменение: 2023/10/25 01:48 — Admin