UMDK-M200

Осуществляет работу с электросчетчиком «Меркурий 203.2Т» и «Меркурий 200.02» компании Инкотекс.

«Меркурий 203.2Т» подключен по интерфейсу физического уровня RS485. Использует выходы DIO25 и DIO26 для приема и передачи, а также DIO30 и DIO29 для сигналов RE и DE драйвера RS485.

«Меркурий 200.02» подключен по интерфейсу физического уровня CAN. Использует выходы DIO25 и DIO26 для приема и передачи.

Позволяет настроить параметры электросчетчика, а также получить необходимые данные.

Модуль доступен только в коммерческой версии прошивки и не распространяется в исходных кодах.

Команды

NB: В конце каждой команды необходимо указать адрес устройства, которому адресуется команда!
Лидирующие нули в адресе опускаются.

Для счетчика «Меркурий 203.2Т» - это весь заводской серийный номер.

    Пример: Электросчетчик № 15000454-10г., соответственно адрес устройства «15000454».

Для счетчика «Меркурий 200.02» - это последние шесть цифр заводского серийного номера.

    Пример: Электросчетчик № 29037622-10г., соответственно адрес устройства «037622».

Установка интерфейса «IFACE» работы с электросчетчиком:

IFACE = 485 - установка интерфейса RS485 для работы с электросчетчиками «Меркурий 203.2Т».

IFACE = can - установка интерфейса CAN для работы с электросчетчиками «Меркурий 200.02».
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "iface IFACE"

Установка интерфейса RS485 работы с электросчетчиком «Меркурий 203.2Т»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "iface 485"

Устанавливает новый адрес «35260025» для устройства с текущим адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set address 35260025 SERIAL"

Получение служебной информации электросчетчика

Запрашивает серийный номер устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get serial SERIAL"

Команды на получение последнего вскрытия/закрытия крышки устройства не поддерживаются на счетчиках «Меркурий 200.02»!
Запрашивает время и дату последнего вскрытия крышки устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time open SERIAL"

Запрашивает время и дату последнего закрытия крышки устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time close SERIAL"

Запрашивает время и дату последнего отключения напряжения:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time switch_off SERIAL"

Запрашивает время и дату последнего включения напряжения:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time switch_on SERIAL"

Команда на получение времени наработки электросчетка не реализованнно на счетчиках «Меркурий 200.02»!
Запрашивает время(в часах) наработки электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get worktime SERIAL"

Получение электрических параметров электросчетчика

Запрашивает текущие значения напряжения(В), тока(А), мощности(Вт):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get uip SERIAL"

Запрашивает текущее значение мощности(кВт) в нагрузке электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get power_current SERIAL"

Запрашивает значение лимита мощности(кВт) электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get power_limit SERIAL"

Работа с тарифами

Запрашивает количество действующих тарифов:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get number tariffs SERIAL"

Устанавливает количество действующих тарифов, равное «N»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set number tariffs N SERIAL"

Устанавливает количество действующих тарифов, равное двум:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set number tariffs 02 SERIAL"

Получение показаний электросчетчика

Получение суммарных показаний (от сброса электросчетчика):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value total SERIAL"

Получение показаний на начало текущего месяца:

NB: Данная команда иногда выдает некорректные значения. Тест проводился на электросчетчиках «Меркурий 200.02» и «Меркурий 203.2Т». 
Это не является ошибкой прошивки модуля UMDK-M200, вероятно некорректно реализован ответ со стороны электросчетчика на данную команду.
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value current SERIAL"

Получение показаний на начало месяца «Mm»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value month Mm SERIAL"

Получение показаний на начало июня:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value month 06 SERIAL"

Работа с часами электросчётчика

Запрашивает внутренние часы и дату электросчетчика:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get timedate SERIAL"

Устанавливает часов и даты (DW — день недели, HH:MM:SS часов:минут:секунд DD/MM/YY день/месяц/год):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set timedate DW HH:MM:SS DD/MM/YY SERIAL"
NB: дни недели: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота, 07 - Праздник.

Устанавливает внутренние часы и дату электросчетчика « Вскр. 15:47:31 05/11/17 »:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set timedate 00 15:47:31 05/11/17 SERIAL"
NB: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота.

Работа с праздничными днями

Передача на счётчик списка из N праздничных дней парами «день-месяц»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set holidays N D1.M1 D2.M2 ... SERIAL"

