Tool32 bmw инструкция на русском

Всем доброго времени суток!

В данной записи, хочу познакомить Вас с программой ToolSet32(далее Tool32), точнее даже не познакомить, так как многие о ней наверняка знают, а провести краткий курс работы с программой, краткое руководство, принцип работы, некоторые особенности и функции программы.
Программа Tool32, входит в состав BMW Standard Tools, включая комплекс Ediabas. Все знают что данный комплекс, является связующим интерфейсом между машиной и диагностическим ПО. Как установить и где скачать BMW Standard Tools, какие адаптеры для этого нужны, я рассказывать не буду, так как этой информации валом в интернете. Скажу одно, что всем, кто хочет работать с ЭБУ BMW этот комплекс обязателен. В его состав входят такие программы как INPA, NCS Expert, WinKFP ну и соответственно Tool32, о последнем и будет речь, так как с остальными более менее всем понятно.
Tool32 это по сути программа для низкоуровневого взаимодействия с блоками управления автомобиля.
Собственно вот она:

Фото в бортжурнале BMW 5 series (E39)

Tool32

Многие из нас, игнорируют данную программу, в принципе и правильно делают) Так как неосознанные и без понятия действия, могут привести к непредсказуемому результату и неудачным последствиям. Тыкать на абум с этой программой не прокатят, в данном случае надо знать и понимать что делаем и какой будет результат. Ну да ладно, у нас краткий курс и руководство, поэтому не будем отходить от темы.
Для работы в Tool32 требуются SGBD-файлы (SGBD = Steuergerätebeschreibungsdatei). Это файлы, которые описывают доступные функции и параметры этих функций в конкретных блоках управления. Изначально Tool32 была придумана как отладочная программа для разработчиков диагностического ПО.
SGBD-файлы имеют расширение .PRG. Как правило любой диагностический софт использует их, чтобы работать с блоками управления, те же ISTA/P и Rheingold. И даже INPA, которая на самом деле является интерпретатором скриптов (IPO), использующих функции из SGBD-файлов для получения результата и вывода его в виде таблиц или изображений. В том числе и многочисленные утилиты, созданные программистами.
С помощью Tool32 можно открыть SGBD-файл, увидеть список доступных функций (или методов, в терминологии программирования), вызвать их, передав необходимые параметры (если есть) и получить результат выполнения. Точно такие же результаты, но оформленные в более читаемом виде, вы получаете при использовании любого диагностического ПО. Проще говоря, диагностировать что-либо можно даже с помощью одного только Tool32, конечно если позволяет опыт и навыки.

Программа кстати, может работать в тестовом режиме, конечно, какие либо данные с блоков по авто Вы не получите, но, набраться опыта и поучиться работать с программой, работой с файлами вполне. Чтобы активировать тестовый режим, нужно запустить Tool32 (если у кого при установке комплекса программ, не создался ярлык запуска Tool32, то файл для запуска при стандартной установке комплекса, программы находится по пути c:EDIABASBinTool32.exe), далее зайти во вкладку «Configuration», далее выбрать «Ediabas», и поставить галочку в строке «Simulftion», вот так:

Фото в бортжурнале BMW 5 series (E39)

Тестовый режим Tool32

Краткое руководство по работе с файлами и программой, Вам поможет так называемый FAQ, файл Tool32_E.chm, который находится по пути c:EDIABASBinTool32_E.chm, если кто хочет скачать отдельно, вот ссылка (265 Кб). Вот как выглядит FAQ:

Фото в бортжурнале BMW 5 series (E39)

Tool32_E.chm

Советую изучить и ознакомиться.
Так как Tool32 работает с файлами SGBD, нам нужно научиться определять и выбирать его правильно. Прежде всего, нам понадобятся файлы SP-daten для кузова с которым хотим работать, эти файлы можно скачать на просторах интернета (я уже приводил ссылки в прошлых записях). На примере своего BMW (е39), я покажу и расскажу как правильно выбрать необходимый файл, в принципе с другими кузовами технология та же. Нам понадобится файл E39SGFAM.DAT, который находится в папке «daten», открываем его текстовым редактором, получаем:

Фото в бортжурнале BMW 5 series (E39)

В этой таблице перечислены имена блоков управления и соответствующие им имена CABD- и C_SGBD-файлов. CABD = Codierablaufbeschreibungsdatei, скрипт того же формата (IPO), что применяется в INPA, но предназначен для процедуры кодирования блока управления (они часто используются одни и те же, ввиду одинаковости процедуры), а C_SGBD — SGBD-файл с функциями кодирования блока. Вот эти самые C_SGBD нас и интересуют. Например если я ищу файл приборной панели е39, то смотрим KMB получаем имя C_KMB, вот собственно именно с этим именем файл SGBD нам необходимо открыть в программе Tool32.
Сам по себе E39SGFAM.DAT не совсем точен, т.к. предполагает только один вариант CABD-/C_SGBD-файлов на конкретное имя блока, тогда как с выпуском новой прошивки могут потребоваться другие.

Приступим к работе, необходимо подключить адаптер к машине, включить зажигание. Имя файла SGBD-файла нам известно, поэтому открываем Tool32, далее «File -> Load SGBD, Group file» и идём в папку C:EDIABASecu (скорее всего диалоговое окно откроется сразу в этой папке), ищем там «C_KMB.PRG» и открываем:

Фото в бортжурнале BMW 5 series (E39)

Начало работы
Фото в бортжурнале BMW 5 series (E39)
Выбор требуемого файла интересующего нас блока

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

Итак, после открытия файла, Вы увидите кучу открывшихся окошек, это хорошо, так и должно быть, это означает, что связь с машиной установлена, если же никаких окошек нет, то проверяйте настройки Ediabas, либо верно выбранный SGBD-файл.
Из всех открывшихся окошек нас интересуют лишь три: Select Job: название модуля (список функций), Job-Info (подсказка по функции/её параметрам), ну и конечно же Results. Остальные окошки можно свернуть.
При выборе нужной строки одним кликом (одним нажатием), в окошке Job-Info Вы получите пояснения на данную операцию, например:

Фото в бортжурнале BMW 5 series (E39)

Пояснение выполняемой операции

При выборе строки двойным кликом, данная операция будет выполнена, поэтому всё же рекомендую для запуска использовать клавишу F5, ну и предупрежу, строго запускайте операции, в которых Вы имеете понятие, что будет сделано в итоге, окошко Job-Info, так как здесь содержится информация о функции, её параметрах, формате данных и результатах, которые мы получим в результате выполнения данной функции, причем Google-переводчик совместно с этим окошком даст возможность разобраться что выполняет та или иная операция.
Я думаю с этим более менее разобрались, теперь я приведу пример выполненных операций с блоками своей е39, сразу прошу заметить, что в блоках свежее, может быть больше операций.
Раз уж открыли файл функций блока приборной панели (KMB), то например строка c_zcs_lesen, даст нам информацию о шифре ZCS, записанным в приборку:

Запчасти на фото: A00453, N0010, 40080000. Фото в бортжурнале BMW 5 series (E39)

c_zcs_lesen

Строка c_fg_lesen, даст нам информацию о номере кузова:

Запчасти на фото: A00242. Фото в бортжурнале BMW 5 series (E39)

c_fg_lesen

Строка ident, даст информацию о блоке приборки:

Фото в бортжурнале BMW 5 series (E39)

ident

Строка sia_reset файла приборной панели, позволит нам сбросить сервисный интервал.

