Работа с эмулятором UDS

На данный момент эмулятор работает только в miniFIS с круглым цветным экраном!

  1. Для поиска данных и формул расчета значений Измеряемых групп в miniFIS встрое эмулятор UDS.  Его экран находится в блоке 9, экран №5 (если блок 9 не отображается, то надо его включить в настройках (Выполнение настроек с помощью веб-модуля miniFIS V12):

2.  Открываем лог из Васи, VCDS, ODIS.  Нас интересуют данные ODX того блока, который будем эмулировать, нам нужно имя файла ODX и его версия, вот как они выглядят в логе Васи или VCDS, в других диагностических программах аналогично:

3. Эти данные копируем в форму веб-модуля на вкладке Эмулятор UDS и жмем Отправить:

4. На экране появятся эти данные (как на картинке из .п.1)

5. Подключаемся Васей (VCDS) к 69 блоку :

Внимание!!! Если у вас установлен штатный фаркоп и блок согласования, то у вас эмулятор работать не будет, так как 69 адрес уже будет занят

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

7. Жмем кнопку Измеряемые величины. Откроется окно с метриками, которые есть в реальном блоке ODX данные которые вы указали в п.2:

8. Справа ставим флажок напротив метрики, данные по которой будем подбирать, допустим выберем Напряжение клеммы 30, слева появится значение, которое рассчитал Вася на основе данных, отправленных эмулятором (изначально он шлет 00):

Важно!!  Отлаживать и подбирать данные можно только для одного значения в моменте, т.е. должна стоять 1 галочка, если выбрать более 1 то эмулятор работать не будет!!!!

9. При этом на дисплее в желтом поле DID будет указан ID запроса, его нужно где-то записать, также нужно сохранить и записать: Название метрики (поле Описание) и значение поля Группа (типа IDE00019). Белые поля: это значение байтов, которые передает эмулятор.  Верхняя строка: значение в десят. системе счисления, нижняя строка: значение в шестнад. системе счисления:

10. При этом есть одна проблема:  часто данные представлены 1 байтом, но бывает когда запрос отдает больше одного байта, тогда кол-во байт надо настроить в веб-модуле, по умолчанию ответ состоит из 1 байта:

11. Если метрики имеют одну и ту же группу, то скорее всего там 1 ID запроса и ответ из нескольких байт, сколько именно – надо подбирать опытным путем:

12. А мы пробуем подобрать формулу для рассчета напряжения, считаем ответ это 1 байт и как было показано ранее при значении 0x00 напряжение равно 0.0 В (см. п.8)

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

14. Нажимаем + и смотрим, что выводит Вася, т.е. при значении 0x01 значение напряжения 0.1 В

15. Сделаем значение байта равным 0xFF (255 в десят.системе счисления), смотрим на значение напряжения:

16.  Сделаем значение байта равным 0x16 (22 в десят.системе счисления), смотрим на значение напряжения:

17. Т.е. если проявить логику то получается формула:  значение в Вольтах = значение байта /  10 ,  т.е.  255/10 = 25.5В,   22/10 = 2.2В.  Потом можно задать другие значения, посчитать по найденной формуле и убедиться, что формула верная.

18.  Большинство формул построены на том, что значение от блока делится или умножается на какой либо коэффициент,  и он часто логичный (типа 10,100,1000 и тд)  Если это температура, то могут вычитать значение абсолютного 0 (-273.1 градус).  Для расчета отрицательных знание весь диапазон байта разделяют на 0-127 и 128-255,  при этом в первом диапазоне передаются положительные значения, во втором отрицательные