кодирование ncs expert bmw e60

Освоил кодирование е60 (EDIABAS, INPA, NCSExpert, Rheingold)

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

С момента покупки БМВ хотел купить шнурок, все никак руки не доходили)) Но все таки это произошло и пришел мне мой шнурок — Car OBD 2 Diagnostic Tool Cable INPA/Ediabas K+DCAN USB Interface For BMW 98-08

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Далее скачал профили для NCS-Expert с забугорного сайта:
ТЫК

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

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Что было закодировано при помощи NCS-Expert tool:

M-Sport меню
В iDrive Меню после изменения всех 3 ниже перечиленных строк, появится выбор M-HUD
Блок: CAPPL
MDRIVE
aktiv
HUD_M
aktiv

Блок: HUD
M_SPORT_HUD
aktiv = Automatik
aktiv_handschalter = ручное переключение

Тут не все просто, поскольку у меня дизель, Мдрайв отображается неправильно, из за оборотов, в бензинке то больше)
Обратите внимание, если закодировать эту функцию, то одна из кнопок на руле не будет работать (Ромбик либо Звездочка).
По мимо этих трех пунктов, нужно было еще закодировать:
Блок HUD
кодировать с помощью Nettodat:
B 00307000,0010, xx, xx, 00,5C, B5,9C, 9F, A2, A5, D1,00,82,3B, 2E, 21,14

Источник

№13 Кодирование с помощью NCS Expert полезных и не очень функций

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Желаю здравствовать!
NCS Expert Tool — программа из набора BMW Standart Tools, предназначенная для кодирования ЭБУ (электронных блоков управления), входящая в состав EDIABAS (Электронная диагностическая базовая система).
Научиться пользоваться ей не сложно. Нужен лишь шнурок к авто, компьютер и время. Куча описаний и видео находится в сети по настройке программы перед кодированием, да и описаний самого кодирования предостаточно, так что останавливаться на этом не буду. По этим вопросам можно заглянуть например вот по этим ссылкам: Раз и Два.
Здесь — пошаговая инструкция по кодированию BMW, при помощи NCS Expert и NCS Dummy.
Ещё будьте внимательны с версиями этой программы, поскольку настройка профиля в версии 3.0.1 немного отличается от настройки профиля в версии 4.0.1. Это касается в частности процедуры кодирования ЭБУ. Если у вас при попытке кодирования ЭБУ вылетает ошибка, то проверьте настройки профиля: В редакторе профиля нажимаем на FSW/PSW и место считывания выбираем «из CVT«, а не «из файла ___» — это для версии NCS EXPERT 4.0.1.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Сначала хочу привести расшифровку всех присутствующих у меня ЭБУ.
1RAD — Магнитола BMW Business CD
4DMOT (DDE) — Цифровая электронная система управления дизельным двигателем
ABG — Система подушек безопасности Airbag
CAS — Система доступа в автомобиль
DSC — Система динамического контроля стабильности
EKP — Регулируемый топливный насос
FRM — Модуль в пространстве для ног
FZD — Функциональный центр в крыше
IHK — Встроенная автоматическая система отопления и кондиционирования
JBBF — Электронный блок управления JBE
KOMBI — Комбинация приборов
PDC — Сигнализация при парковке

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

-ДХО (вывод пункта меню на приборку в БК): TAG_LICHT_AN и TAG_LICHT_AUS, оба в aktiv \\В моём блоке FRM ДХО можно сделать только дальний в пол- или треть- накала. Ангельские глазки не возможно сделать в качестве ДХО, необходимо менять ЭБУ на FRM2 или FRM3, что возможно будет проделано в будущем

-Текущая скорость в БК (электронный спидометр): BC_DIGITAL_V в aktiv \\у меня это уже присутствовало

-Моментальный расход топлива на приборке в цифровом виде: DIGITAL_KVA в activ \\у меня это уже присутствовало

-Добавить пустое поле в БК: BC_LEERZEILE в aktiv \\у меня это уже присутствовало

-Комфортное закрытие (Складывание зеркал при постановке на охрану и автоматическое раскладывание при снятии): SPIEGEL_KOMFORT_EINKLAPP в activ \\у меня это уже присутствовало

-Альтернативный режим работы аварийки (по два быстрых моргания — американский стиль): DOPPELBLINKIMPULS_WARNBLK в aktiv \\себе не кодировал, но функция интересная

