ШКОЛА ТЕПЛОПУНКТАБиблиотека


Д. Л. Анисимов

Теплосчетчики: о фальсификациях и спекуляциях


Ранее опубликовано:
Совершенствование измерений расхода, регулирование и коммерческий учет энергоносителей:
Труды 3-го Международного научно-практического форума /
Под ред. А.Г.Лупея – СПб.: Борей-Арт, 2003. С.344

В сборнике трудов весенней конференции «Коммерческий учет энергоносителей» этого (2003) года была опубликована статья А. Г. Лупея «О запрещенных методах "метрологического обслуживания" коммерческих узлов учета тепловой энергии» (с ее текстом можно ознакомиться также и на нашем сайте). Как нам показалось, статья эта произвела эффект типа: «о, это же как раз то, о чем все мы давно думали, но боялись говорить вслух». И — как прорвало! Тема фальсификаций при приборном учете воды и тепла на протяжении, пожалуй, всего лета была ведущей и при встречах с коллегами, и на форумах «Теплопункта». При этом, как нам показалось, в сознании многих «товарищей» произошел — случайно или сознательно — некий перекос: под фальсификации стали грести и то, что с фальсификациями никак не связано. Вот об этом и хотелось бы сейчас поговорить.

Так вот, участники форумов «Теплопункта» очень четко классифицировали те самые корыстные цели и определили тех, кто теоретически эти цели может преследовать. Получили три категории:

  • производители теплосчетчиков — фальсифицируя данные учета, они могут «заметать следы» собственных недоработок и откровенных проколов, допущенных при разработке и производстве прибора;
  • сервисные организации — фальсифицируя данные учета, они также могут «отбеливать» производителя, с которым дружат, одновременно — сохранять и собственное лицо; могут они таким образом маскировать и собственные огрехи в монтаже приборов;
  • потребители (обычно — вкупе со специалистами из «дружественных» сервисных фирм) — фальсифицируя данные, они могут прилично «экономить»… ну, не энергоресурсы, конечно, а собственные деньги… по-русски такая экономия называется воровством.

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

Об этих самых «фальсификациях третьего рода» очень хорошо и подробно написано в статье В. П. Каргапольцева, размещенной также на «Теплопункте». Башковитый потребитель чего только не придумает ради «экономии» — физику у нас в школах и институтах хорошо раньше преподавали, а уж по части механики и электроники оч.умелых ручек в России всегда гораздо выше среднего было! Но слив воды через фильтры, «скрутка» водосчетчика при помощи пылесоса и эксперименты с нижней границей диапазона измерений — это всего лишь детские игры по сравнению с тем, что «может себе позволить» производитель приборов. Совершенно верно было замечено в статье Каргапольцева: «цифровые устройства позволяют обманывать с невиданными ранее возможностями»! О чем здесь идет речь?

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

Этот пример, разумеется, слишком туп и нежизнеспособен: но генератор случайных чисел очень легко заменить на какой-либо осмысленный и правдоподобный алгоритм «подбора значений» и получить в результате, например, постоянную и стопроцентную сходимость подачи с обраткой… или — «исключить» несанкционированный водоразбор… или — замаскировать отказы расходомеров… да мало ли чего еще? Разумеется, тотальная подмена реальных результатов измерений — случай практически невероятный (хотя — теоретически возможный). В жизни мы чаще имеем дело с такими фальсификациями, когда теплосчетчики все же не «придумывают» результаты измерений, а измеряют более или менее реально. Почему «более или менее»? Да потому, что в прибор могут быть зашиты алгоритмы «подмены данных», активизирующиеся только при определенных ситуациях. Например, «сходятся» реальные показания расходомеров — пишем именно эти показания, но если «ушел» один из расходомеров — срочно подменяем его данные на «взятые из головы»! А вот теперь — самый главный вопрос: всегда ли это нельзя и если можно, то когда можно?

Как бы ни спорили о функциях теплосчетчика, практически все согласны с тем, что прибор этот объединяет в себе два средства: средство измерений и средство учета. Первое — имеет строго определенные метрологические характеристики и ни на шаг не может отступать от истины (ни на шаг, а только лишь на шажок — в пределах погрешности). Второе — это средство автоматизации рутинных расчетных операций, а поскольку расчеты [продавца с потребителем] — предмет договора, то вольностей здесь теоретически может быть сколько угодно. Избитый пример — обработка так называемых «нештатных ситуаций»: должен ли теплосчетчик просто бесстрастно фиксировать таковые или же он может самостоятельно обсчитывать и пересчитывать «нештатные результаты измерений»? Представляется, что вопрос этот — за пределами компетенции метрологии и метрологов. Но, поскольку именно метрологи — люди государевы и имеют соответствующие печати и право подписи, то часто именно их просят (а они иногда и не отказываются) дать жизнь тому или иному «усовершенствованию» по учетной части. Потом, конечно, возникают вопросы со стороны энергосбытов, да и самих потребителей, но — печать уже поставлена, а значит, «исправленному верить». И ситуаций, когда теплосчетчик «имел право» записать в архив вместо реального результата измерений некое свое «умозаключение» становится не так уж мало, но каждая из них может быть весьма шатко обоснована и непонятно, на каком уровне утверждена, а потому может быть смело названа фальсификацией.

