UMDK-IEC61107

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

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

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

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

Команды

NB: В конце каждой команды необходимо указать номер устройства из базы данных (БД), которому адресуется команда! База данных адресов устройств формируется перед началом обмена информацией с электросчетчиком.

Пример: Идентификатор счетчика(«ADDRESS») - № 112609312, то при добавлении в базу данных ему будет присвоен номер «DEVICE», к примеру 01. Соответственно при обращении к электросчетчику № 112609312, необходимо будет в конце каждой команды указывать его номер в базе, в данном примере - «DEVICE» = 01, а не весь его адрес «ADDRESS»!

NB: Для возможности редактирования(программирования) данных устройства необходимо после монтажа и подключения нажать на счетчике кнопку «ДСТП» и отправить команду установки режима программирования.

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set init DEVICE"

Работа с базой данных

Очистка базы данных:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "reset"

Добавление устройства с адресом «ADDRESS» в базу данных:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "add ADDRESS"

Удаление устройства с адресом «ADDRESS» из БД:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "remove address ADDRESS"

Удаление устройства с номером «DEVICE» из БД:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "remove device DEVICE"

Поиск номера устройства с адресом «ADDRESS» в БД:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "find address ADDRESS"

Поиск адреса устройства с номером «DEVICE» в БД:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "find device DEVICE"

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

Запрашивает заводской номер счетчика:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get serial DEVICE"

Запрашивает идентификатор(адрес устройства) счетчика:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get id_device DEVICE"

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

Запрашивает текущее время:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get time DEVICE"

Установка текущего времени «HH:MM:SS» (часы:минуты:секунды):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set time HH:MM:SS DEVICE"

Запрашивает текущюю дату:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get date DEVICE"

Установка текущей даты «DW.DD.MM.YY»(день недели.день.месяц.год):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set date DW.DD.MM.YY DEVICE"
NB: дни недели: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота.

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

Запрашивает действующее значения напряжения (В):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get volt DEVICE"

Запрашивает действующее значения тока (А):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get current DEVICE"

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get power DEVICE"

Информация о состоянии электросчетчика

Тариф по умолчанию – номер тарифного регистра, в который будут помещаться данные об энергопотреблении в случае невозможности 
определения действующего тарифа (сбой часов реального времени или ошибка в составлении тарифного расписания).

Запрашивает номер тарифа по умолчанию

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get default_tariff DEVICE"

Установка номера тарифа по умолчанию

Тариф по умолчанию «Tt»: 0 - T01, 1 - T02, 2 - T03, 3 - T04.
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set default_tariff Tt DEVICE"

Запрашивает информацию о состоянии электросчетчика

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get status DEVICE"

Состояние устройства включает в себя:

* Действующий тариф
* Номера тарифов, задействованные в текущем тарифном расписании
* Статус ошибки составления тарифного расписания
* Сезонное время
* Состояние часов
* Состояние коррекции времени
* Состояние батареи
* Срок годности батареи
* Состояние напряжения
* Характер нагрузки
* Напраление энергии
* Состояние показателей энергии
* Состояние датчика вскрытия крышки
* Состояние памяти программ
* Состояние метрологических параметров

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

Счетчик позволяет задавать до 36 различных суточных тарифных расписаний. В пределах суток возможно задать до двенадцати точек времени переключения действующего тарифа. Время переключения – начало действия тарифа – задается с точностью до 1 мин. В одно время суток может действовать только один тариф. Определенный тариф действует от заданного времени до ближайшего времени переключения на другой тариф.

Запрос «NUM» расписания («NUM» - номер суточного тарифного расписания (от 01 до 36)):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get schedule NUM DEVICE"

Установка «NUM» тарифного расписания (Tt - тариф, Hh:Mm - часы:минуты) в устройстве с номером «DEVICE»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set schedule NUM Tt Hh:Mm DEVICE"

Установка тарифного расписания №01 на 2 точки переключения Т01 07:00 Т02 23:30 в устройстве с номером «DEVICE»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set schedule 01 01 07:00 02 23:30 DEVICE"

Установка списка исключительных дней