Считали так же информацию о номере кузова с блока EWS:

Запчасти на фото: 15A001. Фото в бортжурнале BMW 5 series (E39)

c_fg_lesen

Далее откроем файл SGBD функций ЭБУ DME, т.е. нашего ДВС, для этого откроем файл с именем MS411DS1.PRG, видим что строк операций значительно больше:

Фото в бортжурнале BMW 5 series (E39)

MS411DS1

Считали информацию по ЭБУ операцией info:

Запчасти на фото: TI433, MS411. Фото в бортжурнале BMW 5 series (E39)

info

Посмотрели номер запчасти ЭБУ DME, марку ДВС и тд тп выполнив операцию ident:

Запчасти на фото: 00010001. Фото в бортжурнале BMW 5 series (E39)

ident

Посмотрели ошибки неисправностей ЭБУ ДВС, выполнив операцию fs_lesen:

Запчасти на фото: 780410. Фото в бортжурнале BMW 5 series (E39)

fs_lesen

Считали номер ISN для EWS, воспользовавшись операцией isn_lesen:

Фото в бортжурнале BMW 5 series (E39)

isn_lesen

Если обобщить то строки имеющие слово lesen позволяют нам считать различного рода информацию с ЭБУ (пример я привел выше), строка info позволяет нам получить информацию о ЭБУ соответственно (маркировка, версия), строка ident позволит нам узнать номер детали ЭБУ, дату выпуска, маркировку ДВС и тд, !далее очень внимательно и аккуратно!, строки с словом loeschen произведет сброс каких либо данных ЭБУ, например строка adapt_loeschen в блоке ДВС, произведет сброс всех адаптаций, строка fs_loeschen удалит все неисправности из памяти ЭБУ ДВС, строки со словами checksumme говорят о работе с контрольной суммой ЭБУ, строки с словом schreiben произведут запись данных в ЭБУ (с этой строкой будьте очень внимательны и аккуратны, выполняйте данную операцию с полным понятием того, что Вы делаете), строки с словом status дадут какую либо информацию, статус, значение, положение в режиме реального времени, например строка status_l_sonde даст нам информацию о напряжении лямбда зондов до катализатора, строки с словом steuern произведут запуск механизма, оборудования, например строка steuern_selbsttest_ein в блоке приборки, произведет запуск теста приборной панели, соответственно строка steuern_selbsttest_aus выключит тест приборной панели, строка со словом reset произведет перезапуск какого либо оборудования, механизма, например строка steuergeraete_reset в блоке приборки, произведет перезапуск приборной панели. Стоит так же упомянуть, что некоторые операции как например c_s_lesen в блоке приборной панели, описан формат единственного аргумента (параметра) функции. Называется аргумент BINAER_BUFFER (и имеет тип Data, т. е. надо ставить соответствующую галочку в поле ввода перед выполнение операции), в таких операциях как например steuern_selbsttest_ein (тест приборной панели) галочка Data соответственно должна быть снята.

Это так сказать простейшие операции для примера работы с файлами функций блоков автомобиля. Естественно функционал программы Tool32 на этом не ограничивается, точнее это самые простейшие операции по считыванию информации с ЭБУ, дабы по-ближе познакомиться с программой.

На данном этапе, знакомство наше с программой подошло к концу. Да и драйв2 нас ограничивает и намекает, что пора заканчивать) Дабы не грузить теорией в своем БЖ, хоть и связанной с работой ЭБУ BMW, следующие записи будут связаны непосредственно с моей е39, а уж потом продолжим наше обучение и работу с ЭБУ BMW. В следующих теоретических записях я познакомлю Вас с более сложными операциями Tool32, хотя эту информацию смогут осилить далеко не все, это по силу программистам, так как работать придется с байтами, калькуляторами для программистов и тд и тп.)

Еще раз повторюсь, все Вы делаете на свой страх и риск, и советую выполнять и работать с ЭБУ, только с полным осознанием, уверенностью и понятием, что Вы делаете.
Многую информацию, я черпал с форумов по работе с ЭБУ BMW, а так же спасибо за помощь в написании статьи MrPerfekt, и вам настоятельно рекомендую, подписаться на его блог, больше читать, изучать теории, а потом уже приступать к практике.
Лучшая благодарность за труд, это Ваши лайки, комментарии и репосты, хоть я и не напрашиваюсь)

Фото в бортжурнале BMW 5 series (E39)

Сила, Мощь, Динамика, Энергия…Не буду продолжать, все поняли о чем я)

Всем спасибо за внимание, до Скорых встреч!

В этой части речь пойдёт о ещё более глубоком погружении в тонкости кодирования автомобилей BMW. Как и прежде, речь ведётся конкретно о семействе кузовов E60 (соответственно это также E61 и E63/E64). Теоретически всё нижеописанное подходит и для остальных кузовов, разве что E65/E66 стоят несколько особняком. У них там своя атмосфера.

Все посты на тему кодирования не содержат списков конкретных действий типа «Нажмите сюда, потом туда, введите то, введите это и получите результат». Цель этих постов — научить читателя думать и понимать, чтобы он мог решать конкретные задачи самостоятельно без инструкций.

* * *

Сегодня мы поговорим о приборной панели. Каждую панель на заводе адаптируют под конкретный автомобиль, вставляют нужные шкалы, калибруют и кодируют. Функциональность приборной панели задаётся на заводе и последующему изменению формально не подлежит. Такими функциями «с завода», например, является бегунок круиз-контроля и работа стрелки под тахометром либо в качестве датчика мгновенного расхода топлива, либо указатель температуры масла на автомобилях с претензией на спорт или являющиеся таковыми.

3a731bas-960.jpg

Бегунок круиз-контроля (зелёный)

С круизом более-менее понятно: если машина вообще не оборудована круиз-контролем, то бегунок отключен. На кузовах серии E89 (т. е. все «трёшки» и подобные) так и вовсе существует два варианта приборных панелей: HIGH и LOW. В варианте LOW бегунок круиза, не берусь утверждать на 100%, вообще физически отсутствует.

С E60 попроще, там бегунок в приборке, как правило есть. Хотя, несмотря на то, что в ETK есть всего один вариант приборной панели без привязки к опции круиха, таки существуют панели, в которых бегунок физически отсутствует. В этом случае кодирование бесполезно.

В иных вариантах он есть, но может быть просто неактивен. Активен он у вас или нет, можно узнать с помощью так называемого «KI TEST». На данном видео бегунок активен:

Если бегунок у вас есть, значит круиз в принципе активен. Если же нет, то нужно экспериментировать.

ff318d6s-960.jpg

Нету бегунка

Допустим, вы всё-таки захотели оснастить свой автомобиль этим самым круиз-контролем, в варианте либо «S540A Система поддержания заданной скорости» (дорестайл), либо «S544A Система поддержания заданной скорости с функцией подтормаживания» (рестайл). Это довольно бюджетное дооснащение и в принципе нужно приобрести только ручку и пару кожухов рулевой колонки.

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

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

Вы наверняка слышали о кудесниках, которые за определённую мзду включали каждому желающему этот бегунок. Порядок цен не знаю, но думаю услуга по стоимости близка к стоимости самих запчастей для круиза. Так вот, я не знаю точно, как именно стало известно, как включить бегунок. Скорее всего изначально методом реверс-инжиниринга, путём сравнения дампов памяти (Википедия) приборных панелей с круизом и без него. Далее уже варианты, либо правился сам дамп, а потом заливался обратно в чип памяти, либо программным способом. Второй куда проще в плане того, что демонтировать приборную панель не надо, ничего разбирать, припаивать и отпаивать для чтения памяти тоже.

