Как настроить ncs dummy

Кодирование BMW в NCS Expert на примере X3 E83 2005

Все что вы делаете, вы делаете на свой страх и риск! Вы и только вы несете ответственность за свои действия. Все, что я пишу, – это мое личное мнение.

В интернете уже есть много информации по этому поводу. Но везде возникали проблемы и собирать информацию приходилось из 5-10 источников. Я хочу описать все в одном месте и дополнить описанием «подводных камней».

В двух крупных ТЦ мне отказали в активации опции. Цена за активацию порядка 3000р, если еще и сконфигурировать, то за каждое хочу 500р. Это при том что есть официальная инструкция с указанием необходимого ПО, сканера и описанием куда кликнуть мышкой. Было принято решение сделать самому, был приобретен провод и ПО. Полистав интернет я для себя понял что в случае неудачи, выход ЭБУ из строя маловероятен и перепрошивкой все можно поправить. Это только мое мнение!

Выбор большой, есть много разных проводов и ПО. От 300р на до бесконечности. Что выбрать ?

EML — Выводит показания Большого числа датчиков и способен сбросить ошибки. Цена копейки, в дороге пригодится.

BMW scanner — удобный и понятный интерфейс, выводит пробеги с разных блоков, все кодирование сводится к проставлению галочек. По в комплекте. Цены, в зависимости от версий, от 1500р на Ebay.

BMW INPA K+DCAN OBD (USB) — может все, работает с дилерским ПО. По в комплекте. Цены от 2000р на Ebay

1. ELM327 WiFi. Самый бюджетный вариант. Если достаточно читать двигатель и то не весь, только по OBDII — то достаточно ELM327. Знаю около десятка варианта исполнения адаптера. Самый удачный в маленьком корпусе с кнопкой отключения питания — высота его около 2 см из диагностическог разъема.

Читайте также:  Не работает плагин headdatabase

1а. iOBD2 от XTools (важно не спутать с подделкой на него — iOBD). Чуть дороже варианта 1. Функционал похож, но качество исполнения устойств лучше и есть родная бесплатная руссифицированная очень хорошая программа под него в AppStore iOBD2.

2. iOBD2 BMW от XTools. Внешне адаптер аналогичен варианту 1а, по функионалу он же + диагностика по заводским протоколам других систем BMW. Статистики по нему мало. Продукт очень свежий, но интересный. По сути активировать его стало можно только с августа. Сегодня проверял на е39 — большинство систем взял, читает и сбрасывает ошибки, показывает реальные данные по авто.

3. iDiag от Launch (есть вариант как для IOS, так и для Android). Сканирует все системы. Нет рюшечек в виде красивых цветных шкал и прочего, но как диагностический прибор самый серьезный из рассмотренных. Поскольку выпускается известным и крупным производителем диагностического оборудования и по сути аналог Launch X431 Diagun или Master для простых пользвателей. Выходят постоянные обновления, есть русский язык. Как дополнительный бонус можно AppStore купить софт для нескольких марок автомобилей (например если в семье есть BMW Mersedes и Rover, то можно купить ПО для этих трех марок).

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

Зачем нам просто и быстро ? Нужно много и интересно ). Выбор пал на BMW INPA K+DCAN OBD (USB).

Почитав описание в интернете, понял что качество разное. Заказ из Китая отпал, хотелось в случае проблем изливать свои проблемы в конкретные уши. Как устанавливать кучу хитрого ПО непонятно, необходим человек который просветит тебя на этом пути и он должен быть продавцом. Выбор пал на интернет-магазины с гарантией, инструкциями в комплекте и отзывами в которых магазин оказал помощь нуждающимся.

Берем ноут и начинам ставить все по инструкциям. На удивление все соответствовало инструкции и закончилось без проблем. Идем к машине и тут начинаются залежи «подводных камней.»

ПО видит кабель, но не видит машину. Проверил описание товара в магазине. Все верно, нужный кузов имеется.

Почитав интернет, понял что разъем надо дорабатывать. Описание было туманным. Рисковать не стал. Звонок в службу спасения интернет-магазина. Описание симптомов и диагноз получен. Нужно было замкнуть 7-8 контакты. Информация в интернете подтвердилась и стало немного спокойней. Продавец не уточнил год машины и продал стандартный провод. Для подключения X3 от 2007 года, замыкать ничего не надо. Мне было предложено приехать и поменять провод. «Универсальность!», — подумал я и сделал все сам, не разбирая разъема.

