Skip to Content
UDS Simulator 2.0 Released
Docs0x2A Read Data By Periodic Identifier

Service Interaction Protocol

Periodic Read

0x2A
Protocol Identifier
Requests periodic transmission of data from an ECU at specified intervals, enabling continuous monitoring of dynamic vehicle parameters.
A Service Identifier (SID) is a single-byte value (0x00–0xFF) in position 0 of every UDS request frame. It specifies which diagnostic operation the client wishes the ECU to execute. The positive response echoes the SID with the high bit set (SID + 0x40).

DATA_MODEL

PUSH_STREAM
The ECU autonomously broadcasts data frames without intermediate requests.

SCHEDULER

DYNAMIC
Supports multiple identifiers with different frequencies (Slow, Medium, Fast).

TIMEOUT

P3_DRIVEN
Streaming persists as long as the tester is present (S3 timer logic).

Overview

ISO 14229-1

“The ReadDataByPeriodicIdentifier service is used by the client to request periodic transmission of data record values of data identifiers from the server.”

Continuous Monitoring

  • Real-time RPM/Speed logging
  • Dynamic sensor calibration
  • Oscilloscope-style data viewing
  • Diagnostic logging sessions

Dependencies

  • TesterPresent (0x3E) required for long sessions
  • Extended Session (0x03) usually required
  • PDID must be defined in ECU table

Default Behavior

At startup, no periodic data transmission is active. Once a client successfully requests a PDID, the ECU will continue to stream data at the requested rate until a “Stop” request (Mode 0x04) is received, the diagnostic session is reset, or the ECU is power-cycled.

Protocol Anatomy (Subscribe Fast)

◆ PROTOCOL ANATOMY

View
REQUEST_TX

0x2A PERIODIC READ

RESPONSE_RX

0x2A RESPONSE

Transmission Modes

The first parameter defines how fast the ECU should sample and send the data.

Mode
Name
Typical Frequency
Use Case
0x01Slow Rate1-2 HzTemp, Battery Level
0x02Medium Rate5-10 HzVehicle Speed, O2 Sensors
0x03Fast Rate20-100 HzCrank Sensor, Torque
0x04Stop SendingN/AExplicit termination

Message Format

Request Format

Byte
Field
Value
Description
0SID0x2ARead Data Periodic
1Mode0x01-04Transmission rate
2PDID #10xNNPeriodic Data ID
3PDID #N...Optional extra IDs

Periodic Response

Periodic Data Streaming
Click to Enlarge

Mechanism for continuous real-time data push from ECU to tester.

tip _entry

Note: The ECU sends multiple responses for a single request!

Byte
Field
Value
Description
0Response SID0x6APositive Response
1PDID0xNNIdentifier of the data
2-NData...The actual payload

Examples

Workflow: Dynamic Data Streaming

6 steps
Tester
ECU

Start RPM Streaming (Medium Rate)

tx_packet

Request

2A 02 01

> Start PDID 0x01 at Medium Rate

rx_packet

Periodic #1

6A 01 0B B8

> RPM = 3000 (0x0BB8)

rx_packet

Periodic #2

6A 01 0B BA

> RPM = 3002 (sent ~100ms later)

Stop Streaming

tx_packet

Request

2A 04 01

> Stop PDID 0x01

rx_packet

Response

6A

> Confirmation: Stopped

Negative Response Codes

Error_Catalog

Negative Response Codes

THREAT_LEVEL3 HIGH2 MEDIUM5 NRCs TOTAL
ISO_14229_ANNEX_ANRC_ENGINE_V2