В публичном доступе информация о том, как самостоятельно выполнить такие изменения, я полагаю, впервые появилась здесь, её разместил житель Финляндии с ником ptikkala на Bimmerforums. Причём там же он привёл неизвестные строчки кода, которые описывают область памяти с заводскими настройками. Нечто подобное можно получить в NCS Dummy, выполнив дизассемблирование кодировочного индекса, но именно таких строчек в полученном текстовом файле вы не увидите. Просто потому что там нет такой информации.

Далее инструкция расползлась уже по сети, переведена на языки (например, здесь на русском) и т. д. Недостаток этой инструкции в том, что она описывает просто по шагам, что нужно делать. Но мы не знаем, что именно делаем и зачем. К примеру, контрольную сумму предлагается просто увеличить на единицу, но в общем случае так поступать нельзя. Работает это всё исключительно благодаря тому, что меняем мы как раз самый младший бит всей последовательности, который и влияет на контрольную сумму таким вот образом. Я попробую пояснить, что именно там происходит и как можно упростить этот процесс, а также попробуем минимизировать возможность допущения ошибки.

Работа с Tool32

56731bas-960.jpg

Tool32

Эту программу большинство обходит стороной и правильно делают, т. к. неразумные действия при работе с ней могут привести к непредсказуемым последствиям. Tool32 — программа для низкоуровневого взаимодействия с блоками управления автомобиля. Сама она идёт в составе комплекса EDIABAS, а с ним знакомы все, кто хотя бы занимается диагностикой BMW. Комплекс является связующим звеном (интерфейсом) между машиной и диагностическим ПО.

Для работы в Tool32 требуются так называемые SGBD-файлы (SGBD =Steuergerätebeschreibungsdatei, ох уж эти чёртовы немцы). Это файлы, которые описывают доступные функции и параметры этих функций в конкретных блоках управления (собственно, SGBD-файл). Изначально Tool32 была придумана как отладочная программа для разработчиков диагностического ПО.

SGBD-файлы имеют расширение .PRG. Как правило любой диагностический софт использует их, чтобы работать с блоками управления, те же ISTA/P и Rheingold. И даже INPA, которая на самом деле является интерпретатором скриптов (IPO), использующих функции из SGBD-файлов для получения результата и вывода его в виде таблиц или изображений. Я уже не говорю про многочисленные утилиты, созданные энтузиастами.

С помощью Tool32 можно открыть SGBD-файл, увидеть список доступных функций (или методов, в терминологии программирования), вызвать их, передав необходимые параметры (если есть) и получить результат выполнения. Точно такие же результаты, но оформленные в более читаемом виде, вы получаете при использовании любого диагностического ПО. Проще говоря, диагностировать что-либо можно даже с помощью одного только Tool32, если вы Рэмбо.

Выбор SGBD-файла

Сегодня мы работаем с приборной панелью, а значит блок управления у нас имеет название KOMBI. Осталось выяснить, какой именно SGBD-файл работает именно с комбинацией приборов. Определить это труда не составляет, ведь в Daten-файлах заложен кладезь информации на этот счёт. Если в первой части я рассказывал про файл E60AT.000, то теперь нам нужен другой файл, называется он E60SGFAM.DAT из той же папки daten, что и E60AT.000:

b2bb136s-960.jpg

E60SGFAM.DAT

В этой таблице перечислены имена блоков управления и соответствующие им имена CABD- и C_SGBD-файлов. CABD = Codierablaufbeschreibungsdatei, скрипт того же формата (IPO), что применяется в INPA, но предназначен для процедуры кодирования блока управления (они часто используются одни и те же, ввиду одинаковости процедуры), а C_SGBD — SGBD-файл для с функциями кодирования блока. Вот эти самые C_SGBD нас и интересуют и мы сразу видим во второй строчке наш KOMBI и соответствующий ему KOMB60.

Сам по себе этот E60SGFAM.DAT не совсем точен, т. к. предполагает только один вариант CABD-/C_SGBD-файлов на конкретное имя блока, тогда как с выпуском новой прошивки могут потребоваться другие. Это не касается непосредственно KOMBI (у него в любом варианте на сегодняшний день используется KOMB60), но касается других блоков. Рассматривать эту тему я сейчас не буду, т. к. это уже выходит за рамки сегодняшней темы. В будущем, возможно, пролью свет на структуру daten-файлов более подробно.

Начало работы

Необходимо подключить ваш настроенный интерфейс к машине, зажигание включать необязательно, достаточно включенного контакта R (т. е. работает радио/панель). Имя файла SGBD-файла нам известно, поэтому открываем Tool32, далее File -> Load SGBD, Group file и идём в папку C:EDIABASecu (скорее всего диалоговое окно откроется сразу в этой папке), ищем тамKOMB60.PRG и открываем:

50f31bas-960.jpg

Загруженный KOMB60.PRG

Если вы видите эту кучу окошек со списком функций, значит связь с машиной в порядке. Если нет, тогда проверяйте настройки вашего EDIABAS.

Из всех открывшихся окошек нас интересуют лишь три: Select Job: название модуля (список функций), Job-Info (подсказка по функции/её параметрам), ну и конечно же Results. Остальные окошки можно свернуть. Прежде всего ещё раз предупреждаю, что необдуманные действия могут привести к реальной порче техники, которую потом будет сложно и дорого восстанавливать, поэтому никогда не делайте ничего такого, чего вы до конца не понимаете.

Можно повыбирать разные функции в списке и посмотреть, какую информацию по ним показывает в Job-Info. Ни в коем случае не выбирайте функции двойным кликом, т. к. это приведёт к её запуску. Двойным кликом запускать функции могут только снайперы без тремора в руках, поэтому всё же рекомендую для запуска использовать клавишу F5, но сейчас ничего запускать не надо. Конкретно нас будет интересовать функция c_c_lesen, вот её и выберем.

Степ-бай-степ

Итак, что же это за магическая строка, которую мы передаём в качестве аргумента в функциюc_c_lesen? Любознательный гражданин найдёт ответ не где-нибудь, а непосредственно в той же Tool32, в окошечке Job-Info:

8f31bas-960.jpg

c_c_lesen Job-Info

Вообще, это крайне полезное окошечко, на которое можно и нужно обращать внимание, ведь именно в нём содержится информация о функции, её параметрах, формате данных и результатах, которые мы получим в результате выполнения данной функции. А наперевес с Google-переводчиком можно устранить недопонимания.

По c_c_lesen, как видим, описан формат единственного аргумента (параметра) функции. Называется аргумент BINAER_BUFFER (причём имеет тип Data, т. е. надо ставить соответствующую галочку в поле ввода), а в комментарии расписано, из чего он состоит:

Байт 0: Тип данных (01: Данные, 02: Маска данных)
Байт 1: (не используется) Разрядность (01: Byte, 02: Word, 3: Dword)
Байт 2: (не используется) Порядок байт (00: LSB, 01: MSB)
Байт 3: Адресация (00: Свободная, 01: Блочная)
Байты 4-12: (не используется)
Байты 13,14: Длина последовательности (младший/старший)
Байты 15,16: (не используется)
Байты 17,18,19,20: Адрес (младший/старший байт, младшее/старшее слово)
Байты 21,…: Последовательность
Байт 21 + длина посл.: ETX (03) (замыкающий байт)

