Professional Documents
Culture Documents
Dummies Guide To Basic Coding With NCS Expert
Dummies Guide To Basic Coding With NCS Expert
Dummies Guide To Basic Coding With NCS Expert
Iwashelpinganotherperson,butithoughtthisinfomight
helpothersouttheretryingtomakesenseofncsexpert.
Ifoundlotsofguidesthatjustshowsyouwhatbuttonsto
pressoronesthataretoocomplicatedforalayman(nota
programmer)toreallyunderstand.Iliketounderstand
whatimdoingandwhatsgoingon.Sothisiswhyiwrote
thispost,tohelpunderstandwhatncsisdoing.Ididntcome
upwiththisstuff,theexpertsouttheredid.Imjusttrying
tochew,regurgitateitforthe'dumb'masseslikemyself
whoarestilllearning.
IfIsaidanythingwrong,expertspleasechimeinand
correctme.
Proceedatyourownrisk,thisisjustmyinterpretationfor
educational/entertainmentvalueonly.Iamnotresponsible
foryoublowingupyourcarordamagingyourmodules.Im
serious!
DUMMIESGUIDETOUNDERSTANDINGNCSAND
CODING
Thisisroughlyhowitworks...andmydummy
interpretationofit.Pleasereaditfullyifyouwantto
understand,thisisntexactlyaquickcheatsheetguide.
OnPre'02carsthecodingisslighlydifferentmethodthan
Post'02cars.Iamonlygoingtoelaborateoncoding
individualparameters,youcangolearnhowtocodeentire
modulesthrutheVOlateronceyoulearnthebasicsbelow.
ThefirstparttounderstandiswhatthisstuffaboutZCS/VO
or"vehicleorder"is.WhenBMWmakesacar,theycreate
whatscalleda"vehicleorder",thisisbasicallyabunchof
numberswritenintothecarthattellwhatmodulesare
installedinthecar,regionalinfoetc.Thisislikeyourcar's
DNA!forexampleifthecarhasasunroof,oraconvertible
orradioetcetcandthatitwasmeantforUS,Canada,France
etc.Becauseeachcarisdifferentwithadifferentsetof
options/modulesorcountrythatitslocated,the"vehicle
order"aka."ZCS"or"VO"maybedifferent.Whyisitcalled
ZCSyouask?becauseitsabbreviatedgerman,andits
confusingashell.
TheVOiswrittenintoacouplemodulesofthecar,usually
onesthatstartwithan"A",likeAKMBorALSZ.Onsome
carsitswrittenelsewhere.Inmy02M3,theVOwaswritten
inALSZandAKMB.Onmy'00328ciitwasstoredinEWS,
KMB.Itsnothingmorethanastringoftext/numbersstored
intheflashmemoryofthesemodules,nothingspecial.Why
isitwrittenintotwoplaces?becauseifonemoduleisfailed
andhastobereplaced,thentheotherwillserveasa
backupsoyoucancodethenewreplacementmoduleto
yourcar.ForexampleALSZisthe"lightswitchmodule"in
yourcar,forsomereasonitfails.Whenyoubuyanew
LSZ/LCM,youcanretrieveallyoursettingsofVOfrom
AKMBandthencodeyournewLCMtoYOURfactory
settings.Thechancesofbothmodulesfailingisslim,butif
itdoes...you'llhavetocontactBMWsotheycangiveyou
theVOforyourcarfromtheirrecords.
OKtheonedifferenceispre02carsdonthaveaVO.Those
carshavetheirZCS(whichactslikeaVO)storedinthe
EWSorKMBmodules.Thestuffbelowisbasicallyidentical
howeverforindividualparametercoding.
Nowgogetintothebasicsofcoding.
1.WhenyouloadNCSexpert,youneedtoloadaprofile.
Theseprofilesjustchangehowncsexpertbehaveswhen
youreadyourcar.Thetwoprofilesisticktoare
"expertmode"and"revtor'sexpertprofile".ifyoudonthave
it,youcanfinditontheneteasily.Inordertocodeyour
carthefirsttime,youshouldpick"revtors".Thishas
somethingcalled"manipulation"enabled...illelaborateon
thatlater.
2.Oncetheprofileisloaded,youbasicallyneedtoselect
Vin/ZCS/FAinorderforncstodownloadVINinfooffyour
car.Onceitdoesthis,itwillaskyoutoselectamodule.
Why?becauseitneedstoknowyour"vehicleorder"
information.Inmostcasesitwillprobablybeinan"A"
module.ifitdoesntload,orcantbeaccessed,noharm
done,justtryadifferentmodule.Whenitisabletoreadit,
youwillseealongstringnextto"FA"startingwithyour
chassis"E46_"followedbynumbersandtextalongwith#'s
and$'s.ThisisyourVO.NowthatNCSExpertknowsit,it
cancodeyourcarproperly!
CODINGHASNOTHINGTODOWITHTHEMODULEYOUJUST
SELECTEDTOREADTHEVOFROM!Thisperplexedmefor
thelongesttime,Ididntunderstandwhyiselectedtwo
moduleseachtime,orwhatthedifferenceselectingAKMB
orALSZoretcthefirsttimewas.Well...Ithasnobearing!!
allNCSisdoingisreadingthetext/numberstringthatis
yourVOoffthememoryinthesemodulesinthisfirststep.
Youwillactuallyselectthedesiredmoduletocode
inlatersteps.
**PRE02cars,youwontseethelongFA"VO"string,
insteadtherewillbeafewlinesFG,GM,VN,SAfollowedby
numbers,itsbasicallythesamethingdifferentformat.For
allintentsandpurposesthisisreferredtobymeasthe
vehicleorderorZCSforapre02car.
ONPOST02carsselectanymodulewith"A'infrontof
it,onPRE02the"A"moduleswontwork,youwillneed
touseEWSorKMBforthisstep...Itdoesntmatter
which.
NowthisguidewilltouchonthebasicstocodeINDIVIDUAL
itemsonyourcar.ThestepstoadditemstoyourVOand
codeyourmodulesisdifferentandiwontcommentonthat
here,becauseitwillconfusetheamateur.Justunderstand
thebasicsofindividualcodingfirst,thencodingfromyour
VOwillallmakesenselater.
3.Thenextpartistodownloadyourfactorysettingsinyour
cartoyourPC.OnceyougettheVOloaded,youhitthe
BACKbutton.ThedefaultjobinNCSistowriteSOBEVERY
CAREFULhere.Youwillseeallyourmoduleslisted,for
example"EWS,ABG,ASC,KMB,APL,.....etc"andunderneath
"SG_CODIEREN"
NCSatthispointissettoSG_CODIEREN,whichmeansto
WRITEtoALLmoduleslisted.Youdontwanttodothat.
4.Sonowselect"ProcessECU",andselecttheINDIVIDUAL
MODULEyouwanttocode.ForexampleLSZ(lightswitch
module).Onceyoudothis,itwillsayonlyLSZ(andnotall
themodulesinyourcar).
5.NowyouwanttochangethejobfromWRITEtoREAD.
Select"CHANGEJOB",thenselect"CODIERDATEN_LESEN".
ThisistoREADDATA.
6.Onceselecteditwillconfirmthisbyindicatingthe
moduleandjobtypeonthescreen.Nowyouareready.Hit
"EXECUTEJOB".
ItwillsayCodingActiv,thenCodingEnded.
7.Atthispoint,inyourNCSexpert/WORK/foldertherewill
beafilecalled"FSW_PSW.TRC"
Thisiswhatwewant,thecodingofyourLSZmodulethat
wereadearlier.IMMEDIATELYsaveabackupofthisfile,
renameittoFSW_PSW_LSZ_ORIGINAL.TRCandsaveit
somewhereincaseyoudecideyouwanttoreverttothe
originalcopy.NowIwantyoutoresaveanothercopyof
thisFSW_PSW.TRCfileasFSW_PSW.MAN
(manipulation...hinthint).Makesureitdoesntsaveas
FSW_PSW.MAN.TXTorsomecraplikethat,itwontwork
properly.
OKwhyallthisjuggling??becauseNCSexpertonlyreads
modulesandsavesEVERYTHINGasaFSW_PSW.TRCfile.
Regardlessofwhatmoduleyoureadinyourcar,thisis
whatthefilenamewillbe.AndeverytimeyouloadNCS
expert,thisfileisconstantlyerased,writtenandrewritten.
SothatswhywearesavingitasFSW_PSW.MANsowecan
alteritsafelywithoutourcopybeingoverwritten.
8.NowopenupFSW_PSW.MANwithatexteditor.
Youwillseealonglistofstufflikethis..
LEUCHTWEITENREG_AUTOM
aktiv
FEHLER_BREMSLICHT
nicht_melden
TAGFAHRLICHT
aktiv
Thisiswhereyoucancode.nowitsallingerman,soyou
willneedtorunthesewordsinatranslator(google)to
understandit,ORyoucanuseNCSDummythattranslates
thisstuffforyouandgivesyouallavailableparameters,
butthatsawholedifferentprogramandyououghttolearn
howtouseit.
Thisiswhattheabovelookslikeiftranslated.Nowyoucan
seehowwecandeactivate/activatecertainthings.Imgoing
todeactivateDRLshere.
Translated...
AUTOMATICHEADLIGHTCONTROL
active
BRAKELIGHTERRORREPORTING
dontreport
DAYTIMERUNNINGLIGHTS
active
edited...
LEUCHTWEITENREG_AUTOM
aktiv
FEHLER_BREMSLICHT
nicht_melden
TAGFAHRLICHT
nicht_aktiv
Bychangingtonicht_activ,itdeactivatesthissetting.Now
dontgocrazy,somecodesareredundantsochangingjust
onethingwontdothetrick.Thistakessometimeandeffort
tofindtherightcode/codestoworkwith.
9.Onceyouarehappy,SAVEyourFSW_PSW.MANfile.
10.OpenupNCSexpert,loadup"revtors"profile(with
manipulationenabled),andreloadittothepartwherethe
VOisloadedanditsaskingyoutoprocessecu(Basically
steps13)Lookabovehowtodothis.Onceyou'rethere,
select"PROCESSECU",selectthecorrectmoduleyouare
coding,inthiscase"LSZ".Thenselect"CHANGEJOB"and
makesureyoupick"SG_CODIEREN".Oncethisisdone,you
arereadytocodethecar.
NCSwillbasicallynowtaketheFSW_PSW.MANfile,and
overwritethecodesinyourcar'sLSZmodulewithyournew
settings.ItonlyusestheMANfilebecauseyouareusinga
profilewith"manipulation"enabled.Theothermode
"expertmode"doesnothavemanipulation,andyoucannot
codeindividualstufflikethisusingthatprofile.
11.Hit"EXECUTEJOB".Waittillitsays"Codingended".
NowyournewLSZiscoded.Turnoffthecar,andrestart,
andchecktoseeifyourresultsareasexpected!
12.Openupthe/WORK/folder,opentheFSW_PSW.MAN
file,selectall,delete,saveandexit.
Viola!Thatsit.Youarenowanexpertoncodingindividual
features!
Nowwhatdoyoudoifyouscrewedituporsomethingis
behavingfunnyandyouwanttogobacktooriginalsettings.
Oryoucantrememberallthestuffyouchanged,ordont
liketheresults.
ToloaduptheORIGINALfactorydefaultsifyoumess
up.
Gotoyour/WORK/folder.OpenFSW_PSW.MAN,selectall,
delete,save&exit.
LoadNCSExpert
Select"Expertmode"profile
Hit"VIN/ZCS/FA"toloadyourChassisandVehicleorder
info
HitBACK
HitPROCESSECU
Selectthechassis,thenmoduleyouF'dupon.Forexample
"LSZ"
OnPre02carsItwillsay"LSZ"andunderneath
"SG_Codieren"alongwithsomefilesLSZ.Cxx,LSZ.PRG,etc
etc.SG_CODIERENisthecorrectjobyouwant.
OnPost02carsItwillsay"LSZ"andunderneath
"SG_Codieren"alongwithsomefilesLSZ.Cxx,LSZ.PRG,etc
etc.HitCHANGEJOB,Select"FA_WRITE"Job.
"xx"isusuallythespecificCodingindexusedinyourdefault
module,itsanumber.thinkofthislike"firmwareversion".
Thesefilesarebasicallyfromyour/DATEN/folderand
containthepropercodinginformationspecifictoyourcar.
HowdoesNCSknowwhichfilestouse?Becauseitknows
bylookingatyourVINandVO,thenselectsthecorrect
files.NCSwillthenbasicallyreadthesefiles,thenread
yourVOandrewritethepropercodes,features,activate,
deactivateeverythingtoyourfactorysettings.
ThejobisSG_CodierenorFA_WritebecauseyouwillWRITE
youroriginalsettingsbackin.
HitEXECUTEJOB.
Viola,youroriginaldataisrewrittenandyourcarwillwork
again.Hopefully.
Startsmall,anddontbiteoffmorethanyoucanchew.
Onceyougetthehangofthisbasicstuff,youcandomore.
Dontmesswithstuffyoucanttranslateordontunderstand,
justleaveitalone.Dontgonuts.Ihopethishelpssomeone
outthere.