Цифровой
В режиме «Цифровой» вход OrionMeter LA-IP-RSP и LA-IP-RSP[A] не считает импульсы, а следит за состоянием контакта — «замкнут» или «разомкнут» — и сообщает о его изменениях событиями с меткой времени. Страница нужна тем, кто настраивает вход по эфиру и разбирает пакеты устройства на своём сервере. В описании Protocol 78 этот режим называется «дискретный вход» (тип входа 1), в кодеке — discrete.
Когда использовать режим «Цифровой»
Режим подходит, когда важны факт и время изменения состояния контакта, а не число импульсов. У устройства три входа, и любой из них можно перевести в этот режим.
| Счётный | Цифровой | |
|---|---|---|
| Тип входа в Protocol 78 (команда 0x04) | 0, в кодеке counter | 1, в кодеке 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 и больше устройство отклоняет |
| 1 | CFG_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 | Подтверждение LoRaWAN | 1 байт, см. раздел «Приоритет событий и подтверждение доставки» |
Команды 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 |
02 | FORMAT 0x02 — блок DI CFG |
0C | LEN: дальше 12 байт тела блока |
02 | Номер входа 2 — вход 3 |
05 | CFG_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 идут метки времени и сами события.
| Поле | Размер | Значение |
|---|---|---|
| FORMAT | 1 байт | 0x0B |
| FLAGS | 1 байт | Биты 0–4 — число событий (0–31), биты 5–7 — источник (0 — дискретные входы) |
| STATES | 1 байт | Бит n = 1, если вход n + 1 включён, работает в режиме «Цифровой» и замкнут. Биты 3–7 — 0. Состояние на момент формирования пакета, а не на момент события |
| TIMESTAMP | 4 байта, младший байт первым | Время первого события. Есть, только если событий больше нуля |
| События | По 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 | Запись состояния и событий |
01 | FLAGS: одно событие, источник 0 — дискретные входы |
04 | STATES: бит 2 = 1 — вход 3 замкнут |
40 42 5A 32 | TIMESTAMP 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 версию не меняют — в ответе придёт прежняя версия.
См. также
- Цифровые входы — режимы входов и схема цифрового входа.
- Эксплуатация — рабочий и складской режимы устройства.
- Спецификация — число входов и характеристики устройства.
- Формат пакета Protocol 78 — заголовок пакета: ID, SEQ, FLAGS.
- Playground Protocol 78 — разбор пакетов устройства в браузере.