-Мигание туманок при мигании дальним (туманки отключаются в момент мигания дальним): LH_UND_NSW_NICHT_GLEICHZ в aktiv

-Отключение гонга, когда дверь водителя открыта, а ключ находится в слоте: CC_ZUENDSCHLUESSEL в nicht_aktiv

-Открытие\закрытие окон одним нажатием: (водительское) FH_FAHRERTUER_TIPP_AUF \ FH_FAHRERTUER_TIPP_ZU оба в aktiv (пассажирское) FH_BEIFAHRERTUER_TIPP_AUF \ H_BEIFAHRERTUER_TIPP_ZU оба в aktiv \\у меня это уже присутствовало

-Отключение включения кондиционера при нажатии кнопки Auto: C_CKM_D_KLIMA_MIT_AUTO, KLIMA_MIT_AUTO_0, KLIMA_MIT_AUTO_1, KLIMA_MIT_AUTO_10/15, KLIMA_MIT_AUTO_2 все в nicht_aktiv

-Включить надпись AUTO (на экранчике климата) в автоматическом режиме климата: GEBLAESE_AUTO_MIT_A в aktiv

-Сигнализация сработает если машина была закрыта кнопкой, а дверь открыть ключом: SCHAERFEN/ENTSCHAERFEN заменить schloss_und_fernbedienung на nur_mit_fernbedienung

-Комфортный выход (ключ отстреливается при долгом нажатии на кнопку stop): KOMFORT_EJECT в aktiv

-Завершение дворниками цикла очистки до конца при выключении мотора: ZYCLUS_VOLLEND_KLR_AUS в aktiv \\у меня почемуто нет такого параметра, возможно нужен поновее ЭБУ, но функция полезная

-Отключение омывателя фар: SCHEINWERFERREINIGUNG или SCHEINWERFERREININUNG в nicht_aktiv \\себе не кодировал

-Новый режим работы омывателей фар (три более коротких импульса вместо двух): ANZAHL_SPRITZIMPULSE->wert_03 (3 спрей-импульса), DAUER_SPRITZIMPULSE->500_ms (продолжительно спрей импульса), PAUSE_SPRITZIMPULSE->1000_ms (пауза между импульсами) \\себе не кодировал

-Отключение ГОНГА ремней безопасности (индикатор на приборке всё равно горит): SBR_BEIFAHRER_1 и SBR_FAHRER_1 оба в nicht_aktiv \\как утверждает u36a — это именно грамотное отключение гонга, т.к. подушки при этом работают

-Включение AUX на BMW Business CD (если нет, а точнее пропала после сброса клеммы АКБ например): Прошиваем пустым .MAN-файлом

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

А вообще достаточно полезно посмотреть видео по кодированию от Паши u36a на Yutube. Крайне полезно и доходчиво для тех, кому интересно кодирование и диагностика BMW.
Уже насобирал небольшую базу кодировочных параметров различных блоков на просторах драйва и БМВ-форумов, как-нибудь позже выложу. Поскольку «копейка» достаточно ограничена в комплектации, то применить к своей машине можно только малую часть этих параметров.
Так же есть вопрос к знающим людям по NCS Expert: При попытке открыть Car Key Memory выдаёт ошибку. Причём пробовал различные профили, и сам создавал, и скачивал — результат один. На одном из форумов для е70 вычитал, что просто ключ не имеет памяти, поэтому такая ошибка. А все параметры, которые хранятся в CKM, можно найти в ЭБУ. Так ли это? Или есть другой вариант? Может опять-таки с версией программы что-то нужно настроить по-другому?

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Всем спасибо за уделённое время и удачи!

BMW 1 series 2006, двигатель дизельный 2.0 л., 122 л. с., задний привод, механическая коробка передач — электроника

Машины в продаже

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

BMW 1-Series, 2008

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

BMW 1-Series, 2007

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

BMW 1-Series, 2010

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

BMW 1-Series, 2010

Комментарии 69

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Может подскажешь куда смотреть, кодирую е60 блок света, изменяю параметры сохраняю, кодирую и ичего не меняется, читаю блок заново и trc остается, как до кодирования, всю голову сломал, что не так делаю

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Скорее всего сохраняешь не в тот файл. Блок читается в файл FSW_PSW.TRC, а кодируется из файла FSW_PSW.MAN.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Так и делаю, через дамми работаю trc а после обработки сохраняю man и кодирую, пишет кодирование ок, а ничего не меняется

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

А кодируешь блок кнопкой «закодировать» или через выбор операции sg_codiren?

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Выбираю sg_codiren и кодирую

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Спасибо огромное буду пробовать.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Я понял что можно NCS EXPERT но в какой блок заходить подскажи пожалуйста или пошаговое если можно СПАСИБО ОГРОМНОЕ.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Я понял что можно NCS EXPERT но в какой блок заходить подскажи пожалуйста или пошаговое если можно СПАСИБО ОГРОМНОЕ.

Источник

Кодирование со смыслом, часть 9

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

Сегодня я продолжу тему, обозначенную в восьмой части «Кодирования со смыслом». Мы будем эмулировать настоящий автомобиль как можно точнее, чтобы чётко видеть, какие значения принимают параметры различных блоков при изменениях в комплектации (FA) автомобиля.

В предыдущей части я указал на недостатки базовой работы с SSD-файлом. Дело в том, что при выполнении процедуры чтения ЭБУ на реальном автомобиле, в ASW помимо идентификаторов из FA попадают также идентификаторы всех кодировочных индексов, которые поддерживает индекс в данном блоке (включая идентификатор его самого). Таким образом значения некоторых параметров блока могут зависеть не только от обычных идентификаторов, но и от идентификаторов индексов.

Так выглядит список идентификаторов ASW.TRC после чтения блока LM на Южанке:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Идентификаторы с суффиксом «CI» и есть идентификаторы кодировочных индексов.

А вот пример значения параметра, зависящего от индексов:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Здесь мы видим, что параметр ALC_KLS_ENABLE, отвечающий за работу ламп подсветки поворотов будет иметь значение aktiv, если идентификатор LM_CI_32 не поддерживается (!LM_CI_32) или машина оборудована адаптивным светом (ALC) и есть поддержка LM_CI_32 (ALC+LM_CI_32).

При чтении блоков LM со свежим кодировочным индексом на автомобиле с адаптивным светом и без него, значение параметра у первого будет aktiv, у другого — nicht_aktiv. Однако если мы попытаемся сэмулировать эти автомобили с помощью SSD-файлов, то даже при указании конкретного индекса при генерировании конфигурации блока LM мы в обоих случаях получим значение aktiv.

По каким-то причинам NCS Expert не считает необходимым добавлять в ASW идентификаторы, поддерживаемые указанным индексом. А это значит, что при сравнении двух конфигураций параметр из примера выше в список изменившихся не попадёт (т. к. он всегда будет aktiv) и мы не узнаем о том, что он должен изменить своё значение при кодировании уже дооснащённого автомобиля.

Как же нам заставить NCS Expert учитывать поддерживаемые индексы? Для начала надо выяснить, откуда он вообще их берёт, когда читает реальный автомобиль. Для этого нам вновь нужен NCS Dummy.

Одна из самых реально интересных функций NCS Dummy и одновременно наименее часто используемых — дизассемблинг (разборка) и ассемблинг (сборка) daten-файлов. С помощью этих функций можно практический любой daten-файл преобразовать в текстовый формат, исправить/добавить в него что-либо и собрать обратно, как будто так и было. Именно за счёт этих функций программа и работает, выводя список параметров, их значений и прочее. Опосредованно вы пользуетесь и функцией ассемблинга (сборки) файлов в тот момент, когда добавляете новый вариант значения к параметру: NCS Dummy «разбирает» несколько daten-файлов и собирает их заново, вписывая в них необходимые данные. Причём несмотря на то, что автор программы живёт в Бельгии, могу с абсолютной уверенностью сказать, что функции (диз)ассемблинга имеют русские корни. Да, как всегда за некоторыми изобретениями стоит неприметный «рашн гай».

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

При должном уровне знаний можно изобразить себе уникальный вариант daten-файлов, например с поддержкой кодировочных индексов Combox для кузова E60. Т. е. буквально сделать то, что сделали бы программисты BMW, если бы семейство E60 выпускали вплоть до появления этого самого Combox. Таким образом вам бы не пришлось создавать SSD-файл с описанием машины максимально похожей на вашу, но в другом кузове. Блок CMEDIA отображался бы в списке блоков для кодирования у NCS Expert, как будто всегда там был. В общем инструмент очень мощный и с ним можно сотворить многое.

Играем в переводчика