Значения байтов, которые не используются, можно смело забивать нулями, а вот с остальными параметрами разберёмся. Хотя некоторую ремарку к описанию я бы сделал, относительно байта 2: в описании к нему несколько некорректное смешивание порядка бит (те самые LSB и MSB ипорядка байт), либо само описание неверно, либо описание значений. Впрочем, этот байт всё равно не используется.

Теперь взглянем по новому на те заклинания из инструкции на Bimmerforums, но для упрощения распилим первое заклинание на две части: до последовательности из FFh и всё остальное.

Итак, первая часть:

01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00

Здесь у нас приведены байты с 0 по 20 включительно. Жирным выделены как раз те байты, которые будут использованы функцией c_c_lesen. Единички в байтах 1 и 2 никакой роли не играют, туда смело можно было писать 00h. Зато остальное нам задаёт следующее:

Тип данных: 01 (Данные)
Адресация: 01 (Блочная)
Длина последовательности: 17 00
Адрес: 00 01 31 00

Не могу точно сказать, что именно подразумевается под типом «маска данных» (который 02h), возможно это какие скрытые данные, резервная копия или что-то в этом духе. В приборной панели работает исключительно тип 01h. Возможно, при записи неверных данных (с неправильной контрольной суммой, например), предварительно создаётся копия, которую можно потом прочитать. Не знаю, не разбирался.

Далее у нас идёт адресация. В режиме свободной (00h) адресации мне не удалось получить какой-нибудь вразумительный ответ. Зато режим блочной адресации работает прекрасно.

Длина последовательности. С ней надо слегка разобраться, как и с адресом. И что означают эти «младший» и «старший» в описании. Чтобы записать какое-то число в память, нужно определиться, в каком порядке вы будете записывать байты (если число занимает больше одного байта). Например:

Число: 48 860
hex-вид: BE DC

Как мы видим, число занимает два байта, младший из которых справа, точно также, как и младшие разряды самого числа. В память можно записать эти два байта либо как BE DC (так называемый Big-Endian порядок), либо DC BE (Little-Endian). В скобочках в описании к байту у нас как раз и написано, где младший, а где старший, стало быть запись «младший/старший» означает, что первым идёт младший бит или байт. Таким образом 17 00 в строке следует интерпретировать как 00 17 и это значит, что мы хотим прочитать 17h (23) байт.

Осталось разобраться с адресом, с ним чуть посложнее. Термин «слово» применительно к компьютерной архитектуре изначально означал величину в битах или байтах, равную разрядности процессора (см. Википедию), но последние лет 25-30 «слово» (word) означает 16-битное число, т. е. число, которое имеет значение от 0 (00 00) до 65 535 (FF FF) и оно занимает всегда два байта. Синонимом word-а является тип ushort (безнаковый short).

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

AABBCCDDh

То младшее слово будет CCDD, старшее — AABB. Согласно заданному порядку, нам нужно развернуть как байты в словах (младший/старший байт), так и сами слова (младшее/старшее слово) относительно друг друга. В результате мы получим вот такую запись:

DDCCBBAAh

Стало быть то, что записано в тарабарщине заклинания как 00 01 31 00 нужно интерпретировать вот так:

00 31 01 00

Сначала я поменял местами сами слова, получив соответственно 01 00 и 00 31, а потом развернул и сами байты. Наглядно:

acbb136s-960.jpg

Конвертация нормального адреса в адрес для использования в c_c_lesen. Сам рисовал :p

Сейчас эти преобразования запоминать не особо нужно, т. к. для работы с приборной панелью они в общем-то не нужны (в следующей части станет понятно почему), но могут пригодиться для работы с другими блоками.

Вторая часть заклинания:

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03

Можно не пересчитывать количество байт вида FFh, их ровно 23 штуки. Как раз столько, сколько мы хотим прочитать по заданному адресу. Я честно не знаю, зачем такой удивительный механизм придуман для чтения кодировочных данных, но вот он такой: передав N штук этих самых FFh и закончив последовательность замыкающим байтом 03h (он всегда равен этому значению), мы получим какой-то ответ. Замыкающий байт означает, что последовательность закончилась. К слову говоря, байты самой последовательности могут быть равны чему угодно (кроме 03h, разумеется), это не имеет значения.

Теперь заклинание полностью и без пробелов между байтами (так проще копировать и вставлять в строку аргументов):

010101010000000000000000001700000000013100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03

(ширина DRIVE2 не позволяет это всё в одну строчку отобразить)

Оно всего-навсего просит прочитать 23 байта по адресу 00310100h и выдать результат. Обратите внимание на адрес, в кодировочном индексе нет параметров именно с таким адресом или рядом с ним.

Напоминаю, что параметр BINAER_BUFFER функции c_c_lesen сам по себе имеет тип «data», исходя из описания. Поэтому не забываем поставить галочку Data. Пробуем (выполнение запускается однократным нажатием кнопки F5):

64f31bas-960.jpg

c_c_lesen Results (кодировочные данные выделены в редакторе картинок)

Получили результат! Или если не получили (ERROR_BIN_BUFFER в качестве ответа или другая ошибка), то всё проверяем, считаем байтики, пробуем ещё раз. Итого у нас в окне результатов есть строка CODIER_DATEN, содержащая всю ту писанину, что мы туда отправили, но вместо последовательности из FFh какие-то вполне конкретные байтики приехали:

CODIER_DATEN = 45 Bytes
0000 : 01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00
0010 : 00 00 01 31 00 E0 69 01 00 A0 00 18 01 90 01 08
0020 : 02 26 01 36 14 98 22 FB 30 5D 3F BC 03

ACHTUNG, POZOR, ВНИМАНИЕ: Обязательно сохраните в надёжном месте полученные исходные данные!

Выделим отдельно полученные данные:

E0 69 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F BC

Первый байт (E0h) является контрольной суммой для оставшихся 22. Теперь подглядим в тот кусочек исходного кода с Bimmerforums:

//3101’16 ACC_ZEIGER_VERBAUT 00000001b // Fuer ACC/Tempomat, ob der ACC-Zeiger vorhanden
// nicht_aktiv 0b // Basisvarinate, ACC-Zeiger nicht verbaut, kein ACC Betrieb
// aktiv 1b // Highvarinate, ACC-Zeiger verbaut

Ага, адрес байта 3101’16, а бит, отвечающий за ползунок круиза, в нём самый младший (крайний справа). По адресу 00310116h у нас как раз выходит последний байт BCh! Т. е. мы вычитали как раз тот блок с кодировочными данными, который и содержит необходимый байт.

Разложим BCh побитово:

BCh = 188 = 10111100b

Как видим, самый младший бит равен нулю — ползунок выключен. В инструкции нам предлагают увеличить число на единицу, но это реально будет работать только в том случае, если бит действительно равен нулю (т. е. число в десятичном виде чётное). Если же бит у вас установлен, число нечётное, то увеличение на единицу приведёт к непредсказуемым последствиям. Поэтому правильнее всего работать именно в двоичном режиме и проверять, установлен бит (равен единице) или нет.

Исправляем:

10111101b = BDh

Помимо этого бита за работу круиза отвечают ещё несколько (этого вам никто ещё не рассказывал):

Бит 0: ползунок вкл/выкл;
Бит 1: единицы измерения шкалы (0: километры, 1: мили);
Бит 2: установлен ли диод круиза (0: нет, 1: да). Актуально только для панелей с индексом 07;
Биты 3-5: не используются (все равны 1);
Биты 6-7: Квадрант нулевого положения.