Счетчик позволяет задавать до 32 дат исключительных дней. Исключительные дни – это дни календарного года, тарификация в которых отличается от тарификации по дню недели, заданной в сезонной программе. Такими днями могут быть официальные праздничные дни, пере- нос выходных на рабочие дни недели и наоборот. Каждому исключительному дню может быть назначено любое суточное тарифное расписание из подготовленного списка.

Запрос списка исключительных дней:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get holidays DEVICE"

Установка полного списка исключительных дней (32 даты) осуществляется двумя командами - записью первой части списка (первые 16 дат) и второй части (вторые 16 дат). При этом команды необходимо послать друг за другом. При установке шестнадцати и менее дней необходимо послать только одну команду - на установку первой половины списка.

Запись первой половины списка исключительных дат (DD - дата, MM - месяц, SCH - № тарифного расписания):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set holidays part_1 DD.MM:SCH DEVICE"

Запись второй половины списка исключительных дат (DD - дата, MM - месяц, SCH - № тарифного расписания):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set holidays part_2 DD.MM:SCH DEVICE"

Установка 1,2 января и 8 марта на тарифное расписание №2, 9 мая на ТР №3:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "set holidays part_1 01.01:02 02.01:02 08.03:02 09.05:03 DEVICE"

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

Запрос суммарных показаний энергии от сброса:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get value total_all DEVICE"

Запрос суммарных показаний энергии на конец месяца «MM.YY», где MM - месяц, YY - год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get value total_month MM.YY DEVICE"

Запрос суммарных показаний энергии на конец суток «DD.MM.YY», где DD - день, MM - месяц, YY - год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get value total_day DD.MM.YY DEVICE"

Запрос показаний энергии, учтенной за месяц «MM.YY», где MM - месяц, YY - год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get value month MM.YY DEVICE"

Запрос показаний энергии, учтенной за сутки «DD.MM.YY», где DD - день, MM - месяц, YY - год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/iec61107" -m "get value day DD.MM.YY DEVICE"

Сообщения

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

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

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

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

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

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

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

Сообщения при работе с базой данных

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

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

В сообщениях при успешном выполнении команды присутствуют адрес электросчетчика «ADDRESS», а также его номер «DEVICE» в БД.

При успешном выполнении команды добавления адреса в БД модуль отвечает сообщением:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "cmd": "added",
        "device": DEVICE,
        "address": ADDRESS
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При успешном выполнении команды удаления адреса из БД модуль отвечает сообщением:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "cmd": "removed",
        "device": DEVICE,
        "address": ADDRESS
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "cmd": "found",
        "device": DEVICE,
        "address": ADDRESS
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

NB: В каждом ответном сообщении на корректную команду присутствует номер устройства «DEVICE» в БД, с которым на данный момент осуществляется работа.

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

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

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

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

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

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

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

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

При вводе некоректных данных электросчетчик ответит прориетарным сообщением-ошибкой:

NUMB_ERR - номер ошибки, поддерживаемый данным устройством, "MESSAGE" - сообщение ошибки.
devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "err": NUMB_ERR,
        "msg": "MESSAGE"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при запросе заводского номера электросчетчика:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "serial": "SERIAL"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при запросе идентификатора (адреса устройства) счетчика:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "id device": "ID_DEVICE"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе текущего времени:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "time": "13:29:33"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе текущей даты:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "day": "Tue"
        "date": 30.01.18
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при запросе действующего значения напряжения (В):

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "voltage": 226.87
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при запросе действующего значения тока (А):

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "current": 12.686
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "power": 2.711792
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при запросе номера тарифа по умолчанию:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{
    "data": {
        "device": DEVICE,
        "default tariff": 1
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Запрос информации о текущем состоянии электросчетчика:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
        "current tariff": "T03", 
        "schedule tariffs": [ 1, 2, 3, 4, ], 
        "schedule status": "normal", 
        "season": "winter", 
        "time status": "normal", 
        "time correction": "allowed", 
        "battery status": "charged", 
        "battery lifetime": "normal", 
        "voltage status": "normal", 
        "load": "capacitive", 
        "direction": "direct", 
        "energy values": "normal", 
        "tamper": "normal", 
        "program memory": "normal", 
        "metrology": "normal" 
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}

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

NB: "T00" - тарификация не задана!
devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
        "T01": "06:15", 
        "T02": "11:37", 
        "T03": "14:25", 
        "T04": "17:18", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00", 
        "T00": "00:00" 
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}

