← Алексей Каминский

Куда девается сложность

Инженерия. Практические наблюдения

Тезис

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

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

1. Четыре кнопки и сорок состояний

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

Четыре кнопки без модальности дают четыре команды. Остальное живёт в дереве меню, а кнопки перестают быть командами и становятся навигацией. Дерево рисуется на экране проектора — на той самой лампе, которую и приходится настраивать. Пока изображения нет, управлять нечем.

Закон необходимого разнообразия (Эшби) формулирует это строго: разнообразие управляющей системы не может быть меньше разнообразия управляемой. Сократили органы управления — разнообразие вернулось через модальность. Одна кнопка × длительность нажатия × контекст × порядок нажатий. Конечный автомат, который пользователь обязан держать в памяти, потому что на панели он не отображён.

Панель с двенадцатью подписанными кнопками честнее. Она показывает размер пространства состояний.

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

Для чайника расчёт верный. Пользователь чайника не читает ничего, ему модальность дешевле. Схема ломается на границе: изделие сложное — инвертор, контроллер, промышленная печь, — а интерфейс спроектирован по бытовым лекалам.

2. Пиктограмма без словаря

Убрать текст с органов управления и из инструкции — значит не переводить на тридцать языков, не редактировать тридцать версий, не держать тридцать артикулов на складе. Одна SKU на мир. Экономия реальная и большая. Понятность в этот расчёт не входит.

Пиктограмма работает только как конвенция, то есть при единообразии. Единообразие требует стандарта. Стандарты есть — IEC 60417 на графические символы для оборудования, ISO 7000, ISO 7010 для безопасности, символы там пронумерованы. Обязательны к применению только те, что связаны с безопасностью: класс защиты, заземление, род тока, «см. документацию».

Функциональные символы — «эко-режим», «отложенный старт», «пар» — не покрыты ничем обязательным. Каждый изготовитель рисует своё и патентует как элемент фирменного стиля. Получается язык без словаря: алфавит общий, значения у каждого свои.

Это хуже незнакомого языка. Незнакомый язык честно опознаётся как незнакомый. Чужая пиктограмма создаёт уверенность, что ты понял.

Работают только те символы, что стали конвенцией через употребление, а не через изобразительность: ⏻, ▶, ⏸. Их понимают потому, что видели тысячу раз. Прямоугольник с уголками, солнце со стрелкой, трапеция — угадываются перебором.

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

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

3. Могилки и сисечки

Лист около 2017 года: обозначения восстановлены по памяти.

Другой проект, фото легенды «Умовні позначення». Розетка и выключатель нарисованы снова по-своему.

План электрооборудования, около 2017 года. Условные обозначения нарисованы от руки. Розетка — полукруг в виде могилки. Выключатель — тот же купол, штрих короче, в виде сисечки. Пять шрифтов на листе. Легенда есть, без неё лист не читается.

Происхождение символов прослеживается: по ГОСТ 21.614 розетка — полукруг с чертой по диаметру и отводом наружу, выключатель — окружность с крючком. Исходно осмысленно: полукруг это корпус, штрих это отвод. При перерисовке от руки полукруг раздулся, разница между «черта пересекает» и «черта упирается» смазалась.

Розетка и выключатель вообще не имеют запаса на различение — рисуются одним примитивом, отличие в одной детали. Стандарт это терпит, пока чертят точно. При произволе в толщине линий и масштабе символы схлопываются. А на плане их десятки, и читают их по силуэту, не вглядываясь.

Что здесь дефект, а что косметика. Пять шрифтов — косметика. Читаемости не мешают, показывают только, что лист собирали кусками и никто не прошёл по нему целиком перед выпуском. Индикатор процесса. Индикатор, впрочем, надёжный: если не выровняли шрифты, то и позиции в спецификации, скорее всего, не сверяли.

Самодельные УГО — дефект содержания. Стандарт на условные обозначения существует затем, чтобы лист читался одинаково всеми, кто его возьмёт: монтажником, наладчиком, тем, кто придёт через восемь лет. Как только автор изобрёл свои символы, документ читается только вместе со своей легендой и только пока она есть.

Хуже того: без легенды лист читается не неправильно, а непонятно. Читатель получает не пустое место, а ложную картину, и не знает об этом.

Отличие от случая с пультом: там изготовитель хотя бы экономил на артикулах. Здесь не экономилось ничего. Вставить блок по ГОСТ не дороже, чем нарисовать свой.

4. Невыводимость из наблюдения

Общее свойство всех трёх случаев: модель системы нельзя построить, наблюдая её работу.

Мелкий бытовой прибор с тремя режимами, двумя кнопками и светодиодом, меняющим цвет. Функционально он проще инвертора. Освоить его перебором невозможно — состояния не наблюдаемы, узнать текущее нельзя иначе как помня всю историю нажатий. У инвертора есть экран, показывающий, где ты находишься. У мультиварки нет.

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

Deye, «Disable Float Charge». Ставишь запрет — флоат разрешается. Двойное отрицание, оформленное как чекбокс.

Механизм понятен: во внутреннем регистре бит называется FLOAT_DISABLE, прошивка читает его правильно. В интерфейс вытащили имя бита, а не смысл, и поставили рядом чекбокс, у которого «отмечено» само по себе значит «включить опцию». Вышло «включить запрет», показанное как «Disable». Дальше локализация, и последний намёк на смысл теряется.