Напомню, что биты считаются справа налево.

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

Бит за номером 2 в кодировочном индексе C07 (в более старых он всегда равен 1 и не используется) по идее должен активировать вот такую иконку:

Это интересно, но я никогда такого символа на приборных панелях E6x не видел. У меня этот бит установлен с завода (приборная панель уже была с индексом 07). Однако по имеющимся у меня дампам с приборных панелей разных E60, этот бит ставят не всегда, например стабильно на российских E60 он равен 0. Отключение лампы никакого эффекта на отображение круиза не произвело, поэтому если хотите, можете бит установить, а можете оставить. Только нужно помнить, что если у вас он не был установлен (как и бит ползунка), то при установке двух битов контрольная сумму нужно специальным образом считать. Как это сделать я опишу ниже.

Не совсем ясна ситуация с квадрантом нулевого положения. Квадрант — это четверть круга. Двумя битами можно указать на любой из 4: 00b (1), 01b (2), 10b (3), 11b (4). В моём случае указан квадрант номер 3 (10b), у машины из инструкции — 4. В целом, по имеющимся у меня дампам приборных панелей различных кузовов, как с круизом, так и без, можно сделать вывод, что квадрант задан на заводе в любом случае и менять его не нужно.

Переходим к контрольной сумме. Как я уже говорил, в общем случае просто увеличивать на единицу нельзя. Чтобы правильно посчитать сумму, необходимо воспользоваться функциейc_checksumme, но для неё сначала надо составить аналогичное заклинание, но уже содержащее кодировочные данные вместо колбасы из FFh. Т. е. вот так:

010101010000000000000000001700000000013100E0690100A000180190010802260136149822FB305D3FBD03

Т. е. я заменил все FFh на полученные с помощью c_c_lesen кодировочные данные, заменив последний байт BCh на BDh, но не изменял контрольную сумму, она по-прежнему равна E0h.

Теперь это заклинание нужно отправить в функцию c_checksumme:

6cf31bas-960.jpg

Не забываем поставить галочку Data

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

Осталось исправить контрольную сумму в нашем заклинании:

010101010000000000000000001700000000013100E1690100A000180190010802260136149822FB305D3FBD03

Всё, теперь можно записывать! Для этого есть функция c_c_schreiben:

6af31bas-960.jpg

c_c_schreiben

Если в поле JOB_STATUS мы видим слово OKAY, значит всё прошло успешно. Скажу сразу, эта функция не проверяет контрольную сумму, она запишет всё, что вы ей передали, как есть.

Осталось выполнить перезапуск приборной панели. Для этого есть функция steuergeraete_reset, но она ещё сбрасывает установленное время. Чтобы этого избежать, можно выполнить другую функцию, sg_reset_ohne_uhr_datum:

5af31bas-960.jpg

sg_reset_ohne_uhr_datum

Дело сделано! Теперь надо протестировать? Кулхацкеры тестируют вот так:

e6f31bas-960.jpg

steuern_selbsttest_ein

Запускаем процедуру (зажигание должно быть выключено) steuern_selbsttest_ein, передав в качестве аргумента число 0 (выключить тест), 1 (однократно), 2 (бесконечно). Выключить тест можно также запуском процедуры steuern_selbsttest_aus. Перед запуском убедитесь, что галочка Data снята.

Смотрим:

50b18d6s-960.jpg

Ура!

Результат получен, щастье наступило.

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

