A Hetes, avagy egy E66-os élete

A Hetes, avagy egy E66-os élete

NCS-Expert alapok

Avagy: húzogatjuk az oroszlán bajszát

2021. augusztus 12. - seepheerd

 Avagy: csak óvatosan...

Az NCS Expert egy olyan szoftver, amely lehetővé teszi a felhasználók számára azt, hogy közvetlenül kommunikáljanak a BMW CAN hálózat bármely moduljával. Képes olvasni a konfigurációs kódokat a modulokból és új konfigurációkat írni azokba, felülírva a régi kódot.

Az NCS Expert nyomkövetési fájlon (trace file) keresztül tölti le az ECU paramétereket a számítógépre. Ez a nyomkövetési fájl szerkeszthető, majd vissza lehet tölteni az ECU-ba, hogy a módosításokkal üzemeljen a továbbiakban az autó. Általában ezeket a nyomkövetési fájlokat manuálisan szerkesztik egyszerű szövegszerkesztővel (akár sima notepad-del is). Az NCS Dummy program viszont sokkal könnyebbé teszi az NCS Expert-lel való együttműködést, segít megelőzni a kézi szerkesztésből adódó esetleges hibákat. Az NCS Dummy tehát egyszerűvé és biztonságosabbá teszi a nyomkövetési fájlok szerkesztését. Ezenkívül az NCS Dummy biztosítja a felhasználók számára azt is, hogy összegyűjtsék és szétszedjék az NCS Expert adatfájljait bizonyos funkciók alkalmazásához.

Ahhoz, hogy járművünket az NCS Expert-hez csatlakoztassuk, egy laptopra (persze desktopon is fut a program), és egy megbízható adapterre lesz szükségünk, ami nem más, mint egy BMW OBD interfész kábel, illetve régebbi modellek (pl. facelift előtti E39, E46) csatlakozóihoz még egy átalakító kábel is szükséges:

gear.jpg

csati.jpg

Nekem egy jó öreg DELL XPS-en, Windows XP alatt fut az NCS Expert (INPA + már nagyobb gépet igényel, a teljes programhoz 300GB-nyi hely szükséges), mivel az eredeti, 32 bites program arra készült. Persze ma már a Windows 10-zel sem ördöngösség összehozni, aki akar, kűzdjön vele.

Honnan szerezzük be a programot? A hivatalos oldalon 15 dollár körül áron megkapjuk az INPA-t és az NCS Expert-et.

https://ncs-expert.com/product/ncs-expert-coding-files

Bátrabbak rákereshetnek BMW-s fórumokon, illetve az alábbi helyen is megtalálható a BMW Standard Tools csomag. A csomag tartalmazza azokat az alapvető, a BMW-khez használható programozási és diagnosztikai segédleteket, amelyek amatőr (vagy profi) szinten lehetővé teszik az autónk lelkivilágának megismerését, programozását.

Az alábbi linkről letölthető a jelenlegi verzió 4.0.1. (tömörítve kb. 130MB, kibontva 2.65GB):

https://www.bimmergeeks.net/downloads

Kicsomagolás után az alábbi programozási segédleteket installálhatjuk az St212.exe futtatásával (Fontos, kövessük az Install Instructions.txt fájlban található utasításokat):

diags.JPG

Részletes installálás a bejegyzés végén linkelt youtube videóban is látható, most jó matematikus módjára tételezzük fel azt, hogy a program fut és a kapcsolat a számítógép és az ECU között tökéletes. Ebben az esetben két dologra lesz szükségünk még, ezek pedig:

  • Profil file. Nélküle nem indul el az NCS Expert és csak nézünk mint a vett malac, hogy hát miféle program is ez?  Alapból tartalmaz kettőt, de számtalan helyről letölthetünk újakat, vagy akár kreálhatunk sajátot is.

 

  • NCS Dummy. Nélküle is boldogulhatunk - egy akármilyen szövegszerkesztővel - de nekem pl. már csak azért is megfelelő, mert az angollal nincs gondom, németül viszont csak annyit tudok még a Closs kapitányos időkből, hogy "Fel a kezekkel!", ami ugye esetünkben nem sokat ér.

 

A profile fájlok a PFL könyvtárban találhatók, ide másoljuk be az újonnan letöltötteket, az NCS Dummy pedig a nevének megfelelő könyvtárban csücsül, installálni nem kell, csak húzzuk ki az ikonját a desktopra:

struktura.JPG

Csapjunk bele a lecsóba! (Ami kb. ugyanazt jelenti, mint belefingani a nullás lisztbe, vagyis: lesz felfordulás! :))

