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

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

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


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

Это базовые шаги. Для реальных сценариев предусмотрены более гибкие механизмы — о них в следующих разделах.
2.2. Панель инструментов
Панель инструментов конфигурации диагностических процессов (рис. 2-2):

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

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

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

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

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

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

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


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

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

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

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