Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus

в 20:05, , рубрики: diy или сделай сам, modbus, rs485, SDM220, Интернет вещей, умный дом, электросчетчик, метки:

Хочу рассказать про опыт подключения электросчетчика Eastron SDM220-Modbus и получения данных с него.
В целом ничего сложного нет, счетчик имеет стандартный интерфейс RS485 и поддерживает протокол Modbus.

Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 1

Счетчик был куплен на aliexpress.
Для подключения был использован USB-RS485 адаптер собственного производства на базе FT232RL и SP485, но должно работать и с любым другим адаптером.

Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 2

При подключении питания счетчик показывает текущие настройки, в том числе и скорость соединения, по умолчанию стояла скорость 2400, несмотря на то, что в даташине написана 9600. Я менял ее на 9600. Для этого нужно зажать на 3 сек. кнопку с угловой стрелкой, выбрать нужную настройку, изменить ее и и выйти из настроек зажав кнопку с круговыми стрелками.
Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 3
Чтобы получить данные с устройства, нужно через адаптер usb-RS485 отправить в виртуальный com-порт 8-байтовый запрос:
Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 4
Например, 01-04-00-00-00-02-71-CB
Где 01 — адрес устройства, виден на самом счетчике, по умолчанию — 1
04 — код операции, чтение регистра данных
00-00 — номер регистра, в этом регистре, например, хранится значение напряжения
00-02 — количество ячеек для чтения (2 байта)
71-CB — контрольная сумма по алгоритму CRC-16

Если все верно, в ответ прийдет сообщение вида:
Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 5
Например, 01-04-04-43-4C-A1-C5-96-14
Где 01 — адрес
04 — код ответа на запрос
04 — кол-во байт ответа
43-4С-A1-C5 — возвращенное значение float в формате IEEE 754 в обратном порядке, т.е. значение должно быть C5-A1-4C-43
96-14 — контрольная сумма CRC-16

Для опроса счетчика была написана простенькая программа, которая позволяет опросить каждый отдельный регистр счетчика и все регистры последовательно.

Мониторинг электроэнергии со счетчиком Eastron SDM220-Modbus - 6
Красным шрифтом пишется запрос, синим — ответ, зеленым — декодированное значение, коричневым результаты опроса всех регистров.
Для работы нужен .NET Framework 3.0, в списке нужно выбрать com-порт, к которому подключился преобразователь RS485

Саму программу, а также документацию на счетчик можно скачать на нашем сайте megadevices.com.ua

Планы на будущее — прикрутить ESP8266 и организовать передачу данных на Народный мониторинг

Автор: alk0v

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js