Skip to main content

Цифровой

В режиме «Цифровой» вход OrionMeter LA-IP-RSP и LA-IP-RSP[A] не считает импульсы, а следит за состоянием контакта — «замкнут» или «разомкнут» — и сообщает о его изменениях событиями с меткой времени. Страница нужна тем, кто настраивает вход по эфиру и разбирает пакеты устройства на своём сервере. В описании Protocol 78 этот режим называется «дискретный вход» (тип входа 1), в кодеке — discrete.

Когда использовать режим «Цифровой»​

Режим подходит, когда важны факт и время изменения состояния контакта, а не число импульсов. У устройства три входа, и любой из них можно перевести в этот режим.

СчётныйЦифровой
Тип входа в Protocol 78 (команда 0x04)0, в кодеке counter1, в кодеке discrete
Что передаёт устройствоЗначение счётчикаСостояние входа и события с меткой времени
Ежечасный архивВедётся для входов 1 и 2Не ведётся
Время подавления дребезгаЗадаётся командой 0x05Фиксированное, 51 мс
Триггер «ОТСУТСТВУЕТ»Задавать нельзяМожно: события не формируются, состояние по-прежнему отправляется периодически

Как вход фиксирует замыкание и размыкание​

  • Замыкание контакта (вход притянут к низкому уровню, спадающий фронт) переводит вход в состояние «замкнут», размыкание (нарастающий фронт) — в состояние «разомкнут».
  • Событие формируется, только если триггер входа включает этот фронт.
  • Событие о замыкании формируется сразу на фронте, ещё до подавления дребезга.
  • Время подавления дребезга в режиме «Цифровой» фиксировано — 51 мс. Значение из команды 0x05 действует только на счётные входы.
  • События формируются только в рабочем режиме устройства. В складском режиме изменение состояния входа событий не порождает. Режимы описаны на странице Эксплуатация.

Если контакт остаётся замкнутым, в режиме захвата КОМБИ устройство примерно через секунду после замыкания (после подавления дребезга 51 мс и ещё 1 секунды ожидания) отключает подтяжку, чтобы экономить батарею, и дальше проверяет вход раз в период импульсного опроса. Поэтому размыкание после долгого замыкания устройство замечает при ближайшей проверке и затем подтверждает подавлением дребезга. Период импульсного опроса действует и на цифровые входы:

ПараметрЗначение
По умолчанию100 мс (значение байта 25)
Допустимый диапазон52–1000 мс: значения байта 13–250
Как задатьБайт 1 команды 0x05, в единицах «мс / 4»: например, 25 = 100 мс
Значение вне диапазонаУстройство использует 101 мс — значение по умолчанию из прошивки

Настройки по умолчанию​

С завода все три входа счётные: входы 1 и 2 включены, вход 3 выключен.

ПараметрЗначение по умолчанию
Тип входаСчётный (0) — у всех трёх входов
АктивацияВходы 1 и 2 включены, вход 3 выключен
Триггер«Замыкание» (спадающий фронт)
Тип захватаКОМБИ
ПриоритетLOW
Интервал отправки24 часа
Период импульсного опроса100 мс
Версия конфигурации (CFG_ID)0

Чтобы вход работал в режиме «Цифровой», отправьте команду 0x04 с типом 1. Вход 3 нужно ещё и включить: команда 0x0A, бит 0.

Настройка по эфиру: блок DI CFG (FORMAT 0x02)​

Входы настраиваются downlink-пакетом Protocol 78 на fPort 2. После заголовка (ID 0x78, SEQ, FLAGS) идёт блок DI CFG: байт FORMAT = 0x02, байт LEN с длиной тела блока, затем тело.

Байт телаЗначение
0Номер входа: 0, 1, 2 — входы 1, 2, 3. Блок с номером 3 и больше устройство отклоняет
1CFG_ID — версия конфигурации, см. раздел «Версия конфигурации и ответ устройства»
2 и далееКоманды: байт CMD, за ним данные команды. Команд в блоке может быть несколько

