This post starts with a question “ I installed a battery of a different type and/or capacity (e.g. 80ah wet-cell with a 90ah wet-cell, or, 90ah wet-cell with a 40ah AGM). How can I code for the changes I made to the battery?” the answer is There are several methods that can be used to code for battery changes. See options 1, 2, 4, and 5, below:
Read me: BMWICOM already include Rheingold (ISTA-D), ISTA-P, Ediabas Toolset32, NCSexpert and more, so no need get bmw standard tool.
Use Rheingold (ISTA-D) to REGISTER and/or CODE a new battery. The virtual machine (follow the guide, it can provide you with a fully loaded virtual machine that can accomplish programming and diagnosing almost any issue with your car), comes pre-loaded with this dealer level software. An ICOM emulator is all setup for you to use this program with the aforementioned K+DCAN cable.
- Rheingold is an amazing tool. It will automatically diagnose issues with your vehicle and provide a corrective action plan to fix them. It will even tell you the steps you need to take to re-program things with a separate program called ISTA-P.
1) Turn ignition to the “on” position. INPA can be used to verify the car is communicating properly. INPA shows when the ignition is in the on/off position.
2) Load Rheingold
3) Click the “Identification” tab
4) Click ” Read out” tab and then “start” in the bottom right (takes a long time to gather cars info)
5) Once vehicle info has loaded (verify your vin is accurately displaying) click the ” Vehicle management” tab
6) Navigate to: Service function>body>voltage supply>battery>register and then click “start search”
7) Select result “ABL register battery replacement”
8) Rheingold then walks you through your options! You can simply register a new like-for-like battery, or you can change the battery capacity. Rheingold will prompt you to perform coding using ISTA-P!
Use Ediabas Toolset32, a software packaged with the BMWtools suite, to REGISTER a new battery
1) Run Tool32.exe
2) Navigate: File>Load SGB>C:/EDIABAS/ECU/[choose the appropriate .prg file for your DME – see appendix A]
3) Look up steuern_batterietausch_registri (near bottom of job list)
4) Go to Jobs menu
5) Select Run Job (German: Job Einmal Ausfuhren [run job once])
6) Verify operation reports “Okay”
This method is a bit incomplete in regard to coding. It uses NCSexpert to edit the settings in the CAS and NFRM modules. Essentially, you are manually changing the settings in the CAS/NFRM module to reflect the new battery.
*****While this method seems like a straightforward way to code for battery changes, it fails to address the issue of vehicle order (VO). This could have implications for future coding and ZB updates. See option 5.
*****After completing this coding, you must still perform “Option 3” to register the new battery using Tool32. Or, you can use ISTA-D to do the registering, but then you might as well also use ISTA to do the programming at that point…
1) Load NCSExper.exe
2) Select a profile that has manipulation enabled: File>load profile> “CNCcoding”
3) Select: F1>F3>select your chassis>select “CAS”
4) Press F6 for back
5) Press F4 to select a specific module “Process ecu” then you get a list of all modules available for your car
6) Select “CAS” then select “READ ECU” this is going to read all the values from the specific module and create an FSW_PSW.TRC file with the values
8) Leave NCSExper.exe open and navigate to the “work” folder ([X]:\NCSEXPER_64\WORK)
The FSW_PSW.TRC file we generated when we “read” the CAS module is where we are going to change the battery settings. After making our changes, we will then change the file extension to the file type NCS uses to write to the selected module (.MAN).
At this point, you can also use a program called NCSDummy to make things easier. You can use NCSDummy to import the .TRC file. NCSDummy will provide translations and descriptions for all the settings in the CAS module. I will not cover the details on how to use NCSDummy, it is very easy if you search. The following steps continue with how you can just simply edit the .TRC file in notepad to achieve our goal of coding a new battery:
9) Open the generated FSW_PSW.TRC file with notepad
10) Select: File>save as>FSW_PSW.MAN (be sure to select “ save as type” to all files so that it will accept the “ .MAN” extension. If you fail to do so it will just save it as a text file .TXT)
11) Search for the option “KLASSE_BATTERIE” and change the value from its current setting to a setting that most closely matches the rating of your new battery (e.g. “ 90ah” to “ 70ah” or if using an AGM battery “ 70ah_agm”) (see Appendix E)
12) Select: File >Save
13) Back to NCS now hit F5 for basic functions
14) Select “ coapiReadSgGetFswPsw” and then “ ok.” You are basically telling NCS to read all the values from your .MAN file. You will see a screen… just press ok. Then press ok again.
Ok now take a look where it says “JOBNAME = CODIERDATEN_LESEN” We need to change that to a coding function because we want to write the changes to the module, not READ as we did earlier.
15) Select F2 “ job”
16) Select SG_CODIEREN and press ok
17) Then press F3 to execute the job. After a pause you will see the “ coding ended” message!
I am not sure if these steps are 100% what you’ll see. It’s been a while since I coded my battery, but I’ll update the steps as needed.
Instead of clicking “Process ECU”, you can click “Process car” (F3), and then “Code Car” (F1). This will code every module in the car (might take longer like 5minutes) for the changes you made in the .MAN folder for the CAS module we read. There are changes that may need to be made in NFRM that this will take care of.
The battery rating should now be updated in the system. You can verify the coding was successful by performing the steps outlined in Appendix D.
This is the proper method to manually code for changes to the battery. Your vehicle order (VO) stores all the information regarding the various hardware your car came with from the factory. For example, if your car came with a wet-cell 70ah battery, your VO will read out with attribute -B070 (see Appendix B). Now, lets say you used option 4, above, to manually change the CAS module to reflect a new 70ah AGM battery. Your VO will still reflect the old battery of –B070. You want your VO to be updated to read -A070 (see Appendix B).!
If you go to the dealer, their software (Rheingold/ISTA-D and ISTA-P) will read your VO and recommend diagnostic/programming changes as if you still have that old battery installed. Basically, their software would overwrite the changes you made in option 4 and set all the coding back to the settings that reflect the old battery!
This is also how people lose their DEALER flashed PPK tune. The dealer fails to perform the proper programming portion of the PPK flash and the VO is never updated to reflect the PPK tune is installed on the vehicle. Return visits to the dealer then results in the dealers software to recommends DME updates that overwrite the PPK dme software! If you properly update the VO then only software, and settings, that matches your cars hardware will be recommended!
Steps: Changing VO
1. Open NCSEXPER.exe
2. Select: File > Load profile > Select a profile that has manipulation enabled (“ CNCoding”) > Click OK
3. Press F1 (VIN/ZCS/FA)
4. Press F3 (CS/FA f. EC) > Select E89 (chassis family for E9x and E8x vehicles) > Click OK > Select CAS > Click OK
5. Press F6 (Back)
6. Press F1 (VIN/ZCS/FA)
7. Press F2 (Enter FA) > Select E89 > Click OK
8. A window labeled “ Enter VIN” appears with your vehicles VIN number filled in > Click OK
9. A window labeled Enter FA appears > scroll to find VO for old battery (-B090) > highlight –B090 and press delete on keyboard
10. Enter –A080 (see Appendix B) in the “ Attribute” box > Click Add > Click OK
11. Press F6 (Back)
12. Press F4 (Process ECU) > Select CAS > Click OK
13. Press F2 (Change Job) > Select FA Write > Click OK
14. Press F3 (Execute Job)
15. Verify that the write is complete “ Job Ended”
16. Press F1 (Change ECU) > Select FRM/NFRM > Click OK
17. Verify lines: get coded, FRM, JOBNAME = FA_Write
18. Press F3 (Execute Job)
19. Verify that the write is complete “ Job Ended”
20. Press F6 (Back) > Exit NCSEXPERT
The CAS and NFRM/FRM modules will now always default back to the new attributes you assigned to the VO!
It is important to now use NCSExpert to code the car to the new VO settings. If you properly changed the VO, NCSExpert will automatically write the battery capacity and type settings to the various modules. This is what we did manually in option #4!
1. Open NCSEXPERT
2. File > Load profile > Select a profile that has manipulation enabled (“ CNCoding”) > Click OK
3. Press F1 (VIN/ZCS/FA)
4. Press F3 (CS/FA f. EC) > Select E89 > Click OK > Select CAS > Click OK
5. Press F6 (Back)
6. Press F3 (Process Car)
7. Press F1 (Code Car)
MSV70,MSV 70.0 for N52 (NG6),
MSV80,MSV 80.0 for N52KP (NG6),
MSD80,MSD 80.0 for N43 N53 & N54 with EWS4/CAS,
Mevd172KW, Mevd 172 for N55 (Older N55’s up to late 2011 production)
Mevd176k, Mevd 176k for N55 (late 2011 production date or newer)
MSS60,MSS60 for S65 (M3),
“B” represents wet-cell, while “A” represents AGM in the VO.
E B046 BATT_46AH //46 Ah-Batterie
E B055 BATT_55AH //55 Ah-Batterie
E B070 BATT_70AH //70 Ah-Batterie
E B080 BATT_80AH //80 Ah-Batterie
E B090 BATT_90AH //90 Ah-Batterie
E A070 BATT_AGM_70AH //70 Ah-AGM Batterie
E A080 BATT_AGM_80AH //80 Ah-AGM Batterie
E A090 BATT_AGM_90AH //90 Ah-AGM Batterie
- ISTA/D (aka Rheingold) is the current dealership diagnostic software for all Exx and Fxx cars.
- ISTA/D is the replacement for older dealership “DIS” diagnostic software.
- ISTA/P is the current dealership programming software for all Exx and Fxx cars.
- ISTA/P is the replacement for the older dealership programming software “ SSS.”
- ISTA/P & ISTA/D are designed to be used with an ICOM Interface, and with full ICOM-A-B-C, you can connect to older cars. The ICOM “C” Connection is for the older BMW ADS 20-pin round “Pacman” connector in the Engine Bay. You can find versions of ISTA/D with an ICOM Emulator built-in that allows you to use it with an ENET Interface for Fxx cars and a DCAN Interface for Exx cars.
- INPA (interpreter for test procedures) is an older factory floor diagnostic software, designed to run test procedures. While INPA can be set to an English User Interface, most of the Test Procedures (scripts), which can be difficult to find, are in German.
- WinKFP is for flashing/reprogramming modules
- NCSexpert is for coding, it can be used to set up options and enable things
- Tool32 is like a DOS cmd box for the modules, it’s text based and can it’s able to ask the ECUs various questions and show the answers (like status, programming data etc)
To see the current rate your battery is charging at, open the INPA program>> E90>>ENGINE>>MSD80>> Status(F5)>>PM-IBS>>PM FIELD 2 . Under the PM Field option look at the ah reading registered, to see what it’s set at to charge your battery at present. If it’s incorrect, you need to re-try the options outlined above. Once you have done this, re-register your battery using the Tool32 program. Then go back into INPA and check the PM Field 2 again to see if the new ah reading has been registered.
KLASSE_BATTERIE BATTERY TYPE
wert_00 value 00
80ah 80 ampere-hours
90ah 90 ampere-hours
110ah 110 ampere-hours
70ah 70 ampere-hours
55ah 55 ampere-hours
46ah 46 ampere-hours
70ah_agm 70 ampere-hours (agm)
90ah_agm 90 ampere-hours (agm)
60ah_agm 60 ampere-hours (agm)
80ah_agm 80 ampere-hours (agm)