Страница 1 из 3

  1. Всем доброго время суток. Достаточно долго искал эту информацию но не чего путного так и не нашел. Единственное что нашел на одном англо. язычном сайте. Вот решил исправить и сделать инструкцию тут думаю многим будет полезно.

    Все началось с того что решил так сказать более расширенно познакомится с программкой INPA. И в одном из пунктов а именно UIF меня ждала не очень лицеприятная картина см. фото. На картинке видно что всего 6 блоков из 26 имеют корректный VIN а во всех остальных «ЯЯЯЯЯЯ» или «000000». Начал изучать данный вопрос и пришел к выводу что сменить UIF (VIN) можно 2-я способом.

    1 При программирование блока в WINKPF и указать в поле VIN свой корректный вин номер
    2 Сменить UIF в сервисе Tool32 который идет в BMW Standard Toolset.

    Прикинул и проанализировал свои версии прошивок по всем блокам решил что буду обновлять прошивки на тех блоках в которых стоит не последняя версия ПО через winkpf а там где с ПО все норм поправлю UIF (VIN) через tool32. Забегу немного в перед и скажу что обновил ПО практически во всех основных блоках (ДМЕ, АККП, CAS итд)машина приятно удивила после обновлений ДМЕ и EGS (АКПП). Но вернемся с Tool32 так как про обновление ПО — тема давняя, мнений много — в чем то даже напомнило тему про моторное масло. Каждый решает для себя сам надо/не надо/стоит/не стоит. Скажу лишь что я лично почувствовал разницу до и после и после мне нравиться больше.

    Теперь к TOOl32:
    Все достаточно просто. Единственное что фото будут взяты с интернета так как я не делал их в процессе а сделал только в конце.
    Нам будут нужны :

    1. Ноутбук с рабочей установкой INPA и Tool32
    2. Кабель OBD2, который работает с INPA и вашим E46 или E39
    3. Ваш VIN
    1. Загрузите Tool32 (ToolSet 32)
    2. Нажмите на кнопку «Файл»> «Load SGBD, группы файлов» и перейдите к «C: Ediabas ECU 12MSS54.PRG ‘файл и нажмите кнопку» Открыть » (за место «12MSS54.PRG» выбираем нужный блок к примеру нужен там блок CCCA060=CCC-A (APPLICATION) выбираем его все остальное будет по аналогии)
    3. В списке «JOBS» ищем и нажимаем ‘aif_lesen’. В окне результатов должен быть ‘Job_Status = OK’ текущий VIN, запрограммированный в DME (ну или в блоке который был выбран) будет отображаться вместе с другими данными AIF.
    4. Следующий щаг идем в раздел ‘aif_schreiben’ и заполняем поле ‘Arguments’ только вместо кривого Vin или вообще «ЯЯЯЯЯЯ» пишем свой вин в моем случае L251***, далее пишем дату (если к примеру делать сегодня ) то дата такая 26.10.2016 но пишем ее в формате: 261016, ну и последнее пишем «Номер программного обеспечения» (Software Number) пусть будет «9287534» в итоге поле аргумент должно выглядеть так : L251***;261016;9287534;

    Тут я хочу заострить ваше внимание я заполнял только эти 3 аргумента хотя если внимательно почитать ‘aif_lesen’ он просит заполнить 9 аргументов. Я этого не делал так как оставшиеся аргументы не меняются а остаются прежними.

    5. После того как поле «аргумент» заполнено двумя кликами жмем по ‘aif_schreiben’ в окне результат мы должны увидеть ‘Job_Status = OK’ если так оно и есть -> мы на правильном пути и нам остается только в нажать на квадратик с черным треугольником и записать новые значения. Нажимаем и через пару секунд кликаем по нему же второй раз. Все Новые UIF записаны что проверить жмем ‘aif_lesen’ и видим в поле результатом новые откорректированные значения.

    П.с — ниже добавил фото работы в Tool32 ну и конечно то что у меня было до и после корректировки.

    П.С.1 — На фото заполняют все данные в поле «Аргумент» — это не обязательно.

    П.С.2 — Вопрос по дате в принципе если кому не хочется чтобы светилось свежая дата, просто на компе меняете дату на ту которая вам нужна и все.

    Кто посчитал эту инфу полезной не забываем ставить лайки :)

    Вложения:

  2. Хорошая работа! Я бы только добавил одно, поскольку все равно этот вопрос возникнет. Звучать он будет как то типа — «А как узнать как называется нужный блок, что бы выбрать *.PRG ?» Узнать можно в NCSе прочитав машину, список названий блоков в том формате который используется в Tool32 будет выведен прямо под окном операций
    [​IMG]


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…


  3. stratus

    очень полезно, спасибо!

    кстати проверю на своей машине, все ли правильно

  4. А я б еще добавил, что делаете все на свой страх и риск…
    Уже не раз встречал заваленные блоки неумелыми руками.


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  5. Да как вариант. Тоже сделаю маленькую ремарку. Столкнулся с этим когда правил Vin другу. У него был Маск он поставил ССС конечно же Vin установщики не исправили. Так вот суть такая. Вот блоки ССС:
    1 CCC6260=CCC-GW
    2 CC3F60=CCC-ASK
    3 СС4760= ССС-ANT (TUNE)
    4 CCC6360=CCC-BO
    5 CCCA060=CCC-A (APPLICATION)
    Когда открывал примеру в блок CCC6360 vin был нормальный (его) а вот когда открыл ссс60 то vin был записан не корректный. Так что проверяйте. Но это что касается ССС все остальные блоки так написал выше Tery проверяются. Да все правильно. Не стоит лесть в Toll32 туда куда не знаешь. Софт такой что можно легко положить блок ткнув не туда. Так что если меняем Uif то делаем по инструкции и не шагу в сторону

  6. Очень специфичная инфа и давно известная , а полезна будет только автоворишкам ;)


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  7. Да специфическая согласен. Давно известная? Кому вам? Мне лично нет да и чтобы найти хоть немного информации по Tooll32 пришлось пролазить не мало сайтов и путевого ни чего не нашел. Про автоворишек — рассмешили. Глупость полная Tooll32 не меняет UIF а записывает новый. Старый UIF легко можно прочитать к примеру через тот же Winkpf. Я лично ради интереса смотрел uif друзей. У них тоже все было далеко от идеала у кого также «ЯЯЯЯЯЯ» и «000000» а у кого вин машины с которой был куплен блок.

  8. Для чего ? Я вас умоляю, автоворишкам полезны умения по сварке, малярке и гравировке по металлу ))) Ибо вин и стакан форева ))) А все эти вины в блоках никто никогда не проверял проверять не будет, ни в одном МРЭО и инструментальном контроле, даже не поймут о чем идет речь, если заведете разговор ))))))


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

    Dmitriy333 и Саша007 нравится это.

  9. инфа о аргументах для этой процедуры написана в самом туле , и для справки , перезаписывается последний УИФ и если он был один то других винов не будет :hi:


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  10. Не правда. Заходишь в winkpf выбираешь блок который нужен в комфортном режиме, перед программирование появляются 2 раздела «спешл» и «диагностика» не помню сейчас нету под рукой нота в какой именно надо зайти. Появляется раздел read uif — заходишь и читаешь все uif записи которые были и есть на текущий момент. Вот и все

  11. Я помню и без ноута :cool: , читается и перезаписывается существующий (последний) уиф , а некоторые блоки помнят 64 , 14 или 1 уиф
    И как вы думаете сколько уифов покажет винкфп если блок никогда не обновлялся ?


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  12. Да не перезаписывается а пишется (write uif) -> писать uif а не перезаписывать (overwrite uif).

  13. здесь заблуждаетесь , перечитайте внимательно своё первое сообщение о количестве аргументов и моё последнее

    Тут я хочу заострить ваше внимание я заполнял только эти 3 аргумента хотя если внимательно почитать ‘aif_lesen’ он просит заполнить 9 аргументов. Я этого не делал так как оставшиеся аргументы не меняются а остаются прежними.

    цитата :hi:


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  14. Все правильно. Мне не надо было менять остальные аргументы. Но даже если я их бы и сменил то все равно предыдущий запись uif в полном объеме можно считать. Так как я описал выше. Позже (вечером) я закину скрины что бы наглядно вам показать. А то такое чувство что мы с вами говорим , я про морковку а вы мне про капусту.

  15. Я вот тоже не пойму о чем у вас идет дисскусия. Да при записи uif, новая запись добавляется, а не замещает старую, проще говоря инкрементная операция. Ну и что нам это дает ? О чем это может говорить при обнаружении например ?


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

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


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  17. Вот и я говорю что записывается новая а не перезаписывается старая. Да ни чего не дает. Если брать грань автоворишек — то тут скорее не пойман не вор. Да и не уже ли все кто покупают блоки б/у проверяют чистоту. Да и чего чистоту? Блока? Машины? Короче megars так сказать — дезинформировал народ


  18. Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…
  19. Друг правда — не тупи. Tooll32 добавляет новою запись а ни чего не корректирует. В старых версиях Tool32 вообще надо было вписывать новый ‘AIF_ADRESSE_LOW’ с чистыми полями и только потом записывать новые значения. смотри видео. Обрати внимание что он с начала добавляет цифры в поле аргумента чтобы определить новый AIF_ADRESSE_LOW с пустыми полями и только потом записывает новые значения. Старый адрес содержит старые значения полей.

  20. В чем проблема , на пивас !
    Я в 2007 году пользовался этой функцией , и механизм её действия знаю оч хорошо


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  21. Не вопрос !!! Как раз у меня есть блок ССС там вин был нормальный. я через Tool32 его изменю (изменю дату вин оставлю нормальный) и скину скрин через winkpf где вся история uif будет отображаться (старой и новой датой). Но это только вечером.

  22. Ок ! договорились :nod:


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  23. Ну как и обещал разбор полета на пальцах. Для примера я взял блок ССС (если смотреть картинку uif то с низу вверх он второй) в нем был корректный Vin но старая дата 01.05.2009.
    1 Заходим в winkpf выбираем блок CCCA060=CCC-A (APPLICATION) это он и есть. Выбираем комфортный режим, номер прошивки, ждем Done выбираем жмем по моему (опять забыл) Special (если ошибся поправите, да и не суть в целом ) и у нас появляется Read uif жмем и читаем текущие значения uif последнее поле под номером 10 (см фото. все обвел кружками).
    2 Заходим в Tooll32 выбираем СССА060 и читаем текущие uif (см картинку)
    3 Меняем 1 значение это дата, Vin и Aif_ZB_NR оставляем прежние. (кстати дату специально сделал вперед на 1 день чтобы не быть громогласным что можно подставить практически любое значение ). Закрываем Tooll32
    4 Снова открываем Winkpf и повторяем 1 пункт. И что же мы видим? Ни чего не пери записалось а просто добавилось новая запись Uif под номером 11 (см фото все обвел кружками). Закрываем Winkpf
    5 Открываем Inpa идем в раздел Uif и видем что Inpa также показывает нам новое измененное значение.(т.е дату)

    Вывод думаю не требует лишних обсуждений. Записывается новое значение а не изменяется старое. Таким образом можно прочитать все записи uif сколько бы их не было
    П.с — Что там с пивасом?

    Вложения:


  24. Feisar

    Регистрация:
    16 мар 2015
    Сообщения:
    4
    Пол:
    Мужской
    Регион:
    Мурманская обл.

    А нет ли зависимости от кол-ва возможных раз по записи UIF в блок? Если верно помню в моторном например всего 3 раза можно его вписать, что впишется на 4й раз, и впишется ли вообще. Сколько записей держит в памяти ССС не помню, но думаю раз 14 позволит точно.

  25. Зависимости нет. Есть число — количество записей Uif. У разных блоков по разному. ССС — не помню, да и критичного нет ни чего. По сути больше нет смысла записывать uif в ссс.

  26. Тут я хочу заострить ваше внимание я заполнял только эти 3 аргумента хотя если внимательно почитать ‘aif_lesen’ он просит заполнить 9 аргументов. Я этого не делал так как оставшиеся аргументы не меняются а остаются прежними.

    цитирую еще раз , завтра я вам приведу такой-же пример , на том-же ссс !
    если вводить только 3 аргумента , перезапишется последний уиф ! а количество уифов не изменится !
    поиграюсь с датой и вином


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Нажмите, чтобы раскрыть…

  27. Не тут полный безперспективняк. Какая разница вводишь ты 3 аргумента или 9? Я менял только то что мне было нужно. Все остальные значения если брать в корень процесса также пишутся только они остаются старыми. Просто извини конечно ты реально тупишь. У тебя сложилось мнение что после того как ты записал новые значения в Tooll32 старых значений Tooll32 не отображает. И показывает только последнию запись. Я тебе сказал как можно просмотреть всю историю uif менялось там 1 или 2 или 9 значений не важно запись будет формироваться новая а не перезаписываться старая. Мне будет очень интересно посмотреть на то как tooll32 перезапишет старую запись на новую — только по тому что он не сможет так сделать по приори. Посуди сам если бы он мог так сделать то разработчики были бы совсем мягко говоря глупыми людьми. Весь принцип построен на том что процедура или выполняется полностью или не выполняется совсем. А по твоей логике начался процесс записи, т.е по твоему перезаписи старого uif на новый и происходит сбой не важно по какой причине (зацепил шнурок итд) то в итоге ты получаешь — что то непонятное какая та часть перезаписалась а какая нет и в общем это все = груз 200 а не блок. Которому ума уже не кто не даст. Сам подумай это как минимум не логично. А вот если пишется новый uif и что то произошло то он пишется полностью или не пишется вообще — это называется транзакцией. Даже в случае если новый не записался всегда есть предыдущий uif . Вообще если обобщить все то все базы данных Sql mysql итд вообще все построены по принципу не ломай старое не построив нового. По такой же аналогии и реализован и tooll32

  28. в курсе,что аиф не несет никакой смысловой нагрузки для блока? И хоть слово их трех букв туда впиши,блоку на.рать,есть он там или нет..Да,и ошибка у тебя прям в первом посту)). Нафига жать кнопку при записи кнопку непрерывного выполнения)))

  29. По поводу того несет uif смысловую нагрузку или нет вопрос интересный. К примеру та же inpa отображает значение как vin. no — номер вин. И кстати не только inpa. А теперь представь решил ты продать свой авто приехали к тебе пацанчики которые хотят бмв но толком не соображают. Подключили софт прочитали блоки а у тебя vin. no — полная солянка из «ЯЯЯЯЯЯ» и «000000». Они не соображают что по сути это не как не отражается на авто а просто прочитали что это vin. Прикинули и решили что твой авто кривой и собран из 10 машин. Ну или мало ли что может фантазия их на фантазировать. Это как один из вариантов. По поводу треугольника не кто и не говорил что надо на него кликнуть и смотреть как он долбит записи. Кликнул по нему и тут же повторно — и все будет кока кола. Таким макаром можно забить и на программный статус блока ну лежит он в статусе 5 -> и что? все работает и славно. А то что статус 5 это блок в защите от программирования и просто так он в него не упадет — это уже совсем другая история. Работает же — по твоей логике а большего и не надо.
    Вообще лично я отношусь к машине как к другу и если положено чтобы в uif был мой вин а не «ЯЯЯЯЯЯ» или еще чего левого то значит надо подкорректировать за криворукими. А так каждый для себя сам решает надо ему или нет. Тоже самое про обновление ПО в блоках. Я обновил и остался доволен. А кто то скажет — ну его можно положить блок итд.

  30. ты для началу забей в гугел хотя бы,что значит аиф.(Anwender Informations Feldes)И поразмысли,для чего все же он нужен..И нахуа нужны тогда вот эти вот галки..

    2016-10-27_01-04-05.png

    много встречал таких винов? И какие там еще пацанчики с ноутбуками))))ну а это полная ересь,ты уж не обижайся))
    Зы. А не в курсе,а почему на НОВОМ автомобиле,который никто и никогда не программировал,вместо вина в аиф частенько стоят ,как ты их называешь «ЯЯЯЯЯЯЯ»? На заводе с других машин поставили? Да. И когда пацанчики с понимающими людьми приедет к твоему авто,то уже точно вопросы будут задавать,а почему у тебя вин стоит там,где его не должно быть)))) По ходу кривая тачка))