Но мы пока попробуем только дизассемблинг, т. е. «разберём» некоторые файлы, чтобы понять механизм появления идентификаторов индексов в ASW. В папке с daten-файлами есть несколько файлов в текстовом виде, которые являются де-факто человекопонятными исходниками, а не файлами с которыми работает NCS Expert. Например известный нам E60AT.000 (ну или соответствующий вашему семейству кузовов) преобразуется в файл E60AT.K00.

Можем попробовать преобразовать его обратно в текстовый вид. Для этого нужно открыть NCS Dummy и выбрать вкладку «Disassembly and Checksums»:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Нажимаем кнопку «Browse» верхнего поля ввода и указываем путь к файлу E60AT.K00 из папки C:\NCSEXPER\DATEN\E60\. Сразу как мы выбрали файл E60AT.K00, будет предложено сохранить результат дизассемблирования (если оно успешно). По умолчанию предлагается сделать это просто в папку C:\NCSEXPER\DATEN\. Соглашаемся и потом откроем получившийся E60AT.K00.txt в текстовом редакторе:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Знакомые строчки? Нечто похожее мы видели в E60AT.000, но здесь явно меньше «воды» и больше дела. Мы видим таблицу, в начале которой указана расшифровка нижеследующих строк по типам и данным, которые они содержат, а после идут уже сами строчки с данными.

Всё, что написано в строке после двух слешей «//» на большинстве языков программирования означает комментарий к данной строке и не обрабатывается программой. Эти комментарии генерирует сам NCS Dummy для того чтобы мы могли лучше понять, что именно написано в строке.

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

Конкретно сейчас нам всё-таки нужно узнать, откуда берётся список поддерживаемых индексом идентификаторов. Ответ на этот вопрос нам даёт файл E60SGVT.000, который нужно также дизассемблировать и увидеть его содержимое в текстовом виде. Вот он:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Здесь мы также видим расшифровку таблицы и сами данные. Расшифровка описывает 4 типа строк:

— DATEINAME — имя файла, есть всего одна запись с таким типом и она содержит имя этого daten-файла;
— AUFTRAGSAUSDRUCK2 — вариант №2 логического выражения для опции. Строк с таким типом в файле нет;
— VERSIONS_ASW — список идентификаторов в ASW;
— AUFTRAGSAUSDRUCK — вариант №1 логического выражения для опции.

Строк с последним типом в файле большинство. Каждая такая строка помимо собственного типа содержит в себе название семейства ЭБУ (Steuergeräte Familie), конкретный кодировочный индекс (Codierbeschreibungsdatei), логическое выражение из идентификаторов ASW (Auftragausdruck), а также некий индекс (Index), который в данном файле всегда пуст. Если логическое условие выполняется (т. е. истинно), то семейство ЭБУ с таким именем и таким кодировочным индексом наверняка в автомобиле есть. Нетрудно заметить, что NCS Dummy в комментарии подсказал нам, как правильно интерпретировать приведённое в строке выражение. К примеру у всех блоков семейства SFZ указано одно и то же:

Коды идентификаторов NCS Dummy любезно расшифровал:

!PU05+(E60, E61, E63, E64)

Выражение буквально означает, что блоки семейства SFZ будут существовать в автомобиле с кузовом E60, E61, E63 или E64 и при этом он должен быть выпущен до сентября 2005 года (09/2005), т. е. не должен иметь временного критерия #0905 (идентификатора PU09). Не обязательно выражение будет одинаковым для всех индексов одного семейства. Тот же LMA имеет также разные варианты выражений по каждому индексу.

Если внимательно посмотреть на структуру таблицы, можно увидеть, что после некоторых строк типа AUFTRAGSAUSDRUCK идёт строка VERSIONS_ASW со списком идентификаторов ASW. Это и есть тот самый список поддерживаемых индексов и он относится к предыдущей строке. Пример:

AUFTRAGSAUSDRUCK : «ARS» «C14» S0041+!(S008D, S0043) <> // ARS+!(N43B20, M47D20)
VERSIONS_ASW : (00A2,00A3,00F6) // ARS_CI_0C, ARS_CI_0D, ARS_CI_0E

NB: Кодировочный индекс во второй колонке первой строки имеет формат «Cxx», где «xx» — номер индекса в десятичном виде. При этом сами идентификаторы содержат номер индекса в hex-виде и чтобы правильно сопоставлять индексы во второй колонке с идентификаторами, следует переводить число из десятичного в шестнадцатиричное в калькуляторе. Вся строка в данном случае описывает индекс ARS_CI_C0E (т. к. 14 = 0Eh)

