REXGEN 1REXGEN 2REXGEN 2 IMU GNSSREXGEN AirREXGEN ProDeveloper

REXGEN XML reference: diagnostics (UDS, XCP, seed and key, J1939 DM)

Updated

Configure REXGEN diagnostic blocks in XML: UDS request sequences, XCP measurement with seed and key access, DAQ lists and J1939 DM1 fault recording.

About this guide

The schema, ReXConfig.xsd revision 1.1, defines the diagnostic blocks in this guide.

REXDESK builds the same setups through its interface. See REXDESK: filter CAN IDs, J1939 PGNs and UDS requests.

These Learn articles explain the protocols:

Each block takes a UID attribute (required and unique in the file) and the optional Version, X and Y. It sits inside BLOCKS in a list named after it, for example UDS_LIST.

How the diagnostic blocks use CAN messages

A diagnostic block does not send frames itself. It points at CANMESSAGE blocks: the request the logger sends, the response it expects from the ECU and, optionally, a tester present message. For the CAN message fields, see REXGEN XML reference: CAN messages and signals. These fields set up the request and response:

  • Protocol_Type: NO, UDS or XCP.
  • ResponseUID: the response the request waits for.
  • ResponseTimeout: the time in milliseconds after which the logger sends a request again if no response arrives.
  • ResponseObligatory: with true, the sequence waits for the response. With false, it moves on after the timeout.
  • NextOutputMessageID: the next request in a sequence.
A UDS session: open, poll, keep alive UDS · ISO 14229 A UDS session: open, poll, keep alive Tester ECU Repeat 10 03 DiagnosticSessionControl: extended session 50 03 … positive response 22 F1 90 ReadDataByIdentifier: DID F190 62 F1 90 … data 3E 00 TesterPresent: keep the session open 7E 00 positive response A positive response is the service ID plus 40 hex (10 to 50, 22 to 62, 3E to 7E). Repeat the read loop for as long as you log, and send TesterPresent before the session timeout (S3, typically 5 s) or the ECU returns to its default session. Physical IDs, for example 7E0 and 7E8.

UDS (UDS_LIST)

UDS

<UDS UID="60">
  <Name>Read data by identifier</Name>
  <FirstUDSMessageUID>61</FirstUDSMessageUID>
  <ModuleMessageUID>62</ModuleMessageUID>
  <TesterMessageUID>63</TesterMessageUID>
  <TesterPresentTime>2000</TesterPresentTime>
  <NoResponseTimeout>1000</NoResponseTimeout>
</UDS>
Name
A name for the sequence. Required. String.
FirstUDSMessageUID
UID of the first request message in the sequence. Required. Unsigned short.
ModuleMessageUID
UID of the message the ECU answers on. Required. Unsigned short.
TesterMessageUID
UID of the tester present message that keeps the diagnostic session open. Optional. Unsigned short.
TesterPresentTime
Interval between tester present messages, in milliseconds. Optional. Unsigned short. Default 0.
NoResponseTimeout
Time to wait for the ECU before giving up, in milliseconds. Required. Unsigned short.

XCP (XCP_LIST)

XCP

<XCP UID="70">
  <Name>Engine ECU</Name>
  <FirstMessageUID>71</FirstMessageUID>
  <ModuleMessageUID>72</ModuleMessageUID>
  <TesterMessageUID>73</TesterMessageUID>
  <TesterPresentTime>1000</TesterPresentTime>
  <NoResponseTimeout>1000</NoResponseTimeout>
  <DAQMessageUID_LIST>
    <DAQMessageUID>74</DAQMessageUID>
  </DAQMessageUID_LIST>
  <SEED_KEY_LIST>
    <SEED_KEY>
      <SeedMessageUID>75</SeedMessageUID>
      <KeyMessageUID>76</KeyMessageUID>
      <UnlockFileName>SeedKey.dll</UnlockFileName>
    </SEED_KEY>
  </SEED_KEY_LIST>
</XCP>
Name
A name for the XCP slave. Required. String.
FirstMessageUID
UID of the first command message. Required. Unsigned short.
ModuleMessageUID
UID of the message the ECU answers on. Required. Unsigned short.
TesterMessageUID
UID of the tester present message, which keeps the XCP connection open. Required for XCP. Unsigned short.
TesterPresentTime
Interval between tester present messages. Optional. Unsigned short.
NoResponseTimeout
Time to wait for the ECU. Required. Unsigned short.
DAQMessageUID_LIST
The messages that carry DAQ data, each a DAQMessageUID. Optional.
SEED_KEY_LIST
Seed and key access. Each SEED_KEY names the seed message, the key message and UnlockFileName, the file that computes the key from the seed. Optional.

The product pages list XCP on CAN for REXGEN Pro.

DAQ lists (DAQ_LIST, DAQITEM_LIST, DAQFILE_LIST)

Three blocks describe a measurement list. DAQ sets the list and its rate. Each DAQITEM adds a value to it. DAQFILE writes the values out as JSON or XML at an upload rate. DAQFILE is what REXDESK calls a snapshot file. See REXDESK: send decoded snapshot files to S3.

<DAQ UID="80">
  <Number>0</Number>
  <SamplingRate>100</SamplingRate>
</DAQ>
<DAQITEM UID="81">
  <DAQID>80</DAQID>
  <InputUID>30</InputUID>
  <Name>Engine speed</Name>
</DAQITEM>
<DAQFILE UID="82">
  <FileType>JSON</FileType>
  <InputTypeID>0</InputTypeID>
  <InputUID>81</InputUID>
  <Name>snapshot</Name>
  <UploadRate>60000</UploadRate>
</DAQFILE>
Number, SamplingRate (DAQ)
The DAQ list number and its rate. Required. Unsigned short and unsigned int.
DAQID, InputUID, Name (DAQITEM)
The DAQ list the item belongs to, the value it carries and its name. Required.
FileType (DAQFILE)
JSON or XML. Required.
InputTypeID, InputUID, Name, UploadRate (DAQFILE)
What the file takes its values from, its name and how often the logger writes or uploads it. Required.

J1939 diagnostic messages (J1939DM_LIST)

J1939DM

Records J1939 DM1 active fault messages from one source address. The product pages list J1939 DM1 as a trigger source on every REXGEN.

<J1939DM UID="90">
  <DMType>DM1</DMType>
  <InputUID>3</InputUID>
  <Source>0</Source>
</J1939DM>
DMType
The diagnostic message. DM1 is the only value. Required.
InputUID
UID of the input CANMESSAGE that receives the J1939 traffic. Required. Unsigned short.
Source
J1939 source address of the ECU to watch. Required. Unsigned byte.

Next steps

Products in this guide

REXGEN 1

Vehicle black box

View REXGEN 1 Ask an engineer

REXGEN 2

Evidence data logger

View REXGEN 2 Ask an engineer

REXGEN 2 IMU GNSS

Motion & location data logging

View REXGEN 2 IMU GNSS Ask an engineer

REXGEN Air

CAN to cloud

View REXGEN Air Ask an engineer

REXGEN Pro

Edge data platform

View REXGEN Pro Ask an engineer

Still stuck?

Our engineers answer support questions on every Influx Technology product.