A feladat legyen mondjuk az, hogy a sziréna hang változzon, illetve a kocsi zárásakor, nyitásakor a riasztó füttyentsen az indexek felvillanásának megfelelően egyet (vagy kettőt). Mint tudjuk, az európai modellek némán érkeznek, szemben az USA-ban eladottakkal (és a sziréna hangja is más...).

Első feladatunk az OBD csatlakozó megkeresése, ez többnyire a vezető oldalán található, esetünkben itt, a bal láb taposója mellett, a motorháztető nyitó kar felett:

obd1.jpg

Lepattintva a védőburkolatot még el kell távolítanunk egy műanyag dugót, amely a csatlakozót védi:

obd2.jpg

Ezután mehet a K-CAN/D-CAN kábel a csatlakozóba. Ha felvillan a led, félsiker:

obd3.jpg

A kábel másik végét csatlakoztassuk a laptop egyik USB portjába, üljünk az anyós ülésre (a kormány eléggé behatárolja a helyet a másik oldalon), adjuk rá a gyújtást (kulcs benyomva, indító gomb fékpedál benyomása nélkül megnyomva), ezzel a hardveres résznek a végére is értünk.

Itt jegyezném meg, hogy hosszas tökölés során az akksi merülhet, nem árt ha erre készülve rádugjuk a töltőre a kocsit!

Csapjuk fel a laptopot (akár azt is tápegységre dughatjuk) és kezdődhet a munka!

A program elindítása után nem sokat látunk a felületen, ezért szaladjunk rögtön a File fülre és rábökve válasszuk ki a profil betöltést: Load Profile. (A jobb oldalon már fut az NCS Dummy is, arra egyelőre nincs szükség, ne zavarjon meg senkit.)


step1_1.jpg

A felugró ablakban válasszuk ki a használni kívánt profilt, általában valamelyik "Expert" módot (látható a listában egy Joe Profile sor, az pl. egy általam módosított profil):

step2_1.jpg

 

OK-ra kattintva láthatjuk, hogy a státusz sorban megjelent a profil neve, lent pedig értelmet nyert néhány funkció billentyű. Vagy azokat lenyomva, vagy az egérrel rájuk kattintva hozhatjuk őket működésbe. Ahhoz, hogy tovább tudjunk haladni, kell egy F1, majd F3 billentyű leütés, vagy kattintás ebben a sorrendben (az én verziómban nem működnek a funkció billentyűk, kattintanom kell az egérrel).

step3_1.jpg

 Az F1-gyel kiválasztjuk a kocsi típusát, esetünkben az E65-öt (majd az ECU-ból kiolvassa, hogy ez igazándiból egy E66):

step4.jpg

 Okézzuk és látni fogjuk, hogy az alváz/vagy típus megjelenik a programban, most F3-at nyomva kiválasztjuk azt az egységet, amelyből a program kiolvassa a rendelkezésünkre álló (kiolvasható/módosítható) modulokat. Elvileg mindegy melyiket választjuk, én a CAS-t szoktam:

step5_1.jpg

 Ekkor dől el az, hogy a kábelünk működik, avagy a kommunikációs beállítások megfelelőek (esetleg mindkettő), mert a program lekérdezi a kocsi moduljait (hibakódok a leírás végén találhatók). Ha a kommunikáció sikeres, akkor láthatjuk azt, hogy néhány dolog megváltozott a felületen.

Az előzetesen kiválasztott általános E65 már pontosabb, vagyis E66 lett, alatta az FG (Fahrgestellnummer) megjelent az alvázszám, valamint az FA (Fahrzeugbestellung) mutatja az autó felszereltségét, ahogy az a gyárból kikerült (vagyis hát egy része fér csak ide... az a $220 pl. az automatikusan szintbe álló felfüggesztés kódja):

a1.JPG

 A program látja a kocsinkat, naccerű! Klikk a Back gombra (F6) és most már feltűnik a modulok egy része is a képernyőn.

a2.JPG

 Ahhoz, hogy kiválaszthassuk a kívánt modult (nagy részük a képernyőn nem is látható), klikkeljünk a Process ECU-ra. Persze nem árt, ha tudjuk azt, hogy melyik modulba keressük a számunkra fontos opciót. Ezt vagy megszerezzük valamilyen forrásból, vagy átnyálazzuk az összes modult. Azonban az több mint 270 darab file végigböngészését (pontosan 284 az én verziómban) jelentené, amelyek a program DATEN alkönyvtárában, annak az E65 alkönyvtárában találhatók, de erről a végén pár szó...

