Производитель контроллеров скуд

Что делать, если считывается разный идентификатор одного ключа на разных считывателях

Что делать, если считывается разный идентификатор одного ключа

Если один и тот же ключ (метка, карта) даёт разные идентификаторы (UID) в системе «ЭНТ Контроль доступа», сам ключ, как правило, исправен. Причина — в цепочке передачи UID: считыватель → контроллер «ЭРА» → ПО «ЭНТ Контроль доступа - Клиент» (далее «ЭНТ Клиент»). На каждом уровне есть свои настройки, и расхождение может возникнуть на любом из них. Но первичен считыватель: именно он формирует UID в том формате, который задан в его собственных настройках.

Перед изменением настроек зафиксируйте текущую конфигурацию контроллера (скриншот вкладки «Считыватели» или экспорт настроек), чтобы можно было вернуться к исходным значениям. Изменения применяйте сначала на одном тестовом контроллере и проверяйте результат на тех же ключах, что и на остальных контроллерах.

Как устроена цепочка передачи UID

  1. Считыватель считывает ключ и передаёт UID в том формате, который задан в его настройках. У каждого считывателя эти настройки свои, поэтому считыватели разных производителей или типов даже с настройками по умолчанию могут отдавать разный UID одного ключа.
  2. Контроллер «ЭРА» получает UID от считывателя и передаёт его в ПО «ЭНТ Клиент»: либо ровно в том виде, в котором получил (режим Wiegand AUTO), либо преобразует согласно настройкам, которые заданы в ПО «ЭНТ Клиент» и загружены в память контроллера.
  3. ПО «ЭНТ Клиент» получает данные от контроллера и отображает их в виде цифрового кода в десятичной системе счисления (DEC). На вкладке «Считыватели» в разделе «Устройства» задаются настройки для конкретного контроллера, которые затем загружаются в его память.

Порядок действий при расхождении UID — от первичного уровня к дополнительному: сначала считыватели, затем настройки контроллера, задаваемые в ПО.

Если по битам причину расхождения установить не удалось — см. подраздел «Если по битам причину определить не удалось» в разделе 2.

Где что настраивается

Уровень Что настраивается Где настраивается Когда используется
Считыватель Параметры передачи UID, режим чтения Программа-конфигуратор считывателя (для «ЭРА» — «Конфигуратор считывателей «ЭРА»); у сторонних — их ПО и документация Основной способ привести UID к единому виду
Контроллер «ЭРА» Тип считывателя (протокол/Wiegand), проверка чётности, обратный порядок байтов, битовый сдвиг, число значимых бит ПО «ЭНТ Клиент», вкладка «Считыватели» раздела «Устройства»; настройки загружаются в память контроллера Когда считыватель не настраивается или нужна дополнительная защита/конвертация
USB-считыватель Параметры передачи UID, режим чтения Программа-конфигуратор считывателя (для «ЭРА» — «Конфигуратор считывателей «ЭРА»); у сторонних — их ПО и документация UID передаётся программно, настройки контроллера на него не действуют

Настройки контроллера относятся только к конкретному контроллеру и подключённому к нему считывателю; каждый контроллер настраивается отдельно.

Раздел 1. Начните со считывателей

Основная причина разных UID — разные настройки считывателей: от разных производителей или разных типов (например, настенный считыватель и настольный USB-считыватель). Даже одинаковые считыватели могут передавать разный UID, если у них используется разная конфигурация.

  • Сравните, какие считыватели подключены к контроллерам, дающим разные UID. Если они от разных производителей или разных типов — это наиболее вероятная причина.
  • Приведите настройки считывателей к одному «знаменателю» так, чтобы все они передавали одинаковый UID. Настройка выполняется для каждого считывателя отдельно, в его собственной конфигурации.

Почему сначала считыватель, а не контроллер. Настройки считывателя и контроллера применяются последовательно: сначала код преобразует считыватель, затем — контроллер. Если настроить оба уровня на одно и то же преобразование (например, на обратный порядок байтов), получится двойная конвертация: считыватель переставит байты, а контроллер переставит их ещё раз. В результате UID может вернуться к исходному виду или исказиться, а система будет тратить время на лишнее преобразование и чаще получать неверный UID из-за наложения преобразований. На практике это обычно незаметно для человека, но сам фактор лишней конвертации увеличивает нагрузку и вероятность ошибки. Поэтому сначала приведите к единому виду считыватели — и только если это невозможно, используйте настройки контроллера.

Для настройки считывателей «ЭРА» используется программа «Конфигуратор считывателей «ЭРА»:

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

Раздел 2. Сравните UID по битам, чтобы понять причину расхождения

Прежде чем что-то менять, полезно понять, чем именно отличаются два UID. В ПО «ЭНТ Клиент» полученный UID отображается в виде цифрового кода в десятичной системе счисления (DEC). Для сравнения переведите оба значения в двоичный вид и сравните по битам — во многих случаях это сразу показывает, какая настройка даёт расхождение.