Замыкать в машине мне показалось неправильным и я замкнул штырьки на проводе. Отмерил расстояние между штырьками, нашел похожий предмет и сделал, вокруг него, медное колечко из тонкой жилки толстого многожильного провода. Колечек пришлось сделать несколько, что бы они с маленьким натягом наделись на 2 штырька.

Ура! все работает.

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

Необходимо правильно настроить профиля.

Там же есть готовые профиля. Но профиль MANUAL надо отредактировать. В профиле поставить брать данные из CVT, а не из файла. Иначе будет ругаться при записи данных. В каталоге .NCSEXPER\WORK должен быть файл FSW_PSW.MAN иначе при нажатии F6 программа будет ругаться на этот файл. Для этого создадим пустой файл TXT и переименуем в FSW_PSW.MAN.

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

В ЭБУ есть конфигурация которую считывает NCS Expert и записывает в файл FSW_PSW.TRC Он открывается блокнотом и представляет собой список параметров и значением вкл\выкл (На немецком языке).

Количество параметров зависит от кода FA. Код FA это закодированная комплектация автомобиля содержащий всю информацию о том, что в машине есть. FA находится в приборке AKMB и блоке света ALSZ. Это файлик со строчкой, в которой указаны все номера опций, разделенные символом «$». С помощью FA можно закодировать ЭБУ или все блоки с настройками по умолчанию для вашего списка опций. Для этого вы должны выполнит процесс кодирования с пустым файликом FSW_PSW.MAN

Прежде чем кодировать, сохраните исходники.

Ниже описан общий процесс кодирования для любого блока. В примере мы получаем данные из блоков, переименовываем и сохраняем в надежном месте. После чего правим конфигурацию и записываем обратно в ЭБУ.

1. Запускаем NCS

2. Выбираем профиль мануал

3. Нажимаем F1 потом F3 в открывшемся окне выбираем кузов и нажимаем ОК

в открывшемся окне выбираем от куда будем считывать FA нажимаем ОК

у машин с FA он находится в приборке AKMB и блоке света ALSZ

4. Нажимаем F6 Назад

5. нажимаем кнопку F4 «Выбор ЭБУ». Появится список доступных для кодирования ЭБУ

(необходимо считать данные из главного блока GM5 и тех блоков которые вы собираетесь кодировать.)

6. выбираем блок GM5 в списке и нажимаем ОК.

7. видим что для кодирования выбран GM5, Дальше 2 пути можно просто нажать кнопку F4 «Читать ЭБУ», либо 8. нажать F5 «Базовые функции» и в списке выбрать coapiReadSgGetFswPsw. После чего в папке .NCSEXPER\WORK создается файлик FSW_PSW.TRC, копируем в другую папку для сохранности и переименовываем FSW_PSW_GM5.TRC. Вы сможете дома, не спеша, посмотреть настройки, и подготовить файлы для записи в блок.

9. нажимаем кнопку F4 «Выбор ЭБУ». и повторяем операцию чтения для других блоков, которые собираемся кодировать. После чего в папке .NCSEXPER\WORK создается файлик FSW_PSW.TRC с данными из нового блока, копируем и переименовываем.

10. В папке .NCSEXPER\WORK блокнотом открываем файлик FSW_PSW.TRC ищем нужный нам параметр, меняем его значение и сохраняем файл с расширением .MAN (FSW_PSW.MAN)

11. Возращаемся в NCS и проверяем что JOBNAME =SG_CODIEREN, если нет, то меняем через кнопку F2 «Смена операции» нажимаем кнопку F3 «Кодировать ЭБУ». Начнется процесс кодирования ЭБУ. Если все прошло успешно появится надпись «Кодирование ОК».

Все кодирование закончено.

В ключах и в машине, есть память. На каждый ключ можно закодировать различные функции. Настройки зеркал и сидений, работу ЦЗ и т.д. Логично предположить что данные настройки будут преобладать. Поэтому я рекомендую начать кодировать с этого места, если нужный параметров вы не найдете, тогда искать их в соответствующих блоках. Еще 1 большой плюс, что тут указываются возможные варианты значений и какой вариант используется по умолчанию. Это очень удобно.