Страница 1 из 3

Поделиться этой страницей

Всем добрый день! В этой статье я расскажу о программах для работы с BMW которые использую сам.

В первую очередь конечно же нужно понимать, что бмв это немецкий автомобиль и имеет более богатое электрооснащение даже в базовой и бедной комплектации в сравнении даже с современным корейским автопромом. Немного окунёмся в прошлое, мы можем вспомнить легендарные кузова е34, е36, е32, которые покорили сердца многих. На тот момент большая часть данных автомобилей имела блоки управления, такие как DMEDDE, EGS, Kombi, ABS, SRS, что уже не мало, в то время как в России ещё даже не было представления о компьютерной технике и самым прогрессивном устройством был видеоплеер, инженеры бмв во всю разрабатывали различные системы управления и безопасности.

Начиная с конца 1995 года с появлением 39-го и 38 кузовов, электроника бмв очень серьёзно возросла, в некотором роде, лично для меня это та самая инновационная граница и прорыв. Да, спорить не буду, наработки существовали и ранее и кто-то даже писал, что в 70х годах был прототип адаптивного освещения дороги, но будем честны, кто сделал того и тапки. 🙂 Собственно появились такие блоки как ZKE, LCM, SZM, MID, MK, PDC, EDC и ещё десяток, каждый из которых настраиваемый, имеющий собственный софт. Появилось 2 блока управления — в бордачке и в багажнике, что несомненно подтверждает большое наличие электронных компонентов в машине.

Далее с каждым новым кузовом количество функций и опций начало стремительно возрастать, отсюда и пошло выражение «У BMW не бывает полной комплектации» , так и есть, найти машину в которую было бы собрано всё — не возможно, но у нас народ простой, если в машине больше возможностей чем в жигулях, то она автоматически становится укомплектованной.

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

Основной пакет программ для Е серии входит BMW Standart Tools, на сегодняшний день версии 2.12, это последняя версия и далее новых выходить не будет.

BMW Inpa

В этот пакет входят программы:

INPA — диагностика почти всей Е серии, при желании можно вычитать и Е84 Х1, но об этом позже.

NCSExpert — основная программа для кодирования блоков управления, изменения настроек эбу, добавление опций в комплектацию.

WinKFP — программирование блоков управления, обновление софта, смена прошивки.

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

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

Так же есть отдельный монстр под названием DIS, серьёзный инженерный комплекс, установить данную программу смогли не многие и по вполне веским причинам.