Как сравнить:

  1. Запишите оба UID, которые выдаёт система для одного ключа (в DEC).
  2. Переведите каждое значение в двоичный вид (например, с помощью инженерного калькулятора или онлайн-конвертера).
  3. Сравните двоичные записи по битам: совпадает ли длина, совпадают ли биты, не переставлены ли байты.

Пример 1. Обратный порядок байтов

Возьмём UID в DEC: 1543116614 и 1174857563.

В двоичном виде (по байтам):

1543116614 → 01011011 11111010 00000111 01000110
1174857563 → 01000110 00000111 11111010 01011011

Видно, что это одни и те же байты (01011011, 11111010, 00000111, 01000110), записанные в обратном порядке. Решение: задать одинаковый порядок байтов — либо в настройках считывателя, либо, если он не настраивается, в настройках контроллера через ПО «ЭНТ Клиент».

Пример 2. Разный формат Wiegand

Если в системе используются считыватели с разным форматом Wiegand, может возникнуть следующая проблема. Возьмём 4-байтовый ключ. В двоичном виде полный UID:

01011011 11111010 00000111 01000110

Считыватель Wiegand 34 передаст все 4 байта — UID 1543116614. Считыватель Wiegand 26 обрежет UID до 3 байт — останется 11111010 00000111 01000110 (UID 16385862). Значения не совпадают, потому что старший байт 01011011 отброшен. Разные модели считывателей могут удалять разные байты — одни младшие, другие — старшие. Чтобы избежать путаницы, нужно настроить считыватели на единый формат. Если возможно, адаптируйте Wiegand 26 под формат Wiegand 34. Если нет, то наоборот. Однако, если UID ключа состоит из 4 байт, это может привести к дублированию идентификаторов у разных ключей.

Пример 3. Битовый сдвиг

Сдвиг вправо на 4 бита задан в настройках считывателя. На одном считывателе сдвиг включён, на другом — нет. Возьмём UID в DEC: 1543116614.

В двоичном виде:

Без сдвига: 01011011111110100000011101000110
Со сдвигом: 00000101101111111010000001110110

Видно, что значение сдвинуто вправо на 4 бита: в старшие биты подставляются нули, а младшие биты откидываются. Решение: отключить сдвиг на «проблемном» считывателе или задать одинаковый сдвиг и число значимых бит на всех считывателях, работающих с этими ключами.

Если по битам причину определить не удалось

Разбор по битам — удобный, но не универсальный инструмент. Он хорошо работает, когда расхождение сводится к простому преобразованию (перестановка байтов, обрезка старших бит, сдвиг). Однако некоторые считыватели выполняют более сложные преобразования кода — например, меняют порядок следования битов внутри байта, переставляют полубайты, применяют собственную схему кодирования или дополняют посылку служебными битами. В таких случаях даже сравнение двоичных записей визуально не позволяет однозначно определить, какая именно настройка даёт расхождение, и можно ошибочно «поправить» не ту настройку.

Если по битам причину установить не удалось, действуйте так:

  1. Выясните настройки считывателя. Подключите считыватель к его программе-конфигуратору (если она предусмотрена производителем) и считайте текущие настройки из памяти. Зафиксируйте формат Wiegand, порядок байтов, сдвиг, число значимых бит и прочие параметры передачи.
  2. Изучите документацию производителя считывателя. Уточните в руководстве пользователя, на сайте производителя или в описании модели, какие преобразования UID выполняет считыватель и какие настройки на это влияют.
  3. Обратитесь в техническую поддержку производителя считывателя. Если документация не даёт ответа, передайте специалистам производителя оба UID (в DEC и в двоичном виде) и модель считывателя — они помогут определить, какое преобразование даёт расхождение.

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

Раздел 3. Проверьте настройки контроллера, задаваемые в ПО «ЭНТ Клиент»

Сначала рассмотрим, как контроллер взаимодействует со считывателем в режиме автоматической конфигурации (Wiegand AUTO). В этом режиме контроллер отправляет в ПО «ЭНТ Клиент» все данные, полученные от считывателя, включая до 64 бит, без каких-либо изменений. UID, сформированный считывателем, поступает в систему в том же виде и отображается в десятичной системе исчисления (DEX). Этот режим является стандартным и подходит для большинства задач.

