You are on page 1of 16

14.

EDC16 Error (dtc) removal - vagecumap mirror

vagecumap mirror

14. EDC16 Error (dtc) removal

EDC16 Error Handling

The following appears to be how VAG BOSCH EDC16 ECU’s Handle Errors.

What is Monitored?

The ECU monitors Input signals (eg. from Sensors) and Output signals (eg. from
Actuators or Sensors)

Monitoring Inputs.

Inputs are monitored for;

Supply Voltage

Signal Range Check (SRC eg. 0.5 to 4.5 Volts)

Plausibility. (eg. compare crankshaft speed with Camshaft speed)

Double check. eg. Critical sensors such as Accelerator and Brake pedal have TW O
sensors for comparison.
14. EDC16 Error (dtc) removal - vagecumap mirror

Monitoring Outputs.

Outputs are monitored for:

Short circuit to Battery PLUS (+)

Short circuit to Battery MINUS (-)

Open Circuit.

Plausibility. This is usually via a Signal Range Check.

Monitoring Sensor.

Error Detection.

On detecting a possible Error the Error is stored as a Temporary error. This is often
referred to as Error before debouncing.

Error Testing. (Debouncing)

A detected ‘Temporary error’ needs to be tested to ensure it is a real defect. The error is
checked against a time cycle or count cycle. This is known as debouncing.

The error debouncing can have two possible outcomes.

Either the error is debounced as a genuine error OR it is debounced as a healed error.

So in effect the error is debounced twice.


14. EDC16 Error (dtc) removal - vagecumap mirror

1. Error debounce for Permenent error.

2. Error debounce for Healed error.

W hile this debouncing is taking place, the last known ‘Good’ value stored in the ECU is
used by the ECU.

Debouncing

Debounce for Permenent error.

Depending on the type of error the debouncing may be almost instant or take a number of
driving cycles.

The MIL and/or System lamp may also be ON or Off depending on the error type.

Some errors may not only activate the MIL and/or System lamp. They may also flag ‘Stop
Engine’ on the Dash display or even stop the engine.

Once the ECU has declared an error to be a Permanent error it is entered in the Fault
Memory as a debounced error. This error can only be read and cleared/removed by use of
a suitable Diagnostic tool.

At this stage the function will swap to a Default value if one is available in the ECU file.
(E.g Coolant temperature sensor failure may use a default value of 90 °C from the ECU
file.)

Debounce for Healed error.


14. EDC16 Error (dtc) removal - vagecumap mirror

The error must be debounced as ‘OK’ for a number of driving cycles. (More than 3 driving
cycles usually)

If the error is declared Healed, it is considered ‘healed in operation’ and is not entered in
the error memory as a Permanent error.

Error read out

The current error situation can be read/checked using a diagnostic tool such as VCDS or
the VAG dealer tool.

The Error information is stored in the Error memory as;

Code (VAG specific or OBD11).

Error description.

Operating conditions for error.

Environmental conditions (Freeze frame).

eg.

17964 (P1556)

Charge Pressure Control: Negative Deviation


35-10 - -

Intermittent
14. EDC16 Error (dtc) removal - vagecumap mirror

17964 is a VAG specific Error code

P1556 is a CARB specific Error code. (Also known as OBD11 code or P-code).

How does this relate to error management in EDC16 hex dump files?

In many respects the Diagnostic tester output does not relate to the ECU data file because
when you look at the data file you are looking at the Control Parameters for Error
Management, not the errors as they appear on the diagnostic tester.

EDC16 hex dump file.

Error code block.

Apart from the usual maps such as drivers wish, EGR, Boost etc. The ECU data file also
contains all of the error codes available for that ECU. In the EDC16 ECU the error codes
are either, arranged in one large block that includes VAG codes and P-codes mixed in
together or they are arranged in two clear areas (One for VAG codes and one for P-codes.)

You can find them by using the search function in W inols. (16 bit mode)

VAG codes are FIVE digit decimal, so you use search function ‘decimal’ and search for
your code. eg. 17964.

P-codes are FOUR digit Hex so you use search function ‘Hex’ and search for your code. eg
1556 (You don’t include the ‘P’)

If you search for a number of VAG codes and a number of P-codes you will soon see how
14. EDC16 Error (dtc) removal - vagecumap mirror

they are arranged in your error code block.

Finding a few error codes helps to identify the error code block and make it easier to find
the error path block.

Error path block.

Once an error has occurred (Temporary) and has been debounced Defective (Permanent
error) it is stored in the error memory. You can’t see this in the hex dump file but you can
see the Error Path Parameter Block. This block contains the reference values that tell the
ECU how to handle the error.

The error path block is made up of a number of Error Paths. Each error path is connected
to a maximum of 8 errors.

4 VAG specific errors and 4 P-code errors.

How to find error block and error class error path block.

Finding Error path block.

In W inols; 16 bit mode.

1. Use the search function to find a few VAG specific (decimal 5 bit) and P-codes (hex 4
bit). in Text view.

2. Switch to 2D view to get an idea of what the VAG code and P-code areas look like.

e.g
14. EDC16 Error (dtc) removal - vagecumap mirror

I have had to squash this image, to get it to fit the page, so keep this in mind when you
look in W inols.

W ith luck the error path block is at the end of the error code block.

The yellow strips are codes that I have identified and highlighted as maps.
3. Keep in 2D mode and expand the Error Path block (at the end of the error code block).
It will look something like this;
14. EDC16 Error (dtc) removal - vagecumap mirror

The error path block is important because this is the part you modify. Not the error code
block.

4. Change the data view to EIGHT bit and Highlight the block as best you can.
14. EDC16 Error (dtc) removal - vagecumap mirror

5. Switch to text view. W ith luck it will look something like this;

Error path block


Notice that the error path block (8 bit mode) is made up mostly of 001, 002, 003, 011, 013
etc. It rarely goes above 020.

6. You must identify the Exact START address of the Error path block (0DB348 in this
14. EDC16 Error (dtc) removal - vagecumap mirror

example).
W ithout this address you can’t delete any error codes.
7. Once you have identified the error path block, save it as a 1 x 1 map to make it easy to
find later.
8. The error code block is usually immediately before the error path block so address
before the error path block start should be the last error code address of the error code
block. (It may not be so don’t just assume it is)

Finding Error block start


1. Change to 16 bit view so you can recognise fault codes
You should, by now, know if you have one large error code block or two smaller error code
blocks.
It doesn’t matter what set up you have but it helps with searching if you know what you are
looking at.
There is one major clue to the start of the error block. It is the error code;
P-0607 (16991) Internal Control Module, implausible.
Change the data to 4 columns (addresses) wide.
Search for 0607, 0607, 0607, 0607 (16 bit, hex) or 16991, 16991, 16991, 16991 (16 bit,
dec)

Arrange the columns so the 4 addresses form a row: eg. 0607, 0607, 0607, 0607.
W inols should look like this.
14. EDC16 Error (dtc) removal - vagecumap mirror

The error code block start is usually 6 or 8 rows before the 0607 row as shown in the
picture (In Green)
The Error code block starts at 0D9F08.

How to locate the value to disable an Error code:


Now that you know the start of the Error code block and Error path block you can delete
error codes by counting error code rows (4 x 1) and error path addresses (1 x 1).
14. EDC16 Error (dtc) removal - vagecumap mirror

It is easier to show how to do this using an Excel spreadsheet. See below.


This shows the error codes and their error paths on one chart. (You can’t show a view like
this in Winols)
14. EDC16 Error (dtc) removal - vagecumap mirror

The green numbers in the first column represent either error code rows (4 x 1) or error path
(1 x 1)
So 7 represents Error code row 7 (0607, 0607, 0607, 0607) and Error path 7
(Dfp_ADCMon).
It is hard to make sense of error path names like Dfp_ADCMon so I have added an end
column to help identify some of the paths. This picture only shows 36 paths. There will be
hundreds.

Deleting an Error code.

Example: Deleting error code P0402. (16786) Exhaust Gas Recirculation (EGR), Flow
Excessive Detected

Count ‘rows’ from the Start of the Error code block until you reach the error code.
eg. P0402 is in row 29 in the picture above).
This means that it connects to error path 29.

So looking at the error path block (8 bit, dec), you count 29 addresses from the start.
E.g.
14. EDC16 Error (dtc) removal - vagecumap mirror

The 29th address is 003 (red highlight above).


To disable this error path and its associated errors you change it to 000.

How this works.

All Error Paths have a value; e.g; 001, 002, 011 etc.
This value tells the ECU what set of Error Parameters to use with this Error Path.
There are about 20 possible error parameter sets, 001, 002, 003 etc.
There isn’t a 000 (Zero) Error Parameter so setting the Error Path to 000 stops any
functions being performed as the ECU has no Error Parameters to follow.
14. EDC16 Error (dtc) removal - vagecumap mirror

Each Error Parameter is made up of the same 15 bits of information but the values are
slightly different in each of the Parameter sets.

The example below is for class 003 from a VW EDC16 file.

Never change these values because they are used by many different error paths.

1 Type of MIL 001


activation
2 Trigger type of error order confirmation debounce (-> lamp on) 002

3 Number of trigger events for error entry confirmation debounce (-> lamp on) 002

4 Trigger type for error recovery (-> lamp off) 002

5 Number of trigger events for error recovery (-> lamp off) 004

6 Error is visible to OBD scan tool tester (SCATT) if value = 1 001

7 Trigger type of extinguishing debouncing of unacknowledged errors (pending) 003

8 Number of trigger events for the deletion of unacknowledged errors (pending) 080

9 Trigger type for delete 003


debouncing
10 Number of trigger events for the deletion of error entries with status customer 040
service
14. EDC16 Error (dtc) removal - vagecumap mirror

11 Number of trigger events for the deletion of error entries 040


12 Priority of the error entry for displacement and freeze frame assignment 030
13 Type of system lamp control 000
14 Behaviour of error flags on reset and broken off run 003
15 Debouncing of class assignment to Readiness Flags 001

You might also like