Кодирование Память ключа и машины:

На прилагаемом диске, в инструкциях есть файл CARKEYMEMORY.pdf с описанием параметров на большое количество кузовов.

1. Загружаем наш профиль CAR KEY MEMORY( «File»-«Load Profil»)

2. Считываем данные на машину. Для этого нажимаем кнопку F1 «VIN/ZCS/FA»

3. Нажимаем кнопку F3 «ZCS/FA из ЭБУ» . Выбираем кузов

и откуда считываем кодировочные данные, выбираем EWS

4. нажимаем кнопку F6 «Назад»

5. появилась кнопка F5 «CKM», нажимаем

попадем в меню памяти авто и ключей, видим список ключей, доступные функции и параметры

6. нажимаем кнопку F1 «Считать», в параметрах появляется символ I, он указывает на активный параметр. Символ S указывает на параметр установленый на заводе по умолчанию. Посмотрим на примере опции плавного затухания света в салоне. Активный параметр стоит в aktiv и по умолчанию в том же положении.

7. Если хотим отключить плавное затухание, выбираем nicht_aktiv и нажимаем F2 «Изменить». И для сохранения изменений F4 «Передать».

Нижу будут только параметры и значения. Вам нужно прочитать нужный блок, изменить параметры в файле FSW_PSW.TRC, переименовать его в FSW_PSW.MAN и записать обратно в бок.

По инструкции сохраняем файлики с исходной конфигурацией для блоков AKMB и ALSZ

Выбираем профиль мануал

Нажимаем F1 потом F3 в открывшемся окне выбираем кузов и нажимаем ОК

в открывшемся окне выбираем от куда будем считывать FA нажимаем ОК

у машин с FA он находится в приборке AKMB и блоке света ALSZ

шифр считался нажимаем F2

В окне ввода VIN нажимаем ОК

Появляется окно ввода опций.

В этом окне видим список, уже существующих опций в авто.

1. Для добавления новой опции вписываем ее в верхней строке так $861

2. Нажимаем кнопку Add

3. Опция добавляется к общему списку.

Для удаления опций выбираем ее и нажимаем кнопку Del на клавиатуре.

Нажимаем F6 Назад

Нажимаем F4 выбираем ЭБУ блока света в который записываем FA

Нажимаем F2 Смена операции. Выбираем FA_WRITE(записать FA) нажимаем ОК

Нажимаем F3 запись FA в ЭБУ.

Нажимаем F1 выбираем блок приборки АКМВ и повторяем операцию записи FA для ЭБУ приборки.

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

чтоб заработали измененные параметры после кодирования нужно выключить зажигание на несколько секунд.

Программное отключение мата присутствия пассажира.

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

ОС3_1 -мат присутсвтия(америка)

OC3_2 -мат присутсвтия(америка)

SBE1_1 -мат присутсвтия

SBE1_2 -мат присутсвтия

ERKENNUNG_SITZBELEGUNG_1 Проверка мата присутствия

ERKENNUNG_SITZBELEGUNG_2 Проверка мата присутствия

Сообщение о не пристегнутом ремне безопасности.

Блок приборки AKMB

mit_gurtschlosskontakt данные из замка ремня (Светится на приборки беременный мужик)

ohne_gurtschlosskontakt определяет без замка руля (не будет светится)

AKUSTIK_GURT_WARN Звуковое предупреждение

Комфортное это закрывание всех стекол и люка.

KOMFORTOEFFNUNG -комфортное открывание

KOMFORTOEFFNUNG_FB -дистанционное комфортное открывание при удержании кнопки ЦЗ на ключе

KOMFORTSCHLIESSUNG -комфортное закрывание

KOMFORTSCHLIESSUNG_FB -комфортное закрывание при удержании кнопки ЦЗ ключа

BEIKLAPP_B_KOMFORTSCHL_GM Складывание зеркал с пульта

BEIKLAPPEN_GM Складывание зеркал с ключа

Ниже параметры лучше сделать в памяти ключа. Так как нужно будет активировать показания скорости для каждого ключа

VERRIEGELN_AUT_AB_X_KMH — автоматическое запирание ЦЗ после Х км/ч

VERRIEGELN_AUT_MACH_2_MIN -автомаическое запирание после 2 минут. Если дверь не открылась.