В данном примере тарифное расписание следующее:

с 00:00 - Т04,
с 06:15 - Т01,
с 11:37 - Т02,
с 14:25 - Т03,
с 17:18 - Т04.

Сообщение при запросе списка исключительных дней:

N - номер части таблицы дней, DD.MM - день.месяц, SCH - номер тарифного расписания.
devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
        "holidays list": "N/2", 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH, 
        "DD.MM": SCH
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}
При получении списка исключительных дней приходит два сообщения:

NB: "00.00" - день не задан!
devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
        "holidays list": "1/2", 
        "01.01": 2, 
        "02.01": 2, 
        "08.03": 2, 
        "09.05": 2, 
        "00.00": 0,
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0,
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0 
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}
devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
        "holidays list": "2/2", 
        "00.00": 0,
        "00.00": 0,
        "00.00": 0,
        "00.00": 0,
        "00.00": 0,
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0,
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0, 
        "00.00": 0 
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}
В данном примере исключительные дни следующие:

1 января - по тарифному расписанию №2,
2 января - по тарифному расписанию №2,
8 марта - по тарифному расписанию №2,
9 мая - по тарифному расписанию №2.

Сообщение при получении показаний энергии:

devices/lora/NNNNNNNNNNNNNNN/iec61107
{ 
    "data": { 
        "device": DEVICE, 
         "T01": 2.61, 
         "T02": 0.46,
         "T03": 0.70,
         "T04": 0.04, 
         "Total": 3.81
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN", 
        "rssi": -40, 
        "temperature": -10, 
        "battery": 3350, 
        "date": "2018-01-26T12:09:04.331795Z" 
    }
}

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

NB: Номер устройства: номер из базы данных, которому адресуется команда! База данных адресов устройств формируется перед началом обмена информацией с электросчетчиком.

Пример: Идентификатор счетчика - № 112609312, то при добавлении в базу данных ему будет присвоен номер, к примеру 01. Соответственно при обращении к электросчетчику № 112609312, необходимо указывать его номер в базе, в данном примере - 01, а не весь его адрес!

NB: Для возможности редактирования (программирования) данных устройства необходимо после монтажа и подключения нажать на счетчике кнопку «ДСТП» и отправить команду установки режима программирования.

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

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

Байт Назначение Значение
0 ID модуля 0x37
1 Команда
2 Режим 0x52: Чтение данных
0x57: Запись данных
3 Код ответа
4 Номер устройства

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

Байт Назначение Значение
0 ID модуля 0x37
1 Команда
2 Режим 0x52: Чтение данных
0x57: Запись данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 Данные
... Данные

Коды ответа:

Код ответа | Значение -----|------------| 0x00 | Ок или данные 0x01 | Некорректные параметры команды 0x02 | Отсутствует подключение с электросчетчиком 0x03 | Ответ при длительном выполнении команды 0x0A | Недопустимое число параметров 0x0B | Команда не поддерживается устройством 0x0C | Неизвестное имя параметра 0x0D | Неправильная структура параметра 0x0E | Не нажата кнопка ДСТП. Невозможность программирования. 0x0F | Отказано в доступе 0x10 | Нет прав на программирование 0x11 | Недопустимое значение параметра 0x12 | Не существует запрошенное значение параметра |

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

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x01
2 Режим 0x57: Запись данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 10 Данные '18290' (0x3138323930)
11 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x01
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

Работа с базой данных

Очистка базы данных:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFE
2 Параметер БД 0x00: Отсутствует
3 Номер устройства в БД 0x00: Отсутствует
4 Идентификатор счетчика 0x00: Отсутствует

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFE
2 Параметер БД 0x00: Отсутствует
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД 0x00: Отсутствует
5 Идентификатор счетчика 0x00: Отсутствует

