Автоматические диагностические процессы TSMaster управляют диагностикой на уровне всего проекта: группы процессов, процессы-варианты и отдельные шаги. Разбираем управление процессами и настройку шагов UDS Flow.

Ключевые слова: TSMaster, UDS, автоматический диагностический процесс, UDS Flow, SeedAndKey, TesterPresent, SelectConfig.

1. Управление вариантами процессов

Автоматический диагностический процесс TSMaster управляет не одним конкретным применением, а диагностическими процессами всего проекта. Под требования проекта настраиваются группы диагностических процессов: каждая группа содержит несколько процессов, а уже внутри процесса — конкретные диагностические шаги (рис. 1-1).

Группы и процессы диагностики
Рис. 1-1. Группы процессов, процессы и шаги диагностики

Нажмите правую кнопку мыши на панели управления UDS-процессами — откроется меню управления вариантами процессов (рис. 1-2).

Меню управления процессами
Рис. 1-2. Меню операций над процессами

Основные операции:

  1. Add a new group — добавить группу диагностических процессов (например, «Модель 1»). Внутри группы можно добавлять варианты процессов; сама группа шагов не содержит.
  2. Add a new UDS flow — добавить вариант диагностического процесса; внутри него добавляются детальные диагностические шаги.
  3. Edit name — выберите группу или процесс и через правую кнопку переименуйте узел (рис. 1-3).
  4. Switch to the UDS flow — переключиться на выбранный узел UDS-процесса (того же эффекта даёт двойной щелчок). После переключения узел меняет иконку и цвет фона, а в правой области раскрывается список диагностических шагов процесса (рис. 1-4).
  5. Start UDS flow — запустить диагностический процесс узла: диагностический модуль автоматически выполнит шаги сверху вниз по правой конфигурации.
  6. Abort UDS flow — прервать выполняющийся диагностический процесс.
  7. Delete selected — удалить выбранный узел.
  8. Delete all flows — удалить все узлы.
Переименование узла
Рис. 1-3. Переименование узла процесса
Переключение на процесс
Рис. 1-4. Активный узел процесса и его шаги

2. Настройка диагностического процесса (UDS Flow)

2.1. Базовые шаги конфигурации

  1. Шаг 1. В левой панели управления выберите узел диагностического процесса.
  2. Шаг 2. В правой области редактирования добавляйте, удаляйте и редактируйте диагностические шаги.
  3. Шаг 3. После добавления шага задайте его имя.
  4. Шаг 4. Выберите тип шага.
  5. Шаг 5. Выберите тип адресации шага: физическая или функциональная.
  6. Шаг 6. Настройте детальные пакеты диагностического запроса и ответа.
  7. Шаг 7. Задайте время ожидания после завершения шага.
  8. Шаг 8. Настройте обработку ошибок шага (рис. 2-1).
Базовые шаги конфигурации
Рис. 2-1. Базовая последовательность настройки процесса

Это базовые шаги. Для реальных сценариев предусмотрены более гибкие механизмы — о них в следующих разделах.

2.2. Панель инструментов

Панель инструментов конфигурации диагностических процессов (рис. 2-2):

Панель инструментов
Рис. 2-2. Панель инструментов конфигурации процессов
  1. Добавить группу диагностических процессов.
  2. Добавить вариант диагностического процесса.
  3. Удалить выбранную группу/вариант процесса.
  4. Запустить настроенный диагностический процесс.
  5. Прервать выполняющийся процесс.
  6. Заблокировать/разблокировать область конфигурации: в заблокированном состоянии область процесса недоступна для редактирования.

2.3. Типы диагностических шагов

Для гибкости конфигурации предусмотрены типы шагов: Normal, SelectConfig, SeedAndKey, DownloadFile, TesterPresent, RoutineControl (рис. 2-3). Этот набор покрывает практически все распространённые диагностические сценарии. Разберём каждый тип.

Типы шагов
Рис. 2-3. Типы диагностических шагов

[1] Normal — обычная конфигурация: для простых случаев с понятными данными запроса и ответа. Например, запрос 10 03, ответ 50 03 12 34: в поле Request введите запрос 10 03, в поле Response — ожидаемый ответ 50 03 12 34. При настройке ответа раскрывается панель, показанная на рис. 2-4.

Настройка ответа Normal
Рис. 2-4. Настройка ожидаемого ответа шага Normal

В некоторых тестовых случаях ЭБУ не отвечает — тогда достаточно снять флажок Has Response. Готовая конфигурация показана на рис. 2-5.

Готовый шаг Normal
Рис. 2-5. Настроенный шаг типа Normal

[2] SelectConfig — выбор существующей конфигурации: позволяет использовать диагностические шаги, уже отлаженные в консоли Diagnostic Console (рис. 2-6).

Выбор существующей конфигурации
Рис. 2-6. Выбор конфигурации из Diagnostic Console

Это рекомендуемый в TSMaster способ: сначала настройте и протестируйте все подпроцессы в Diagnostic Console, а затем ссылайтесь на них в автоматическом процессе (логика — на рис. 2-7). При выполнении автоматического процесса результат полностью совпадает с выполнением в Diagnostic Console.

Логика SelectConfig
Рис. 2-7. Ссылки на отлаженные конфигурации консоли

[3] SeedAndKey — составная команда, которую нельзя настроить как Normal. Её можно выбрать через SelectConfig из существующей конфигурации либо настроить шаг разблокировки прямо в автоматическом процессе типом SeedAndKey. Достаточно выбрать параметр SeedLevel: DLL разблокировки привязывается к Seed&Key DLL, загруженной в конфигурации параметров TP (рис. 2-8).

Шаг SeedAndKey
Рис. 2-8. Настройка шага SeedAndKey

Как видно, и в Diagnostic Console, и в модуле автоматической диагностики корректная работа возможна только после правильной настройки параметров транспортного уровня (TP).

[4] TesterPresent — в TSMaster есть глобальный переключатель TesterPresent, которым команда включается и выключается целиком. Для более гибких сценариев команду можно настраивать пошагово: включать и выключать TesterPresent на нужных шагах. У этого типа два параметра: запуск/остановка команды (рис. 2-9) и данные команды с циклическим интервалом (рис. 2-10).

Включение TesterPresent
Рис. 2-9. Запуск/остановка TesterPresent на шаге
Данные и интервал TesterPresent
Рис. 2-10. Данные команды и циклический интервал

Сводка по настройке шагов. Обобщая сказанное выше, логика конфигурации тестовых шагов выглядит как на рис. 2-11.

Сводная логика шагов
Рис. 2-11. Сводная логика настройки диагностических шагов

2.4. Интервал между шагами

Интервал времени между шагами диагностического процесса настраивается (в миллисекундах) — рис. 2-12.

Интервал между шагами
Рис. 2-12. Настройка интервала между шагами, мс

2.5. Обработка ошибок

Обработка ошибок включает два параметра: количество повторных попыток после ошибки и поведение — остановить процесс или продолжить выполнение (рис. 2-13).

Обработка ошибок
Рис. 2-13. Параметры обработки ошибок шага

2.6. Включение шагов и изменение порядка

Для настроенного процесса отметьте флажками слева шаги, которые должны выполняться (рис. 2-14). Порядок выполнения меняется простым перетаскиванием: это работает и для групп, и для вариантов процессов, и для отдельных шагов внутри процесса.

Выбор выполняемых шагов
Рис. 2-14. Выбор выполняемых шагов процесса