На данный момент эмулятор работает только в miniFIS с круглым цветным экраном!
- Для поиска данных и формул расчета значений Измеряемых групп в 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, при этом в первом диапазоне передаются положительные значения, во втором отрицательные