Добавление адреса устройства (идентификатор счетчика) в базу данных:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFD
2 Параметер БД 0x00: Отсутствует
3 Номер устройства в БД 0x00: Отсутствует
4 - ... Идентификатор счетчика Максимально - 21 байт

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFD
2 Параметер БД 0x00: Отсутствует
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД
5 - ... Идентификатор счетчика Максимально - 21 байт

Удаление адреса устройства (идентификатор счетчика) из БД:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFC
2 Параметер БД 0x01: Работа осуществляется по адресу устройства, не по номеру в БД.
3 Номер устройства в БД 0x00: Отсутствует
4 - ... Идентификатор счетчика Максимально - 21 байт

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFC
2 Параметер БД 0x01
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД 0x00: В случае ошибки
5 - ... Идентификатор счетчика Максимально - 21 байт

Удаление устройства с номером из БД:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFC
2 Параметер БД 0x02: Работа осуществляется по номеру в БД, не по адресу устройства.
3 Номер устройства в БД
4 Идентификатор счетчика 0x00: Отсутствует

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFC
2 Параметер БД 0x02
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД
5 - ... Идентификатор счетчика Максимально - 21 байт
0x00: В случае ошибки (1 байт).

Поиск адреса устройства в БД:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFB
2 Параметер БД 0x01: Работа осуществляется по номеру в БД, не по адресу устройства.
3 Номер устройства в БД
4 Идентификатор счетчика 0x00: Отсутствует

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFB
2 Параметер БД 0x01
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД
5 - ... Идентификатор счетчика Максимально - 21 байт
0x00: В случае ошибки (1 байт).

Поиск номера устройства в БД:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFB
2 Параметер БД 0x02: Работа осуществляется по адресу устройства, не по номеру в БД.
3 Номер устройства в БД 0x00: Отсутствует
4 - ... Идентификатор счетчика Максимально - 21 байт

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0xFB
2 Параметер БД 0x02
3 Код ответа 0x00: Ок
0x01: Ошибка
4 Номер устройства в БД 0x00: В случае ошибки
5 - ... Идентификатор счетчика Максимально - 21 байт

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

Запрос заводского номера счетчика:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x04
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x04
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

Запрос идентификаторва (адрес устройства) счетчика:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x05
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x05
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

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

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

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x02
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x02
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

Установка текущего времени:

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x02
2 Режим 0x57: Запись данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Часы '00' (0x3030): 00 часов ... '23' (0x3233): 23 часа
8 Символ разделения часы/минуты ':' (0x3A)
9 - 10 Минуты '00' (0x3030): 00 минут ... '59' (0x3539): 59 минут
11 Символ разделения минуты/секунды ':' (0x3A)
9 - 10 Минуты '00' (0x3030): 00 секунд ... '59' (0x3539): 59 секунд
14 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x02
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

Запрос текущей даты:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x03
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x03
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

Установка текущей даты:

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x03
2 Режим 0x57: Запись данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 День недели '00' (0x3030): Вскр, '01' (0x3031): Пн, ..., '06' (0x3036): Суб
8 Символ разделения день недели/число '.' (0x2E)
9 - 10 Число месяца '01' (0x3031): 1-ое число ... '31' (0x3331): 31-ое число
11 Символ разделения число/месяц '.' (0x2E)
12 - 13 Месяц '01' (0x3031): Январь ... '12' (0x3132): Декабрь
14 Символ разделения месяц/год '.' (0x2E)
15 - 16 Год Последние две цифры. '00' (0x3030) ... '99' (0x3939)
17 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x03
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

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

Запрос действующего значения напряжения (В):

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0C
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0C
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

Запрос действующего значения тока (А):

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0D
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0D
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

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

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0E
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0E
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - .... Данные

Информация о состоянии электросчетчика

Тариф по умолчанию: номер тарифного регистра, в который будут помещаться данные об энергопотреблении в случае
невозможности определения действующего тарифа (сбой часов реального времени или ошибка в составлении тарифного
расписания).

Запрос номера тарифа по умолчанию

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x11
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x11
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 Тариф по умолчанию

Установка номера тарифа по умолчанию

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x11
2 Режим 0x57: Запись данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Тариф по умолчанию
7 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x03
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