Во первых программа очень требовательна к ресурсам ПК, к операционной системе, в качеству диагностического прибора, но при всём при этом, это единственная программа которая даёт возможность полной диагностики авто с выполнением всех доступных сервисных функций, а также сопровождение информацией о ремонте. С ней я работал очень мало, не удобно, медленно, мне достаточно диагностики от программы INPA, но знайте, что она есть, в интернете много мануалов как поднять её на виртуальной машине, даже вроде есть готовые образы под VMWare.  Именно им пользовался дилер до появления Rheingold.

С выше перечисленными программами работают диагностические устройства:

  • BMW ICOM A1, A2, Next

  • BMW GT-1

  • BMW K-Dcan

Первые два, относятся к оборудованию официального дилера, стоят очень дорого, отличаются надёжностью и универсальностью. BMW K-Dcan классический ODB2-USB адаптер, который позволить себе может абсолютно любой желающий, продаётся он везде, начиная с китайский интернет магазинов, заканчивая местными продаванами.

Следующим популярным программным комплексом для работы с узким рядом кузовов Е серии это BMWScanner, его также обозвали «бобёр», видимо из-за расширенных возможностей работы с EEPROM различных ЭБУ. Существует 2 версии, первая работает с кузовами E39, E46, E38, E53 (дорест), средняя стоимость у Китайцев 4000 руб, основными плюсами является возможность визуального кодирования машины — то есть галочками изменять доступные параметры, синхронизировать EWS и DME/DDE, сливать/заливать дамп, тоесть адаптер является программатором в том числе.

Не требует знаний немецкого языка и основ программирования, частично переведён на русский язык. В целом рекомендую держать в арсенале. Данный комплекс более удобен и универсален чем BMW Standart Tools, но при программировании и замены различных ЭБУ — наличие обоих комплексов сильно облегчит жизнь.

Вторая версия BMW E/F Scanner, работает с более свежими кузовами как E60, E90, Е81, E70 так и захватывает F серию, но больше пользы от него для Е-шек. Стоит он уже прилично дороже, имеет несколько версий на которых заостряться не будем, каждый выберет ту, которая ему необходима. И снова повторюсь, даже в случае если у вас более свежая Е серия, и вы серьёзно планируете заниматься своей машиной — наличие BMW Standart Tools и D-can крайне желательно.

Ну вот мы и добрались до F/G серий

Современным машинам — современные технологии. Ещё в кузове Е60 и подобных появилась шина MOST, где устройства завязаны между собой по оптоволоконной связи посредством шлюза, чаще это относилось к системам мультимедии, связь между приборной панелью, проекцией, головным устройством и т.п.

Это дало серьёзный толчок, и сегодня в F и G серии используются шины FlexRay, Ethernet, PT-Can, рассмотреть подробнее связи можно на изображении ниже

Для работы с данными автомобилями необходимы

  • Enet кабель, подключается по Ethernet к автомобилю и сетевой карте вашего ПК
  • Icom Next — универсальное диагностическое устройство
  • Rheingold, Ista — диагностический инженерный комплекс
  • E-sys — Программа для кодирования и программирования ЭБУ

Начнём с первого, Enet кабель, по сути представляет из себя отрезок витой пары 6/7 категории, где с одной стороны имеет классический коннектор RJ-45, с другой OBD2 разъём, является полностью пассивным и связывает рабочий компьютер и шлюз автомобиля напрямую, образуя локальную сети.

Программа Rheingold, она же Ista-D(диагностика) и сопутствующая ей Ista-P (программирование) на сегодняшний день самое актуальное ПО, которое использует дилер при работы с автомобилями. По сути является приемником вышеупомянутой DIS, более того, в отличии от DIS, Rheingold (Ista) устанавливается гораздо проще, хотя физически занимает со всеми базами не менее 200-300 Гб, однако это полностью покрывает необходимость использовать сторонние сервисы, так как данный комплекс позволяет

  • Диагностировать E, F, G серии (с Е серией рекомендую работать с машинами от 2004 года)
  • Выполнять сервисные функции, адаптации двигателя, коробки, valvetronic, сбросы коррекций
  • Просматривать подробные электросхемы автомобиля
  • Получать информацию по ремонтным мероприятиям, рекомендуем жидкостям, моменты затяжки и т.п.

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

С недавних времён Rheingold стал называться Ista+ и служит для диагностики и программирования автомобиля, а Ista-P оставили для работы с E серией.

Ну и последнее, на чём можно остановиться это E-Sys, грубо скажем замена NCS эксперту тех времён. E-sys позволяет изменять комплектацию автомобиля, выполнять кодирование всех блоков управления, а также в отличии от Ista-P или Ista+ позволит обновить вручную отдельные эбу, например после замены.

Требует понимания работы с автомобилем, знания структуры модулей и блоков. Имеются тонкости в установке и полноценном использовании. Дело в том, что сам по себе E-sys распространяется в открытом доступе, но без специальной программы «Лаунчера» вы не сможете кодировать по NCD/FDL, лишь только менять комплектацию и сбрасывать кодировки по умолчанию.

Кто уже знаком с этим, наверняка скажут, что я забыл упомянуть про мобильные приложения и адаптеры к ним. Если честно я не очень хочу заострять на них внимание, так как приложения платные — в районе 3000 руб, wifi или bluetooth OBD2 адаптер — тоже стоит 1500-3000 руб, и это вам даст возможность только тыкать галочки, в то время когда купив ENET кабель у вас появляются практически все возможности работы с машиной.

Благодарю за внимание, надеюсь моя статья поможет начинающим.

How to Use TOOL32 to Delete BMW Lost Keys

April 2, 2021

Auto Key Program, Auto Repair
0

Here is step-by-step guide on how to use TOOL32 software to delete lost keys for BMW cars.

Related Contents:

Mike’s Easy BMW Tool Download & Installation on Win XP/7/8/10/Vista

BMW Coding/Flashing/Progrmming PDF+Video Guide

2023.06 BMW Rheingold ISTA+ 4.41.41 4.23.14 ISTA-P 3.71 Free Download

Procedures:

1.Run Tools 32 and load CAS.prg file

2.Search “Status-aktuell_Schluessel”,double click it.You can get key number in right side “key_number”

How-to-Use-TOOL32-to-Delete-BMW-Lost-Keys-1

3.Search “statusschluessel_frei_gesperrt” and double click it perform.Now you can get keys stored in CAS.If there are two keys working,please go to Step 4.Otherwise you need use another working key to read the key information,then you will know how many key license and CAS keys license stored.

How-to-Use-TOOL32-to-Delete-BMW-Lost-Keys-2

4.Search “steuern-schluessel_gesperrt”.

The parameter value is keys number.

Input which key you lost,key 1 or key 2,and click “Clear” to delete.

How-to-Use-TOOL32-to-Delete-BMW-Lost-Keys-3

5.Search “Statusschluessel_frei_gesperrt”,and double click to perform.

Now you need check if the key have been locked.

How-to-Use-TOOL32-to-Delete-BMW-Lost-Keys-4

(Visited 134 times, 1 visits today)

  • BMW
  • BMW Key
  • BMW Tools
  • BMW Trouble Repair

Понравилась статья? Поделить с друзьями:
  • Tool sterilizer инструкция на русском
  • Tony moly banana sleeping pack инструкция по применению
  • Tonino lamborghini lm710 газонокосилка инструкция
  • Tonimer lab инструкция на русском языке
  • Tongkat ajimat madura инструкция по применению на русском языке