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، والتي يصنف الحدث بعد انقضائها على أنه تم تعافيه أو به خطأ. ويبدأ Diagnostic Management مؤقت إزالة الارتداد الداخلي ويتحكم فيه بناءً على هذه العتبات عند ورود رسائل الحالة. ولا يتم دعم التخزين الدائم لقيمة العداد الداخلية عبر عمليات إعادة التشغيل لطرق إزالة الارتداد المستندة إلى الوقت AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 «Time-based debouncing».

السياق

تُحدد بنية C++‏ ara::diag::TimeBased معلمات التكوين لإزالة الارتداد المستندة إلى الوقت (time-based debouncing) لأحداث التشخيص في Diagnostic Management الخاص بـ AUTOSAR Adaptive Platform [SWS_DM_00539]. وهي تُغلّف المدتين الزمنيتين بالمللي ثانية اللتين تعدان حاسمتين لانتقالات حالة حدث التشخيص: failedMs كعتبة للخطأ [SWS_DM_00629] و passedMs كعتبة للتعافي [SWS_DM_00630].

في النظام الإجمالي، تربط البنية ثلاثة مكونات أساسية: وظيفة التطبيق المشخِّصة، والفئة 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]. وعادةً ما يتم إنشاء البنية محليًا على المكدس (stack) أو في منطقة الذاكرة الثابتة بواسطة التطبيق، وتتم تهيئتها بالأوقات المستهدفة وتمريرها كقيمة إلى دالة بناء ara::diag::Monitor [SWS_DM_00550] (AUTOSAR_AP_SWS_Diagnostics §8.40.1.1.2.3 «Monitor»).

تفسير: من خلال التمرير بالقيمة، يتم نسخ المعلمات عند إنشاء شاشة المراقبة، بحيث يمكن التخلص من كائن 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. الإبلاغ عن نتائج الفحص الأولي: إذا اكتشفت شاشة المراقبة شرطًا خاليًا من الأخطاء، فإنها تستدعي ReportMonitorAction مع kPrepassed. ويبدأ DM المؤقت في اتجاه حالة التعافي [SWS_DM_00878] ويُحدّث باستمرار عدّاد اكتشاف الأخطاء (Fault Detection Counter, FDC) [SWS_DM_00030].
  4. التأهيل: إذا وصل المؤقت إلى العتبة passedMs، يُؤهل DM الحدث كـ kFinallyHealed [SWS_DM_00878]. وإذا أبلغت شاشة المراقبة بدلًا من ذلك عن kFailed، يتم ضبط المؤقت مباشرة على failedMs وتتم معالجة الحدث كـ kFinallyDefective [SWS_DM_00033].
  5. التجميد والاستئناف: عبر ReportMonitorAction(kFreezeDebouncing)، يمكن إيقاف إزالة الارتداد مؤقتًا عند الحاجة [SWS_DM_00880] واستئنافها عند حدوث إجراءات جديدة (kPrepassed أو kPrefailed) بدءًا من قيمة العداد المجمدة [SWS_DM_00038].
تسلسل إزالة الارتداد المستندة إلى الوقتالتطبيقMonitorDMMonitor(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 فقط إذا لم يكن يعمل بالفعل في هذا الاتجاه ولم يكن الحدث يعتبر متعافيًا بالفعل [SWS_DM_00878].
  • تأهيل الخطأ المختصر: إذا تم الإبلاغ عن kFailed أو kPassed مباشرة، يضبط DM مؤقت إزالة الارتداد فورًا على قيمة العتبة المعنية ويُكمل التصنيف دون وقت انتظار [SWS_DM_00033]، [SWS_DM_00036].
  • حصرية التجميد: يدعم DM الإجراء kFreezeDebouncing حصريًا للأحداث ذات إزالة الارتداد المستندة إلى الوقت [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#bc24f145
Content hash
bc24f145
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#700267a1
Content hash
700267a1
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