Запрос информации о состоянии электросчетчика

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x06
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x06
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 Первый байт состояния 0 бит: Ошибка составления тарифного расписания (0: ок, 1: ошибка)
6 Второй байт состояния 0 - 3 биты: Задействованные тарифы в тарифном расписании
0 бит: Т01, ..., 3 бит: Т04 (1: задействован, 0: нет)
7 Третий байт состояния 0 бит: Бит ошибки контрольной суммы памяти программ (0: норма, 1: ошибка)
1 бит: Бит ошибки контрольной суммы метрологических параметров (0: норма, 1: ошибка)
8 Четвертый байт состояния 0 бит: Бит ошибки контрольной суммы энергетических параметров (0: норма, 1: ошибка)
1 бит: Контроль датчика вскрытия крышки (0: установлен, 1: срабатывание датчика)
3 бит: Бит истечения годности литиевого элемента (0: не истек, 1: истек)
9 Пятый байт состояния 0 бит: Состояние часов (0: часы в норме, 1: сбой)
2 бит: Бит сезонного времени (0: зима, 1: лето)
10 Шестой байт состояния 0 бит: Характер нагрузки (0: емкостной, 1: индуктивный)
1 бит: Бит коррекции времени (0: разрешена, 1: исчерпан)
2 - 3 биты: Состояние напряжения (0x0: в норме, 0x1: превышает верхнюю границу, 0x2: ниже нижней границы)
11 Седьмой байт состояния 3 бит: Напрвлении энергии (0: прямое, 1: обратное)
12 Восьмой байт состояния 0 - 2 биты: Действующий тариф (0x01: T01, ..., 0x04: Т04)
3 бит:Состояние литиевого элемента (0: в норме, 1: разряжен)

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

Запрос тарифного расписания по номеру:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0F
2 Режим 0x52: Чтение данных
3 Параметер Номер суточного тарифного расписания
0x01: 1-ое расписание, ..., 0x24: 36-ое расписание
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0F
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
6 Тариф и час первой точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
7 Минуты первой точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут
8 Тариф и час второй точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
9 Минуты второй точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут
...
4 + 2*N Тариф и час N-ой точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
5 + 2*N Минуты N-ой точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут

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

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0F
2 Режим 0x57: Запись данных
3 Параметер Номер суточного тарифного расписания
0x01: 1-ое расписание, ..., 0x24: 36-ое расписание
4 Номер устройства
5 Символ передней границы данных 0x28
6 Тариф и час первой точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
7 Минуты первой точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут
8 Тариф и час второй точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
9 Минуты второй точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут
...
4 + 2*N Тариф и час N-ой точки
переключения тарифной зоны
0 - 4 биты: 0x00: 00 часов,..., 0x17: 23 часа
5 - 7 биты: 0x01: Т01,..., 0x04: Т04
5 + 2*N Минуты N-ой точки
переключения тарифной зоны
0x00: 00 минут, ..., 0x3B: 59 минут
6 + 2*N Символ задней границы данных 0x29

NB: Максимально 12 точек переключения.

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0F
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

Установка списка исключительных дней

Запрос списка исключительных дней:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x10
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x10
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 Параметры списка 0 - 3 биты: Количество частей в списке (0x01: одна, 0x02: две)
4 - 7 биты: Текущая часть списка (0x01: Первая часть, 0x02: Вторая часть)
6 - 7 Первая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)
8 - 9 Вторая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)
...
4 + 2*N -
5 + 2*N
N-ая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)

Установка списка исключительных дат:

NB: Установка полного списка исключительных дней (32 даты) осуществляется двумя командами:
записью первой части списка (первые 16 дат) и второй части (вторые 16 дат).
При этом команды необходимо послать друг за другом.
При установке шестнадцати и менее дней необходимо послать только одну команду - на установку первой половины списка.

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x10
2 Режим 0x57: Запись данных
3 Параметер 0x01: первая часть списка
0x02: вторая часть списка
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Первая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)
8 - 9 Вторая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)
...
4 + 2*N -
5 + 2*N
N-ая исключительная дата и номер расписания
(2-х байтное число)
0 - 5 биты: номер тарифного расписания (0x01: № 1, ..., 0x24: № 36)
6 - 10 биты: число месяца (0x01: 1-ое , ..., 0x1F: 31-ое )
11 бит: не испльзуется
12 - 15 биты: месяц (0x1: Январь, ..., 0xC: Декабрь)
6 + 2*N Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x10
2 Режим 0x57: Запись данных
3 Код ответа
4 Номер устройства

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