VERRIEGELUNGSSCHWELLE -запирание ЦЗ на скорости(параметр Х)

VERRIEGELN_XKMH_SENDER_1 Цифра — номер ключа, активирует показания скорости для ЦЗ после Х км/ч

HECKKLAPPE_ENTSICHERN -открытие багажника дистанционно

ZUENDSCHLUESSEL_WARNUNG — включение гонга и текста на приборке если при выключенном зажигании и открытой двери ключ зажигания оставлен в замке

ZV_SELEKTIV — избирательное открытие ЦЗ, при открывании центрального замка открывается только водительская дверь

ENTSICHERN_CENTERLOCK — кнопка ЦЗ работает, когда двери заперты и ключ не в зажигании.

Также можно закодировать звуковое и визуальное подтверждения закрытия ЦЗ. Кодируется в памяти ключа и машины и в инструкции Активация штатной сигнализации.

Перевод единиц измерения из usa в европейские.

В CARKEYMEMORY — Кодирование Память ключа и машины

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

ZEIT_EINHEIT -формат времени 12 или 24 часа

Источник

Кодирование со смыслом, часть 3. BMW 6 series

Завсегдатай

В прошлых частях мы научились читать и понимать trace-файлы, как человекопонятные (FSW/PSW), так и не очень (NETTODAT).

Обе прошлые части были посвящены теории, а в этой мы наконец займёмся практикой. Причём, сначала сделаем всё руками, а потом воспользуемся более удобными средствами.

Выходим за рамки дозволенного

Все доступные варианты значений параметров описаны прямо в кодировочном индексе. Но что делать, когда нужно задать какое-то произвольное значение, которое отсутствует в списке доступных?

Возьмём наш уже любимый индекс FLA_E60.C05. Есть там парочка любопытных параметров:

Описание параметров гласит, что они отвечают за минимальную скорость, которую нужно достичь, чтобы включилась функция FLA и минимальная скорость, при которой функция отключается.

У обоих параметров есть по два варианта значения, для GESCHWINDIGKEIT_AUFBLEND(скорость активации) это 50 км/ч для всех стран кроме США (wert_01, условие !US) и 30 км/ч для США (wert_02, условие US). Для GESCHWINDIGKEIT_ABBLENDEN варианты 38 и 20 км/ч соответственно. Т. е. в штатах пороги заметно ниже и можно ехать с дальним медленно.

Параметры скоростей активации/деактивации FLA

Получается, если ваша машина предназначена для рынка Европы, то разогнавшись до 50 км/ч, у вас активируется режим FLA и при отсутствии встречных источников света, будет включен дальний свет. Если скорость движения после активации упадёт ниже 38 км/ч, функция FLA, а вместе с ней и дальний свет, будут деактивированы вне зависимости от условий окружающей среды.

А что если мы хотим задать свои скорости активации? 50 км/ч может быть весьма высокой скоростью для движения по чудесным дорогам России, а дальний свет ой как нужен. В принципе, доступные для американского рынка значения в 30 и 20 км/ч включения/выключения удовлетворят большинство желающих. В этом варианте нам достаточно сменить выбранные значения с wert_01на wert_02 в обоих параметрах и закодировать блок.

А что если мы хотим, к примеру, 40 и 30 км/ч? Нет ничего невозможного.

Само собой, при выборе значений надо руководствоваться здравым смыслом и понимать, что скорость активации FLA должна быть выше скорости деактивации. Иначе функция в принципе не будет работать, либо будет, но при скоростях не ниже минимальной. Скорее всего алгоритм в ЭБУ такой, что он не проверяет постоянно эти условия и функция вообще не будет работать в случае если скорость активации меньше скорости деактивации.

Обратите внимание, что каждому параметру выделен 1 байт (длина 01 байт и маска FF) целиком на хранение значения. Первый параметр имеет адрес 00300202h, второй — 00300203h. С прошлых частей мы ещё знаем, что wert_01 и wert_02 являются лишь текстовыми обозначениями некоторых наборов данных, которые будут записаны в блок, в зависимости от того, что будет указано, wert_01 или wert_02.

Всё просто, байт на один параметр, следующий на другой. Осталось разобраться, что именно туда записывается. Обратите внимание на текст в квадратных скобках сразу после пояснения к параметру:

Этот текст указывает на формат хранимого значения. Разумеется все данные записываются в hex-виде, т. е. в виде последовательности байт. В данном случае вообще элементарно: десятичное значение записанного байта и есть скорость. 50 км/ч в hex-виде соответствуют числу32h (см. поле Data на скриншоте выше).

Волшебная кнопка HEX-DEC переводит все поля с данными из hex-вида в десятичный и наоборот. Также мы помним из прошлой части, что если на этой кнопочке кликнуть правой кнопкой мыши, то там будет доступно и бинарное представление. Но в данном случае этот режим нам не нужен.

Результат переключения режима HEX-DEC:

Вот и искомые 50 км/ч и диапазон значений от 0 до 255 (0 . . 255).

Теперь наша задача изменить значения параметров на произвольные. Как вы можете понять, ввиду того, что в кодировочном файле нет нужных вариантов значений, нам нужно задать эти значения вручную.

В этом нам и поможет тот самый NETTODAT-файл. Итак, мы выбрали профиль, подключились к машине, прочитали комплектацию (FA), выбрали нужный нам блок управления (в данном случаеFLA), прочитали и получили NETTODAT.TRC. Примерно так он выглядит:

Выделенные два байта и есть значения наших параметров GESCHWINDIGKEIT_AUFBLEND иGESCHWINDIGKEIT_ABBLENDEN: 32h (50 км/ч) и 26h (38 км/ч) соответственно.

Используя калькулятор в программистком режиме, мы переводим требуемые нам 40 и 30 км/ч в hex-вид, получаем: 28h и 1Eh. Таким образом, в NETTODAT файле выделенные байты превратятся из 32,26 в 28,1E. Меняем их и сохраняем файл как NETTODAT.MAN в той же папке NCSEXPER\WORK, т. е. рядом с NETTODAT.TRC:

В принципе, необязательно сохранять отредактированный файл отдельно, но для порядка всё же будем отделять мух от котлет по аналогии с FSW_PSW, где расширение TRC означает, что этот файл прочитан с машины, а файл MAN — файл, который будет использован для предстоящего кодирования (MAN = файл для манипуляций).

Переходим к процессу NETTODAT-кодирования. Оно не сильно отличается от обычного, за исключением того, что нужно нажимать немного другие кнопки. В окне NCS Expert нажимаем кнопку Basic functions, у нас откроется список базовых функций программы:

NCS Expert basic functions

Нужно выбрать команду coapiCodeSgByNettoData. В принципе, понятно что она делает:

— coapi… (кодировочное API);
— CodeSg… (закодировать ЭБУ, нем. «Steuergerät»);
— ByNettoData (через Netto Data, он же NETTODAT).

Симпл? Более чем. Выбрали эту функцию, нажали ОК. Следующее окошко спросит у нас, каким кодировочным индексом (CBD name) кодируем и из какого файла (Nettodatenliste) читаем данные:

Кодировочный индекс будет указан тот, которым мы читали блок, поэтому там ничего не меняем. Указываем наш сохранённый NETTODAT.MAN. Как я уже говорил, мы могли бы просто отредактировать TRC файл и использовать его, указав NETTODAT.TRC вместо NETTODAT.MAN, но лучше сохранять исходный файл на случай, если что-то пойдёт не так.

Нажимем кнопку ОК и если всё в порядке, процедура будет выполнена:

Мы записали произвольные параметры в ЭБУ! Теперь можно провести тест-драйв и убедиться, что всё работает как надо. Хотел было записать видео, но поленился

У этого способа есть некоторые особенности. Если значение параметра, которое записано в блоке, не соответствует ни одному из существующих вариантов в кодировочном индексе, NCS Expert пропустит этот параметр и не запишет его в FSW_PSW.TRC. Я не проверял, но теоретически в MAN-файле для кодирования необязательно указывать вообще весь список существующих параметров, если вам надо поменять только один. Т. е. в теории можно создать такой MAN-файл, в котором будет всего две строчки: параметр и значение. И далее выполнить обычную процедуру кодирования. Следом возможны два сценария: либо все остальные параметры сохранят свои значения, либо будут восстановлены к тем значениям, которые соответствуют текущему FA в NCS Expert (который, как мы знаем, можно не только прочитать из автомобиля, но и изменить по своему усмотрению на время кодирования или на постоянной основе). Читателям предлагается поэкспериментировать, естественно, предварительно сохранив исходные трейс-файлы.

