Konfiguriert Schwellenwerte, Schrittweiten und Sprungwerte für die zählerbasierte Entprellung von Monitoren.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 60957358c6ecHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Konfiguriert Schwellenwerte, Schrittweiten und Sprungwerte für die zählerbasierte Entprellung von Monitoren.
Die Struktur ara::diag::CounterBased definiert die Schwellenwerte, Schrittweiten und Sprungparameter für die zählerbasierte Entprellung diagnostischer Ereignisse [SWS_DM_00538]. Sie wird von der Anwendung instanziiert und dem Konstruktor von ara::diag::Monitor übergeben, um die Kriterien zur Fehler- und Gut-Qualifizierung festzulegen [SWS_DM_00549]. Das Diagnostic Management nutzt diese Parameter zur Zählerfortschreibung, sofern im Diagnostic Extract (DEXT) keine vorrangigen Entprelldaten hinterlegt sind.
Kontext
Die Struktur ara::diag::CounterBased repräsentiert die Konfigurationsparameter für die zählerbasierte Entprellung diagnostischer Ereignisse [SWS_DM_00538] gemäß der Spezifikation der AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 „Counter-based debouncing“. Innerhalb des Diagnose-Subsystems dient sie dem Austausch von Entprellparametern zwischen der anwendenden Monitor-Implementierung und dem Diagnostic Management (DM).
Die Interaktion erfolgt im Wesentlichen über vier Schnittstellenpartner:
Die Diagnose-Anwendung instanziiert und befüllt CounterBased mit Ereignisgrenzwerten.
Das Diagnostic Extract (DEXT) definiert vorgelagerte Entprellparameter; existieren im DEXT passende Parameter, besitzen diese zwingend Vorrang und die per Konstruktor übergebenen Werte werden vom DM ignoriert [SWS_DM_01099].
Als C++-Datenstruktur (struct) SWS Diagnostics §8.41.2 „Struct: CounterBased“ wird CounterBased als reiner Wertbehälter durch die anwendende Softwarekomponente auf dem Stack oder Heap erzeugt. Ihr Lebenszyklus ist typischerweise auf die Konfigurations- und Initialisierungsphase vor der Erzeugung des ara::diag::Monitor beschränkt.
Nachdem die Attribute definiert wurden, wird die Struktur per Wert an den Konstruktor von Monitor übergeben [SWS_DM_00549]. Die Struktur selbst hält keinen internen dynamischen Zustand und besitzt keine Zustandsmaschine; die fortlaufende Zählerverwaltung obliegt ausschließlich dem Diagnostic Management. Da CounterBased als passive Datenstruktur konzipiert ist und keine internen Synchronisationsmechanismen besitzt, ist die Konfiguration der Interpretation nach vor der Übergabe an den Monitor thread-lokal oder synchronisiert vorzunehmen.
Nutzungspfad
Die typische Verwendung gliedert sich in die Definition der Entprellparameter, die Übergabe an den Monitor und die Zählerauswertung zur Laufzeit:
Die Anwendung erzeugt eine Instanz von CounterBased und belegt die Grenzwerte: failedThreshold für die Fehlerqualifizierung [SWS_DM_00621] sowie passedThreshold für die Gut-Erkennung [SWS_DM_00622].
Die Schrittweiten werden über failedStepsize für gemeldete Fehlzustände [SWS_DM_00623] und passedStepsize für Gutmeldungen [SWS_DM_00624] definiert.
Optional werden sprunghafte Anpassungen konfiguriert: Über useJumpToFailed[SWS_DM_00627] und failedJumpValue[SWS_DM_00625] wird das Anspringen eines Mindestfehlerwerts aktiviert. Analog steuern useJumpToPassed[SWS_DM_00628] und passedJumpValue[SWS_DM_00626] Sprünge in Richtung des Gut-Zustands.
Die befüllte Struktur wird dem Konstruktor von Monitor übergeben [SWS_DM_00549]. Sofern keine DEXT-Definitionen vorliegen, nutzt der DM diese Werte [SWS_DM_01101].
Erreicht der Zähler failedThreshold, stuft der DM das Ereignis als kFinallyDefective ein [SWS_DM_00024]. Entsprechendes gilt für Gutmeldungen mittels passedStepsize[SWS_DM_00876].
Bei der Verwendung von CounterBased sind mehrere Randbedingungen und Vorrangregeln zu beachten:
DEXT-Vorrangkonflikt: Wenn im DEXT Entprellparameter vorhanden sind, ignoriert das DM die in CounterBased definierten Parameter vollständig [SWS_DM_01099]. Eine Fehlkonfiguration entsteht, wenn Anwendungsentwickler eine dynamische Parameteränderung über den Konstruktor erwarten, obwohl statische DEXT-Werte aktiv sind.
Fehlende DEXT-Werte: Liegen im DEXT keine Angaben vor, ist das DM zwingend darauf angewiesen, dass der Konstruktor eine gültige CounterBased-Instanz bereitstellt [SWS_DM_01101].
Schwellenüberschreitung: Steigt der interne Entprellzähler durch die Addition von failedStepsize über den Schwellenwert failedThreshold, setzt das DM den Zähler exakt auf diesen Schwellenwert zurück und qualifiziert den Defekt [SWS_DM_00024], [SWS_DM_00875].
Bedingte Sprunglogik: Ist useJumpToFailed gesetzt, wird der Sprung auf failedJumpValue nur dann vollzogen, wenn der Zählerstand vor der Inkrementierung echt kleiner als failedJumpValue ist [SWS_DM_00022]. Für useJumpToPassed gilt analog, dass der Zähler größer als passedJumpValue sein muss [SWS_DM_00023].
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 und fasst die Anforderungen an die zählerbasierte Entprellung zusammen.
gemini-3.8-flash-medium· 2026-10-13