Устанавливает четыре праздничных дня в году: 1 января, 23 февраля, 8 марта и 9 мая:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set holidays 04 01.01 23.02 08.03 09.05 SERIAL"
NB: Максимум 16 праздничных дней в году.

Установка тарифного расписания

Запрос текущего расписания (M — месяц, D — день недели, SERIAL — серийный номер счётчика):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get schedule M D SERIAL"

Запрашивает тарифное расписание в феврале по субботам:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get schedule 02 06 SERIAL"
NB: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота, 07 - Праздник.

NB: 01 - Январь, 02 - Февраль, ... 12 — Декабрь.

При установке тарифного расписания необходимо указать:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule «RANGE» «DAYS» «NUM» «Тt Hh:Mm» SERIAL"

Устанавливает «на весь год все будни на 2 точки переключения «Т1 12:30» «Т2 23:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule year weekdays 02 01 12:30 02 23:30 SERIAL"

Устанавливает «в марте все дни на 2 точки переключения «Т1 14:00» «Т2 01:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule month 03 all 02 01 14:00 02 01:30 SERIAL"

Устанавливает «на весь год все понедельники на 2 точки переключения «Т1:12:30» «Т2:23:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule year day 01 02 01 12:30 02 23:30 SERIAL"

Сообщения

Общие сообщения

При вводе некорректной (несуществующей) команды будет получено сообщение «invalid command»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "invalid command"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При успешном выполнении команды модуль отвечает сообщением «ok»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах запроса будет получено сообщение «Error»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщения при работе с электросчнетчиком

NB: В каждом сообщении присутствует адрес электросчетчика, с которым на данный момент осуществляется работа.

При успешном выполнении команды электросчётчик возвращает свой адрес «SERIAL» и отвечает сообщением «Ok»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах запроса будет получено сообщение «Error»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При отсутствии подключения с электросчетчиком, при отсутствии устройства с запрашиваемым адресом, а также при посылке команды, не реализованной в данном счетчике, будет получено сообщение «no response»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "no response"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При посылке команды, не поддерживаемой данным устройством, будет получено сообщение «Not support»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "Not support»"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе серийного номера электосчетчика сообщение будет следующее:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Serial number": SERIAL
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе значений времени наработки (в часах) сообщение будет следующее:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Working time under voltage": 17036,
        "Working time without voltage": 35798
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе времени вскрытия/закрытия крышки устройства и включения/отключения напряжения:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Day": "Fri",
        "Time": "11:33:10",
        "Date": "30/01/17"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения текущих значений напряжения (В), тока (А) и мощности (Вт):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Voltage": 229.6, 
        "Current": 3.07, 
        "Power": 765
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения текущего значения мощности (кВт) в нагрузке:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Current power": 0.77
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения значения лимита мощности (кВт):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Power limit": 99.99
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе количества действующих тарифов (штук):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Tariffs": 4
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при получении показаний (кВт*ч) электросчетчика, передаются как потарифные, так и суммарные значения:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "T01": 3.21, 
        "T02": 0.15, 
        "T03": 0.0, 
        "T04": 0.0, 
        "Total": 3.36
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Ответ на запрос получения внутренних часов и даты счетчика:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Day": "Fri",
        "Time": "01:33:10",
        "Date": "29/01/17"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Ответ на запрос получения тарифного расписания:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "T01": "11:00",
        "T02": "15:00",
        "T01": "23:30"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Формат пакетов LoRaWAN

Сетевой адрес (4 байта):

Для счетчика «Меркурий 203.2Т» - это весь заводской серийный номер.

    Пример: Электросчетчик № 15000454-10г., соответственно адрес устройства «15000454».

Для счетчика «Меркурий 200.02» - это последние шесть цифр заводского серийного номера.

    Пример: Электросчетчик № 29037622-10г., соответственно адрес устройства «037622».

ID модуля всегда 0x32.

Формат ответа:

Ответ при работе с настройками модуля:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда
2 Код ответа 0x00: Ок.
0x01: Ошибка.

Ответ при работе с электросчетчиком (в случае ошибки или подтверждения):

Байт Назначение Значение
0 ID модуля 0x32
1 Команда
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ при работе с электросчетчиком (получение данных):

Байт Назначение Значение
0 ID модуля 0x32
1 Команда
2 Код ответа 0x00: Данные.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 Данные
... Данные

Коды ответа:

Код ответа | Значение -----|------------| 0x00 | Ок (подтверждение) или данные 0x01 | Ошибка 0x02 | Ошибка связи с электросчетчиком |

Установка интерфейса работы с электросчетчиком:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0xFB
2 Номер интерфейса 0x01: RS-485
0x02: CAN.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0xFB
2 Код ответа 0x00: Ок.
0x01: Ошибка.

Установка нового сетевого адреса

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x02
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 - 9 Новый сетевой адрес

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x02
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Получение служебной информации электросчетчика

Запрос серийного номера устройства:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x01
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x01
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 10 Серийный номер устройства

Запрос времени и даты последнего вскрытия крышки устройства:

NB: Не поддерживается на счетчиках «Меркурий 200.02»!

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x04
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x04
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 День недели последнего
вскрытия крышки устройства
0x00: Вскр, 0x01: Пн,..., 0x06: Сб, 0x07: Праздник
8 Час последнего
вскрытия крышки устройства
0x00: 00 часов, ..., 0x17: 23 часа
9 Минуты последнего
вскрытия крышки устройства
0x00: 00 минут, ..., 0x3B: 59 минут
10 Секунды последнего
вскрытия крышки устройства
0x00: 00 секунд, ..., 0x3B: 59 секунд
11 Число последнего
вскрытия крышки устройства
0x01: 1-ое число месяца, ..., 0x1F: 31-ое число месяца
12 Месяц последнего
вскрытия крышки устройства
0x01: январь, ..., 0x0C: декабрь
13 Год последнего
вскрытия крышки устройства
Последние две цифры года. 0x00: 2000 год, ..., 0x11: 2017 год, ...

Запрос времени и даты последнего закрытия крышки устройства:

NB: Не поддерживается на счетчиках «Меркурий 200.02»!

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x05
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x05
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 День недели последнего
закрытия крышки устройства
0x00: Вскр, 0x01: Пн,..., 0x06: Сб, 0x07: Праздник
8 Час последнего
закрытия крышки устройства
0x00: 00 часов, ..., 0x17: 23 часа
9 Минуты последнего
закрытия крышки устройства
0x00: 00 минут, ..., 0x3B: 59 минут
10 Секунды последнего
закрытия крышки устройства
0x00: 00 секунд, ..., 0x3B: 59 секунд
11 Число последнего
закрытия крышки устройства
0x01: 1-ое число месяца, ..., 0x1F: 31-ое число месяца
12 Месяц последнего
закрытия крышки устройства
0x01: январь, ..., 0x0C: декабрь
13 Год последнего
закрытия крышки устройства
Последние две цифры года. 0x00: 2000 год, ..., 0x11: 2017 год, ...

Запрос времени и даты последнего отключения напряжения устройства:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0B
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0B
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 День недели последнего
отключения напряжения устройства
0x00: Вскр, 0x01: Пн,..., 0x06: Сб, 0x07: Праздник
8 Час последнего
отключения напряжения устройства
0x00: 00 часов, ..., 0x17: 23 часа
9 Минуты последнего
отключения напряжения устройства
0x00: 00 минут, ..., 0x3B: 59 минут
10 Секунды последнего
отключения напряжения устройства
0x00: 00 секунд, ..., 0x3B: 59 секунд
11 Число последнего
отключения напряжения устройства
0x01: 1-ое число месяца, ..., 0x1F: 31-ое число месяца
12 Месяц последнего
отключения напряжения устройства
0x01: январь, ..., 0x0C: декабрь
13 Год последнего
отключения напряжения устройства
Последние две цифры года. 0x00: 2000 год, ..., 0x11: 2017 год, ...

Запрос времени и даты последнего включения напряжения устройства:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0C
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0C
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 День недели последнего
включения напряжения устройства
0x00: Вскр, 0x01: Пн,..., 0x06: Сб, 0x07: Праздник
8 Час последнего
включения напряжения устройства
0x00: 00 часов, ..., 0x17: 23 часа
9 Минуты последнего
включения напряжения устройства
0x00: 00 минут, ..., 0x3B: 59 минут
10 Секунды последнего
включения напряжения устройства
0x00: 00 секунд, ..., 0x3B: 59 секунд
11 Число последнего
включения напряжения устройства
0x01: 1-ое число месяца, ..., 0x1F: 31-ое число месяца
12 Месяц последнего
включения напряжения устройства
0x01: январь, ..., 0x0C: декабрь
13 Год последнего
включения напряжения устройства
Последние две цифры года. 0x00: 2000 год, ..., 0x11: 2017 год, ...

Запрос времени (в часах) наработки электросчетка:

NB: Команда на получение времени наработки электросчетка не реализованнно на счетчиках «Меркурий 200.02»!

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x15
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