Настройки на вкладке «Считыватели» в разделе «Устройства» задаются в ПО «ЭНТ Клиент» и загружаются в память контроллера. Это дополнительные настройки: они нужны для дополнительной защиты или для конвертации ключа, когда это нельзя сделать средствами самого считывателя. К ним относятся:

  • Тип считывателя. Определяет проводной протокол связи для подключенного считывателя и формат Wiegand. Контроллер может быть настроен работать только с конкретным форматом (например, только Wiegand 26 или только Wiegand 34) либо с проводным интерфейсом 1-Wire (Touch memory, iButton). Разные форматы по-разному «нарезают» биты одного и того же кода. Решение — привести все считыватели (или контроллеры, если считыватель не настраивается) к одному формату.
  • Проверка чётности бит. Контроллер может проверять контрольные биты чётности в посылке Wiegand и отбрасывать посылки с ошибкой. Если на одном контроллере проверка включена, а на другом отключена, один и тот же ключ на первом может не приниматься (так как передача ключа осуществляется с ошибкой), а на втором — приниматься (так как проверка на чётность отключена). Решение — выставить проверку чётности одинаково на всех контроллерах, работающих с этими ключами.
  • Обратный порядок байтов. Один считыватель может передавать байты в прямом порядке, другой — в обратном (см. пример 1 в разделе 2). Решение — задать одинаковый порядок байтов на всех считывателях или контроллерах.
  • Битовый сдвиг вправо и число значимых бит после сдвига. Сдвиг «отрезает» младшие биты кода и добавляет нулевые биты, а число значимых бит ограничивает длину результата или обрезает старшие биты при использовании без битового сдвига (см. пример 3 в разделе 2). Решение — отключить сдвиг или задать одинаковые сдвиг и число значимых бит на всех контроллерах, работающих с этими ключами.

Эти настройки относятся только к конкретному контроллеру и подключённому к нему считывателю, каждый контроллер настраивается отдельно. Если на разных контроллерах они отличаются, один и тот же ключ будет передаваться в ПО по-разному.

Когда эти настройки действительно нужны

Типичный случай — считыватель не настраивается: у него нет собственной конфигурационной программы или нужной настройки. Например:

  • Считыватель передаёт байты в обратном порядке, но собственной настройки порядка байтов у него нет — нужный порядок задаётся в ПО «ЭНТ Клиент» и загружается в контроллер.
  • Купили новый считыватель с Wiegand 34 и соответствующие ему ключи, а старые считыватели в системе работают по Wiegand 26. Если ключи 4-байтовые, старый считыватель обрежет UID до 3 байт. Настроить новый считыватель нечем — тогда приведение к 26 битам выполняется через ПО «ЭНТ Клиент».

Отдельно стоит указание конкретного формата Wiegand: оно дополнительно защищает систему от ошибок и ускоряет передачу UID между контроллером и считывателем. Например, если считыватель передаёт Wiegand 34, в настройках ПО «ЭНТ Клиент» для контроллера тоже можно указать Wiegand 34 — тогда контроллер будет принимать только этот формат. Но указывать конкретный формат стоит только тогда, когда точно известно, какой формат передаёт считыватель.

Что проверить при расхождении UID

Убедитесь, что на «проблемном» контроллере не включены сдвиг, обратный порядок или ограничение формата, которых нет на остальных контроллерах. Верните настройки к значениям по умолчанию (Wiegand AUTO) и сравните результат. Если после возврата к Wiegand AUTO UID совпал с остальными — причина была в дополнительных настройках контроллера; тогда задайте их осознанно и одинаково для всех контроллеров, работающих с одними и теми же ключами. Если же расхождение сохранилось и после сброса к Wiegand AUTO, значит, преобразование выполняется на уровне считывателя — вернитесь к разделу 2 и выясните настройки считывателя (через его программу-конфигуратор, документацию производителя или техническую поддержку производителя считывателя).

Раздел 4. Если система уже работала, а вы подключили новый контроллер со считывателем

Новый контроллер должен работать с ключами, которые уже есть в базе данных:

  1. В ПО «ЭНТ Клиент» в разделе «Устройства» на вкладке «Считыватели» установите для нового контроллера ту же конфигурацию, что и у других контроллеров в системе.
  2. После этого настройте сам считыватель так, чтобы он передавал тот же UID, что и остальные считыватели.
Раздел 5. Если это первичная настройка системы с разными считывателями
  1. Приведите настройки всех считывателей к одному «знаменателю» так, чтобы все они передавали одинаковый UID, — собственными средствами считывателей (для «ЭРА» — через «Конфигуратор считывателей «ЭРА»; для сторонних — через их программы-конфигураторы или по документации производителя). Настройки в ПО «ЭНТ Клиент» на вкладке «Считыватели» при этом не трогайте — они должны оставаться по умолчанию (Wiegand AUTO), если считыватели позволяют настроить их собственными средствами.
  2. Если считыватель не настраивается (производителем не заложена возможность менять конфигурацию), нужный UID можно попробовать получить через контроллер — см. раздел 3. Настройки задаются в ПО «ЭНТ Клиент» и загружаются в память контроллера.
  3. После изменения настроек на контроллере нужно будет настроить USB-считыватель (при его наличии). UID от USB-считывателя передаётся программно, а не через контроллер, поэтому настройки контроллера на него не действуют. USB-считыватель настраивается отдельно, через свою программу-конфигуратор, и его нужно привести к тому же UID, что и считыватели, подключенные к контроллеру.


© Статья и дизайн: К.В. Скворцов (Эра новых технологий), 2026.