Figure 9.8: Sequence diagram of GetOBDFaultInformation
c1371749e20de872c41542ef6a2e072f3476c022aaaa7b7ffd62dfb580e2ed71
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ückmeldungDem_SetDTCFilter()Dem_GetNumberOfFilteredDTC(Std_ReturnType, uint8, uint16*)inklusive RückmeldungDem_DcmGetNumberOfFilteredDTC()Dem_GetNextFilteredDTC(Std_ReturnType, uint8, uint32*, uint8*)inklusive RückmeldungDem_GetNextFilteredDTC()Dem_DcmGetDTCOfOBDFreezeFrame(FrameNumber=0x00, DTC)inklusive RückmeldungDem_DcmGetDTCOfOBDFreezeFrame()
3. Dynamisches Verhalten & Sequenzablauf
Der Ablauf gliedert sich in drei aufeinanderfolgende Service-Anfragen:
- Service 01 (PID 01): Das Scan Tool sendet
Service S01: RequestVehicleInformation PID S01(). Der Dcm setzt überDem_SetDTCFilter(...)den Filter im Dem und fragt mitDem_GetNumberOfFilteredDTC(...)die Anzahl der gefilterten DTCs ab. Der Dem bestätigt dies (unter anderem perDem_DcmGetNumberOfFilteredDTC()), woraufhin der Dcm einePositive Response to Service S01 with PID S01()an das Scan Tool sendet. - Service 03: Das Scan Tool fordert mit
Service S03: Request emission related DTCs()abgasrelevante Fehlercodes an. Der Dcm konfiguriert den DTC-Filter viaDem_SetDTCFilter(...). Anschließend iteriert ein Loop-Fragmentloop Get DTCsmit der Abbruchbedingung[Repeat until function returns "NoMatchingDTCs"]: Innerhalb der Schleife ruft der Dcm wiederholtDem_GetNextFilteredDTC(...)auf, empfängt die BestätigungDem_GetNextFilteredDTC()und aggregiert die Daten in einem internen SelbstaufrufAssemble response message(). Nach Verlassen der Schleife übermittelt der Dcm diePositive Response to Service S03(). - 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 überDem_DcmGetDTCOfOBDFreezeFrame(FrameNumber=0x00, DTC)aus dem Dem aus und antwortet mitPositive 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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.