Один блок настраивает один вход. Чтобы настроить несколько входов, передайте для каждого отдельный блок DI CFG.

Команды для режима «Цифровой»:

CMDНазначениеДанные
0x0AАктивация1 байт: бит 0 — вход включён, бит 1 — журналирование, бит 2 — периодическая отправка архива. Биты 1 и 2 на цифровой вход не действуют: архив ведётся только для счётных входов
0x02Интервал отправки3 байта, uint24, младший байт первым, в секундах. Минимум — 60 секунд; меньшее значение устройство молча игнорирует
0x04Тип входа1 байт, см. следующий раздел
0x05Время подавления дребезга и период импульсного опроса2 байта в единицах «мс / 4»: байт 0 — подавление дребезга (только для счётного входа), байт 1 — период импульсного опроса
0xEEПодтверждение LoRaWAN1 байт, см. раздел «Приоритет событий и подтверждение доставки»

Команды 0x00, 0x01, 0x03 и 0x06 относятся только к счётным входам.

Байт «Тип входа» (команда 0x04) и пример пакета​

Байт команды 0x04 задаёт сразу четыре параметра. Устройство записывает их все вместе, поэтому указывайте каждое поле, даже если меняете только одно.

БитыПараметрЗначения
0–1Тип входа0 — счётный, 1 — дискретный («Цифровой»)
2–3Приоритет0 — LOW, 1 — HIGH, 2 — PANIC
4–5Триггер события0 — размыкание (нарастающий фронт), 1 — замыкание (спадающий фронт), 2 — любое изменение, 3 — ОТСУТСТВУЕТ
6–7Тип захвата0 — КОМБИ, 1 — ПРЕРЫВАНИЕ

Триггер «ОТСУТСТВУЕТ» отключает события при изменении состояния входа, но периодическая отправка состояния продолжается. Для счётного входа этот триггер задавать нельзя.

Внимание

Тип захвата ПРЕРЫВАНИЕ, переданный командой 0x04, прошивка не сохраняет: после применения настроек вход продолжает работать в режиме КОМБИ. Задавайте в битах 6–7 значение 0.

Пример: 0x29 (0010 1001 в двоичном виде) — тип 1 (дискретный), приоритет 2 (PANIC), триггер 2 (любое изменение), захват 0 (КОМБИ).

Полный пакет на fPort 2 — включить вход 3 в режиме «Цифровой»:

78 00 00 02 0C 02 05 0A 01 02 10 0E 00 04 29 EE 02
БайтыЗначение
78 00 00Заголовок Protocol 78: ID, SEQ, FLAGS
02FORMAT 0x02 — блок DI CFG
0CLEN: дальше 12 байт тела блока
02Номер входа 2 — вход 3
05CFG_ID = 5
0A 01Активация: вход включён
02 10 0E 00Интервал отправки 0x000E10 = 3600 секунд (1 час)
04 29Тип входа: дискретный, PANIC, любое изменение, КОМБИ
EE 02Подтверждение LoRaWAN для пакетов с событиями

Версия конфигурации и ответ устройства​

CFG_ID в блоке DI CFG определяет, применять ли настройки:

CFG_IDЧто делает устройство
0Ничего не применяет, только сообщает текущую версию
1–254Применяет настройки, только если CFG_ID отличается от сохранённой версии входа
255Применяет настройки всегда

По умолчанию версия конфигурации в устройстве равна 0.

На принятый блок DI CFG устройство отвечает служебным пакетом (FORMAT 0x08) с подтипом CFG_ID: в нём номер блока 0x02 и текущая версия конфигурации входа. Новая версия сохраняется, только если настройки действительно изменились. Если отправить те же настройки с новым CFG_ID, устройство оставит прежнюю версию и пришлёт в ответе её.

Сообщения от устройства: состояние и события (FORMAT 0x0B)​

Состояние цифровых входов и события устройство передаёт в uplink записью 0x0B.