Такая пара строк означает, что блок семейства ARS с указанным индексом (C14 = C0E в hex-виде) включает в себя также следующие идентификаторы: ARS_CI_0C, ARS_CI_0D, ARS_CI_0E. Проще говоря, себя самого (0Eh) и парочку предыдущих (0Ch, 0Dh). В общем случае правило включения в себя всех старых индексов работает, но это не обязательно будет так. Файл E60SGVT.000 как раз и описывает, какие предыдущие индексы включает в себя каждый следующий.

Итак, мы выяснили, откуда берутся идентификаторы поддерживаемых кодировочных индексов. Осталось заставить NCS Expert работать с ними. Быть может это всё лежит на поверхности? Может стоит почитать справку на тему SSD-файлов?

Часть информации из этой справки я уже публиковал в прошлой записи, теперь посмотрим остальное:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Zeilen, die mit «Y» beginnen werden für die «SGVT»-Verarbeitung angegeben. Dabei wird jeweils mit einem Leerzeichen getrennt das SG mit seinem Ist-Codierindex angegeben. Eine «Y»-Zeile sollte 80 Zeichen nicht überschreiten. Es können beliebig viele «Y»-Zeilen untereinander angeordnet werden.

В вольном переводе здесь написано, что в SSD-файле можно записывать строки с типом «Y», в которой мы можем указать семейство блоков и фактический поддерживаемый индекс. Количество строк может быть любым и единственное ограничение — длина строки не может превышать 80 символов. Правда помимо этого не указано, что индекс должен быть также в десятичном виде без буквы «C» и двухзначным (т. е. если меньше 10, то 05, 08 и т. п.). Итак, формат строки выглядит так:

Подобный кролик в виде SSD-файла псевдо-«Северянки» у нас уже есть, на нём и потренируемся. Добавим указание на индекс LM2_E6X.C35:

M E60_CODIERSCHL ALL
A 001 WBANU91000AB12345A E60_#0307*NU91$205$248$302$415$494$502$508$522$534$548$644$701$853$8S1$861-A090-NMUW
Y LMA 53

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

Надеюсь не нужно объяснять, почему написано число 53, а не 35?

После загрузки SSD-файла в NCS Expert никаких изменений в ASW.TRC мы к сожалению не увидим:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Проще говоря, NCS Expert просто проигнорировал строку Y-типа.

Ну раз NCS Expert не хочет добавлять индексы сам, тогда может сделать это нам? Сперва узнаем, какие индексы поддерживает LM2_E6X.C35. Догадаться в целом нетрудно, но лучше заглянем в дизассемблированный E60SGVT.000, т. е. E60SGVT.000.txt:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

AUFTRAGSAUSDRUCK : «LMA» «C53» (S0001, S0002, S0003, S0004) <> // (E60, E61, E63, E64)
VERSIONS_ASW : (00D1,0102,0155,0212,01F4,021B, 0267,02D6) // LM_CI_0C,LM_CI_0D,LM_CI_0E,LM_CI_21,LM_CI_32,LM_CI_33,LM_CI_34,LM_CI_35

Теперь берём список этих идентификаторов, открываем ASW.TRC в текстовом редакторе, добавляем их в конец файла и сохраняем, к примеру, в ASW.MAN (туда же в папку WORK):

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Теперь нужно заставить NCS Expert не генерировать ASW.TRC, а читать список из нашего файла. Для этого нужно в настройках профиля указать режим чтения из файла и соответственно имя файла:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Сам профиль можно не сохранять до выхода из NCS Expert.

Теперь всё готово для загрузки SSD. Теперь при вводе данных SGET будет указан верный индекс:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Это всё хорошо, но не совсем удобно. Т. к. ASW мы ему подсунули свой, то всё, что мы написали в SSD-файле не имеет значения, в том числе и указанный индекс для LMA. Но самое главное убедиться в том, что эти индексы всё-таки используются. Генерируем конфиг для LMA и снова загружаем в NCS Dummy:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Бинго! Теперь всё правильно, у псевдо-«Северянки» без адаптивных фар параметр ALC_KLS_ENABLE принял значение nicht_aktiv.