Возвращаясь к произвольным значениям. NCS Expert при чтении блока пропустит параметр, значение которого ему неизвестно. Если при отсутствии параметра его значение будет сброшено, то при кодировании MAN-файлом на базе только что прочитанного трейс-файла можно потерять произвольное значение. К этому нужно быть готовым и при необходимости, повторно провести процедуру NETTODAT-кодирования.

Кроме того, несмотря на ту свободу, которую вам даёт NETTODAT-кодирование, а именно независимость от ограничений в кодировочном индексе, этот способ работает, к сожалению, не всегда. Не всякий ЭБУ поддерживает его или не всегда хочет кодировать, хотя обычное FSW/PSW кодирование технически мало чем отличается от NETTODAT, буквально одной дополнительной стадией — конвертацией текстового FSW_PSW в последовательность байт.

Вот, например я захотел задать произвольный интервал смены масла на Южанке через NETTODAT:

ЭБУ DME отказался принимать любой NETTODAT, даже свой собственный. Сослался на несоблюдение условий или неправильном порядке при выполнении функции c_c_auftrag. Условия могут быть любыми, начиная от необходимости включить зажигание, запустить двигатель или просто обеспечить поддержку питания автомобиля. Хотя вручную выполнение этой команды с VIN-номером и контрольной суммой выполняется. Ну да ладно, не хочет, значит не хочет.

Если вы при таком кодировании получаете аналогичнную или другую ошибку вместо успешного завершения, не спешите расстраиваться. NCS Dummy нам поможет решить проблему, причём даже более наглядно, чем ручное кодирование. Но даже в этом случае вы должны понимать, что и как записывается в блок и что вы делаете.

Развязываем руки с помощью NCS Dummy

У NCS Dummy есть одна уникальная функция: он позволяет редактировать кодировочные индексы! Не целиком, конечно же, но позволяет добавить к любому параметру новый вариант значения и использовать его при кодировании в NCS Expert.

Попробуем сделать тоже самое с параметрами скоростей, но уже более наглядным способом. Если у вас был загружен NETTODAT.TRC, то необходимо его выгрузить. Иначе программа будет добавлять произвольные данные в NETTODAT, а не в кодировочный индекс, ну т. е. тоже самое, что мы делали выше. Если был загружен FSW_PSW.TRC, его также надо выгрузить, иначе функция не будет доступна. Нас интересует вот это:

Всё что нам нужно сделать: дать название значению и указать данные, которое оно содержит. Данные задаются исключительно в hex-виде, вне зависимости от выбранного режима представления (двоичный, hex или десятичный). Если это последовательность из байт, то байты перечисляются через запятую.

Я назвал новое значение как wert_03, по аналогии с остальными, но можно туда вписать любое обозначение, какое вам нравится. В качестве данных (Data) я записал требуемую нам скорость в hex-виде, а NCS Dummy услужливо пояснил, сколько это в километрах. Меняя hex-цифры, вы можете подобрать нужное вам значение в километрах прямо на ходу.

Добавляем новое значение и во второй параметр:

Затем нам надо обновить наш кодировочный индекс, записать в него новые значения параметров. Делается это здесь (кнопка Module Functions):

После выбора этого пункта, NCS Dummy предупредит, что он обновит индекс, создав предварительно копию там же, в daten-файлах:

Нужно убедиться, что в настройках, в качестве источника daten-файлов у вас указана папкаDATEN из NCS Expert. В противном случае NCS Expert не увидит внесённые вами изменения и не сможет выполнить кодирование по вашему FSW_PSW. Отменить внесённые изменения после сохранения нового индекса нельзя. Это значит, что вы не можете удалить уже созданные варианты значений, поэтому если вы ошиблись, то вам нужно восстанавливать файл индекса и повторять процедуру заново.

После перезагрузки новые параметры станут как родные:

Единственная разница, что у них нет условий применения, т. е. ни при каких вариантах FA эти значения не будут выбраны. Однако, загрузив FSW_PSW.TRC, ничего нам не мешает выбрать наши новые значения:

В процессе выбора

