Конфигуратор счетчика Меркурий
Конфигуратор счетчика Меркурий
Для настройки электросчетчиков Инкотекс испольуется актуальная версия программного обеспечения — Конфигуратор счетчика Меркурий. Программное обеспечение для настройки и конфигурирования электросчетчиков Меркурий производства НПК ИНКОТЕКС (INCOTEX):
- Меркурий 200, 201.8 TLO, 203.2T, 206, 230, 231, 233, 234, 236
- Меркурий 208, 238
Программы для счетчиков Меркурий:
- Универсальный конфигуратор для Меркурий 200, 201.8 TLO, 203.2T, 206, 230, 231, 233, 234, 236
- Программа параметрирования счётчиков Меркурий (230,231,233, 234, 236)
- Конфигуратор счётчиков Меркурий 208, 238
- Драйвер USB 32 и 64 бит для «Меркурий 221, 225, 255 и др.» на чипе FTDI для win XP, 7, 8, 10
- Драйвер USB 32 и 64 бит для «Меркурий 255» на чипе PL2303
- 31.10.2021 31.10.2021 29.10.2021 29.10.2021 29.10.2021
Доставка по Москве и Московской области
Осуществляется нашей курьерской службой по рабочим дням с 11 до 18 часов. Дата и время доставки согласовываются с Вами заранее.
Водитель не осуществляет подъем товара на этаж, а также не производит проверку оборудования.
Стоимость доставки
— 600 рублей в пределах МКАД + 20 рублей / километр за МКАД.
— БЕСПЛАТНО при сумме заказа более 70 тысяч рублей + 20 рублей / километр за МКАД.
— Условия доставки крупногабаритного груза уточняйте у менеджеров по продажам.
Решение задачи
Счетчик, принимает на вход строку байтов формата ADDR-CMD-CRC, а отдает ADDR-CMD-DATA-CRC, где:
- ADDR — Имя счетчика (для меркурий 203.2Т — совпадает с серийным номером)
- CMD — Код команда
- DATA — Данные, зависят от запроса
- CRC — 2х байтовый циклический избыточный код, вычисляемый по всем предшествующим байтам данного пакета. Из этого объяснения не понятно что записывать в поле контрольной суммы.
Первым делом, подключимся к счетчику с помощью стандартной программы konfigurator и, с помощью сниффера, посмотрим на передаваемые пакеты, выясним какую контрольную сумму нужно добавлять в конец. Ниже, строка полученная от счетчика.
Воспользовавшись онлайн калькулятором CRC выясняем, что нужно вычислить CRC-16 (Modbus) с полиномом 0xA001.
Немного Python
Ссылок на алгоритм вычисления достаточно, поэтому не буду останавливаться на нем. Для разработки я использовал Python 3
Теперь попробуем получить от счетчика его серийный номер и проверить CRC. Понадобится установить модуль pyserial
Отлично! Теперь получим значения для израсходованной энергии по первому и второму тарифам, на самом деле нам нужно изменить только поле команды и распарсить результат.
Все работает. Конечный вариант скрипта выложил на git. В перспективе, планирую добавить поддержку работы по локальной сети.
Для разработки использовался Адаптер USB -> COM «Меркурий-221», но можно напрямую подключать счетчик к COM-порту.