Automotive Diagnostic Command Set Toolkit Help

UDS ReportSupportedDTCs.vi

  • Updated2024-08-07
  • 4 minute(s) read

UDS ReportSupportedDTCs.vi

Purpose

Executes the ReportSupportedDTCs subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads all supported Diagnostic Trouble Codes (DTCs).

Format

diagram

Input

numeric clusterDTC descriptor is a cluster that describes the DTC records the ECU delivers:
long signed integerDTC Byte Length indicates the number of bytes the ECU sends for each DTC. The default is 3 for UDS.
long signed integerStatus Byte Length indicates the number of bytes the ECU sends for each DTC's status. The default is 1.
long signed integerAdd Data Byte Length indicates the number of bytes the ECU sends for each DTC's additional data. Usually, there is no additional data, so the default is 0.
word unsigned integerByte Order indicates the byte ordering for multibyte items:
0: MSB_FIRST (Motorola) (default)
1: LSB_FIRST (Intel)
This VI interprets the response byte stream according to this description and returns the resulting DTC records in the DTCs cluster array.
numeric clusterdiag ref in specifies the diagnostic session handle, obtained from Open Diagnostic on CAN FD.vi or Open Diagnostic on IP.vi and wired through subsequent diagnostic VIs. Normally, it is not necessary to manually manipulate the elements of this cluster.
cluster error in is a cluster that describes error conditions occurring before the VI executes. If an error has already occurred, the VI returns the value of the error in cluster to error out.
boolean status is TRUE if an error occurred. This VI is not executed when status is TRUE.
long signed integer code is the error code number identifying an error. A value of 0 means success. A negative value means error: the VI did not execute the intended operation. A positive value means warning: the VI executed intended operation, but an informational warning is returned. For a description of the code, wire the error cluster to a LabVIEW error-handling VI, such as the Simple Error Handler.
string source identifies the VI where the error occurred.

Output

numeric clusterdiag ref out is a copy of diag ref in. You can wire it to subsequent diagnostic VIs.
DTCs returns the resulting DTCs as an array of clusters:
long unsigned integerDTC is the resulting Diagnostic Trouble Code.
long unsigned integerStatus is the DTC status. Usually, this is a bit field with the following meaning:
Bit Meaning
0 testFailed
1 testFailedThisMonitoringCycle
2 pendingDTC
3 confirmedDTC
4 testNotCompletedSinceLastClear
5 testFailedSinceLastClear
6 testNotCompletedThisMonitoringCycle
7 warningIndicatorRequested
long unsigned integerAdd Data contains optional additional data for this DTC. Usually, this does not contain valid information (refer to DTC descriptor).
booleansuccess? indicates successful receipt of a positive response message for this diagnostic service.
cluster error out describes error conditions. If the error in cluster indicated an error, the error out cluster contains the same information. Otherwise, error out describes the error status of this VI.
boolean status is TRUE if an error occurred.
long signed integer code is the error code number identifying an error. A value of 0 means success. A negative value means error: the VI did not execute the intended operation. A positive value means warning: the VI executed intended operation, but an informational warning is returned. For a description of the code, wire the error cluster to a LabVIEW error-handling VI, such as the Simple Error Handler.
string source identifies the VI where the error occurred.
byte unsigned integerstatus avail mask is an application-specific value returned for all DTCs.

Description

This VI executes the ReportSupportedDTCs subfunction of the UDS ReadDiagnosticTroubleCodeInformation service and reads all supported DTCs from the ECU memory.

For further details about this service, refer to the ISO 15765-3 standard.

Log in to get a better experience