Service-oriented diagnostics

Unified Diagnostic Services organizes ECU interaction into service identifiers. Common examples include Diagnostic Session Control 0x10, ECU Reset 0x11, Read Data By Identifier 0x22, Clear Diagnostic Information 0x14, and Read DTC Information 0x19.

A positive response usually adds 0x40 to the requested service. A negative response begins with 0x7F and includes the original service plus a negative response code that explains why the request was rejected or delayed.

Transport and timing matter

UDS payloads can exceed a single CAN frame, so ISO-TP segments them into single, first, consecutive, and flow-control frames. Addressing mode, request and response identifiers, block size, separation time, and timeouts must agree on both sides.

An ECU may require an extended session, security access, or tester-present messages before a service is available. Capturing the full request-response sequence is more useful than looking only at the final negative response.

Safe diagnostic workflow

Begin with read-only services on a bench or approved test vehicle. Record baseline DTCs and session behavior, confirm power stability, and document the recovery path before using reset, write, routine, security, or download services.

Diagnostic automation should log timestamps, request bytes, response bytes, decoded response codes, retries, session state, and the exact software/calibration context. That evidence turns a failed test into an actionable engineering finding.

Engineering note: Validate procedures against the applicable OEM requirements, hardware documentation, and safety process before using them on an active vehicle.