Но вернемся к данному в начале нашей статьи определению фальсификации — из него ясно, что таковая имеет место только при тайном вмешательстве в работу теплосчетчика! Отсюда следует, казалось бы, однозначный вывод: все, что бы прибор ни делал со своими данными, не является фальсификацией, если он, прибор, эти свои действия протоколирует. Избитый пример — возможность ввода в вычислитель любого, в т.ч. дробного, коэффициента, связанного с характеристиками датчиков: веса импульса расходомера, начального сопротивления термопреобразователя и т.п. Если в базе настроечных данных мы реально видим реально введенный вес импульса, отличный от соответствующего паспортного значения, то это — не фальсификация, это — повод для разговора, ибо открыто введенная поправка введена с какой-то объективной целью. То же касается и нештатных ситуаций — если теплосчетчик «честно» метит их в архивах, то пусть под этой меткой он творит все, что хочет — мы-то уже увидели, что здесь «что-то не так», а алгоритм работы прибора при возникновении данной нештатной ситуации нам известен. По крайней мере, должен быть известен.

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

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

О чем здесь идет речь? Мы много говорили о «фальсификациях народных умельцев» и о «фальсификациях путем ввода не того коэффициента». Разговоры о коэффициентах дали ряду производителей возможность пошвырять камни в огород ЛОГИКИ и «Теплокома» и слегка поспекулировать на том, что «а вот наши приборы не позволяют менять настройки с клавиатуры, значит они — единственно честные». Кажется, такие спекуляции разбились об упоминания о тех степенях защиты от несанкционированного доступа, которые есть в современных «программируемых пользователем» вычислителях. Тем не менее, все эти разговоры увели от того, о чем, собственно, говорилось в «исходной» статье Лупея — а говорилось там о тайной коррекции данных теплосчетчиков извне, при помощи ноутбука. А это, господа, в подавляющем большинстве случаев по силам только самому производителю — или же его наиболее приближенным сервисным фирмам, но, опять же, при непосредственной поддержке производителя.

Вернемся к тому, о чем уже говорили: современный теплосчетчик — это маленький компьютер, и кроме процессора и программы у него имеются память, в которой, собственно, и хранятся все данные, и интерфейс для связи с внешним миром. Теоретически этот интерфейс должен быть «почти односторонним»: из внешнего мира в теплосчетчик через него должны приходить только короткие и безобидные запросы, а вот большие массивы правдивых данных должны идти (в ответ на эти запросы) только из теплосчетчика во внешний мир. Но где гарантия, что столь же большие, но уже не столь правдивые массивы не могут быть «закачаны» в обратном порядке — извне в память прибора? Где гарантия, что эта операция будет запротоколирована прибором, и назавтра после такой «закачки» мы увидим при просмотре архивов отметку о том, что архивы эти — ненастоящие? Вот она, та фальсификация, которой нужно бояться и о которой стоит говорить!

