Диагностический код неисправности (Diagnostic Trouble Code, DTC) — ключевой источник информации при отладке автомобильных электронных блоков управления (ЭБУ). Модуль DTC Viewer в TSMaster обеспечивает автоматический парсинг баз данных ODX, PDX и Excel, декодирование ответов службы UDS 0x19, разбор стоп-кадров (Freeze Frame) и экспорт отчетов для систем автоматизированного тестирования.

Главное окно модуля DTC Viewer в TSMaster
Рис. 1. Модуль DTC Viewer в TSMaster: список кодов, маски статуса и параметры стоп-кадра

1. Архитектура и функциональные возможности DTC Viewer

DTC Viewer тесно интегрирован с диагностическим стеком TSMaster и решает следующие задачи:

  • Чтение списка зарегистрированных DTC через службу UDS 0x19 02 (reportDTCByStatusMask);
  • Чтение стоп-кадров (Freeze Frame / Snapshot Data) через службу UDS 0x19 04;
  • Чтение расширенных диагностических записей (Extended Data Records) через службу UDS 0x19 06 (счетчики появления сбоя, пробег, цикл старения);
  • Автоматическая привязка шестнадцатеричных кодов к словесным описаниям из баз данных ODX (ISO 22901-1), PDX или таблиц Excel;
  • Экспорт среза неисправностей в структурированный JSON и CSV.

2. Разбор панели инструментов DTC Viewer

В верхней части окна расположена панель управления:

Панель инструментов DTC Viewer
Рис. 2. Элементы управления панели инструментов DTC Viewer: кнопка «Follow Latest» (Следовать за новыми), емкость буфера истории (10 000 записей), фильтры по маске и строке поиска
  • Перезагрузить (Reload): повторная загрузка определений кодов из баз ODX/PDX и пересчет буфера отображения;
  • Пауза / Возобновление обновления: приостановка отрисовки списка при непрекращающемся фоновом сборе;
  • Следовать за новыми (Follow Latest): режим непрерывного циклического опроса памяти неисправностей ЭБУ в реальном времени;
  • Размер кольцевого буфера: глубина хранения истории событий (от 100 до 500 000 записей);
  • Поиск и фильтрация: мгновенный поиск по hex-коду (например, P0100 или 0x9A0115), текстовому описанию, имени узла или типу сбоя;
  • Фильтр по маске статуса: выборка только активных кодов, подтвержденных (Confirmed), неподтвержденных (Pending) или кодов текущего ездового цикла.

3. Аналитические панели: детальный разбор кода

При выборе строки с ошибкой в нижней части окна открываются четыре информационные вкладки:

3.1. Вкладка «Обзор» (Overview)

Отображает полный контекст события: шестнадцатеричный код ошибки, текстовое наименование из базы данных, имя ЭБУ, диагностический адрес (Source Address → Target Address), тип шины, логический канал, временные метки первого и последнего появления ошибки, а также счетчик возникновения (Occurrence Counter).

Вкладка Обзор в DTC Viewer
Рис. 3. Вкладка детального обзора параметров ошибки: статус statusOfDTC, текстовое описание отказа и имя ЭБУ

3.2. Вкладка «Байт статуса» (Status Byte)

Отображает побитовую расшифровку байта статуса в соответствии со стандартом ISO 14229-1 (UDS):

Расшифровка битов статуса DTC
Рис. 4. Побитовая индикация байта статуса DTC (Bit 0–Bit 7) и маска доступности DTCStatusAvailabilityMask (0xFF)
Бит Мнемоника Назначение
Bit 0testFailedТест завершился ошибкой в момент опроса
Bit 1testFailedThisOperationCycleСбой был зафиксирован в текущем ездовом цикле
Bit 2pendingDTCНеподтвержденная ошибка (необходима повторная фиксация)
Bit 3confirmedDTCПодтвержденная неисправность (сохранена в энергонезависимой памяти)
Bit 4testNotCompletedSinceLastClearТест не завершался с момента последней очистки памяти
Bit 5testFailedSinceLastClearЗафиксирован сбой хотя бы раз с момента очистки
Bit 6testNotCompletedThisOperationCycleТест еще не успел завершиться в текущем цикле
Bit 7warningIndicatorRequestedТребуется включение сигнальной лампы на приборной панели (Check Engine)

3.3. Вкладка «Стоп-кадр» (Freeze Frame / Snapshot Data)

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

Декодирование стоп-кадра Freeze Frame
Рис. 5. Декодирование параметров стоп-кадра Freeze Frame (Snapshot Data 0x02) на основе базы данных ODX

3.4. Расширенные данные и «сырые» телеграммы (Extended Data & Raw Data)

Вкладка «Расширенные данные» (Extended Data) содержит дополнительные счётчики старения, пробег и индикаторы циклов вождения (рис. 6). Для углублённого аудита доступна вкладка «Сырые данные» (Raw Data / Problems), где выводится исходный байтовый массив ответа UDS 0x19 (рис. 7).

Вкладка расширенных диагностических данных Extended Data
Рис. 6. Отображение расширенных диагностических записей (Extended Data Record 0x02, 20 байт)
Вкладка сырых данных Raw Data
Рис. 7. Отображение сырого байтового потока телеграммы UDS (Raw Message 59 02 FF C0 75 88 02) и валидация целостности пакета

4. Экспорт в JSON для автоматизированных стендов и CI/CD

Функция Экспорт JSON выгружает полный агрегированный массив диагностических данных без ограничений на количество строк. JSON содержит временные метки, маски, идентификаторы параметров и сырой hex-дамп (Raw Payload).

Это позволяет встраивать TSMaster в автоматические конвейеры:

  • Сравнение списков DTC до и после прошивки новой версии ПО блока;
  • Автоматическая генерация отчетов о качестве для систем Jira / Confluence;
  • Пакетный аудит корректности кодов отрицательных ответов NRC (Negative Response Code).