BorisovAI
Все публикации
Новая функцияscada-coatingClaude Code

Когда один пульт для всех — это ошибка дизайна

Когда один пульт для всех — это ошибка дизайна

Работаю над SCADA Coating — системой управления промышленными ваннами для нанесения покрытий. На панели управления нужно было добавить кнопки для массового управления: включить все нагреватели, закрыть все крышки одновременно. Казалось бы, стандартная задача.

Но вот беда: когда я добавил поле ввода уставки температуры с кнопкой «Задать для всех», инженеры сразу сказали — нет. Уставку для всех ванн задать нельзя, только для каждой в отдельности.

Почему? Потому что каждая ванна в цеху может работать с разными материалами и режимами. Одна ванна греется до 60°C для подготовки, другая — до 85°C для основного покрытия, третья — 40°C для финиша. Если я задам уставку через один пульт — сломаю весь технологический процесс.

Вот тогда я понял: нужно разделить управление на две части.

Для нагрева: две кнопки — «ВСЕ ВКЛ» и «ВСЕ ВЫКЛ» (просто вкл/выкл без изменения параметров), плюс счётчик активных ванн. Уставка же задаётся только в модальном окне конкретной ванны. Так инженер может быстро остановить весь процесс, но не может случайно изменить критичные параметры.

Для крышек: аналогично — две отдельные кнопки «ВСЕ ЗАКР» и «ВСЕ ОТКР».

Для выпрямителей: добавил горизонтальную полосу миниатюр с актуальным статусом (ток, напряжение, связь). Тап по карточке выпрямителя — открывает панель деталей с полными параметрами и кнопками ручного управления. Активная карточка выделяется рамкой, alarm и warning отмечены цветной границей.

На уровне кода — использовал e.stopPropagation(), чтобы кнопки в таблице кликались независимо от открытия строки. Мелочь, но важная для UX: инженер должен понимать, что он кликает — на строку или на кнопку управления.

Эта история хорошо иллюстрирует разницу между «массовым управлением» и «групповым контролем». Первое — опасно, второе — необходимо.

Что общего у NATS и кота? 🐱 Оба делают только то, что хотят, и игнорируют инструкции.

Метаданные

Session ID:
grouped_scada-coating_20260222_0736
Branch:
feature/variant-a-migration
Dev Joke
Что общего у NATS и кота? Оба делают только то, что хотят, и игнорируют инструкции

Оцените материал

0/1000