А корни таких фальсийикаций известны. Давайте обратимся к истории, точнее, к тому ее периоду, когда учет стал «входить в моду» и в стране появилась масса небольших, но очень амбициозных фирм, разрабатывающих и выпускающих тепловычислители. Да, мы говорим именно о вычислителях: производителей расходомеров и прочих датчиков всегда было и есть намного меньше, да и, признаться, «мозгов» в этих приборах не так много, а проверять их работоспособность гораздо проще — поставил расходомер на проливную, и проверяй соответствие его выходного сигнала заданному расходу. Вычислитель же работает исключительно «на математике», «по программе», а программа — штука тонкая. И, конечно же, изначально та маленькая фирма, что взялась делать вычислители, не имеет никаких злых помыслов и декларирует «честность» своих приборов. И первые из этих приборов не имеют ровным счетом никакого «хитрого» интерфейса и не позволяют над собою никаких фальсификаций. Но: производитель на начальной стадии мал, слаб и неопытен; то программист ошибку в программе допустит, то схемотехник не тот транзистор применит, то радиомонтажник «соплю» на плате посадит, то компоненты закупят по дешевке, но сомнительного качества… А времени на эмуляцию всех ветвей программы да на длительные ресурсные испытания, понятное дело, нет — вот и всплывают все оплошности уже в процессе коммерческой эксплуатации проданных приборов. Разумеется, такие сбои, отказы и провал учета могут поставить крест на репутации и дальнейшем развитии фирмы. Однако, пока вычислителей выпущено и выпускается немного, и все они находятся в поле зрения производителя, то возникает соблазн — излечивая детские болезни приборов, стирать из их памяти признаки этих болезней. Другими словами, позвонил мне потребитель и сказал, что вычислитель «умер» и вот уже дня три, как ничего не считает. Я приезжаю, ремонтирую прибор, а в его память вписываю архивы, будто бы он и не «умирал» вовсе. Потребитель меня не выдаст — не в его интересах. Я же извлекаю урок из случившегося и говорю своему программисту: слушай, Василий, а давай-ка переделаем «софт» нашего прибора так, чтобы я мог с ноутбука или вообще с клавиш, введя определенный пароль, «восстанавливать» архивы, менять данные — и т.д., и т.п., и чтобы прибор такого несанкционированного доступа никак не фиксировал. Так и появляется программное обеспечение со «скрытыми входами», и входы эти реально спасают производителя, помогают ему раскрутиться на рынке, маскируя незбежные ошибки и экономя время на испытания приборов, которые проходят непосредственно в «боевых условиях». А вот после — два варианта развития. Если производитель раскрутился, в душе оставшись честным, он уберет из ПО своих приборов все эти тайные входы и постарается забыть о том, что творил в начале своего пути, как о страшном сне. И общество должно его простить: это, знаете, что-то типа «налоговой амнистии», когда помнят, что «все большие капиталы в мире нажиты нечестным путем», но понимают, что дальше-то жить надо, и желательно — честно, а значит, должна быть какая-то «точка легализации». Другой вариант — производитель раскрутился, но честным стать не захотел, т.к. обманом жить всегда проще. И вот теперь, заслышав о фальсификациях, он старается «указать товарищам» на какие-то коэффициенты, на возможность ввода настроек с клавиатуры и т.п. — а ведь для настоящих фальсификаций не нужны ни коэффициенты, ни клавиатура, ибо «цифровые устройства позволяют…»


А теперь вопрос, который задается постоянно: но ведь теплосчетчики испытываются и сертифицируются Госстандартом, получают экспертное заключение Энергонадзора, проходят периодическую поверку! — как при всем этом могут получить путевку в жизнь лживые, оборудованные «тайными входами» или обеспеченные «потайными алгоритмами» приборы? Ответим — очень и очень просто, ибо:

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

Во-вторых, никто не в состоянии изучить, испытать, проверить всю программу, зашитую в прибор. Вряд ли у Госстандарта или иных экспертных структур будет время и возможности восстановить ПО хотя бы одного теплосчетчика из машинных кодов и найти в нем «тайные лазейки»; вряд ли «нечестный» производитель предоставит на экспертизу «честные» исходные тексты своих программ. Таким образом, даже если на экспертизу взят прибор «с реального объекта», проверка его ПО «на честность» практически невозможна.


Что же делать, как жить дальше? Как можем мы применять теплосчетчики, не будучи ни на йоту уверенными в их адекватности? Какая нужна экспертиза, какой порядок сертификации, как гарантировать «перенос» результатов испытаний типа на всю массу выпускаемых приборов данного типа? К сожалению, автор данной статьи сумел пока только поставить эти вопросы, но ответа на них не нашел. Разве что если только помечтать…

Знаете, поскольку тепловычислитель — тот же компьютер, то у него есть такие характеристики или компоненты, как архитектура; аппаратная реализация; программное обеспечение. Представьте, что кто-то придумал (и открыто описал) настолько логичную и удачную архитектуру вычислителя, что она стала стандартом де-факто: как в свое время архитектуры PC и Макинтош для персональных компьютеров. Тогда большинство фирм-производителей переходят на эту архитектуру, и их конкурентная задача — предложить более совершенную схемотехническую реализацию, более высокую надежность, наконец, внести некие эволюционные изменения, оставаясь в рамках все той же концепции. При этом сертифицировать и контролировать можно именно аппаратуру вычислителя: есть некие обязательные элементы, есть единая для всех архитектура, и есть свобода творчества, которая легко отслеживается. Далее, поскольку функционально структура и состав вычислителей известны, то возникает возможность писать ПО для них, абстрагируясь от конкретных марок и моделей, но пользуясь лишь предоставляемыми производителем «железа» аппаратными драйверами. Это не решает всех проблем контроля над софтом, но, по крайней мере, позволяет лучше этот софт контролировать и сертифицировать. А писать его могут не только производители приборов — растет конкуренция, а это должно вести к улучшению качества. По ходу дела решается и проблема с тем, что «мне нравится, как этот прибор сделан, но кажется неудобным его пользовательский интерфейс». Пожалуйста — есть сертифицированная «железяка» под названием «теплосчетчик АБВГД-2003», и есть несколько сертифицированных рабочих программ для него — и от самой фирмы «АБВГД», и от фирмы «ЁКЛМН» (которая сама теплосчетчиков не делает, а специализируется на ПО для них), и от «Майкрософта», в конце концов! Утопия? Что ж, наше дело — предложить. А предложить для того, чтобы избежать фальсификаций при приборном учете, и исключить спекуляции на этой почве.