DEENESPTFRRUARHIKOZHNL

स्ट्रक्चर ara::diag::TimeBased

[SWS_DM_00539] Upstream: RS_Diag_04225

struct TimeBased {...};

Represents the parameters for time-based debouncing.

Header-Datei#include "ara/diag/monitor_types.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

उपयोगकर्ता गाइडएआई जनित

मॉनिटर इनिशियलाइज़ेशन के दौरान डायग्नोस्टिक घटनाओं के समय-आधारित डिबाउंसिंग के लिए समय सीमा को परिभाषित करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: beb974918ec8 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

मॉनिटर इनिशियलाइज़ेशन के दौरान डायग्नोस्टिक घटनाओं के समय-आधारित डिबाउंसिंग के लिए समय सीमा को परिभाषित करता है।

डेटा संरचना ara::diag::TimeBased डायग्नोस्टिक घटनाओं [SWS_DM_00539] के लिए समय-आधारित डिबाउंसिंग के कॉन्फ़िगरेशन का कार्य करती है। यह ara::diag::Monitor के कंस्ट्रक्टर को मिलीसेकंड में थ्रेशोल्ड मान पास करती है, जिसकी समाप्ति के बाद किसी घटना को हील (healed) या दोषपूर्ण के रूप में वर्गीकृत किया जाता है। आने वाले स्थिति संदेशों पर इन सीमाओं के आधार पर Diagnostic Management आंतरिक डिबाउंस टाइमर को शुरू और नियंत्रित करता है। समय-आधारित डिबाउंसिंग प्रक्रियाओं के लिए रीस्टार्ट के दौरान आंतरिक काउंटर मान का पर्सिस्टेंट स्टोरेज समर्थित नहीं है AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing”।

संदर्भ

C++ संरचना ara::diag::TimeBased AUTOSAR Adaptive Platform [SWS_DM_00539] के Diagnostic Management में डायग्नोस्टिक घटनाओं के समय-आधारित डिबाउंसिंग (time-based debouncing) के लिए कॉन्फ़िगरेशन मापदंडों को परिभाषित करती है। यह मिलीसेकंड में उन दोनों अवधियों को एनकैप्सुलेट करती है, जो किसी डायग्नोस्टिक घटना के स्थिति परिवर्तनों के लिए निर्णायक हैं: फॉल्ट थ्रेशोल्ड [SWS_DM_00629] के रूप में failedMs और हीलिंग थ्रेशोल्ड [SWS_DM_00630] के रूप में passedMs।

समग्र सिस्टम में, यह संरचना तीन आवश्यक घटकों को जोड़ती है: डायग्नोस करने वाला एप्लिकेशन फ़ंक्शन, क्लास ara::diag::Monitor और Diagnostic Management (DM) [SWS_DM_00550]। एप्लिकेशन घटना-विशिष्ट डिबाउंस समय निर्धारित करने के लिए संरचना को इंस्टैंशिएट करता है और इसे डायग्नोस्टिक मॉनिटर [SWS_DM_00550] के कंस्ट्रक्टर को पास करता है। इसके बाद DM इस घटना [SWS_DM_00015] के लिए समय-आधारित डिबाउंसिंग एल्गोरिदम को सक्रिय करता है और आंतरिक टाइमर तथा कॉन्फ़िगर किए गए थ्रेशोल्ड मानों के आधार पर इवेंट स्थिति बिट kTestFailed AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing” की गणना करता है।

TimeBasedContext Anwendung Anwendung TimeBased TimeBased Anwendung->TimeBased erzeugt Monitor Monitor Anwendung->Monitor instanziiert TimeBased->Monitor konfiguriert DM DM Monitor->DM meldet Aktionen

संदर्भ आरेख: एप्लिकेशन, ara::diag::TimeBased, ara::diag::Monitor और Diagnostic Management की परस्पर क्रिया। स्रोत: [SWS_DM_00539], [SWS_DM_00550], [SWS_DM_00015]

जीवनचक्र