NB: Данные приходят в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x15
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 9 Время нахождения счётчика
под напряжением
0x000000 [часов] - 0x999999 [часов] (7 байт - старший)
10 - 12 Время нахождения счётчика
без напряженя
0x000000 [часов] - 0x999999 [часов] (10 байт - старший)

Получение электрических параметров электросчетчика:

Запрос текущих значений напряжения, тока, мощности:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x06
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

NB: Данные приходят в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x06
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 8 Текущее значение напряжения (В) 1ед = 100мВ: 0x0000 [ед] - 0x9999 [ед]. (7 байт - старший)
9 - 10 Текущее значение тока (А) 1ед = 10мА: 0x0000 [ед] - 0x9999 [ед] (9 байт - старший)
11 - 13 Текущее значение мощности (Вт) 0x000000 [Вт] - 0x999999 [Вт] (11 байт - старший)

Запрос текущего значения мощности в нагрузке (кВт):

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x09
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

NB: Данные приходят в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x09
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 8 Текущее значение мощности в нагрузке 1ед = 10Вт: 0x0000 [ед] - 0x9999 [ед] (7 байт - старший)

Запрос значения лимита мощности счетчика (кВт):

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x08
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

NB: Данные приходят в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x08
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 8 Текущее значение лимита мощности 1ед = 10Вт: 0x0000 [ед] - 0x9999 [ед] (7 байт - старший)

Работа с тарифами:

Запрос количества действующих тарифов:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x10
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x10
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 Количество действующих тарифов 0x01: один тариф, ..., 0x04: четыре тарифа

Установка количества действующих тарифов:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x11
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 Количество действующих тарифов 0x01: один тариф, ..., 0x04: четыре тарифа

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x11
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Получение показаний электросчетчика:

Получение суммарных показаний(от сброса электросчетчика):

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0A
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0A
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 10 Суммарные показания энергии
по первому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
11 - 14 Суммарные показания энергии
по второму тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
15 - 18 Суммарные показания энергии
по третьему тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
19 - 22 Суммарные показания энергии
по четвертому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
23 - 26 Суммарные показания энергии
по всем тарифам
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])

Получение показаний на начало текущего месяца:

NB: Данная команда иногда выдает некорректные значения.<br /> 
Тест проводился на электросчетчиках «Меркурий 200.02» и «Меркурий 203.2Т».<br /> 
Это не является ошибкой прошивки модуля UMDK-M200,<br /> 
вероятно некорректно реализован ответ со стороны электросчетчика на данную команду.

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0F
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 Параметер 0x0F

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0F
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 10 Суммарные показания энергии
по первому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
11 - 14 Суммарные показания энергии
по второму тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
15 - 18 Суммарные показания энергии
по третьему тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
19 - 22 Суммарные показания энергии
по четвертому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
23 - 26 Суммарные показания энергии
по всем тарифам
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])

Получение показаний на начало определенного месяца:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0F
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 Месяц 0x01: январь, ..., 0x0C: декабрь

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0F
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 - 10 Суммарные показания энергии
по первому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
11 - 14 Суммарные показания энергии
по второму тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
15 - 18 Суммарные показания энергии
по третьему тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
19 - 22 Суммарные показания энергии
по четвертому тарифу
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])
23 - 26 Суммарные показания энергии
по всем тарифам
1 ед = 10 [Вт * ч] (100 ед = 1 [кВт * ч])

Работа с часами электросчётчика:

Запрос внутренних часов и даты электросчетчика:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x07
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x07
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 Текущий день недели 0x00: Вскр, 0x01: Пн, ..., 0x06: Сб, 0x07: Праздник
8 Текущий час 0x00: 00 часов, ..., 0x17: 23 часа
9 Текущие минуты 0x00: 00 минут, ..., 0x3B: 59 минут
10 Текущие секунды 0x00: 00 секунд, ..., 0x3B: 59 секунд
11 Текущее число 0x01: 1-ое число месяца, ..., 0x1F: 31-ое число месяца
12 Текущий месяц 0x01: январь, ..., 0xC: декабрь
13 Текущий год Последние две цифры года. 0x00: 2000 год, ..., 0x11: 2017 год, ...

Устанавка часов и даты:

Команда:

