# Логика стенда ЗКЭ-4-10 Стенд использует дискретную учебную модель тиристорного кодового устройства. Схема 114.2.082.002 ПС полностью перерисована в SVG. Все символы, подписи и проводники создаются кодом; фотографий и растровых подложек внутри схемы нет. Номиналы компонентов и вторичные напряжения не восстановлены; электрический расчёт не выполняется. Исходный снимок хранится только как материал разработки. Отдельный векторный чертёж доступен по ссылке «SVG ↓». ## Состояния 1. `idle`, пустой ввод: VD5–VD8 закрыты, YA1 обесточен. 2. Каждая следующая верная цифра добавляет одну проводящую ступень VD5 → VD6 → VD7 → VD8. Путь импульса подсвечивается на 650 мс. Проводящие тиристоры и карточки ступеней остаются выделенными. 3. Полный код вызывает `openLock()`: подсвечиваются составной ключ VT5 / VT2 и нагрузка, включаются HL1 и анимация движения ригеля. Открытое состояние сохраняется без ограничения времени; таймер автоматического закрытия отсутствует. 4. «Закрыть замок», «Сбросить» и `СБР` вызывают `reset()` и закрывают замок вручную. Кнопки сброса доступны и в открытом состоянии. 5. Неверная цифра сбрасывает весь ввод и показывает `error` на 700 мс. Ввод на это время заблокирован. Ошибка не включает YA1. 6. S2 непосредственно замыкает цепь YA1 / HL1, шунтируя составной ключ. В модели первое нажатие удерживает S2, повторное отпускает. Таймер C1 не ограничивает этот режим; ступени памяти и VT5 / VT2 не включаются. `activeCode` хранится в `localStorage` (`zke-code`). Допускаются четыре разные цифры: одна физическая клавиша оригинала не может быть одновременно соединена с несколькими кодовыми входами. Старая некорректная настройка заменяется в рабочей модели на 1234. В этой версии скрытый архивный код больше не считается правильным префиксом кода замка. Сброс памяти выполняется целиком: поштучного удаления уже открытых тиристорных ступеней нет. Настройка кода и клавиатура заблокированы во время импульса открытия. Любой сброс отменяет таймеры ошибки и подсветки. Таймера закрытия нет; импульс ввода по-прежнему гаснет через 650 мс. ## Чтение схемы - `js/schematic.js` строит 49 векторных компонентов и 47 электрических цепей. 143 вывода явно перечислены в сети соединений; проверено, что каждый вывод принадлежит одной цепи. `js/circuit.js` добавляет выбор деталей и визуальные состояния. Кнопки узлов и справочник дают альтернативный доступ к описаниям. - Выбранный узел показывает назначение деталей, путь сигнала и текущее состояние модели. - Масштаб: 75–200%, с горизонтальной прокруткой. «Развернуть» переносит ту же панель в нативный `dialog`, сохраняя состояние и обработчики. Escape возвращает панель на место. - «Следующая цифра» подаёт очередную цифру настроенного кода. Этот учебный инструмент не существует в оригинальном устройстве. - Во время просмотра развёрнутой схемы цифровая клавиатура продолжает вводить код. В других модальных окнах и полях ввода перехвата цифр нет. - Графика механизма показывает катушку YA1, якорь с ригелем, ответную планку и возвратную пружину. Это пояснение принципа движения, а не механический чертёж изделия. Звук, погода, тема, тест, игры и радио остаются самостоятельными функциями. При `prefers-reduced-motion` движения и бегущая подсветка отключаются. Основная лаборатория работает из локального `index.html`; сетевые функции требуют подключения. ## Источники - Снимок пользователя: `assets/circuit-original.png`. - Статья, указанная пользователем: https://pikabu.ru/story/naberite_kod_istoriya_i_ustroystvo_samogo_massovogo_kodovogo_zamka_sssr_14324774 - Публикация автора: https://habr.com/ru/companies/timeweb/articles/1079122/ ## Электрические узлы VT5 и VT2 — составной транзистор: коллекторы соединены, эмиттер VT5 управляет базой VT2. R9 / R11 задают управление VT5, R10 связан с базой VT2. После полного кода этот ключ подаёт ток на YA1. R12 заряжает C1; каскад VT3 / VT4 после выдержки через R18 изменяет режим VT1, снимая удержание тиристорной цепочки. Некодовые клавиши связаны с цепью R19 / C3; VD1–VD4 участвуют в развязке сигналов. Общая шина соответствует положительному выводу выпрямителей, полярность C1 / C2 сохранена по исходнику.