डायनामिक संसाधनों के बिना एक साधारण डेटा कंटेनर के रूप में, ara::diag::TimeBased का एक सरल जीवन चक्र होता है [SWS_DM_00539]। संरचना आमतौर पर एप्लिकेशन द्वारा स्टैक पर या स्टेटिक मेमोरी क्षेत्र में स्थानीय रूप से बनाई जाती है, लक्ष्य समय के साथ इनिशियलाइज़ की जाती है और ara::diag::Monitor [SWS_DM_00550] (AUTOSAR_AP_SWS_Diagnostics §8.40.1.1.2.3 “Monitor”) के कंस्ट्रक्टर को मान के रूप में पास की जाती है।

व्याख्या: मान द्वारा पास (pass by value) किए जाने के कारण, मॉनिटर निर्माण के दौरान पैरामीटर कॉपी हो जाते हैं, ताकि कंस्ट्रक्टर कॉल पूरा होने के बाद मूल TimeBased ऑब्जेक्ट को सुरक्षित रूप से डिस्कार्ड किया जा सके। प्रश्न (खुला) DM उस समय से डिबाउंस टाइमर की डायनामिक स्थिति को स्वतंत्र रूप से प्रबंधित करता है और सिस्टम स्टार्टअप पर इसके मान को प्रारंभिक रूप से 0 पर सेट करता है [SWS_DM_00085]। चूंकि TimeBased में कोई आंतरिक सिंक्रोनाइज़ेशन तंत्र नहीं है, इसलिए एप्लिकेशन की ओर से साझा इंस्टेंस पर समवर्ती राइट एक्सेस को बाहर रखा जाना चाहिए।

उपयोग पथ

विशिष्ट उपयोग निम्नलिखित चरणों में विभाजित है:

  1. पैरामीटराइज़ेशन और इनिशियलाइज़ेशन: एप्लिकेशन ara::diag::TimeBased को इंस्टैंशिएट करता है, failedMs [SWS_DM_00629] और passedMs [SWS_DM_00630] सेट करता है और संरचना को ara::diag::Monitor [SWS_DM_00550] के कंस्ट्रक्टर को पास करता है।
  2. टाइमर इनिशियलाइज़ेशन: DM डिबाउंसिंग सेवा शुरू करता है और घटना-आंतरिक टाइमर को शून्य मान [SWS_DM_00085] के साथ इनिशियलाइज़ करता है।
  3. पूर्व-परीक्षण परिणामों की रिपोर्टिंग: यदि मॉनिटर दोष-मुक्त स्थिति का पता लगाता है, तो यह kPrepassed के साथ ReportMonitorAction को कॉल करता है। DM हीलिंग स्थिति [SWS_DM_00878] की दिशा में टाइमर शुरू करता है और फॉल्ट डिटेक्शन काउंटर (Fault Detection Counter, FDC) [SWS_DM_00030] को लगातार अपडेट करता है।
  4. योग्यता (Qualification): यदि टाइमर थ्रेशोल्ड passedMs तक पहुँच जाता है, तो DM घटना को kFinallyHealed [SWS_DM_00878] के रूप में योग्य बनाता है। यदि मॉनिटर इसके बजाय kFailed की रिपोर्ट करता है, तो टाइमर सीधे failedMs पर सेट हो जाता है और घटना को kFinallyDefective [SWS_DM_00033] के रूप में संसाधित किया जाता है।
  5. फ़्रीज़ करना और फिर से शुरू करना: ReportMonitorAction(kFreezeDebouncing) के माध्यम से, डिबाउंसिंग को आवश्यकतानुसार रोका जा सकता है [SWS_DM_00880] और नई कार्रवाइयों (kPrepassed या kPrefailed) पर फ़्रीज़ किए गए काउंटर मान से फिर से शुरू किया जा सकता है [SWS_DM_00038]।
समय-आधारित डिबाउंसिंग का अनुक्रमएप्लिकेशननिगरानी करनाDMMonitor(specifier, notifier, timeBased)Aktivierung Entprellung & Timer-Init (0)ReportMonitorAction(kPrepassed)Start Timer Richtung kFinallyHealedTimer erreicht passedMsEvent als kFinallyHealed qualifiziertoptDebounce einfrierenReportMonitorAction(kFreezeDebouncing)Timer einfrierenReportMonitorAction(kPrepassed)जमी हुई स्थिति के साथ टाइमर फिर से शुरू करनाoptDirekter FehlerReportMonitorAction(kFailed)टाइमर को failedMs पर सेट करना & kFinallyDefective