Теперь можно «дооснастить» машину адаптивными фарами, добавив в SSD-файл опцию $524, а в ASW.MAN допишем идентификатор ALC. Затем при сравнении конфигурационных файлов мы будем видеть куда больше изменившихся параметров, чем при работе просто с SSD.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

В списке различий даже нет никакого ALC_KLS_ENABLE, что и требовалось доказать.

Зато при правильной работе с ASW всё есть:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Всё бы ничего, но всё же это неудобно. Зачем вообще в SSD сделана возможность указать индекс, если он в итоге не учитывается?

Идём на компромиссы

Как оказалось — всё-таки учитывается, но только в так называемом режиме верификации. С помощью этого режима можно сгенерировать ASW с правильным списком идентификаторов, причем по всем указанным в SSD блокам, а после использовать этот ASW для автономного кодирования.

Чтобы убедиться, что режим действительно работает, допишем в SSD парочку индексов других блоков:

M E60_CODIERSCHL ALL
A 001 WBANU91000AB12345A E60_#0307*NU91$205$248$302$415$494$502$508$522$534$548$644$701$853$8S1$861-A090-NMUW
Y LMA 53 6BMOT 13 CAS 09

6BMOT — это семейство ЭБУ для шестицилиндрового бензинового мотора и конкретно в данном случае в соответствии с типом кузова NU91 мотор у машины имеет идентификатор N52B30K, ну а CAS в представлении не нуждается. Я указал самые свежие номера индексов для указанных блоков: 53 (35h) для LMA, 13 (0Dh) для мозгов мотора N52B30K (посмотрев в E60SGVT.000.txt) и 09 (09h) для системы доступа в автомобиль.

Далее необходимо перенастроить профиль NCS Expert, вернув назад чтение ASW из ZST/SGVT, плюс включив верификацию:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

После закрытия окна настройки в окне NCS Expert останется ровно одна кнопка «Verifikation»:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

По нажатию на неё будет предложено выбрать файл для проверки. Указываем на наш SSD-файл псевдо-«Северянки» со всеми вписанными ранее индексами и если всё в порядке, увидим результат работы:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Обратите внимание, что для указанных нами индексов выбраны верные файлы для кодирования: LM2_E6X.C35, MSV80.C0D, CAS3.C09. А теперь заглянем в ASW.TRC:

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

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

Игнорирование NCS Expert-ом заданных индексов больше похоже на баг программы, но спасибо хотя бы за то, что это работает в режиме верификации, избавляя нас от необходимости ковыряться в кишках E60SGVT.000.

Итак, получить правильный файл конфигурации блока из SSD-файла можно следующим образом:

— Указать в SSD с помощью Y-строки индекс, поддерживаемый блоком;
— В режиме верификации сформировать правильный ASW;
— Сгенерировать конфиг, используя режим чтения ASW из файла, в котором сохранен правильный ASW.

Работая с двумя SSD (до дооснащения и после) и генерируя для каждого правильные ASW, мы можем сравнивать их в NCS Dummy или в любой другой программе для сравнения файлов с целью получения списка всех изменившихся параметров блока, не прибегая к его кодированию на самом автомобиле.

Существуют также индексы блоков, которые зависят от индексов других блоков, не только своих.

кодирование ncs expert bmw e60. Смотреть фото кодирование ncs expert bmw e60. Смотреть картинку кодирование ncs expert bmw e60. Картинка про кодирование ncs expert bmw e60. Фото кодирование ncs expert bmw e60

Их немного, но они есть:

— AHL зависит от индексов LM;
— Парные модули (SMC, ручки дверей, блоки сидений) зависят друг от друга;
— Внутренние модули CCC типа CTUNE, CAUDI, CHOST, CAPPL также зависят друг от друга.

На самом деле такая ситуация довольно редкая и связана по большей части с форматом хранения данных: логические выражения для значений параметров привязаны к именам самих параметров и именам их значений (как мы помним, «wert_01» и прочие — это названия значений, а не сами значения). А эти блоки имеют одинаковые имена некоторых параметров, поэтому и выражения для значений у них тоже одинаковые. Тем не менее, чтобы правильно сгенерировать конфиги для таких блоков, необходимо сделать так, чтобы в ASW были указаны все необходимые для кодировки индексы, не только конкретно данного блока.

В следующей части попробуем поглубже разобраться в структуре daten-файлов, что откуда берётся, как формируется и почему оно в итоге вот такое вот.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *