TSMaster позволяет передавать системные переменные как параметры диагностического модуля — это значительно расширяет обмен данными между диагностикой и другими модулями. Разбираем типовые сценарии на практике.

Ключевые слова: TSMaster, системные переменные, диагностика, Panel, Graphic, регистрация сервиса как переменной.

1. Системные переменные как параметры

Системные переменные обеспечивают обмен данными между внутренними и внешними модулями программы. Передача системных переменных как параметров в диагностический модуль существенно расширяет его возможности по взаимодействию с другими модулями. Покажем работу на типовых сценариях.

Сначала создайте в системе две системные переменные — VIN_Code и Voltage (рис. 1-1). Переменная VIN_Code — строкового типа (рис. 1-2), Voltage — типа Double (рис. 1-3).

Создание системных переменных
Рис. 1-1. Создание системных переменных VIN_Code и Voltage
Переменная VIN_Code
Рис. 1-2. Переменная VIN_Code типа String
Переменная Voltage
Рис. 1-3. Переменная Voltage типа Double

Свяжите системные переменные с Panel и Graphic (рис. 1-4).

Привязка переменных к Panel и Graphic
Рис. 1-4. Привязка системных переменных к Panel и Graphic

[1] Задайте значение напряжения Voltage в Panel и запишите его в ЭБУ через диагностику (рис. 1-5).

Запись Voltage в ЭБУ
Рис. 1-5. Запись значения Voltage из Panel в ЭБУ

[2] Задайте VIN-код в Panel и запишите его в ЭБУ через диагностику (рис. 1-6).

Запись VIN в ЭБУ
Рис. 1-6. Запись VIN-кода из Panel в ЭБУ

[3] Прочитайте внутреннее напряжение ЭБУ через диагностику и отобразите его в Graphic (рис. 1-7).

Чтение напряжения в Graphic
Рис. 1-7. Чтение напряжения из ЭБУ с выводом в Graphic

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

[4] Прочитайте VIN-код ЭБУ через диагностику и отобразите его в Panel (рис. 1-8).

Чтение VIN в Panel
Рис. 1-8. Чтение VIN-кода из ЭБУ с выводом в Panel

2. Привязка системной переменной к сервису консоли

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

  1. Шаг 1. В окне BasicConfig выберите целевой сервис и через правую кнопку мыши зарегистрируйте его как системную переменную (рис. 2-1). После регистрации иконка сервиса меняется — признак сервиса с зарегистрированной системной переменной (рис. 2-2).
  2. Шаг 2. После регистрации переменная появляется в менеджере системных переменных (рис. 2-3).
  3. Шаг 3. Добавьте на Panel кнопку и свяжите её с этой системной переменной (рис. 2-4).
  4. Шаг 4. Запустите программу и нажмите тестовую кнопку на Panel: диагностический модуль выполнит сервис DiagnosticSessionControl (рис. 2-5).
Регистрация сервиса как переменной
Рис. 2-1. Регистрация диагностического сервиса как системной переменной
Иконка зарегистрированного сервиса
Рис. 2-2. Иконка сервиса с зарегистрированной переменной
Переменная в менеджере
Рис. 2-3. Сервисная переменная в менеджере системных переменных
Кнопка на Panel
Рис. 2-4. Кнопка на Panel, связанная с системной переменной
Выполнение сервиса
Рис. 2-5. Выполнение DiagnosticSessionControl по кнопке Panel

3. Управление диагностикой из внешней программы

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