Карта ячеек и почему её задают руками
Карта ячеек — это список: какая дверца шкафа к какому гнезду платы подключена. Например: «ячейка 1 — гнездо CH01, ячейка 2 — гнездо CH07». Без этого списка программа не знает, что открывать, когда клиент вводит код.
Почему её нельзя определить автоматически
Разумный вопрос: пусть программа опросит все 27 гнёзд и сама поймёт, где есть замки. Так не получится, и вот почему.
На запрос «что у тебя на гнезде номер 5?» плата отвечает одним из двух:
| Ответ платы | Что он значит |
|---|---|
| «нажат» | дверца закрыта. Значит замок и датчик здесь точно есть |
| «отпущен» | либо дверца открыта, либо на этом гнезде вообще ничего нет |
Второй ответ приходит байт в байт одинаковым в обоих случаях. Плата сообщает, что у неё на входе, и не знает, подключено к нему что-нибудь или нет. Различить это опросом невозможно — не «трудно», а невозможно в принципе.
Значит, если бы программа строила карту по опросу, распахнутая дверца выглядела бы как отсутствующая ячейка, а пустое гн ездо — как открытая ячейка. Клиента отправили бы к дверце, которой нет.
Если гнездо хоть раз ответило «нажат», значит на нём точно есть живой замок с датчиком: пустое гнездо так ответить не может никогда.
Обратное неверно: сколько бы раз мы ни услышали «отпущен», это не доказывает, что гнездо пустое.
На этом одностороннем доказательстве и построен мастер привязки.
Чем грозит ошибка в карте
Стоит держать в голове до того, как заполнять её в спешке.
| Ошибка | Что увидит оператор | Что увидит клиент |
|---|---|---|
| в карте есть ячейка, которой нет в шкафу | ячейка вечно «открыта», постоянная тревога | его отправят к дверце, которой нет |
| в карте перепутаны номера | всё выглядит нормально | откроется чужая ячейка — с чужой вещью внутри |
| ячейка есть в шкафу, но не внесена в карту | её просто нет в системе | она никогда не будет предложена, место простаивает |
Вторая строка — самая опасная: она не даёт никаких внешних признаков, пока кто-нибудь не заберёт чужое. Поэтому карту заполняют мастером, а не переписыванием из головы, и после заполнения проверяют выборочно.
Правила заполнения
- Номер на дверце и номер гнезда — разные вещи. Совпадать они не обязаны: как подключили провода при сборке шкафа, так и будет. Карта существует именно для того, чтобы связать одно с другим.
- Гнёзд всегда 27, даже если дверец меньше. Незанятые гнёзда в карту не вносятся. ✅ Последние три гнезда (25, 26, 27) можно использовать наравне с остальными — это проверено на живом железе. Раньше они были под вопросом: шкаф опрашивает их немного иначе, чем первые двадцать четыре, и проверить это было не на чем. Теперь проверено: гнездо 27 открыли, дверцу закрыли рукой, шкаф увидел закрытие. Для вас разницы нет никакой — мастер привязки работает со всеми 27 одинаково.
- Заполняется по одной ячейке, мастером, у открытого шкафа, с проверкой каждой.
- Карта хранится в панели, а не в шкафу. Замена планшета её не теряет; замена платы замков — тоже, если провода вернули на те же гнёзда. ⚠️ Если провода при ремонте переставили, карту надо перепроверить целиком, а не «поправить одну строчку».
- Выведенная из работы ячейка (сломанный замок, повреждённая дверца) не удаляется из карты, а помечается как выведенная: тогда система перестанет её предлагать и перестанет тревожиться из-з а неё.