DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_DiagnosticEventManager FIG-c1371749e20de872 823 × 928 px 1 Release(s)

Figure 9.8: Sequence diagram of GetOBDFaultInformation

SHA-256 Inhalts-Fingerabdruck: c1371749e20de872c41542ef6a2e072f3476c022aaaa7b7ffd62dfb580e2ed71
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

UML-Sequenzdiagramm zur Interaktion zwischen externem Diagnose-Tester und den AUTOSAR-Basissoftwaremodulen des Diagnostic Stack (Dcm und Dem) bei der Ausführung von OBD-Diagnosediensten (GetOBDFaultInformation). Das Diagramm illustriert den Ablauf von OBD-Anfragen gemäß ISO 15031-5 bzw. SAE J1979 zur Ermittlung fahrzeugspezifischer Diagnose- und Fehlerinformationen.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Lebenslinien:

  • Generic Scan Tool: Externes Diagnoseprüfgerät als Initiator der Diagnoseservices.
  • «module» Dcm: Diagnostic Communication Manager zur Entgegennahme, Interpretation und Beantwortung von On-Board-Diagnoseanfragen.
  • «module» Dem: Diagnostic Event Manager zur Verwaltung und Filterung von Diagnosestatusdaten, DTCs und Freeze-Frame-Daten.

Verwendete Schnittstellen und Aufrufe:

  • Tester-Kommunikation:
    • Service S01: RequestVehicleInformation PID S01() / Positive Response to Service S01 with PID S01()
    • Service S03: Request emission related DTCs() / Positive Response to Service S03()
    • Service S02: Request Powertrain freeze frame data PID S02, FF: S00() / Positive response to Service S02, PID S02()
  • BSW-interne Schnittstellen (Dcm zu Dem):
    • Dem_SetDTCFilter(Std_ReturnType, uint8, uint8, Dem_DTCFormatType, Dem_DTCOriginType, boolean, Dem_DTCSeverityType, boolean) inklusive Rückmeldung Dem_SetDTCFilter()
    • Dem_GetNumberOfFilteredDTC(Std_ReturnType, uint8, uint16*) inklusive Rückmeldung Dem_DcmGetNumberOfFilteredDTC()
    • Dem_GetNextFilteredDTC(Std_ReturnType, uint8, uint32*, uint8*) inklusive Rückmeldung Dem_GetNextFilteredDTC()
    • Dem_DcmGetDTCOfOBDFreezeFrame(FrameNumber=0x00, DTC) inklusive Rückmeldung Dem_DcmGetDTCOfOBDFreezeFrame()

3. Dynamisches Verhalten & Sequenzablauf

Der Ablauf gliedert sich in drei aufeinanderfolgende Service-Anfragen:

  1. Service 01 (PID 01): Das Scan Tool sendet Service S01: RequestVehicleInformation PID S01(). Der Dcm setzt über Dem_SetDTCFilter(...) den Filter im Dem und fragt mit Dem_GetNumberOfFilteredDTC(...) die Anzahl der gefilterten DTCs ab. Der Dem bestätigt dies (unter anderem per Dem_DcmGetNumberOfFilteredDTC()), woraufhin der Dcm eine Positive Response to Service S01 with PID S01() an das Scan Tool sendet.
  2. Service 03: Das Scan Tool fordert mit Service S03: Request emission related DTCs() abgasrelevante Fehlercodes an. Der Dcm konfiguriert den DTC-Filter via Dem_SetDTCFilter(...). Anschließend iteriert ein Loop-Fragment loop Get DTCs mit der Abbruchbedingung [Repeat until function returns "NoMatchingDTCs"]: Innerhalb der Schleife ruft der Dcm wiederholt Dem_GetNextFilteredDTC(...) auf, empfängt die Bestätigung Dem_GetNextFilteredDTC() und aggregiert die Daten in einem internen Selbstaufruf Assemble response message(). Nach Verlassen der Schleife übermittelt der Dcm die Positive Response to Service S03().
  3. Service 02: Das Scan Tool fragt Powertrain-Freeze-Frame-Daten an (Service S02: Request Powertrain freeze frame data PID S02, FF: S00()). Der Dcm liest den zugehörigen DTC über Dem_DcmGetDTCOfOBDFreezeFrame(FrameNumber=0x00, DTC) aus dem Dem aus und antwortet mit Positive response to Service S02, PID S02().

4. Normative Relevanz & Entwickler-Hinweise

Das Diagramm definiert die funktionale Abfolge für die OBD-Dienste Service 01,02 und $03 zwischen Dcm und Dem. Es veranschaulicht die iterative Abfrage gefilterter Fehlercodes mittels Schleifenbedingung bis zum Fehlercode-Erschöpfungsstatus (NoMatchingDTCs). Entwickler müssen beachten, dass die Standard-Dem-APIs mit standardisierten Rückgabewerten (Std_ReturnType) und Client-Identifikatoren (uint8) parametriert werden und die Rückgabewerte die Fortführung der Iterationsschleife steuern.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R4.2.2 → R4.3.1 normative Änderung Vorgänger: FIG-2355266f0473c16d
  • Schnittstelle Dem_DcmSetDTCFilter(...) umbenannt zu Dem_SetDTCFilter(Std_ReturnType, uint8, uint8, Dem_DTCFormatType, Dem_DTCOriginType, boolean, Dem_DTCSeverityType, boolean) mit geänderter Parameterliste (Rückgabewert Std_ReturnType statt Dem_ReturnSetFilterType, zwei uint8-Parameter statt Dem_UdsStatusByteType und Dem_DTCKindType).
  • Rückmeldung Dem_DcmSetDTCFilter() umbenannt zu Dem_SetDTCFilter().
  • Schnittstelle Dem_DcmGetNumberOfFilteredDTC(Dem_ReturnGetNumberOfFilteredDTCType, uint16*) umbenannt zu Dem_GetNumberOfFilteredDTC(Std_ReturnType, uint8, uint16*) (Rückgabewert Std_ReturnType, zusätzlicher Parameter uint8).
  • Schnittstelle Dem_DcmGetNextFilteredDTC(Dem_ReturnGetNextFilteredElementType, uint32*, Dem_UdsStatusByteType*) umbenannt zu Dem_GetNextFilteredDTC(Std_ReturnType, uint8, uint32*, uint8*) (Rückgabewert Std_ReturnType, zusätzlicher Parameter uint8, Statusbyte-Zeiger uint8* statt Dem_UdsStatusByteType*).
  • Rückmeldung Dem_DcmGetNextFilteredDTC() umbenannt zu Dem_GetNextFilteredDTC().
R4.3.1 → R18-10_R4.4.0_R1.5.0 normative Änderung Nachfolger: FIG-fd59552900f796e4
  • Aufruf Dem_GetNumberOfFilteredDTC(...): Parameter uint16* geändert zu Zeiger auf Zeiger uint16**.
  • Aufruf Dem_GetNextFilteredDTC(...): Parameter uint32* und uint8* geändert zu Zeigern auf Zeiger uint32** bzw. uint8**.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Generic Scan Tool «module» | Dcm | «module» | Dem | loop Get DTCs | [Repeat until function returns "NoMatchingDTCs"] | Service S01: RequestVehicleInformation PID S01() | Dem_SetDTCFilter(Std_ReturnType, uint8, uint8, Dem_DTCFormatType, Dem_DTCOriginType, boolean, Dem_DTCSeverityType, boolean) | Dem_SetDTCFilter() | Dem_GetNumberOfFilteredDTC(Std_ReturnType, uint8, uint16*) | Dem_DcmGetNumberOfFilteredDTC() | Positive Response to Service S01 with PID S01() | Service S03: Request emission related DTCs() | Dem_SetDTCFilter(Std_ReturnType, uint8, uint8, Dem_DTCFormatType, Dem_DTCOriginType, boolean, Dem_DTCSeverityType, boolean) | Dem_SetDTCFilter() | Dem_GetNextFilteredDTC(Std_ReturnType, uint8, uint32*, uint8*) | Dem_GetNextFilteredDTC() | Assemble response message() | Positive Response to Service S03() | Service S02: Request Powertrain freeze frame data PID S02, FF: S00() | Dem_DcmGetDTCOfOBDFreezeFrame(FrameNumber=0x00, DTC) | Dem_DcmGetDTCOfOBDFreezeFrame() | Positive response to Service S02, PID S02()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.3.1 AUTOSAR_SWS_DiagnosticEventManager S. 370 9.8 Figure 9.8: Sequence diagram of GetOBDFaultInformation