И далее выполнив экспорт в FSW_PSW.MAN, мы получим вот такой файл:

Как видите, здесь указаны wert_03 вместо wert_01 или wert_02.

Если вы редактировали кодировочный индекс из DATEN-папки самого NCS Expert, значит прямо сейчас вы можете взять и закодировать этот FSW_PSW.MAN в ваш блок и операция пройдёт успешно, в блок будут записаны те значения, которые вам необходимы. Можно наслаждаться новыми порогами срабатывания FLA

Однако вам нужно знать, что эти wert_03 знает только модифицированный вами кодировочный индекс! Если вы обновите свои daten-файлы с полной перезаписью, ваши изменённые индексы будут перезаписаны новыми и добавленные значения пропадут. Поэтому перед обновлениями делайте бекап изменённых индексов, либо повторяйте процедуру изменения индекса.

Также надо помнить, что если блок будет кодироваться где-то на другом компьютере, ваши значения могут быть перезаписаны на заводские и вам потребуется повторная кодировка.

Всем известный «хак» с включением видео в движении на CIC. Бог знает когда ещё это сделал, даже пояснил словами как именно, но на подробную инструкцию не потянуло. Исправляюсь:

Заключается хак в том, что в параметрах SPEEDLOCK_X_KMH_MIN_C0E иSPEEDLOCK_X_KMH_MAX_C0E, отвечающих за предельную скорость, при которой можно смотреть видео (3 км/ч для Европы по умолчанию), добавляются два новых значения с «FF» (без кавычек) в качестве данных. Т. е. FF = 255 км/ч (см. расшифровку данных после описания параметра).

В моём случае значение я назвал 255_kmh, по аналогии с остальными доступными вариантами. После кодирования с этими значениями, ваш CIC перестанет вам сообщать, что нельзя смотреть видео на ходу. Ну, до 255 км/ч как минимум

Кстати, если вашу машину будет кодировать какой-нибудь умелец, у которого аналогичным образом изменён кодировочный индекс CIC-а, в FSW_PSW.TRC при чтении блока в качестве значений этих параметров будет записано не 255_kmh, а то, что вписал в качестве названия значения сам умелец при редактировании собственного индекса. Это может быть непонятно, но вполне логично, ведь в блоке записано не название, а сами данные, т. е. FF. А уж в какой текст это значение преобразуется в трейс-файле зависит от кодировочного индекса на конкретном компьютере.

Долгожданный интервал замены масла!

Для начала стоит вспомнить чудесный файл E60AT.000. Есть там любопытные опции с обозначениями 8KX, где X от A до P, а идентификаторы опций начинаются на «SIA__». Любопытны там описания этих опций:

Оказывается, эти опции отвечают за интервалы проведения ТО, т. е. замены масла. И не только за километраж, а ещё и за период. Если отфильтровать список индексов (или «модулей» по версии NCS Dummy) по какому-нибудь из идентификаторов этих опций, то список оставшихся будет весьма невелик: ME17.C12 и C13, MSD80.C18, MSD80N43.C1A и MSV80.C0D. Все эти индекса — от блоков управления мотором, но как-то маловат списочек, правда? И дизельных (DDE*) нет в списке.

В общем, как выяснилось, весьма небольшое количество индексов имеют параметры, завязанные на эти опции. Например, в индексе MSV80 (этот вроде для двигателя N52K или N52N, т. е. на рестайл E6x) только последняя его ревизия за номером C0D в принципе обладает параметромOELWARTUNGSINTERVALL_NEU (или просто OELWARTUNGSINTERVALL), отвечающим за частоту проведения ТО. И там тьма доступных значений:

Тут у нас сразу расшифровка написана. Значение параметра занимает сразу два байта: первый байт отвечает за дистанцию, второй за количество недель. Первый байт нам надо умножить на 256, чтобы получить значение в километрах. И, соответственное, поделить нужные нам километры на 256, чтобы знать, что вписывать. Правда, ваш километраж должен быть кратен 256, т. к. нецелые числа не допускаются.

