BMW's earlier diagnostic systems could do more than read faults. Depending on the car, controller and installed software, MoDiC and DIS-era tools also supported vehicle-specific coding and control-unit programming. These operations have different purposes and depend on the exact control unit and its software.
Coding, individualisation and programming
Coding selects or configures functions and parameters that a compatible control unit can support, such as its market or vehicle equipment. Individualisation deals with available vehicle or key preferences. Programming writes a control unit's operating software or associated data. Not every ECU or tester supports every operation, and a configuration change is not automatically a performance calibration.
Variant coding and coding codes
Some early DME engine controllers use a variant code to select a suitable configuration from the data available for that controller. Other earlier body systems used a coding code. A code is meaningful only with the applicable controller and service information; the correct setting depends on the vehicle and market. BMW's training uses M1.7.2 as one documented example.
ZCS and the vehicle order
The central coding key, ZCS, records vehicle characteristics and equipment for applicable models. BMW training describes three segments: GM for basic characteristics, SA for special equipment and VN for version information. It also describes a later vehicle-order approach, VO/FA. The storage locations and redundancy vary by model; consult the actual vehicle documentation before replacing a module or changing vehicle information.
EPROM and flash memory
On some early DME systems, updating software involved replacing a removable EPROM. BMW's training distinguishes M3.1 from later M3.3 and M3.3.1 examples, where an update could sometimes be written into available space. Replacement was still necessary in specified circumstances. Later controllers used electrically erasable memory for supported flash programming. These are controller-specific arrangements: EPROM is not one universal, permanently unwritable device, and a particular update limit must not be assumed for every ECU.
Which equipment performs the work?
Historic setups used the appropriate MoDiC, DIS or GT1 release and interface. Later BMW training describes SSS/Progman taking over the execution of certain coding and programming operations. NCS Expert and WinKFP are separate engineering applications. Identify the original vehicle order, controller part and software before selecting a workflow.
Sources
- BMW ST406: introduction to coding and programming and variant coding, BMW service training hosted by Internet Archive.
- BMW ST406: vehicle coding information and EPROMs and EEPROMs, BMW service training hosted by Internet Archive.
- BMW coding and programming guide: variant codes, ZCS, EPROM and flash, OldBMW.ru; independent contextual reference. Details must be checked against the applicable BMW documentation.