Запрос суммарных показаний энергии от сброса:

Команда:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x07
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x07
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - 8 Показания энергии по Т01 4 байта
9 - 12 Показания энергии по Т02 4 байта
13 - 16 Показания энергии по Т03 4 байта
17 - 20 Показания энергии по Т04 4 байта
21 - 24 Суммарные показания энергии по всем тарифам 4 байта

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

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0A
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Месяц '01' (0x3031): Январь, ..., '12' (0x3132): Декабрь
8 Символ разделения месяц/год '.' (0x2E)
9 - 10 Год Последние две цифры. '00' (0x3030), ..., '99' (0x3939)
11 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0A
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - 8 Показания энергии по Т01 4 байта
9 - 12 Показания энергии по Т02 4 байта
13 - 16 Показания энергии по Т03 4 байта
17 - 20 Показания энергии по Т04 4 байта
21 - 24 Суммарные показания энергии по всем тарифам 4 байта

Запрос суммарных показаний энергии на конец определеной даты:

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0B
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Число месяца '01' (0x3031): 1-ое число, ..., '31' (0x3331): 31-ое число
8 Символ разделения месяц/год '.' (0x2E)
9 - 10 Месяц '01' (0x3031): Январь, ..., '12' (0x3132): Декабрь
11 Символ разделения месяц/год '.' (0x2E)
12 - 13 Год Последние две цифры. '00' (0x3030), ..., '99' (0x3939)
14 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x0B
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - 8 Показания энергии по Т01 4 байта
9 - 12 Показания энергии по Т02 4 байта
13 - 16 Показания энергии по Т03 4 байта
17 - 20 Показания энергии по Т04 4 байта
21 - 24 Суммарные показания энергии по всем тарифам 4 байта

Запрос показаний энергии, учтенной за определенный месяц:

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x08
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Месяц '01' (0x3031): Январь, ..., '12' (0x3132): Декабрь
8 Символ разделения месяц/год '.' (0x2E)
9 - 10 Год Последние две цифры. '00' (0x3030), ..., '99' (0x3939)
11 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x08
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - 8 Показания энергии по Т01 4 байта
9 - 12 Показания энергии по Т02 4 байта
13 - 16 Показания энергии по Т03 4 байта
17 - 20 Показания энергии по Т04 4 байта
21 - 24 Суммарные показания энергии по всем тарифам 4 байта

Запрос показаний энергии, учтенной за определенную дату:

Команда:

NB: Данные в ASCII кодах!
Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x09
2 Режим 0x52: Чтение данных
3 Параметер 0x00
4 Номер устройства
5 Символ передней границы данных 0x28
6 - 7 Число месяца '01' (0x3031): 1-ое число, ..., '31' (0x3331): 31-ое число
8 Символ разделения месяц/год '.' (0x2E)
9 - 10 Месяц '01' (0x3031): Январь, ..., '12' (0x3132): Декабрь
11 Символ разделения месяц/год '.' (0x2E)
12 - 13 Год Последние две цифры. '00' (0x3030), ..., '99' (0x3939)
14 Символ задней границы данных 0x29

Ответ:

Байт Назначение Значение
0 ID модуля 0x37
1 Команда 0x09
2 Режим 0x52: Чтение данных
3 Код ответа 0x00: Данные
4 Номер устройства
5 - 8 Показания энергии по Т01 4 байта
9 - 12 Показания энергии по Т02 4 байта
13 - 16 Показания энергии по Т03 4 байта
17 - 20 Показания энергии по Т04 4 байта
21 - 24 Суммарные показания энергии по всем тарифам 4 байта

Подключение

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

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

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