Включённые входы группируются по интервалу отправки: у входов с одинаковым интервалом общий таймер. Когда таймер срабатывает, счётные входы уходят одной записью, а все цифровые входы — одной записью 0x0B без событий длиной 3 байта: 0B, FLAGS, STATES. Если в записи есть события, после STATES идут метки времени и сами события.

ПолеРазмерЗначение
FORMAT1 байт0x0B
FLAGS1 байтБиты 0–4 — число событий (0–31), биты 5–7 — источник (0 — дискретные входы)
STATES1 байтБит n = 1, если вход n + 1 включён, работает в режиме «Цифровой» и замкнут. Биты 3–7 — 0. Состояние на момент формирования пакета, а не на момент события
TIMESTAMP4 байта, младший байт первымВремя первого события. Есть, только если событий больше нуля
СобытияПо 4 бита на событие, два события в байте, младшая половина байта — первойБиты 0–2 — номер входа (с 0), бит 3: 1 — вход разомкнулся, 0 — замкнулся
Длина блока меток1 байтДлина блока сжатых меток времени. При одном событии — 0
Блок метокПеременныйМетки времени, сжатые разностным способом

Метки времени — секунды, uint32. Чтобы получить UNIX-время, прибавьте 946684800, как и в архивных пакетах.

Внимание

Полярность в STATES и в событиях противоположная. В STATES 1 значит «замкнут», а в событии бит 3 = 1 значит «разомкнулся». Кодек возвращает value: true, когда бит установлен, поэтому в его выводе inputN.value = true — вход замкнут, а true у события в events — вход разомкнулся.

Пример: вход 3 замкнулся 08.10.2026 в 12:00:00 UTC.

78 01 00 0B 01 04 40 42 5A 32 02 00
БайтыЗначение
78 01 00Заголовок Protocol 78: ID, SEQ, FLAGS
0BЗапись состояния и событий
01FLAGS: одно событие, источник 0 — дискретные входы
04STATES: бит 2 = 1 — вход 3 замкнут
40 42 5A 32TIMESTAMP 0x325A4240 = 844776000; 844776000 + 946684800 = 1791460800 — 08.10.2026 12:00:00 UTC
02Событие: вход номер 2 (вход 3), бит 3 = 0 — замкнулся
00Длина блока меток: 0, событие одно

Фрагмент вывода кодека для этого пакета (служебные поля опущены):

"input3": { "value": true },
"events": [
{ "input3": { "utctimestamp": "2026-10-08T12:00:00.000Z", "value": false } }
]

Приоритет событий и подтверждение доставки​

ПриоритетКогда событие уходит в эфир
LOW (0)При ближайшей передаче по таймеру устройства — по умолчанию примерно в течение 10 минут; интервал отправки входа на это не влияет
HIGH (1)Так же, как LOW: в текущей прошивке они не различаются
PANIC (2)Устройство начинает внеочередной uplink примерно через 0,1 с; при частых передачах — после обязательной паузы после предыдущей передачи. В пакете события PANIC идут раньше событий LOW и HIGH

Приоритет в пакете не передаётся: по записи 0x0B нельзя узнать, с каким приоритетом было событие.

Байт команды 0xEE задаёт, какие пакеты отправлять с подтверждением LoRaWAN:

БитПакеты
0Регулярные данные счётных входов
1Пакеты с событиями цифровых входов; этот же бит действует на периодическую отправку их состояния
2Архивные данные

Чтобы пакеты цифрового входа отправлялись с подтверждением, установите бит 1 — значение 0x02, как в примере выше.

Что важно знать​

  • Цифровые входы не архивируются: ежечасный архив ведётся и отправляется только для счётных входов 1 и 2.
  • События формируются только в рабочем режиме устройства.
  • Интервал отправки меньше 60 секунд устройство молча игнорирует.
  • Для внеочередной отправки события нужен приоритет PANIC: LOW и HIGH в текущей прошивке не различаются.
  • Те же настройки с новым CFG_ID версию не меняют — в ответе придёт прежняя версия.

См. также​