Чтобы узнать, какой индекс соответствует вашему мотору, необходимо в NCS Expert выбрать блок NXMOT, где «N» — количество цилиндров, а «X» — тип мотора («B» — бензиновый или «D» — дизельный). Хотя в некоторых случаях блок мотора называется иначе, но наверняка название начинается с цифры. В моём случае двигатель V8 бензин, значит блок в NCS Expert будет называться 8BMOT. Этот блок нужно прочитать (Read ECU) и в последней строчке в окне NCS Expert будет написаны имена файлов, использованных для чтения блока, первый из них и будет индексом вашего двигателя. В общем, об определении индекса, соответствующего блоку, я писал ещё в прошлых частях.

Если вы счастливый обладатель N52 (6BMOT в NCS Expert) с индексом MSV80.C0D и вы вдруг по какой-то причине не нашли среди 33 доступных вариантов интервалов подходящий, расскажу ниже как вам получить желаемое. Если же вы не совсем счастливый обладатель N52 с индексомMSV80, но более древним номером, то сначала рекомендую обновить прошивку до свеженького, чтобы появился параметр. Если вы не хотите обновлять или вам совсем не повезло и параметра периодичности ТО у вас нет ни в одном из индексов вашего двигателя, не стоит печалиться, до вас доберёмся в следующей части.

Что касается счастливчиков, то, допустим вы хотите менять масло раз в 7 000 км или не реже чем раз в полгода. Т. е. ничего из доступных вариантов вам не подошло. Окей, считаем:

7 000 км / 256 = 27,34375

Но в блок мы можем записать только целое число, т. е. либо 27 (1Bh), что соответствует 6 912 км (27 * 256), либо 28 (1Ch) = 7 168 км (28 * 256). На самом деле мозги это дело округлят до чего-нибудь круглого, типа 6900 или 7000 км, но во втором варианте 7000 куда более вероятные, поэтому выберем 28, а точнее 1Ch.

С первым байтом разобрались, со вторым проще, это просто количество недель. В году у нас чуть более 52 недель, стало быть 26 (1Ah) недель и есть нужные нам полгода.

Итого новые данные для нашего значения: 1C,1A

Осталось забить это в наше новое значение:

Я назвал его 7000km_26w, просто и наглядно. Кстати, в перечисленных вариантах я не видел 26 недель в качестве полугодичного ТО. Там есть варианты 20 недель, 40, потом кратные 24 (48, 96) и наконец начиная с 50 и прибавляя по 25 (т. е. 75 и 100). В неделях это выглядит странновато, но в целом если смотреть описания к опциям из E60AT.000 и значения, которые этим опциям соответствуют, то видно, что в целом очень похоже, что второй байт всё-таки отвечает за количество недель, пусть и с некоторой погрешностью относительно реальных недель. Ну не суть важно.

Далее уже проводим стандартно обновление кодировочного индекса, читаем наш блок управления, правим FSW_PSW, выбирая наше новое значение, сохраняем как MAN, кодируем. В общем, обычный процесс кодирования. Вуаля, готово!

Надо дать машине уснуть (всё выключить и подождать 10-15 минут) или усыпить принудительно, а затем на экране ГУ вы увидите новые цифры до следующего ТО. Учтите, что при выводе остатка уже пройденное с момента сброса интервала расстояние и время будут учтены, поэтому если вы сильно сократите интервал, машина вам может заявить, что вы «проспали» ТО.

Что же до Южанки, то в её EK9282.C22 у параметра OELWARTUNGSINTERVALL доступно 6 вариантов значений, а по факту из них 5 и 6 соответствуют 3 и 4, только они без условий. И вот вариант в виде wert_03 (он же wert_05) с интервалом в 10240 км и 40 неделями меня вполне устроил, его и закодировал. Хотя, в данный момент, в ожидании приезда специалиста, до января мне пришлось откатить параметр обратно на wert_02 (20 480 км и 80 недель), что соответствует опции S984A (SIA_INTERVALL), прописанной с завода. Это нужно, чтобы машина не звала меня на ТО, т. к. уже начала это делать (я проехал на масле все 13 000 км). Я, конечно, просто мог сбросить счётчик, но тогда это запишется в блоке, а реальной замены масла не будет. Не буду же я при ремонте ещё раз сбрасывать интервал? Вот и причина

Позднее поменяю на более подходящие 10 240 и 52 недели, но сначала ремонт.

В следующей части мы обратим внимание на страдальцев, у которых вообще нет параметра с этим интервалом, правда мне нужен доброволец.

Источник

Оцените статью