UMDK-M230

Осуществляет работу с электросчетчиком «Меркурий 230» компании Инкотекс, подключенному по интерфейсу физического уровня RS485.

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

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

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

Команды

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

«SERIAL» - сетевой адрес электросчетчика.

Сетевой адрес - это три последние цифры заводского номера или две последние цифры в случае если три последние образуют число более 240.

Пример: Заводской номер - № 28816935-17г., то сетевой адрес «SERIAL» = 35.

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

IFACE = 485 - установка интерфейса RS485.

IFACE = can - установка интерфейса CAN.
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "iface IFACE"

Установка интерфейса работы CAN :

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "iface can"

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

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

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

Реализовано получение прямой/обратной активной(А+ / A-) и прямой/обратной реактивной(R+ / R-) энергии.

В некоторых модификация не поддерживается подсчет обратной активной и реактивной энергий.

Чтение значений энергии производится по каждому тарифу в отдельности!

«TARIFF» - номер тарифа.

TARIFF = 00 - суммарные значения накопленной энергии(суммы по всем тарифам).

TARIFF = 01, 02 ... - значения накопленной энергии по первому, второму и т.д. тарифу.

Чтение накопленной энергии от сброса:

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

Чтение накопленной энергии за текущий год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value current_year TARIFF SERIAL"

Чтение накопленной энергии за предыдущий год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value last_year TARIFF SERIAL"

Чтение накопленной энергии за месяц «MM»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value month MM TARIFF SERIAL"

Чтение накопленной энергии за текущие сутки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value current_day TARIFF SERIAL"

Чтение накопленной энергии за предыдущие сутки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value last_day TARIFF SERIAL"

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

Запрашивает состояние тарификатора(режим и текущий тариф):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get mode_tariff SERIAL"

Устанавливает режим тарификатора «MODE»(one - однотарифный, multi - многотарифный):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_tariff MODE SERIAL"

Устанавливает однотарифный режим:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_tariff one SERIAL"

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

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

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

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set holidays 01 01, 23 02, 08 03, 09 05 SERIAL"

Запрашивает список праздничных дней за месяц «MM»(01 - январь, 12 - декабрь):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get holidays MM SERIAL"

Запрашивает список праздничных дней декабрь:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get holidays 12 SERIAL"

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

NB: 01 - Понедельник,... 06 - Суббота, 07 - Воскресение, 08 - Праздник

Запрашивает тарифное расписание за день «DD» месяца «MM»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get schedule MM DD SERIAL"

Запрашивает тарифное расписание за вторник октября:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get schedule 10 02 SERIAL"

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

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

NB: При установке тарифного расписания первая точка перехода всегда должна содержать время 00:00! Максимальное количество точек - восемь.

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

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

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

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

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

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

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

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

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

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set timedate HH MM SS DW DD MM YY SN SERIAL"

NB: дни недели: 01 - Понедельник,... 07 - Воскресение. Признак сезона: 1 - зима, 0 - лето.

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set timedate 15 47 31 07 05 11 17 00 SERIAL"

Работа с нагрузкой

NB: Для управления нагрузкой обязательно надо установить режим импульсного выхода в состояние « вкл/выкл нагрузки »!

Утанавливает режим импульсного выхода OUTPUT( load - вкл/выкл нагрузки, telemetry - телеметрия):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_pulse OUTPUT SERIAL"

Утанавливает режим импульсного выхода в состотяние вкл/выкл нагрузки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_pulse load SERIAL"

Утанавливает режим управления нагрузкой «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set load SWITCH SERIAL"

Утанавливает режим управления нагрузкой «Нагрузка включена»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set load on SERIAL"

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get load SERIAL"

Работа с лимитами мощности и энергии

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

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

Устанавливает значение лимита мощности «VALUE»(в Ваттах):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set power_limit VALUE SERIAL"

Устанавливает значение лимита мощности, равное 500 Вт:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set power_limit 500 SERIAL"

Устанавливает режим конроля превышения лимита мощности «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_power_limit SWITCH SERIAL"

Устанавливает режим конроля превышения лимита мощности в состояние «Включен»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_power_limit on SERIAL"

NB: Запрос и установка значений лимитов энергии осуществляется по каждому тарифу в отдельности.

Запрашивает текущее значение лимита энергии(в киловаттах) по тарифу «TARIFF»(01 - тариф №1,... 04 - тариф №4):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get energy_limit TARIFF SERIAL"

Запрашивает текущее значение лимита энергии по тарифу 02:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get energy_limit 02 SERIAL"

Устанавливает значение лимита энергии «VALUE»(в Ваттах) по тарифу «TARIFF»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set energy_limit TARIFF VALUE SERIAL"

Устанавливает значение лимита энергии, равное 5 Вт по тарифу 01:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set energy_limit 01 5 SERIAL"

Устанавливает режим конроля превышения лимита энергии «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_energy_limit SWITCH SERIAL"

Устанавливает режим конроля превышения лимита энергии в состояние «Включен»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_energy_limit on SERIAL"

Сообщения

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

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

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

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

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

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

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "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/m230
{
    "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/m230
{
    "data": {
        "Address": SERIAL,
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах команды электросчетчик отправит сообщение «Invalid parameter»:

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

При отсутствии подключения с электросчетчиком модуль отправит сообщение «No response»:

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

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

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

Получение серийного номера SERIAL_NUMBER и даты выпуска DATE электросчетчика с адресом «SERIAL»::

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

Сообщение при получении показаний (кВт*ч) электросчетка:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "A+": 0.00, 
        "A-": 0.00, 
        "R+": 0.00, 
        "R-": 0.00
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

В случае отсутствия у электросчетчика учета обратной энергии:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "A+": 0.00, 
        "A-": "N/A", 
        "R+": 0.00, 
        "R-": "N/A"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

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

Сообщение при получении значения лимита энергии (кВт*ч) электросчетка:

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

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

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

Сообщение при получении списка праздничных дат в заданном месяце:

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

Сообщение при отсутствии праздничных дней в месяце:

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

Сообщение при получении тарифного расписания:

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

Сообщение при получении текущего состояния тарификатора электросчетка:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "Mode": MODE,
        "Current tariff": TARIFF
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при получении данных о текущем состоянии управления нагрузкой.

Контроль за лимитом энергии запрещен, контроль за лимитом мощности разрешен, режим импульсного выхода - телеметрия, управление нагрузкой отключено:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "Energy limit control": "Not Allowed", 
        "Power limit control": "Allowed", 
        "Pulse output mode": "Telemetry", 
        "Load control": "Off"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

Сетевой адрес - это три последние цифры заводского номера или две последние цифры в случае если три последние образуют число более 240.
Пример: Заводской номер - № 28816935-17г., то сетевой адрес - 35(0x23).

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

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0xFA
3 байт: Номер интерфейса: 0x01 - RS-485; 0x02 - CAN.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа: 0xF0 - ошибка; 0xF1 - ок; 0xFF - несуществующая команда.

Коды ответа:

В случае ошибки или в случае подтверждения ответ выглядит:
Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Ответы модуля:
0xF0 - ошибка,
0xF1 - ок,
0xF2 - отсутствует подключение с электросчетком,
0xF5 - ответ при длительном выполнении команды,
0xFF - несуществующая команда.

Ответы электросчетка:
0x00 - ок,
0x01 - некорректные параметры команды,
0x02 - внутренняя ошибка электросчетка,
0x03 - ошибка доступа,
0x04 - время уже было скорректировано,
0x05 - канал связи закрыт.

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x05.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x00.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x05.
3 байт: Сетевой адрес электросчетчика.
4 - 7 байты: Серийный номер устройства.
8 байт: Число даты выпуска.
9 байт: Месяц выпуска.
10 байт: Последние две цифры года выпуска.

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра.
5 байт: Тариф.
Тариф - 00 - суммарные значения накопленной энергии(суммы по всем тарифам).
Тариф - 01, 02 ... - значения накопленной энергии по первому, второму и т.д. тарифу.

Ответ(одинаковый для всех запросов чтения показаний накопленной энергии):
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: 1 байт значения активной прямой энергии.
5 байт: 2 байт значения активной прямой энергии.
6 байт: 3 байт значения активной прямой энергии.
7 байт: 4 байт значения активной прямой энергии.
8 байт: 1 байт значения активной обратной энергии.
9 байт: 2 байт значения активной обратной энергии.
10 байт: 3 байт значения активной обратной энергии.
11 байт: 4 байт значения активной обратной энергии.
12 байт: 1 байт значения реактивной прямой энергии.
13 байт: 2 байт значения реактивной прямой энергии.
14 байт: 3 байт значения реактивной прямой энергии.
15 байт: 4 байт значения реактивной прямой энергии.
16 байт: 1 байт значения реактивной обратной энергии.
17 байт: 2 байт значения реактивной обратной энергии.
18 байт: 3 байт значения реактивной обратной энергии.
19 байт: 4 байт значения реактивной обратной энергии.

Формат данных для каждого вида энергии(4 байта):

2 байт 1 байт 4 байт 3 байт

Чтение накопленной энергии от сброса:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x00.
5 байт: Тариф.

Чтение накопленной энергии за текущий год:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x10.
5 байт: Тариф.

Чтение накопленной энергии за предыдущий год:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x20.
5 байт: Тариф.

Чтение накопленной энергии за месяц:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: 0-3 бит: номер месяца; 4-7 бит: код параметра - 0x30.
5 байт: Тариф.

Чтение накопленной энергии за текущие сутки:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x40.
5 байт: Тариф.

Чтение накопленной энергии за предыдущие сутки:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x03.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x50.
5 байт: Тариф.

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

Запрос состояния тарификатора(режим и текущий тариф):

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0F.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x17.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0F.
3 байт: Сетевой адрес электросчетчика.
4 байт: 0 бит - режим(0 - многотарифный, 1 - однотарифный), 1 - 3 биты: текущий тариф.

Устанавка режима тарификатора:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0E.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x2A.
5 байт: Режим: 0x01 - однотарифный, 0x00 - многотарифный.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

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

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0xF2.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x02.
5 байт: Номер первого месяца, в котором есть праздничные дни.
6 байт: 0 бит - 25 число месяца, ..., 6 бит - 31 число месяца.
7 байт: 0 бит - 17 число месяца, ..., 7 бит - 24 число месяца.
8 байт: 0 бит - 9 число месяца, ..., 7 бит - 16 число месяца.
9 байт: 0 бит - 1 число месяца, ..., 7 бит - 8 число месяца.
10 байт: Номер второго месяца, в котором есть праздничные дни.
11 байт: 0 бит - 25 число месяца, ..., 6 бит - 31 число месяца.
12 байт: 0 бит - 17 число месяца, ..., 7 бит - 24 число месяца.
13 байт: 0 бит - 9 число месяца, ..., 7 бит - 16 число месяца.
14 байт: 0 бит - 1 число месяца, ..., 7 бит - 8 число месяца.
...
Максимально 12 пятерек с датами.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Запрос списка праздничных дней за месяц (0x00 - январь, 0x0B - декабрь):

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x1C.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x02.
5 байт: 1 байт адреса расположения массива праздничных дней: 0x1D.
6 байт: 2 байт адреса расположения массива праздничных дней: (0x5 * номер месяца).
7 байт: Количество считываемых байт: 4 байта.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x1C.
3 байт: Сетевой адрес электросчетчика.
4 байт: 0 бит - 1 число месяца, ..., 7 бит - 8 число месяца.
5 байт: 0 бит - 9 число месяца, ..., 7 бит - 16 число месяца.
6 байт: 0 бит - 17 число месяца, ..., 7 бит - 24 число месяца.
7 байт: 0 бит - 25 число месяца, ..., 6 бит - 31 число месяца.

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

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

Команда:
0x00 - январь, 0x0B - декабрь; 0x00 - Пн, 0x06 - Вскр, 0x07 - праздничный день.
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x1A.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x02.
5 байт: 1 байт адреса расположения массива тарифного расписания.
6 байт: 2 байт адреса расположения массива тарифного расписания.
7 байт: Количество считываемых байт: 0x10 байт.
Адрес расположения массива тарифного расписания: 0x1000 + 0x11 * (0x2 * (0x8 * месяц + день)).

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x1A.
3 байт: Сетевой адрес электросчетчика.
4 байт: Минуты первой точки переключения тарифной зоны.
5 байт: 0 - 4 биты: часы первой точки переключения тарифной зоны, 5 - 7 биты: тариф.
6 байт: Минуты второй точки переключения тарифной зоны.
7 байт: 0 - 4 биты: часы второй точки переключения тарифной зоны, 5 - 7 биты: тариф.
...
Максимально 8 точек(по 2 байта) переключения тарифных зон.

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

Команда:
0x00 - январь, 0x0B - декабрь; 0x00 - Пн, 0x06 - Вскр, 0x07 - праздничный день.
NB: При установке тарифного расписания первая точка перехода всегда должна содержать время 00:00!
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0xF1.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x02.
5 байт: Параметры установки тарифного расписания(область - на год/месяц, дни - на определенный/все/будни/выходные/праздники):
0-3 биты: определенный - день недели, все - 0x0F, будни - 0x0E, выходные - 0x0D, праздники - 0x0C.
4-7 биты: весь год - 0x0F; месяц - номер месяца.
6 - 7 байты(2 байта): Точка переключения тарифной зоны: тариф и время.
0-4 биты: Час переключения.
5-7 биты: Тариф.
8-15 биты: Минуты переключения.
...
NB: Максимально возможно 8 точек(по 2 байта) переключения тарифных зон.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

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

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x04.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x00.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x06.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x0C.
5 байт: Секунды.
6 байт: Минуты.
7 байт: Часы.
8 байт: День недели: 01 - Понедельник,... 07 - Воскресение.
9 байт: Число.
10 байт: Месяц.
11 байт: Год.
12 байт: Признак сезона: 1 - зима, 0 - лето.

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x06.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x0C.
5 байт: Секунды.
6 байт: Минуты.
7 байт: Часы.
8 байт: День недели: 00 - Понедельник,... 06 - Воскресение.
9 байт: Число.
10 байт: Месяц.
11 байт: Год.
12 байт: Признак сезона: 1 - зима, 0 - лето.
NB: Данные в формате BCD!

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Работа с нагрузкой

NB: Для управления нагрузкой обязательно надо установить режим импульсного выхода в состояние « вкл/выкл нагрузки »!

Утанавка режима импульсного выхода:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x12.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x30.
5 байт: Режим: 01 - вкл/выкл нагрузки, 00 - телеметрия.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Утанавка режима управления нагрузкой:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x07.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x31.
5 байт: Режим: 00 - Нагрузка включена, 01 - Нагрузка выключена.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Запрос текущего состояния управления нагрузкой:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x08.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x18.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x08.
3 байт: Сетевой адрес электросчетчика.
4 байт:
0 бит: режим импульсного выхода(1 - нагрузка, 0 - телеметрия),
1 бит: контроль за лимитом мощности(1 - разрешен, 0 - не разрешен),
2 бит: контроль за лимитом энергии(1 - разрешен, 0 - не разрешен).
5 байт: 1 бит: режим управления нагрузкой(1 - выкл, 0 - вкл).

Работа с лимитами мощности и энергии

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

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x18.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x19.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x18.
3 байт: Сетевой адрес электросчетчика.
4 байт: 1 байт значения лимита мощности.
5 байт: 2 байт значения лимита мощности.
6 байт: 3 байт значения лимита мощности.

Формат данных значения лимита мощности(3 байта):

1 байт 3 байт 2 байт

Установка значения лимита мощности(1ед = 0,01Вт):

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0A.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x2C.
5 - 7 Байты: Значение лимита мощности в единицах(К примеру, 1Вт = 0x64).

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Устанавка режима конроля превышения лимита мощности:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0B.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x2D.
5 байт: Режим: 01 - включен, 00 - выключен.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

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

Команда:
NB: Запрос значений лимитов энергии осуществляется по каждому тарифу в отдельности.
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x19.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x1A.
5 байт: Тариф: 01 - тариф №1,... 04 - тариф №4.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x19.
3 байт: Сетевой адрес электросчетчика.
4 байт: 1 байт значения лимита энергии.
5 байт: 2 байт значения лимита энергии.
6 байт: 3 байт значения лимита энергии.
7 байт: 4 байт значения лимита энергии.

Формат данных значения лимита энергии(4 байта):

2 байт 1 байт 4 байт 3 байт

Устанавка значения лимита энергии(в Ваттах) по тарифу:

Команда:
NB: Установка значений лимитов энергии осуществляется по каждому тарифу в отдельности.
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0C.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x2E.
5 байт: Тариф: 01 - тариф №1,... 04 - тариф №4.
6 - 9 байт: Значение лимита энергии

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Устанавка режима конроля превышения лимита энергии:

Команда:
1 байт: ID модуля: Всегда 0x36.
2 байт: Команда: 0x0D.
3 байт: Сетевой адрес электросчетчика.
4 байт: Код параметра: 0x2F.
5 байт: Режим: 01 - включен, 00 - выключен.

Ответ:
1 байт: ID модуля: Всегда 0x36.
2 байт: Код ответа.
3 байт: Сетевой адрес электросчетчика.

Подключение

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

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

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