Смешное здесь второстепенно. Существенно то, что проверить нельзя: результат не проявляется немедленно. Флоат вылезет через часы, при определённом SOC. Обратную логику обнаруживают не из интерфейса и не из мануала, а постфактум, по телеметрии, когда батарея делает не то.

Единственная надёжная проверка — не подпись в поле, а поведение системы. Флоат отключён по-настоящему, если после достижения целевого SOC напряжение перестаёт удерживаться и уходит вниз. Реальным состоянием параметра является эта цифра, а не веб-интерфейс.

Обратная логика редко бывает единичной. Она тянется по всей группе регистров, написанной одним человеком, — если нашёл одно такое поле, проверяй остальные булевы уставки той же группы.

5. Кто платит

Муфельная печь обжига керамики, 150 кВт. ПИД-регулятор штатный, управление тиристорами самодельное. Тиристоры открывались и закрывались не там, где нужно.

Симптомы: вводной автомат 400 А отключался при показаниях клещей 100–120 А. Автомат горячий. THD напряжения 60 %, прибор упёрся в предел измерения.

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

Каждое такое открытие — скачок тока с нуля до сотен ампер за микросекунды. Спектр растянут вверх на десятки гармоник. 150 кВт на трансформаторе конечной мощности: падение на импедансе источника от такого тока и есть искажение напряжения. Сеть не была плохой, печь портила себе питание сама.

Расцепитель реагирует на действующее значение, а оно считается по всем гармоникам. Добавьте пик-фактор — короткие импульсы большой амплитуды при умеренном среднем. Добавьте занижение показаний клещами, откалиброванными по синусу. Коэффициент 3–4 между показанием и реальностью набирается легко.

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

Оценить работу схемы по результату было нельзя: печь грелась, регулятор показывал температуру, обжиги шли. Неисправность проявлялась только на вводе — в нагреве автомата и отключениях, которые к печи никто не относил.

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

Но вот что дороже железа. Чтобы поставить штатный блок, кто-то должен был сначала понять, что дело в тиристорах. До этого искали в автомате, в сети, в качестве напряжения. Стоимость диагностики не в приборах. Она в том, что её мог сделать не всякий, — иначе бы сделали раньше и дешевле.

Цена ошибки проектировщика или самодельщика не равна цене детали. Она равна цене того, кто потом разберётся.

6. Почему это воспроизводится

Разбор упирается в один механизм: решение принимает тот, кто не платит по последствиям.

Изготовитель пульта экономит на артикулах — платит пользователь временем. Автор плана рисует свои УГО — платит монтажник звонком с объекта. Самодельщик собирает управление тиристорами — платит владелец печи выездами и диагностикой.

Два случая стоит развернуть, потому что в них перенос виден полностью.

Ворона на подстанции. Села на изолятор, дотянулась клювом до вывода, замкнула. Перекрытие произошло по тому самому элементу, который считается защитой: изолятор рассчитан на выдерживание напряжения по воздуху и по поверхности, но не на проводящий предмет поперёк себя. Габарит здесь не спасает в принципе — на 10 кВ фазные расстояния порядка 200–300 мм, что сопоставимо с длиной птицы, а растянуть их до птичьего размаха нельзя ни физически, ни экономически. Защита от птицы поэтому не расстояние, а барьер: колпаки на изоляторы, изолирующее покрытие выводов.

Проект их закладывает. Дальше начинается то, чего проект не контролирует: полимерные колпаки стареют под ультрафиолетом, трескаются, слетают. Птицезащита живёт не в чертеже, а в регламенте обслуживания. Проектировщик о воронах знал и решение заложил. Между его листом и коротким замыканием — тридцать лет, в течение которых защиту никто не смотрел. Обратный случай могилкам: грамотный проект, съеденный эксплуатацией.

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

Ошибка не в том, что монтёр криворукий. Инструмент роняют все, поэтому его привязывают, а под зоной работ ставят экран или снимают напряжение. Не сделали ни того, ни другого, потому что за простой шин отвечает один человек, а за упавший ключ — другой. Исход при коротком замыкании на шинах определялся уже не действиями работавшего: он стоял в паре метров от точки дуги. Повезло.

Информация тут ни при чём. Условные обозначения гуглятся вторым результатом. Но чтобы набрать запрос, надо сначала знать, что обозначения бывают нормированными. У человека, рисующего могилки, такого представления нет, и запрос он не сформулирует — недоступна не информация, недоступно знание о её существовании.

Закрывается это одним способом. Не курсом: курс даёт умение нарисовать чертёж. Понимание, что чертёж есть сообщение адресату с конкретной задачей, даётся звонком с объекта. Проектировщик, ни разу не бывавший на монтаже своего проекта, не узнаёт о своих ошибках никогда — лист ушёл, деньги получены, монтажник дорисовал карандашом на месте и никому не сказал.

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

Что проверять

В изделии. Сколько состояний и сколько органов управления. Расхождение в разы — сложность перенесена в модальность, документация станет обязательной, а не желательной.

В интерфейсе. Наблюдаемо ли текущее состояние без памяти о предыдущих действиях. Если нет — прибор не осваивается перебором, и это не зависит от квалификации пользователя.

В булевых уставках. Проверять по поведению системы, а не по подписи поля. Обратная логика не единична: нашёл одну — смотри всю группу.

В чертеже. Читается ли лист без легенды. Не «понятно ли», а не даёт ли он ложного прочтения — второе опаснее.

В решении об экономии. Кто платит по последствиям. Если не тот, кто принимает решение, расчёт заведомо неверен — просто ошибка вылезет в чужой графе.

↑ к оглавлению