Электрический котел Эван (EVAN) NEXT PLUS оснащен RS485 интерфейсом с поддержкой Modbus RTU. Для подключения его к сети Ethernet воспользуемся недорогим китайским конвертером Modbus RTU в Modbus TCP: Elfin EE-11. У этого производителя есть варианты этого конвертера с интерфейсами Wi-Fi и GPRS.
Конвертер приобрел на Aliexpress в магазине от производителя вместе с переходником на Ethernet. Описание устройства на странице: http://www.hi-flying.com/elfin-ee10-elfin-ee11. Конвертер брал вместе с кронштейном для крепления на DIN рейку.
При подключении к Ethernet использовал штатный «EE11 Interface Conversion Cable» кабель.
Для питания использовал блок питания (БП) на DIN рейку Faraday 12W/12-24V/DIN.
- Клеммы питания подключаем к двум средним контактам БП, как показано на рисунке.
- Ethernet кабель подключаем к разъему кабеля «EE11 Interface Conversion Cable» и к коммутатору Wi-Fi роутера на котором поднят DHCP сервер.
- Ноутбук, с которого осуществляется управление, подключен по Wi-Fi к тому-же роутеру.
- Запускаем программу Advanced IP Scanner (https://www.advanced-ip-scanner.com/) для сканирования сетевых устройств по всему пулу IP адресов, заданных в DHCP сервере Wi-Fi роутера.
- В списке полученных сетевых устройств находим то, у которого MAC адрес совадает с написанным на корпусе Elfin-EE11.
- Вводим в браузер IP адрес назначенный Elfin-EE11. Откроется диалоговое окно авторизации.
- Вводим логин и пароль по-умолчанию для Elfin-EE11: admin/admin. Его нужно не забыть сменить.
- Заходим в веб страницу администрирования.
- В настройках Serial Port Settings для котла EVAN NEXT PLUS проставляем следующие параметры:
- Скорость: 115200,
- DataBits: 8,
- Stop Bits: 1,
- Parity: None,
- Flow Control: Disable,
- Protocol: Modbus.
В настройках Communication Settings:
- Protocol: Tcp Server.
- Local Port: 8899 — это порт к которому будет идти подключение по протоколу Modbus TCP.
- Route: UART — запросы приходящие по TCP маршрутизируются на UART.
Чтение данных с котла EVAN NEXT PLUS по Modbus TCP/RTU
Вычитаем по Modbus TCP настройки котла. В настройках котла нужно указать, что внешнее управление по Modbus. Для доступа к котлу по Modbus воспользуемся программой QModMaster: https://sourceforge.net/projects/qmodmaster/.
Function Code — 0х03 ( Read Holding Registers ), начальный адрес — 40001.
смещение | параметр |
0 | Режим работы: 0 — Комнатный, 1 — Отопление. |
1 | Заданная температура теплоносителя от 8 до 85 |
2 | Заданная температура воздуха от 0 до 35 |
3 | Максимальное количество ступеней мощности |
4 | Максимальная температура теплоносителя |
5 | Заданная температура ГВС от 40 до 75 |
6 | Состояние ГВС 1 — включено, 0 — выключено. |
Function Code — 0х04 ( Read Input Registers ), начальный адрес — 30001.
смещение | параметр |
0 | Измеренная температура теплоносителя |
1 | Измеренная температура воздуха |
2 | Количество включенных ступеней мощности |
3 | Измеренная температура ГВС от 40 до 75 |
4 | Состояние клапана ГВС: 1 — ГВС, 0 — Отопление. |
5 | Количество ступеней мощности в котле: 3, 6. |
6 | Флаги ошибок. |
Обрабатываются ошибки:
- — неверный код,
- — неверный адрес регистра,
- — недопустимые данные,
- — ведомый занят и не может обработать запрос.
В настройках Modbus TCP Settings введем IP адрес конвертера Elfin EE-11, полученный после сканирования сети утилитой Advanced IP Scanner и порт указанный в настройках Elfin EE-11: 8899.
Нажимаем на Commands -> Connect. Если соединение с Modbus TCP конвертером установилось нормально, то в статус-строке отобразится зеленая точка.
В настройках (Settings) уберем смещение адреса, задав Base Addr = 0 (по умолчанию стоит 1).
- Modbus Mode: TCP.
- Unit ID для котла EVAN NEXT PLUS: 77 (0х4D).
- Function Code: Read Holding Registers (0x03).
- Start Address: 40001 [Dec].
- Number of Registers: 7.
- Data Format: Dec.
В Commands выберем Read /Write для считывания данных. Получим значение регистров Modbus RTU.
Если в Commands выбрать команду Scan, то данные по Modbus будут опрашиваться с интервалом заданным в параметре Scan Rate (ms): 1000.
Изменение настроек котла EVAN NEXT PLUS по Modbus TCP/RTU
Можно не только считывать значения настроек котла NEXT PLUS, но и менять их по сети.
Function Code: 0х06 (Запись одного регистра), 0х10 ( Запись нескольких регистров ). Начальный адрес — 40001.
смещение | параметр |
0 | Режим работы: 0 — Комнатный, 1 — Отопление. |
1 | Заданная температура теплоносителя от 8 до 85 |
2 | Заданная температура воздуха от 5 до 35 |
3 | Максимальное количество ступеней мощности |
4 | Максимальная температура теплоносителя |
5 | Заданная температура ГВС от 40 до 75 |
6 | Состояние ГВС 1 — включено, 0 — выключено. |
Для изменения настроек котла NEXT PLUS для начала изменим целевую температуру теплоносителя. Адрес 40001 + смещение 1 = 40002. Изменим значение в таблице с 40 на 50 и нажмем кнопку команды Read /Write. Значение на котле изменилось с 40 на 50.
Функция Write Multiple Registers (0x10) на котле NEXT PLUS по соображениям безопасности не поддерживается.