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"
    }
}

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

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

Пример: Заводской номер - № 28816935-17г., то сетевой адрес - 35 (0x23).

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

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

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

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

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

Байт Назначение Значение
0 ID модуля 0x36
1 Команда
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

Байт Назначение Значение
0 ID модуля 0x36
1 Команда
2 Код ответа 0x00: Данные
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Данные
... Данные

Коды ответа:

Код ответа | Значение -----|------------| 0x00 | Ок или данные 0x01 | Некорректные параметры команды 0x02 | Внутренняя ошибка электросчетчика 0x03 | Ошибка доступа 0x04 | Время уже было скорректировано 0x05 | Канал связи закрыт 0xF0 | Ошибка 0xF2 | Отсутствует подключение с электросчетчиком 0xF5 | Ответ при длительном выполнении команды |

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

Команда:

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

Ответ:

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x05
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x00

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x05
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 - 7 Серийный номер устройства
8 Число даты выпуска
9 Месяц выпуска
10 Год выпуска Последние две цифры года выпуска

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

Чтение накопленной энергии [Вт * ч] от сброса:

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x00
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

Чтение накопленной энергии [Вт * ч] за текущий год:

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x10
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x20
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра и месяц 0 - 3 биты: номер месяца (0x1 - янв, ..., 0xC - декабрь);
4 - 7 биты: 0x3.
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

Чтение накопленной энергии [Вт * ч] за текущие сутки:

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x40
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x50
4 Тариф 0x00: суммарные значения накопленной энергии (суммы по всем тарифам)
0x01: значения накопленной энергии по первому тарифу
0x02: значения накопленной энергии по второму тарифу
0x03: значения накопленной энергии по третьему тарифу
0x04: значения накопленной энергии по четвертому тарифу

Ответ (формат ответа одинаковый для всех запросов чтения показаний накопленной энергии [Вт * ч]):

NB: Все значения энергии - 4-х байтные числа. Формат и порядок байт полученных данных приведен нииже.
Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x03
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 1-й байт значения
активной прямой энергии (А+)
8 - 15 биты значения активной прямой энергии
5 3-й байт значения
активной прямой энергии (А+)
24 - 31 биты значения активной прямой энергии
6 0-й байт значения
активной прямой энергии (А+)
0 - 7 биты значения активной прямой энергии
7 2-й байт значения
активной прямой энергии (А+)
16 - 23 биты значения активной прямой энергии
8 1-й байт значения
активной обратной энергии (А-)
8 - 15 биты значения активной обратной энергии
9 3-й байт значения
активной обратной энергии (А-)
24 - 31 биты значения активной обратной энергии
10 0-й байт значения
активной обратной энергии (А-)
0 - 7 биты значения активной обратной энергии
11 2-й байт значения
активной обратной энергии (А-)
16 - 23 биты значения активной обратной энергии
12 1-й байт значения
реактивной прямой энергии (R+)
8 - 15 биты значения реактивной прямой энергии
13 3-й байт значения
реактивной прямой энергии (R+)
24 - 31 биты значения реактивной прямой энергии
14 0-й байт значения
реактивной прямой энергии (R+)
0 - 7 биты значения реактивной прямой энергии
15 2-й байт значения
реактивной прямой энергии (R+)
16 - 23 биты значения реактивной прямой энергии
16 1-й байт значения
реактивной обратной энергии (R-)
8 - 15 биты значения реактивной обратной энергии
17 3-й байт значения
реактивной обратной энергии (R-)
24 - 31 биты значения реактивной обратной энергии
18 0-й байт значения
реактивной обратной энергии (R-)
0 - 7 биты значения реактивной обратной энергии
19 2-й байт значения
реактивной обратной энергии (R-)
16 - 23 биты значения реактивной обратной энергии

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

3 байт (старший) 2 байт 1 байт 0 байт (младший)

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0F
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x17

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0F
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Cостояние тарификатора 0 бит: режим (0: многотарифный, 1: однотарифный)
1 - 3 биты: текущий тариф (0: тариф №1, ..., 3: тариф №4)

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0E
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x2A
4 Режим 0x01: однотарифный
0x00: многотарифный

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0E
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0xF2
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x02
4 Номер первого месяца, в котором есть праздничные дни 0x01: Январь, ..., 0x0С: Декабрь
5 - 8 Числа праздничных дней
в первом указанном месяце
4 байта (формат big-endian).
0 бит: 1 число месяца, ..., 30 бит: 31 число месяца.
9 Номер второго месяца, в котором есть праздничные дни 0x01: Январь, ..., 0x0С: Декабрь
10 - 13 Числа праздничных дней
в первом указанном месяце
4 байта (формат big-endian).
0 бит: 1 число месяца, ..., 30 бит: 31 число месяца.
... ...

NB: Максимально 12 месяцев с датами.

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x1D
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

Запрос списка праздничных дней за определенный месяц:

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x1C
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x02
4 Первый байт адреса
расположения массива праздничных дней
0x1D
5 Второй байт адреса
расположения массива праздничных дней
0x5 * Месяц
0x00: январь, ..., 0x0B: декабрь
6 Количество считываемых байт 0x04

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x1C
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Код параметра 0x02
5 - 8 Числа праздничных дней
в указанном месяце
4 байта (формат big-endian).
0 бит: 1 число месяца, ..., 30 бит: 31 число месяца.

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

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