A Process ECU-ra kattintva a programozható modulok listája tárul elénk, görgessük le addig, amíg a keresett modul feltűnik az ABC sorrendbe rendezett listában. Esetünkben a sziréna hang mellett az audio jelzést keressük, előbbi a DWAS, utóbbi a DWAI modulban található:

a3.JPG

OK-ra kattintva láthatjuk, hogy a DWAS-en belül a mi kocsinkban melyik típus került beépítésre, jelesül a DWASINE.C02:

a4.JPG

Az előző fotót jól megnézve láthatjuk, hogy a modult ugyan kiválasztottuk, de az elvégzendő munka, amely a JOBNAME után áll, az SG_CODIEREN (csak ott ugye nem pirossal). Azért emeltem ki ezt más színnel, mert nagyon fontos az, hogy ha a munka végrehajtására kattintunk, tisztában legyünk azzal, hogy mi fog történni. A munkákat (angolul job-okat) a Change job (F2) alatt tudjuk kiválasztani, számunkra kettő lesz fontos, ezek pedig (ez a rész sajnos német maradt):

  • SG_CODIEREN - a program modulba írása, vagyis az autó programozása illetve a
  • CODIERDATEN_LESSEN - a modul kódjának kiolvasása.

A pirossal jelzett szöveg végrehajtásával - programozás - akár össze is kutyulhatja az adott modul program kódját, ha nem megfelelően jártunk el a kód megváltoztatása során, vagy rossz fájlt töltenénk fel. A zölddel nem, mivel utóbbi esetén csak kiolvasás történik a modulból. Nagyon fontos, hogy mindig figyeljünk erre, mielőtt a munka (job) végrehajtására kattintunk, ezért is ez a sok tarkabarka kiemelés! 

Válasszuk tehát a kód kiolvasást a listából és kattintsunk az OK-ra:

a6.JPG

 Az alábbi ábrán láthatjuk, hogy a JOBNAME most már CODIERDATEN_LESSEN vagyis kiolvasás. Kattintsunk a job (munkafolyamat) végrehajtásához az Execute job (F4) gombra:

a7.JPG

 Pár másodperc után megjelenik a felirata JOBNAME felett: Coding ended. Azt jelenti, hogy a szoftver a modulból kiolvasta a kódot, az készen áll számunkra, hogy végignézzük és ha szükséges, vagy úgy kívánjuk, a megfelelő változtatásokat elvégezzük.

Figyelem! Ha megnézzük az előző ábrát, a modulban szereplő (feltételezett) kód neve DWASINE.C02, de a kiolvasás után azt látjuk, hogy az megváltozott DWASINE.C04-re, ami újabb verziót jelent.

Miután a kiolvasás megtörtént, átugrunk az NCS Dummy-ra, amely alkalmas a file "normális" megjelenítésére. A három státusz sor közül az elsőbe - Chassis - kiválasztjuk az alvázat/kocsi típust. A Module ablak legördülő menüjéből kiválasztjuk pontosan azt a modult,  amelyet az NCS Expert kiolvasott a kocsiból, vagyis a DWASINE.C04-et:

a9.JPG

So far so good, ahogy a művelt orosz mondaná, ha tudna angolul.

A szövegszerkesztő ablakban megjelenik a modulban található összes opció, ha lefelé gördítünk szépen végigolvashatjuk mindet, de módosítani nem módosíthatjuk, mert ez a referencia file (ha esetleg elcsesznénk a modul programozását, ezzel helyreállítható alapbeállításokkal a kocsi eredeti kódja).

a11.JPG

 Az utolsó státuszsor a FSW/PSW or Nettodata trace 1 névre hallgat. Ide kell megadnunk a kocsiból kiolvasott kódot tartalmazó fájl nevét. Ez kissé trükkös. Ugyanis soha nem a modulnak megfelelő nevű fájlba kerül a kód kiírása, hanem egy fix nevű, úgynevezett "trace" fájlba, amely a program WORK alkönyvtárában lesz megtalálható.

Az alábbi ábrán elhomályosítottam a többi - számunkra felesleges - fájlt, bár azok is fontosak lehetnek, ugyanis azok egy korábbi kocsi kiolvasott moduljai, a kiolvasáskori beállításokkal, amolyan backupként tárolom őket itt.

