Service Interaction Protocol
Read Data By Identifier
Overview
“The client uses this service to request data record values from the server by one or more data identifiers.”
Unlike services with Sub-Functions (like 0x10 or 0x19), this service relies entirely on Data Identifiers (DIDs) to define the data content.
Message Structure
Request (0x22)
Requests can contain multiple 2-byte DIDs.
Response (0x62)
DIDs are echoed back before their respective data.
Common Data Identifiers (DIDs)
Range | Category | Examples |
|---|---|---|
| 0xF180 - 0xF19F | Identification | VIN (0xF190), ECU Serial (0xF18C) |
| 0xF1A0 - 0xF1EF | Identification | Active Session (0xF186) |
| 0x0100 - 0xEFFF | Vehicle Mfr | RPM, Speed, Temperatures, Torques |
| 0xF200 - 0xF2FF | Periodic | Grouped data for periodic transmission |
| 0xFA00 - 0xFEFF | System Specific | Development & Calibration data |
Lookup Logic
A single request can contain multiple DIDs. The ECU processes each identifier, fetches the data from the internal mapping engine, and concatenates the results in the response.

How the ECU resolves 16-bit identifiers to internal memory locations.
Request
22 F1 90> Get Vehicle Identification Number
Response
62 F1 90 31 42 41...> Returns '1BA...' (ASCII Encoded)
Request
22 12 34 56 78> Read DID 0x1234 AND 0x5678
Response
62 12 34 [Data1] 56 78 [Data2]> DIDs are interleaved with their data
Negative Response Codes
Logic_Exceptions