NB: Данные в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x16
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 День недели 0x00: Вскр, 0x01: Пн, ..., 0x06: Сб, 0x07: Праздник
7 Час 0x00: 00 часов, ..., 0x23: 23 часа
8 Минуты 0x00: 00 минут, ..., 0x59: 59 минут
9 Секунды 0x00: 00 секунд, ..., 0x59: 59 секунд
10 Число 0x01: 1-ое число месяца, ..., 0x31: 31-ое число месяца
11 Месяц 0x01: январь, ..., 0x12: декабрь
12 Год Последние две цифры года. 0x00: 2000 год, ..., 0x17: 2017 год, ...

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x16
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Работа с праздничными днями:

Передача на счётчик список праздничных дней:

Команда:

NB: Данные в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0xF1
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 Число первого праздничного дня 0x01: 1-ое число месяца, ..., 0x31: 31-ое число месяца
7 Месяц первого праздничного дня 0x01: январь, ..., 0x12: декабрь
8 Число второго праздничного дня 0x01: 1-ое число месяца, ..., 0x31: 31-ое число месяца
9 Месяц второго праздничного дня 0x01: январь, ..., 0x12: декабрь
... ...
4 + 2*N Число N-го праздничного дня 0xFF: N-ый праздничный день не задан
5 + 2*N Месяц N-го праздничного дня 0xFF: N-ый праздничный день не задан
... ...

NB: Максимум 16 праздничных дней в году (по 2 байта). Передаются все 16 дней!

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x13
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Работа с тарифным расписанием:

Запрос текущего расписания на определенный день месяца:

Команда:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0E
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 День недели и месяц 0 - 3 биты: день недели (0x00: Вскр, 0x01: Пн, ..., 0x06: Сб, 0x07: Праздник).
4 - 7 биты: месяц (0x00: Январь, 0x01: Февраль, ..., 0x0B: Декабрь)

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x0E
2 Код ответа 0x00
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
7 Тариф первой точки переключения тарифной зоны 0x00: Т01, ..., 0x03: Т04
8 Час первой точки переключения тарифной зоны 0x00: 00 часов, ..., 0x17: 23 часа
9 Минуты первой точки переключения тарифной зоны 0x00: 00 минут, ..., 0x3B: 59 минут
10 Тариф второй точки переключения тарифной зоны 0x00: Т01, ..., 0x03: Т04
11 Час второй точки переключения тарифной зоны 0x00: 00 часов, ..., 0x17: 23 часа
12 Минуты второй точки переключения тарифной зоны 0x00: 00 минут, ..., 0x3B: 59 минут
... ...

Установка текущего тарифного расписания:

Команда:

NB: Данные в формате BCD!
Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x14
2 - 5 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.
6 Тариф и час первой точки
переключения тарифной зоны
0 - 5 биты: час (0x00: 00 часов, ..., 0x23: 23 часа)
6-7 биты: тариф (0x0: Т1, ..., 0x3: Т4)
7 Минуты первой точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x59: 59 минут
8 Тариф и час второй точки
переключения тарифной зоны
0 - 5 биты: час (0x00: 00 часов, ..., 0x23: 23 часа)
6-7 биты: тариф (0x0: Т1, ..., 0x3: Т4)
9 Минуты второй точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x59: 59 минут
... ...
7 + (Количество точек)*2 Параметры установки
тарифного расписания
0 - 3 биты: дневной параметер установки,
определенный день недели: 0x00: Вскр, 0x01: Пн, ..., 0x06: Сб, 0x07: Праздник
все дни: 0x0F,
будни: 0x0E,
выходные: 0x0D,
праздники: 0x0C.

4 - 7 биты: область установки тарифного расписания,
на весь год: 0x0F,
месяц: 0x00 - январь, ..., 0x0B - декабрь.
... ...
4 + 2*N Тариф и час N-ой точки
переключения тарифной зоны
0xFF: N-ая точка не задана
5 + 2*N Минуты N-ой точки
переключения тарифной зоны
0xFF: N-ая точка не задана
... ...

NB: Максимум возможно 8 точек переключения тарифных зон (по 2 байта). Передаются все 8 точек!

Ответ:

Байт Назначение Значение
0 ID модуля 0x32
1 Команда 0x14
2 Код ответа 0x00: Ок.
0x01: Ошибка.
0x02: Ошибка связи с электросчетчиком.
3 - 6 Сетевой адрес «Меркурий 203.2Т»: весь заводской серийный номер.
«Меркурий 200.02»: последние шесть цифр заводского серийного номера.

Подключение

К порту UART через адаптер интерфейса (RS485 или CAN).

Распространение

Модуль входит в прошивку commercial и не распространяется в исходных кодах.