Számunkra két fájl fontos, az egyik a TRC, a másik pedig a MAN. A TRC fájl tartalmazza az ECU-ból kiolvasott kódot, a MAN pedig a módosított, a kocsi ECU-jába visszaírandó kódot. Ennek mérete jelenleg 0, ami tökéletes, mivel mentéskor majd ide kerül a TRC fájl teljes - módosított - tartalma. Ha véletlenül elfelejtenénk törölni az előző tartalmat a MAN fájlból, a program hozzácsapná az aktuális modul kódját és ez a szép kis katyvasz kerülne visszaírásra az ECU-ba...

Tehát nagyon fontos: a TRC fájl beolvasásakor ellenőrizzük azt, hogy a MAN fájl mérete 0 (zéró). Ha nem az, töröljük a teljes tartalmát, de magát a fájlt NE!

a12.JPG

 Na jó, ennyi elég az ijesztgetésből, de remélem azt, hogy mindenki megértette a fentieket. 

Válasszuk ki beolvasásra a TRC fájlt és kezdhetjük a mókolást. Ha mindent jól csináltunk, az alábbi ábrát fogjuk látni. A lényeges részek: megjelennek a nyíllal jelölt ki/bekapcsolható négyzetek a funkció sorok előtt, ezek teszik lehetővé a beállítások módosítását. Értelemszerűen, ha a pipa ott van a négyzetben, akkor él a funkció, ha kivesszük onnan, akkor nem él a funkció. Az alsó státusz sorban is minden csendes, visszaolvashatjuk az elvégzett dolgokat. 

a13.JPG

Még egy megjegyzés: az alábbi ábrán látható az, hogy mi történik abban az esetben, amikor rossz referencia modult olvasunk be (DWASINE.C02 a .C04 helyett). A módosítást lehetővé tevő kis négyzetek nem jelennek meg, alul a státuszsorban pedig figyelmeztető üzenetet kapunk. Tehát csak akkor lesz lehetőségünk a kód módosítására, ha a kocsiból kiolvasott fájl tartalma megegyezik a referencia file tartalmával:

a13a.JPG

 Ezek után most már tényleg csapjunk bele a lecsóba: olvassuk be a megfelelő fájlokat és gördüljünk lefelé a számunkra érdekes részhez. Amint látjuk, a program különböző háttérszíneket használ a kódon belüli azonos részek jelzésére, ez csak egyfajta vizuális könnyítés, nem azt jelenti, hogy jujj, ez piros, ne nyúlj hozzá!

Az alábbi funkciók közül átraktam a pipát az ALARMTYP alatt ece -  európairól a us - amerikaira. Újabb megjegyzés: nagyon sokszor nem csak egy helyen kell beállítani a kívánt módosítás(oka)t, legyünk türelmesek és menjünk végig a teljes fájlon. Keressük meg az azonos sorokat és mindenütt pipáljuk be azokat a nekünk megfelelő formában.

a14.JPG

 Miután végeztünk a módosításokkal, ki kell írnunk a TRC fájl tartalmát a MAN fájlba, ugyanis az NCS Expert azt fogja visszaírni az ECU megfelelő moduljába. Mégegyszer kiemelem: ez előtt a lépés előtt mindenképp nulla legyen az FSW_PSW.MAN fájl mérete! 

Klikk az Export FSW/PSW gombra és válasszuk az Export FSW_PSW.MAN opciót. 

 

 

aa.JPG 

Ezzel a lépéssel befejeztük - egyelőre - a munkát az NCS Dummy-ban, váltsunk vissza az NCS Expert-re. Mivel most a kocsi ECU-jának programozását szeretnénk elvégezni, a Change job-ra kattintva válasszuk ki az SG_CODIEREN-t és klikkeljünk az OK-ra

a21.JPG

Mivel semmi mást nem változtattunk meg - ha közben levettük volna a gyújtást, hogy ne merüljön az akksi, adjuk most rá - nincs más teendőnk, mint végrehajtani a kódolást, vagyis klikk az Execute job-ra (F3).  Pár másodperces kommunikáció után hasonló képernyőt kell látnunk, mint amit az alábbi fotón láthatunk.

bb.JPG

Miután befejeztük az ECU programozását, visszalépve az NCS Dummy-ba, az Export FSW_PSW alatt most,  töröljük az FSW_PSW.MAN file tartalmát, mielőtt másik modult olvasnánk be az ECU-ba:

delete.JPG

 

Ezután folytathatjuk a munkát, esetemben a DWAI modulban kellett megváltoztatni az audio alarm beállítást a kocsi zárásakor/nyitásakor. Ehhez ismét a Change ECU-ra kattintva kiválasztjuk a megfelelő modult:

alarm.JPG