Команда:

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

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x1A
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Минуты первой точки переключения
тарифной зоны
5 Час и тариф первой точки переключения
тарифной зоны
0 - 4 биты: час
5 - 7 биты: тариф (Т1: 1, ..., Т4: 4 )
6 Минуты второй точки переключения
тарифной зоны
7 Час и тариф второй точки переключения
тарифной зоны
0 - 4 биты: час
5 - 7 биты: тариф (Т1: 1, ..., Т4: 4 )
... ...

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

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

Команда:

NB: При установке тарифного расписания первая точка перехода всегда должна содержать время 00:00!
Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0xF1
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x02
4 Параметры установки
тарифного расписания
0 - 3 биты: дневной параметер установки,
определенный день недели: 0x00: Пн, ..., 0x06: Вскр, 0x07: праздничный день
все дни: 0x0F,
будни: 0x0E,
выходные: 0x0D,
праздники: 0x0C.

4 - 7 биты: область установки тарифного расписания,
на весь год: 0x0F,
ммесяц: 0x00 - январь, ..., 0x0B - декабрь.
5 - 6 Первая точка переключения
тарифной зоны
0 - 4 биты: час переключения тарифной зоны
5 - 7 биты: тариф (Т1: 1, ..., Т4: 4 )
8 - 15 биты: минуты переключения тарифной зоны
7 - 8 Вторая точка переключения
тарифной зоны
0 - 4 биты: час переключения тарифной зоны
5 - 7 биты: тариф (Т1: 1, ..., Т4: 4 )
8 - 15 биты: минуты переключения тарифной зоны
... ...

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

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x1B
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x04
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x00

Ответ:

NB: Данные в формате BCD!
Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x04
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Секунды 0x00: 00 секунд, ..., 0x59: 59 секунд
5 Минуты 0x00: 00 минут, ..., 0x59: 59 минут
6 Часы 0x00: 00 часов, ..., 0x23: 23 часа
7 День недели 0x00: понедельник, ..., 0x06: воскресение
8 Число 0x01: 1-ое число месяца,..., 0x31: 31-ое число месяца
9 Месяц 0x01: январь, ..., 0x12: декабрь
10 Год Последние две цифры года. 0x00: 2000 год.
11 Признак сезона 0x01: зима
0x00: лето

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

Команда:

NB: Данные в формате BCD!
Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x06
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x0C
4 Секунды 0x00: 00 секунд, ..., 0x59: 59 секунд
5 Минуты 0x00: 00 минут, ..., 0x59: 59 минут
6 Часы 0x00: 00 часов, ..., 0x23: 23 часа
7 День недели 0x00: понедельник, ..., 0x06: воскресение
8 Число 0x01: 1-ое число месяца,..., 0x31: 31-ое число месяца
9 Месяц 0x01: январь, ..., 0x12: декабрь
10 Год Последние две цифры года. 0x00: 2000 год.
11 Признак сезона 0x01: зима
0x00: лето

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x06
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x12
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x30
4 Режим 0x01: вкл/выкл нагрузки
0x00: телеметрия

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x12
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x07
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x31
4 Режим 0x01: Нагрузка выключена
0x00: Нагрузка включена

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x07
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x08
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x18

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x08
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 Состояние управления нагрузкой 0 бит: режим импульсного выхода (1: нагрузка, 0: телеметрия)
1 бит: контроль за лимитом мощности (1: разрешен, 0: запрещен)
2 бит: контроль за лимитом энергии (1: разрешен, 0: запрещен)
5 Режим управления нагрузкой 1 бит: режим управления нагрузкой (1: выкл, 0: вкл)

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

Запрос текущего значения лимита мощности (1ед = 10мВт):

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x18
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x19

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x18
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 2-й байт значения лимита мощности 16 - 23 биты значения лимита мощности
5 0-й байт значения лимита мощности 0 - 7 биты значения лимита мощности
6 1-й байт значения лимита мощности 8 - 15 биты значения лимита мощности

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

2 байт 1 байт 0 байт (младший)

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0A
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x2C
4 - 6 Значение лимита мощности в единицах 1ед = 0,01Вт.
К примеру, 1Вт = 0x64 ед.

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0A
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0B
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x2D
4 Режим 0x01: Включен
0x00: Выключен

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0B
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

Запрос текущего значения лимита энергии [кВт * ч] по тарифу:

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x19
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x1A
4 Тариф 0x01: тариф №1, ..., 0x04: тариф №4

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x19
2 Код ответа 0x00
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
4 1-й байт значения
реактивной лимита энергии
8 - 15 биты значения лимита энергии
5 3-й байт значения
реактивной лимита энергии
24 - 31 биты значения лимита энергии
6 0-й байт значения
реактивной лимита энергии
0 - 7 биты значения лимита энергии
7 2-й байт значения
реактивной лимита энергии
16 - 23 биты значения лимита энергии

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

3 байт (старший) 2 байт 1 байт 0 байт (младший)

Устанавка значения лимита энергии [кВт * ч] по тарифу:

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0C
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x2E
4 Тариф 0x01: тариф №1, ..., 0x04: тариф №4
5 - 8 Значение лимита энергии Значение в [Вт].

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0C
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

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

Команда:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0D
2 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240
3 Код параметра 0x2F
4 Режим 0x01: Включен
0x00: Выключен

Ответ:

Байт Назначение Значение
0 ID модуля 0x36
1 Команда 0x0D
2 Код ответа
3 Сетевой адрес Три последние цифры заводского номера или
две последние цифры в случае если три последние
образуют число более 240

Подключение

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

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

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