NaN и специальные значения прибора: не превращать неисправность в ноль
Измерительный прибор может передать специальное значение вместо обычного числа. Если интеграционный слой автоматически заменяет его нулём, архив получает ложное измерение. На ферме это влияет на графики и расчёты, хотя транспорт работал исправно и пакет действительно пришёл от нужного устройства.
Читать карту конкретного исполнения
Для каждого параметра выпишите тип и правила обозначения недоступности. Ошибка, отсутствие измерения и обычный ноль должны различаться согласно документации. Не считайте один известный код универсальным для всех приборов и целочисленных форматов.
Например, руководство Vaisala XMW85 отдельно описывает представление затронутых ошибкой параметров через NaN и собственные целочисленные признаки. (Vaisala — XMW85 User Guide M213257EN-B) Это пример необходимости читать карту, а не готовый набор замен для чужого оборудования. Состояние интерфейса и качество измерения рассматривают раздельно.
Описать преобразование
В цепочке отметьте исходные байты или слова, результат декодирования, поле качества и итоговый формат хранения. Проверьте, способен ли каждый следующий формат представить выбранное состояние. Если нет, задайте явную совместимую структуру, а не случайную подстановку числа.
Прокручивайте увеличенную схему по горизонтали. С клавиатуры: перейдите к схеме и используйте стрелки.
Для API и текстовых выгрузок уточните представление специального значения. Пример документации регистратора Campbell показывает, почему формат записи нужно читать вместе с описанием полей. (Campbell Scientific — Data Logger Web Server API) Строка, пустое поле и специальный числовой объект могут по разному обрабатываться программой получателя.
Проверить потребителей
Подготовьте учебный пакет с обычным значением, нулём, недоступным каналом и специальным признаком. Ожидаемый результат задайте для архива, экрана, экспорта и расчётного модуля. Тест должен проверять всю цепочку, а не только успешную работу декодера.
Особенно внимательно исследуйте средние значения и суммирование. Если недостоверная точка исключается, сохраняют правило и число использованных наблюдений. Если расчёт приостанавливается, экран должен объяснять причину. Приложение не должно незаметно продолжать вычисление с выдуманным нулём.
Сохранить возможность расследования
Для диагностического случая полезны идентификатор канала, версия формата, время и исходное состояние качества. При необходимости сохраняют ограниченный безопасный фрагмент исходного ответа. Большой общий журнал не заменяет однозначной привязки спорной записи.
После замены прибора проверьте правила заново: новый вариант может иметь другое представление недоступности. Если приложение считает любое необычное число ошибкой, оно способно отвергать законные измерения. Границы допустимых значений задают по документам и задаче объекта, не придумывая универсальные агрономические пороги ради удобства фильтрации.