A továbbiakban ugyanúgy járunk el, mint az előző modul programozásánál, vagyis:

  • Change job - CODIERDATEN_LESSEN, kiolvassuk a modult
  • Execute job
  • NCS Dummy-ban - Chassis és a pontosan megfelelő Module kiválasztása
  • FSW_PSW.TRC file beolvasása
  • Módosítások elvégzése
  • FSW_PSW.MAN file kiírása
  • Change job - SG_CODIEREN
  • Execute job
  • NCS Dummy-ban az FSW_PSW.MAN file tartalmának törlése

 

Az utolsó lépés képernyője:

a22.JPG

 

A végeredmény pedig: bezáráskor egy villanás/fütty, nyitásnál két villanás/fütty:

 

 Néhány megjegyzés:

1. Az összes modul - gyári beállításokkal - megtalálható az NCS Expert DATEN alkönyvtárának E65 alkönyvtárában (a többi típus (E46, E39, stb.) is a DATEN könyvtárban található). Ha nem tudjuk azt, hogy melyik modulban található a módosítandó érték, kérdezzünk fórumokon, vagy itt nyissuk meg egyenként a fájlokat (NCS Dummyval, mivel ezek bináris fájlok) és keressünk: 

 

axx.JPG

 

2. Miután kiolvastuk az ECU-ból az adott modult, az FSW_PSW.TRC fájlról készítsünk másolatot - még a módosítások előtt -, majd nevezzük át valami olyasmire, ami azonosítani fogja számunkra a későbbiekben, ha szükségünk lenne rá. Ha esetleg valamit összekevertünk, bármikor visszaírhatjuk az eredeti kódot ECU-ba úgy, hogy az adott fájlt visszanevezzük FSW_PSW.MAN-re.

3. Hibaüzenetek. Ha az alábbihoz hasonló képernyőt látunk, azonosítsuk be a COAPI kódszámot:

ncs_gt_error.bmp

COAPI-1020: Nem tudja megnyitni a MAN fájlt (pl. rossz kiterjesztés miatt), vagy a fájl nem található a Work könyvtárban

COAPI-1063: CABD paraméter hiba, olyan job-ot próbálunk végrehajtani, amit az adott modul nem támogat

COAPI-1141: FSW hiba (vagy COAPI-1142 PSW hiba), valószínüleg nem lett lenullázva az FSW_PSW.MAN fájl kódolás után

COAPI-1143: Hiba a CBD fájl feldolgozása során. Ellenőrizni kell a változtatásokat mind a trace fájlban, mind az FSW_PSW.MAN fájlban, valamint meg kell győződni arról, hogy az NCS Expert a megfelelő modult használja.

COAPI-2000: EDIABAS vagy SGBD hiba. Ez sokféle hibára utalhat. Ha a „VIN hibás” üzenet is megjelenik, akkor valószínűleg nem megfelelően van konfigurálva az interfész, vagy rossz interfészt használunk az autóhoz. Bizonyos interfészekben néhány BMW modell esetén a 7-es és 8-as érintkezőket (lábakat) össze kell kötni, míg másoknál le kell választani. Ellenkező esetben a hiba elavult NCS Expert DATEN fájlokra utalhat. Frissíteni kell a fájlokat az \NCSEXPER\DATEN\, az \NCSEXPER\SGDAT\ és az \EDIABAS\ECU mappákban a legújabb verzióra.

COAPI-2020: az ECU nem válaszol. Gyújtást elfelejtettük ráadni, vagy olyan modullal próbálunk kommunikálni, ami nincs beépítve a kocsiba.

 4. Végül egy részletes videó a telepítésről:

 

A bejegyzés trackback címe:

https://730ld.blog.hu/api/trackback/id/tr6516657472

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

gere5 2023.01.06. 11:53:29

Köszönöm szépen a részletes leírást!

Salud 2023.12.03. 00:02:06

Amennyiben a .MAN fájlban nincsen benne minden sor ami előtte volt a kocsi .TRC fájljában, akkor azok hiányozni fognak mert teljes felülírást végez vagy ahogy egyes egyéb programok szoktak működni, csak a beírt sorok értékeit fogja megváltoztatni?

seepheerd 2023.12.03. 09:21:18

Szia Salud, a MAN file gyakorlatilag megegyezik a TRC fájlal. A TRC-t olvasod be, és miután módosítottad, MAN-ként menti le a program. Tehát benne kell lennie minden sornak a TRC-ből...
(Ezért is fontos a MAN file "ürítése", tartalmának törlése egy -egy új művelet előtt.)
süti beállítások módosítása