अनुक्रम आरेख: समय-आधारित डिबाउंसिंग के दौरान एप्लिकेशन, मॉनिटर और DM की परस्पर क्रिया। स्रोत: [SWS_DM_00550], [SWS_DM_00085], [SWS_DM_00878], [SWS_DM_00033], [SWS_DM_00880], [SWS_DM_00038]

त्रुटि परिदृश्य

समय-आधारित डिबाउंसिंग का उपयोग करते समय कार्यात्मक पूर्व और उत्तर-शर्तें लागू होती हैं:

  • सशर्त टाइमर प्रारंभ: kPrepassed की रिपोर्टिंग पर, DM टाइमर को केवल तभी kFinallyHealed की दिशा में शुरू करता है, यदि वह पहले से ही उस दिशा में नहीं चल रहा हो और घटना पहले से ही हील (healed) नहीं मानी गई हो [SWS_DM_00878]।
  • संक्षिप्त फॉल्ट योग्यता: यदि सीधे kFailed या kPassed की रिपोर्ट की जाती है, तो DM डिबाउंस टाइमर को तुरंत संबंधित थ्रेशोल्ड मान पर सेट करता है और बिना किसी प्रतीक्षा समय के वर्गीकरण को पूरा करता है [SWS_DM_00033], [SWS_DM_00036]।
  • फ़्रीज़ करने की अनन्यता (Exclusivity): कार्रवाई kFreezeDebouncing DM द्वारा विशेष रूप से समय-आधारित डिबाउंसिंग [SWS_DM_00880] वाली घटनाओं के लिए समर्थित है।
  • काउंटर का कोई पर्सिस्टेंस नहीं: रीसेट और स्टार्ट-अप चक्रों (debounceCounterStorage) में डिबाउंस काउंटर मान का संग्रहण समय-आधारित डिबाउंसिंग AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing” के लिए प्रदान नहीं किया गया है; प्रत्येक स्टार्ट-अप पर टाइमर को शून्य पर सेट किया जाता है [SWS_DM_00085]।

यह गाइड AUTOSAR Adaptive Platform R25-11 विनिर्देश पर आधारित है और संरचना ara::diag::TimeBased की आवश्यकताओं को सारांशित करता है।

UML क्लास आरेख

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__TimeBased382 «struct» TimeBased + failedMs + passedMs

स्थिरांक

failedMs चर

time until failed in (ms)

std::uint32_t failedMs;
passedMs चर

time until passed in (ms)

std::uint32_t passedMs;

स्थिरांकों / चरों का प्रलेखन

चर failedMs [SWS_DM_00629] Upstream: RS_Diag_04225

std::uint32_t failedMs;

time until failed in (ms)

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::TimeBased
SymbolfailedMs
Typstd::uint32_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00629
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00629@rel:R25-11#270340be
Content hash
270340be
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00629
Status: valid/unmigrated Version: rel:R25-11#b234c6d7 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00629@rel:R25-11#b234c6d7
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#8525d65b2026-09-30
  • R20-11rel:R20-11#447b3a6c2026-10-14
  • R21-11rel:R21-11#deb8168b2026-10-14
  • R22-11rel:R22-11#c639f78a2026-10-14
  • R23-11rel:R23-11#bbcf28342026-10-14
  • R24-11rel:R24-11#b234c6d72026-10-14
  • R25-11rel:R25-11#b234c6d72026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

चर passedMs [SWS_DM_00630] Upstream: RS_Diag_04225

std::uint32_t passedMs;

time until passed in (ms)

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::TimeBased
SymbolpassedMs
Typstd::uint32_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00630
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00630@rel:R25-11#8495645f
Content hash
8495645f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00630
Status: valid/unmigrated Version: rel:R25-11#6fd0c00c Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00630@rel:R25-11#6fd0c00c
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#7291fe1e2026-09-30
  • R20-11rel:R20-11#3097b5012026-10-14
  • R21-11rel:R21-11#5ff8b1572026-10-14
  • R22-11rel:R22-11#5132f5a52026-10-14
  • R23-11rel:R23-11#6fd0c00c2026-10-14
  • R24-11rel:R24-11#6fd0c00c2026-10-14
  • R25-11rel:R25-11#6fd0c00c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill