DEENESPTFRRUARHIKOZHNL

Diagnostic Event Manager (DEM)

ModulDEM (Diagnostic Event Manager)
BSW-Modul-ID54
Standard-Header#include "Dem.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticEventManager.pdf
ClusterDiagnostic Services

دليل الوحدةمولَّد بالذكاء الاصطناعي

يجمع نتائج التشخيص من شاشات المراقبة (Monitors)، ويؤهلها، ويدير ذاكرة الأخطاء بما في ذلك البيانات البيئية (Environmental Data) لأجهزة الفحص (Testers).
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 28cc2ed3ddd0 المصدر أسئلة مفتوحة (1)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يجمع نتائج التشخيص من شاشات المراقبة (Monitors)، ويؤهلها، ويدير ذاكرة الأخطاء بما في ذلك البيانات البيئية (Environmental Data) لأجهزة الفحص (Testers).

يوجد لكل ECU بالضبط Diagnostic Event Manager [SWS_Dem_00126] واحد. يستقبل نتائج الاختبار من شاشات مراقبة التشخيص، ويزيل ارتدادها، ويُحدّث منها بتات حالة UDS ومدخلات ذاكرة الأحداث مع Freeze Frames وExtended Data. تقوم DCM وJ1939Dcm بتصفية وقراءة وحذف هذه البيانات عبر واجهات برمجة تطبيقات (APIs) مخصصة للعملاء. وتتبع غالباً في ذلك النمط «تحديد، ثم طلب» [SWS_Dem_01253]. أهم قيد تشغيلي هو دورة الحياة: قبل Dem_Init يتم تخزين البلاغات مؤقتاً فقط، ولا تصبح الوحدة بكامل وظائفها إلا بعد ذلك.

يوجد لكل ECU بالضبط Diagnostic Event Manager [SWS_Dem_00126] واحد. يستقبل النتائج من شاشات مراقبة التشخيص في الـ SW-Cs ووحدات BSW ويؤهلها. ويضع محتويات ذاكرة الأخطاء تحت تصرف DCM وJ1939Dcm. وهو مدمج بين EcuM، وجدولة Dem_MainFunction، وNvM، وFiM، وDET SWS DEM ص. 247.

kontext SW-C-Monitore SW-C-Monitore Dem Dem SW-C-Monitore->Dem Dem_SetEventStatus (RTE) Dem->SW-C-Monitore InitMonitorForEvent, Status-Callbacks NvM NvM Dem->NvM NvM_ReadBlock / NvM_WriteBlock FiM FiM Dem->FiM FiM_DemInit / FiM_DemTriggerOnMonitorStatus Det Det Dem->Det Det_ReportError BSW-Monitore BSW-Monitore BSW-Monitore->Dem Dem_SetEventStatus EcuM EcuM EcuM->Dem Dem_PreInit / Dem_Init / Dem_Shutdown SchM SchM SchM->Dem Dem_MainFunction Dcm Dcm Dcm->Dem التحديد، والتصفية، والقراءة، والمسح (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

مخطط السياق: تقدم شاشات المراقبة النتائج، ويستخدم عملاء التشخيص وFiM وحدة DEM. المصادر: SWS DEM ص. 247

تفصل دورة الحياة وضع ما قبل التهيئة عن التشغيل الكامل [SWS_Dem_00169]. النتائج المُبلغ عنها بعد Dem_PreInit يتم تخزينها مؤقتاً ولا تُطلق بعد استدعاءات رد الاتصال (Callbacks) لحالة المراقبة ([SWS_Dem_00167]، [SWS_Dem_01289]). ومع Dem_Init يصبح DEM بكامل وظائفه [SWS_Dem_00340]. ينهي Dem_Shutdown العمليات المعلقة ويُمرر البيانات المعدلة إلى NvM ([SWS_Dem_00102]، [SWS_Dem_00341]).

تبلغ شاشات المراقبة عبر Dem_SetEventStatus عن نتائج مؤهلة أو أولية [SWS_Dem_00926]. يزيل DEM ارتداد كل حدث استناداً إلى العدادات، أو الوقت، أو داخلياً في شاشة المراقبة [SWS_Dem_00413]. ومن ذلك يُشكّل Fault Detection Counter من ‎-128 إلى ‎+127 [SWS_Dem_00415]. تعمل إزالة الارتداد وحالة المراقبة بشكل متزامن، بينما يعمل بايت حالة UDS بشكل غير متزامن ([SWS_Dem_01279]، [SWS_Dem_01285]). تمنع Enable Conditions وإلغاء تفعيل إعداد DTC المعالجة SWS DEM ص. 83.

معالجة تقرير المراقبMonitorDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altاستيفاء Enable Conditions وتمكين DTC-Settingإزالة الارتداد المعتمدة على العداد (متزامنة)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)وإلاVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,تحديث ذاكرة الأحداث والبياناتEventUdsStatusChanged-Callback(falls konfiguriert)

مخطط التسلسل: تتم إزالة ارتداد التقرير بشكل متزامن، وتتبع معالجة UDS في MainFunction. المصادر: SWS DEM الشكل 9.12 ص. 372، [SWS_Dem_01285]

يقوم DEM بإنشاء مدخلات مع العدادات، وFreeze Frames، وExtended Data وفقاً للمُحفّز (Trigger) الذي تم تكوينه ([SWS_Dem_00783]، [SWS_Dem_00039]، [SWS_Dem_00809]). وإذا امتلأت الذاكرة، فإن استراتيجية الإزاحة هي التي تقرر ([SWS_Dem_00400]، [SWS_Dem_00402]). يصل DCM وفق نمط «تحديد، ثم طلب». يحدد Dem_SelectDTC الهدف للقراءة، واستعلام الحالة، والحذف [SWS_Dem_01253]. ويحدد Dem_SetDTCFilter معايير قوائم DTC [SWS_Dem_00057].

يبلغ DEM عن الأخطاء كأخطاء تطوير في DET، على سبيل المثال DEM_E_UNINIT أو DEM_E_WRONG_CONDITION [SWS_Dem_00173]. وفي وقت التشغيل يُرجع قيماً مثل DEM_WRONG_DTC أو DEM_BUSY ([SWS_Dem_01261]، [SWS_Dem_01306]). وتتم تهيئة البيانات التي لا يستطيع NvM قراءتها [SWS_Dem_00578].

الدور وحدود النظام: خدمة ذاكرة الأخطاء المركزية للـ ECU

يستقبل Diagnostic Event Manager النتائج من شاشات مراقبة التشخيص ويؤهلها لتصبح أحداثاً. ويخزنها مع البيانات البيئية في ذاكرة الأحداث. يوجد لكل ECU بالضبط وحدة DEM واحدة [SWS_Dem_00126]. يُمثَّل كل حدث تشخيصي بواسطة EventId فريد وEventName ([SWS_Dem_00153]، [SWS_Dem_00154]). يعتمد Dem_EventIdType على uint16، وتكون القيمة 0 غير صالحة [SWS_Dem_00925] SWS DEM ص. 339.

توضح Figure 8.1 الواجهات مع البيئة المحيطة SWS DEM ص. 247:

  • يستدعي EcuM دالتي Init وShutdown.
  • تستدعي الجدولة Dem_MainFunction.
  • يقوم NvM بحفظ البيانات بشكل دائم [SWS_Dem_00164].
  • يتم إخطار FiM بتغييرات الحالة [SWS_Dem_00029].
  • يستقبل DET أخطاء التطوير.
تبلغ شاشات مراقبة SW-C عبر منافذ RTE مثل DiagnosticMonitor [SWS_Dem_00598]. ويصل DCM وJ1939Dcm كعملاء عبر ClientId إلى DemEventMemorySet مكونة ([SWS_Dem_01247]، [SWS_Dem_01251]).
kontext SW-C-Monitore SW-C-Monitore Dem Dem SW-C-Monitore->Dem Dem_SetEventStatus (RTE) Dem->SW-C-Monitore InitMonitorForEvent, Status-Callbacks NvM NvM Dem->NvM NvM_ReadBlock / NvM_WriteBlock FiM FiM Dem->FiM FiM_DemInit / FiM_DemTriggerOnMonitorStatus Det Det Dem->Det Det_ReportError BSW-Monitore BSW-Monitore BSW-Monitore->Dem Dem_SetEventStatus EcuM EcuM EcuM->Dem Dem_PreInit / Dem_Init / Dem_Shutdown SchM SchM SchM->Dem Dem_MainFunction Dcm Dcm Dcm->Dem التحديد، والتصفية، والقراءة، والمسح (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

مخطط السياق: يعد DEM مستودع بيانات لشاشات المراقبة ومصدر بيانات لعملاء التشخيص وFiM. المصادر: SWS DEM ص. 247، [SWS_Dem_00256]

دورة الحياة: ما قبل التهيئة، والتشغيل، وإيقاف التشغيل (Shutdown)

يميز DEM بين وضع ما قبل التهيئة والوضع المُهيأ بالكامل [SWS_Dem_00169]. يقوم Dem_PreInit بتهيئة الحالات اللازمة لمعالجة الأحداث [SWS_Dem_00180]، ومن بينها إزالة الارتداد الداخلية [SWS_Dem_01213]. وتستقر الأحداث المُبلغ عنها بعد ذلك في ذاكرة مؤقتة [SWS_Dem_00167] ولا تُطلق بعد استدعاءات رد الاتصال لحالة المراقبة [SWS_Dem_01289] SWS DEM الشكل 7.42 ص. 169.

يتولى Dem_Init مؤشر Post-Build إلى Dem_ConfigType ([SWS_Dem_00181]، [SWS_Dem_00924]). تقوم الدالة بتهيئة الوحدة أو إعادة تهيئتها SWS DEM ص. 260. بعد ذلك يصبح DEM بكامل وظائفه [SWS_Dem_00340]. تتشكل حالة المراقبة من النتائج المُبلغ عنها مسبقاً أو من حالة NvM [SWS_Dem_01326]. وبعد ذلك فقط يتبع FiM_DemInit [SWS_Dem_01325]. وتتم استعادة إعادة تشغيل الدورة التي تم إطلاقها قبل Dem_Init تعويضياً [SWS_Dem_01318].

أثناء التشغيل، يعالج Dem_MainFunction جميع الوظائف غير الموجهة بالأحداث [SWS_Dem_00125]. ينهي Dem_Shutdown العمليات المعلقة [SWS_Dem_00102]. وتنتقل البيانات غير المتطايرة المعدلة في موعد أقصاه ذلك الوقت إلى NvM [SWS_Dem_00341]. تفسير: نظراً لأن Dem_Init يُعيد التهيئة أيضاً وفقاً لـ [SWS_Dem_00181]، فمن المرجح أن تتم إعادة التشغيل بعد Dem_Shutdown عبر استدعاء Dem_Init جديد. سؤال (مفتوح)

lebenszyklus start Start uninit غير مهيأ start->uninit pre مهيأ مسبقًا (يتم تخزين البلاغات مؤقتًا) uninit->pre Dem_PreInit voll Voll initialisiert (Dem_MainFunction verarbeitet) pre->voll Dem_Init(ConfigPtr) voll->voll Dem_Init (Reinitialisierung) aus Heruntergefahren voll->aus Dem_Shutdown aus->voll Dem_Init (vermutlich Neustart)

مخطط الحالة: أوضاع DEM من ما قبل التهيئة حتى إيقاف التشغيل. إعادة التشغيل بعد إيقاف التشغيل هي مجرد افتراض. المصادر: [SWS_Dem_00169]، [SWS_Dem_00181]، [SWS_Dem_00182]

التخزين المؤقت بين Dem_PreInit و Dem_InitEcuMMonitor (SW-C/BSW)DemFiMSchMUse Case: VorinitialisierungDem_PreInit()الحالات الداخلية وEntprellung initialisierenDem_SetEventStatus(EventId, EventStatus)Meldung puffern,لا توجد ردود نداء لحالة المراقب (Monitorstatus-Callbacks)Use Case: InitialisierungDem_Init(ConfigPtr)تشكيل حالة المراقب من البلاغاتأو من حالة NvMFiM_DemInit()العودة: Dem يعمل بكامل وظائفهUse Case: BetriebloopzyklischDem_MainFunction()معالجة غير مدفوعة بالأحداث

مخطط التسلسل: بين Dem_PreInit وDem_Init يتم تخزين البلاغات مؤقتاً بدون استدعاءات رد الاتصال. المصادر: SWS DEM الشكل 7.15 ص. 85، [SWS_Dem_01189]

من تقرير شاشة المراقبة إلى النتيجة المؤهلة

تبلغ شاشات المراقبة عن نتائج الاختبار بواسطة Dem_SetEventStatus بمجرد توفر نتيجة جديدة ([SWS_Dem_00330]، SWS DEM ص. 81). يُميز Dem_EventStatusType بين ثلاثة أنواع من البلاغات [SWS_Dem_00926]:

  • نتائج مؤهلة (DEM_EVENT_STATUS_PASSED/_FAILED)،
  • نتائج أولية لإزالة الارتداد الداخلية (_PREPASSED/_PREFAILED)،
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED.

يمكن تكوين إزالة الارتداد لكل حدث [SWS_Dem_00413]:

يقوم DEM بتعيين قيم العداد أو المؤقت خطياً إلى Fault Detection Counter من ‎-128 إلى ‎+127 ([SWS_Dem_00415]، [SWS_Dem_00427]). تعمل إزالة الارتداد المستندة إلى العداد وحالة المراقبة بشكل متزامن في سياق الاستدعاء ([SWS_Dem_01279]، [SWS_Dem_01280]). في المقابل، يحسب DEM بايت حالة UDS بشكل غير متزامن [SWS_Dem_01285] SWS DEM ص. 83.
معالجة تقرير المراقبMonitorDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altاستيفاء Enable Conditions وتمكين DTC-Settingإزالة الارتداد المعتمدة على العداد (متزامنة)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)وإلاVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,تحديث ذاكرة الأحداث والبياناتEventUdsStatusChanged-Callback(falls konfiguriert)

مخطط التسلسل: تتم إزالة ارتداد التقرير بشكل متزامن، وتعمل المعالجة اللاحقة لـ UDS بشكل غير متزامن. المصادر: SWS DEM الشكل 9.12 ص. 372، [SWS_Dem_01285]

يقوم DEM بتعيين بتات حالة UDS من 0 إلى 7 وفقاً لقواعد انتقال خاصة به ([SWS_Dem_00386]، [SWS_Dem_00395]). يُعيد Dem_ResetEventStatus تعيين البت 0 بشكل غير متزامن ويُهيئ إزالة الارتداد دون الإبلاغ عن نتيجة Passed [SWS_Dem_00187] SWS DEM ص. 79. وإذا تم اختبار الحدث بالفعل في الدورة الحالية، يُرجع الاستدعاء E_NOT_OK [SWS_Dem_00638]. يقوم Dem_ResetEventDebounceStatus بتجميد إزالة الارتداد أو إعادة تعيينها ([SWS_Dem_00684]، [SWS_Dem_00685]).

testfailed start Start f TestFailed = FALSE start->f Initialzustand t TestFailed = TRUE f->t Dem_SetEventStatus(FAILED) أو أزيل ارتداده بصورة مؤهلة t->f Dem_SetEventStatus(PASSED) t->f Dem_ResetEventStatus t->f ClearDTC

مخطط الحالة: انتقالات بت حالة UDS رقم 0 (TestFailed). المصادر: SWS DEM الشكل 7.15 ص. 70، [SWS_Dem_00386]

شروط التمكين، ودورات التشغيل، والإتاحة

تمنع Enable Conditions وإلغاء تفعيل إعداد DTC معالجة بلاغات الحالة SWS DEM ص. 83. وتوجد القواعد الخاصة بذلك في [SWS_Dem_00449] و[SWS_Dem_00079]. يحدد DemDebounceBehavior ما إذا كانت إزالة الارتداد ستُعاد تعيينها عندئذٍ [SWS_Dem_00654] أو سيتم تجميدها [SWS_Dem_00655]. في المقابل، تمنع Storage Conditions الحفظ في الذاكرة فقط ([SWS_Dem_00455]، [SWS_Dem_00556]).

يعمل Dem_RestartOperationCycle بشكل غير متزامن. وتتم إعادة تهيئة شاشات المراقبة المعنية عبر InitMonitorForEvent [SWS_Dem_00679] SWS DEM ص. 274. ولا يتم تخزين عمليات إعادة التشغيل مؤقتاً [SWS_Dem_01316]. المحفزات الإضافية لـ InitMonitorForEvent هي:

في حالة المحفزات المتزامنة، يتم استدعاء رد الاتصال مرة واحدة فقط، مع السبب ذي الأولوية القصوى [SWS_Dem_01046] SWS DEM ص. 47.

يعامل DEM الأحداث غير المتاحة والمميّزة بـ Dem_SetEventAvailable كما لو لم تكن مهيأة [SWS_Dem_01108] SWS DEM ص. 66. في VARIANT-POST-BUILD، تكون واجهة API هذه مفقودة [SWS_Dem_01106]. في المقابل، يكون كود DTC المكبوت غير مرئي لجهاز الفحص فقط، بينما تستمر معالجة الحدث [SWS_Dem_01102].

ذاكرة الأحداث: الحفظ، والبيانات البيئية، والإزاحة

يدير DEM ذاكرة الأحداث الأساسية [SWS_Dem_00010] وذواكر مخصصة للمستخدم اختيارياً بنفس السلوك [SWS_Dem_01063]. يجمع المدخل الواحد العدادات، وFreeze Frames، وExtended Data SWS DEM الشكل 7.13 ص. 77. يحدد DemEventMemoryEntryStorageTrigger متى ينشأ المدخل:

تتم إزالة البيانات المتعلقة بالحدث من خلال التقادم (Aging) [SWS_Dem_01075].

تكون Freeze Frames خاصة بالحدث وتتألف من DIDs مُكوّنة ([SWS_Dem_00039]، [SWS_Dem_00040]). وفي حالة البيانات المتطايرة، تسجلها شاشة المراقبة مسبقاً باستخدام Dem_PrestoreFreezeFrame. ويستخدم DEM هذه البيانات عند الحفظ [SWS_Dem_00464] SWS DEM الشكل 7.37 ص. 128. يتم تسجيل Extended Data Records بناءً على مُحفّزات مُكوّنة [SWS_Dem_00809]. ويمكن أن تحتوي على قيم داخلية مثل Occurrence Counter [SWS_Dem_00471].

إذا لم يتوفر مدخل فارغ، يفحص DEM إمكانية الإزاحة [SWS_Dem_00400]. يستبعد DEM_DISPLACEMENT_NONE ذلك [SWS_Dem_00402]. وبدون مرشحين، يتم إلغاء الحفظ [SWS_Dem_00407]. خلاف ذلك، يتم استبعاد المدخل وتعديل بتات الحالة ([SWS_Dem_00408]، [SWS_Dem_00409]). ويعرض DEM حدوث الفائض لكل ذاكرة [SWS_Dem_00397].

verdraengung s يلزم إدخال ذاكرة جديد frei Freier Eintrag vorhanden? s->frei anlegen Eintrag anlegen frei->anlegen نعم strat DemEventDisplacementStrategy = DEM_DISPLACEMENT_NONE? frei->strat لا such البحث عن الإدخالات ذات الأولوية الأدنى strat->such لا verw Speicheranforderung verwerfen strat->verw نعم prio هل أولوية الحدث المُبلَّغ عنه كافية (انظر Figure 7.28)؟ such->prio passiv تفضيل الإدخالات الخاملة من بين النتائج التي عُثر عليها prio->passiv نعم prio->verw nein / kein Kandidat verdr إزاحة أقدم إدخال تم العثور عليه، وضبط بتات الحالة passiv->verdr verdr->anlegen

مخطط النشاط: تسلسل معايير مبسط للإزاحة، بدون مرحلة تصفية OBD. المصادر: SWS DEM الشكل 7.28 ص. 98، [SWS_Dem_00406]

الوصول بواسطة DCM وJ1939Dcm وخدمات OBD

تتبع العديد من واجهات برمجة التطبيقات نمط «تحديد، ثم طلب». يحدد Dem_SelectDTC كلاً من DTC، والشكل (Format)، والأصل (Origin) كهدف. ويؤثر ذلك على سبيل المثال في Dem_ClearDTC وDem_GetStatusOfDTC وDem_SelectFreezeFrameData [SWS_Dem_01253] SWS DEM ص. 215. بالنسبة لقوائم DTC، يضبط Dem_SetDTCFilter المعايير [SWS_Dem_00057]. ويتنقل Dem_GetNextFilteredDTC لاحقاً عبر النتائج [SWS_Dem_00216]. ويتم حجب بايتات الحالة المُسلّمة بواسطة Availability-Mask [SWS_Dem_00657].

يقرأ DCM إطارات Freeze Frames باستخدام Dem_GetNextFreezeFrameData، بعد أن يكون قد حدد DTC وRecord [SWS_Dem_01268] SWS DEM الشكل 9.7 ص. 369. ويُسلّم DEM في هذا السياق تخطيط السجل (Record-Layout) الجاهز SWS DEM الشكل 7.48 ص. 195. وتُقرأ Extended Data بطريقة مماثلة [SWS_Dem_01272].

للحذف، يفحص DCM التحديد أولاً ثم يستدعي Dem_ClearDTC ([SWS_Dem_91020]، [SWS_Dem_00665]). وقبل الحذف، يستعلم DEM عن DemClearEventAllowed [SWS_Dem_00515] SWS DEM الشكل 9.3 ص. 367. وتكون واجهات برمجة تطبيقات J1939 جاهزة عند تكوين DemGeneralJ1939 [SWS_Dem_00845]. وعند دعم OBD، يُوفّر DEM بالإضافة إلى ذلك:

تحسب Master-ECU وحدها كلاً من PID $31/$4D/$4E [SWS_Dem_00703] SWS DEM ص. 170.
مسح DTC (UDS 0x14)TesterDcmDemMonitor-SW-CClearDiagnosticInformation(DTC)Dem_SelectDTC(ClientId, DTC, DTCFormat, DTCOrigin)loopsolange DEM_PENDINGDem_GetDTCSelectionResultForClearDTC(ClientId)loopsolange DEM_PENDINGDem_ClearDTC(ClientId)<Module>_DemClearEventAllowed(Allowed)AllowedoptAllowed == TRUEالحالة، والبيانات المتعلقة بالحدث، وإعادة تعيين Prestored Freeze FramesInitMonitorForEvent(DEM_INIT_MONITOR_CLEAR)DEM_PENDING / Ergebnisاستجابة إيجابية أو سلبية

مخطط التسلسل: الحذف عبر التحديد، واستعلام الإذن، وإعادة تهيئة شاشات المراقبة. المصادر: SWS DEM الشكل 9.2 ص. 366، [SWS_Dem_00680]

التصرف في حالة الخطأ

يبلغ DEM عن أخطاء التطوير إلى DET، مثل DEM_E_UNINIT أو DEM_E_PARAM_POINTER أو DEM_E_WRONG_CONDITION [SWS_Dem_00173] SWS DEM ص. 238. تُولّد الاستدعاءات قبل التهيئة DEM_E_UNINIT؛ ويُستثنى من ذلك من بين أمور أخرى Dem_SetEventStatus وDem_ResetEventStatus [SWS_Dem_00124]. وينطبق الشيء نفسه بعد إيقاف التشغيل [SWS_Dem_00368].

في وقت التشغيل، تُرجع واجهات برمجة التطبيقات قيم الإرجاع التالية:

يحدد [SWS_Dem_01202] الشروط التي يُعتبر بموجبها إجراء الحذف فاشلاً.

تتم تهيئة البيانات التي لا يستطيع NvM قراءتها بواسطة DEM [SWS_Dem_00578]. ويتجاهل أخطاء الكتابة [SWS_Dem_00579]. ويتم تخطي بيانات Prestore التي لم يعد تخطيطها متطابقاً بعد إعادة البرمجة [SWS_Dem_01323].

أدلة تفصيلية إضافية

دليل تم إنشاؤه بواسطة الذكاء الاصطناعي بناءً على المتطلبات الواردة في الحمولة (R20-11) ومواضع الوثائق. تُعد المتطلبات المقتبسة وحدها المعيارية الإلزامية؛ وتعود بعض مواضع الوثائق إلى إصدارات أخرى.

Diagnostic Event Manager (DEM)

The DEM is responsible for processing and storing diagnostic events, fault memories, DTC statuses, and associated freeze frame data.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة Dem_GetVersionInfo [SWS_Dem_00177] 📄 PDF

void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);

Returns the version information of this module. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemVersionInfoApi)} == true)

دالة Dem_PreInit [SWS_Dem_00179] 📄 PDF

void Dem_PreInit (void);

Initializes the internal states necessary to process events reported by BSW-modules.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 52979462b246 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dem_PreInit أثناء بدء تشغيل النظام للتهيئة المسبقة للحالات الداخلية لوحدة DEM، والتي تلزم للمعالجة المبكرة لتقارير الأحداث القادمة من وحدات BSW ([SWS_Dem_00179]، [SWS_Dem_00180]). يتم الاستدعاء بشكل متزامن، وهو غير قابل لإعادة الدخول ولا يحتوي على معاملات تمرير أو قيمة إرجاع ([SWS_Dem_00179]).

باستدعاء Dem_PreInit، تتم تهيئة آليات إزالة الارتداد الداخلية بما في ذلك العدادات والمؤقتات ([SWS_Dem_01213]). إذا تم تكوين إزالة ارتداد داخلية في DEM، تقوم الوحدة بإعادة ضبط خوارزمية إزالة الارتداد المقابلة ([SWS_Dem_00438]).

بعد الانتهاء الناجح لـ Dem_PreInit وقبل استدعاء Dem_Init، يتم تمكين واجهات وسلوكيات محددة:

  • حالة الحدث وإزالة الارتداد: يتم دعم استدعاءات Dem_SetEventStatus لإزالة الارتداد مع الحالتين DEM_EVENT_STATUS_PREPASSED وDEM_EVENT_STATUS_PREFAILED ([SWS_Dem_01212]). ومع ذلك، فإن جميع الأحداث التي تم الإبلاغ عنها قبل Dem_Init لا تُشغّل عمليات استدعاء راجع (Callbacks) لتغيير حالة المراقب ([SWS_Dem_01289]).
  • التحكم في حالة إزالة الارتداد: تتوفر الدالة Dem_ResetEventDebounceStatus لإعادة ضبط عدادات إزالة الارتداد أو تجميدها لوحدات BSW بعد اكتمال Dem_PreInit ([SWS_Dem_00180]، [SWS_Dem_00683]).
  • عتبات التأكيد ودورات التشغيل: يدعم DEM بعد Dem_PreInit استدعاءات Dem_SetEventConfirmationThresholdCounter ([SWS_Dem_01242]). كما لا يُسمح باستدعاء Dem_RestartOperationCycle إلا بدءاً من هذه النقطة الزمنية؛ وإذا تمت إعادة تشغيل دورة تشغيل قبل Dem_Init، فإن المعالجة الفعلية لإعادة التشغيل لا تتم إلا بعد Dem_Init ([SWS_Dem_01318]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_Init [SWS_Dem_00181] 📄 PDF

void Dem_Init (const Dem_ConfigType* ConfigPtr);

Initializes or reinitializes this module.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 940f61d4751b المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة وغير القابلة لإعادة الدخول Dem_Init بتهيئة وحدة Diagnostic Event Manager (DEM) أو إعادة تهيئتها بالكامل وفقًا لـ [SWS_Dem_00181]. وبعد اكتمال هذا الاستدعاء، تصبح DEM جاهزة تمامًا للتشغيل ([SWS_Dem_00340]). وعبر معلمة الإدخال ConfigPtr، يتم في VARIANT-POST-BUILD تمرير مؤشر إلى مجموعة بيانات تهيئة ما بعد البناء ([SWS_Dem_00181]).

في إطار تسلسل التهيئة، تنفذ Dem_Init خطوات استعادة ومزامنة أساسية:

  • تهيئة الحالة والمراقب: تتم تهيئة حالات المراقب والمكونات ([SWS_Dem_01324]). وبينما تعطي استدعاءات Dem_GetMonitorStatus القيمة E_NOT_OK قبل اكتمال التهيئة ([SWS_Dem_01326])، فإن Dem_GetMonitorStatus وDem_GetComponentFailed ترجعان E_OK بعد هذه النقطة الزمنية ([SWS_Dem_01324]).
  • الذاكرة غير المتطايرة (NVM): إذا تم تكوينها (DemDebounceCounterStorage == True)، تستعيد DEM عداد إزالة الارتداد الداخلي في موعد أقصاه Dem_Init ([SWS_Dem_00675]). وبالمثل، يتم تحميل بيانات Freeze-Frame المهيأة مسبقًا من NVM قبل عودة الدالة ([SWS_Dem_01322])، وتعتمد DEM في ذلك على واجهات برمجة تطبيقات NvM مثل NvM_ReadBlock ([SWS_Dem_00164]). وعلاوة على ذلك، يؤدي استدعاء Dem_Init إلى إلغاء قفل ذاكرة الأحداث بعد Dem_Shutdown سابق ([SWS_Dem_00102]).
  • التفاعل والتخزين المؤقت: إذا تم تعيين DemTriggerFiMReports على True، تستدعي Dem_Init حصريًا في هذه النقطة الزمنية FiM_DemInit لتهيئة الأذونات في Function Inhibition Manager ([SWS_Dem_01189]). والأحداث التي تم تخزينها مؤقتًا قبل Dem_Init ([SWS_Dem_00167]، [SWS_Dem_01079]) لا تطلق استدعاءات رد نداء لتغيير حالة المراقب قبل Dem_Init ([SWS_Dem_01289]). وإعادة تشغيل الدورة المطلوبة قبل Dem_Init عبر Dem_RestartOperationCycle لا تتم معالجتها إلا بعد Dem_Init ([SWS_Dem_01318]).

فيما يتعلق بمعالجة الأخطاء، يسري ما يلي: إذا تم استدعاء Dem_Shutdown، فإن DEM تؤكد عند تفعيل اكتشاف التطوير استدعاءات معظم واجهات برمجة التطبيقات بالخطأ DEM_E_UNINIT، إلى أن يتم تنفيذ Dem_Init مرة أخرى ([SWS_Dem_00368]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_Shutdown [SWS_Dem_00182] 📄 PDF

void Dem_Shutdown (void);

Shuts down this module.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d50e7ed9388c المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة التزامنية وغير القابلة لإعادة الدخول Dem_Shutdown لإيقاف تشغيل وحدة Diagnostic Event Manager ([SWS_Dem_00182]) بشكل منظم. وهي لا تمتلك معلمات إدخال أو إرجاع ([SWS_Dem_00182]). يُرجح vermutlich أن يكون سياق الاستدعاء في إطار تسلسل إيقاف التشغيل المركزي لوحدة التحكم الإلكترونية. سؤال Q-a0e6a5700c49d786 (مفتوح)

عند الاستدعاء، تنهي Dem_Shutdown جميع العمليات التي لا تزال معلقة لوحدة DEM لإعداد الحالات الداخلية والبيانات للنقل إلى NVRAM ([SWS_Dem_00102]). بالنسبة للبيانات غير المتطايرة المعدلة، تبدأ DEM الحفظ في NVRAM قبل أو أثناء Dem_Shutdown ([SWS_Dem_00341]). بقدر ما يلزم، تستخدم الوحدة واجهتي مدير NVRAM المسَميين NvM_WriteBlock وNvM_ReadBlock لحفظ واستعادة البيانات بين Dem_Init وDem_Shutdown ([SWS_Dem_00164]). إذا تم تكوين DEM لتخزين بيانات Freeze-Frame المحفوظة مسبقًا بشكل غير متطاير، فسيتم هذا التخزين لمرة واحدة وعلى أقصى تقدير أثناء Dem_Shutdown ([SWS_Dem_01321]).

مع تنفيذ الإغلاق (Shutdown)، يتم قفل ذاكرة الأحداث ولا يجوز تعديلها بعد ذلك حتى استدعاء جديد لـ Dem_Init ([SWS_Dem_00102]). بالإضافة إلى ذلك، تسري شروط الأخطاء التالية عند تفعيل ميزة كشف أخطاء التطوير (Development Error Detection):

  • إذا تم استدعاء إحدى واجهات API الخاصة بـ DEM بعد Dem_Shutdown – باستثناء Dem_SetEventStatus وDem_ResetEventDebounceStatus وDem_GetVersionInfo وDem_MainFunction –، يقوم النمط بضبط رمز الخطأ DEM_E_UNINIT حتى Dem_Init التالي ([SWS_Dem_00368]).
  • إذا تم استدعاء Dem_SetEventStatus أو Dem_ResetEventDebounceStatus بعد Dem_Shutdown لأحداث تم فيها ضبط DemDebounceCounterStorage على True، يُبلغ DEM عن رمز الخطأ DEM_E_WRONG_CONDITION ([SWS_Dem_00676]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص للإرشاد والتوجيه. وتظل المحددات الواردة في مواصفة AUTOSAR المعنية هي المرجع الملزم.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_ClearDTC [SWS_Dem_00665] 📄 PDF

Std_ReturnType Dem_ClearDTC (uint8 ClientId);

Clears single DTCs, as well as groups of DTCs.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 746b093f9e55 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة غير المتزامنة Dem_ClearDTC لحذف أكواد أعطال التشخيص (DTCs) الفردية أو مجموعات DTC بأكملها في Diagnostic Event Manager [SWS_Dem_00665]. قبل الاستدعاء، يجب أن يكون قد تم تحديد الهدف المكون من DTC والتنسيق وموقع التخزين باستخدام Dem_SelectDTC لـ ClientId المعني [SWS_Dem_01253]. الدالة قابلة لإعادة الدخول لقيم ClientId مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس العميل [SWS_Dem_00665].

يتم تأكيد عملية الحذف بواسطة E_OK بمجرد اكتمالها بنجاح [SWS_Dem_00665]. وطالما أن عملية التطهير جارية، تعيد API القيمة DEM_PENDING، والتي يتعين على المتصل بناءً عليها استدعاء الدالة مرة أخرى في وقت لاحق [SWS_Dem_00665]. إذا كانت هناك عملية أخرى تعتمد على Dem_SelectDTC نشطة بالتوازي لنفس العميل، يتم الإبلاغ عن DEM_BUSY [SWS_Dem_00665]. يعالج DEM داخلياً عدة طلبات متوازية للعملاء [SWS_Dem_00661]، حيث يمكن أن تتلقى الاستدعاءات المتنافسة أثناء عملية حذف جارية DEM_PENDING [SWS_Dem_00664] أو DEM_CLEAR_BUSY [SWS_Dem_00665].

تؤكد API الاستدعاءات الخاطئة بقيم مرجعة محددة:

  • E_NOT_OK: لم يتم تحديد أي DTC مسبقاً [SWS_Dem_00665].
  • DEM_WRONG_DTC: الـ DTC غير موجود [SWS_Dem_00665]، أو محجوب [SWS_Dem_01100] أو أن التكوين DemClearDTCLimitation يفرض DEM_ONLY_CLEAR_ALL_DTCS [SWS_Dem_00670].
  • DEM_WRONG_DTCORIGIN: موقع التخزين المحدد غير موجود [SWS_Dem_00665].
  • DEM_CLEAR_FAILED أو DEM_CLEAR_MEMORY_ERROR: فشل الحذف أو حدث خطأ أثناء الحذف في الذاكرة الدائمة [SWS_Dem_00665].

في إطار عملية الحذف، يتم تطهير جميع الأحداث المرتبطة في حالة أكواد DTC المدمجة [SWS_Dem_00440] ويتم إطلاق التهيئة الأولية لمراقبيها عبر InitMonitorForEvent باستخدام DEM_INIT_MONITOR_CLEAR [SWS_Dem_00680]. عند تعيين DemTriggerMonitorInitBeforeClearOk، لا يتم إرجاع E_OK إلا بعد هذا الإطلاق [SWS_Dem_00573]. إذا تم حذف جميع أكواد DTC الخاصة بذاكرة أحداث، يُعيد DEM ضبط مؤشر التجاوز الخاص بها [SWS_Dem_00399]؛ علاوة على ذلك، يتم في خدمة OBD رقم $04 إعادة ضبط بيانات DTR غير المخصصة [SWS_Dem_00764] وتطهير الأحداث غير المرتبطة بالذاكرة [SWS_Dem_01249].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص للتوجيه الفني.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_ClearPrestoredFreezeFrame [SWS_Dem_00193] 📄 PDF

Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);

Clears a prestored freeze frame of a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e3d7b3899eb8 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تحذف الدالة المتزامنة Dem_ClearPrestoredFreezeFrame إطار Freeze-Frame تم تخزينه مؤقتاً مسبقاً لحدث تشخيصي معين ([SWS_Dem_00193]). يتم الاستدعاء حصرياً عبر RTE؛ ولا يتوفر تصريح في ملف الترويسة Dem.h ([SWS_Dem_00193]). ولا يتم تنفيذ API في النظام إلا إذا تم تكوين حدث واحد على الأقل للتخزين المسبق (معلمة التكوين DemFFPrestorageSupported) ([SWS_Dem_00193]، [SWS_Dem_00334]). تعيد الدالة E_OK عند نجاح الحذف، وE_NOT_OK عند فشل العملية ([SWS_Dem_00193]).

التزامن والقيود

الواجهة قابلة لإعادة الدخول لمعرفات أحداث مختلفة (EventId)، ولكن لا يجوز تنفيذها بشكل متزامن لنفس EventId ([SWS_Dem_00193]). لا يتم دعم الاستدعاء مع أحداث تم تكوينها كأحداث تابعة (DemMultiEventTriggeringSlaveEventRef) أو كأحداث بديلة (DemStorageConditionReplacementEventRef)؛ ويكون سلوك DEM في هذه الحالة غير محدد ([SWS_Dem_01339]). إذا تم ضبط حدث على أنه غير متاح، فسيتم التعامل معه كحدث غير مكوّن ([SWS_Dem_01108])؛ تفسير: من المحتمل أن يتم رفض الاستدعاء في هذه الحالة مع E_NOT_OK. سؤال Q-d8ebaf6883138fdf (مفتوح)

التفاعل عند إطلاق الأحداث المتعددة (Multi-Event-Triggering)

إذا تم تكوين DemMultiEventTriggering واستُدعيت الدالة لحدث رئيسي (DemMultiEventTriggeringMasterEventRef)، يُطلق DEM استدعاء الحذف بنفس المعلمات تلقائياً لجميع الأحداث التابعة المرتبطة (DemMultiEventTriggeringSlaveEventRef) ([SWS_Dem_01250]).

أُنشئت ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_GetDTCSelectionResult [SWS_Dem_91023] 📄 PDF

Std_ReturnType Dem_GetDTCSelectionResult (uint8 ClientId);

Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.

دالة Dem_GetDTCSelectionResultForClearDTC [SWS_Dem_91020] 📄 PDF

Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);

Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs, respecting the settings if the Dem shall clear only all DTCs.

دالة Dem_GetDebouncingOfEvent [SWS_Dem_00730] 📄 PDF

Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);

Gets the debouncing status of an event. This function shall not be used for EventId with native debouncing within their functions. It is rather for EventIds using debouncing within the Dem.

دالة Dem_GetDTCSuppression [SWS_Dem_91025] 📄 PDF

Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);

Returns the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppressionSupport)} == DEM_DTC_SUPPRESSION)

دالة Dem_GetFaultDetectionCounter [SWS_Dem_00203] 📄 PDF

Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);

Gets the fault detection counter of an event. This API can only be used through the RTE, and therefore no declaration is exported via Dem.h.

دالة Dem_GetIndicatorStatus [SWS_Dem_00205] 📄 PDF

Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);

Gets the indicator status derived from the UDS status. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEventMemory Set/DemIndicator)} != NULL)

دالة Dem_ResetEventDebounceStatus [SWS_Dem_00683] 📄 PDF

Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);

Control the internal debounce counter/timer by BSW modules and SW-Cs. The event qualification will not be affected by these debounce state changes. This API is available for BSW modules as soon as Dem_PreInit has been completed (refer to SWS_Dem_00438 and SWS_Dem_00167).

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1c0673b083cc المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_ResetEventDebounceStatus بواسطة وحدات BSW ومكونات البرمجيات (SW-Cs) لتجميد عداد أو مؤقت إزالة الارتداد الداخلي لحدث تشخيصي أو إعادة تعيينه بصورة مستهدفة، دون التأثير على تأهيل الحدث [SWS_Dem_00683].

الاستخدام والمعلمات

يتم التحكم في الإجراء المطلوب عبر المعلمة DebounceResetStatus: تُجمّد القيمة DEM_DEBOUNCE_STATUS_FREEZE مؤقت إزالة الارتداد الداخلي [SWS_Dem_00685]، بينما تعيد DEM_DEBOUNCE_STATUS_RESET تعيين عداد كشف الأعطال المرتبط به (Fault Detection Counter) [SWS_Dem_00684] [SWS_Dem_00927]. تُرجع الدالة E_OK عند نجاح التنفيذ، وE_NOT_OK حصرًا في حالة وجود خطأ تطوير [SWS_Dem_00683].

معالجة الأخطاء ودورة الحياة

تكون واجهة برمجة التطبيقات (API) متاحة لوحدات BSW بالفعل بعد الانتهاء من Dem_PreInit، وبالتالي فهي مستثناة من فحص التهيئة العام قبل اكتمال التهيئة بالكامل [SWS_Dem_00124] [SWS_Dem_00683]. وعند تفعيل وضع اكتشاف التطوير، تسري الشروط التالية:

  • إذا استُدعيت الدالة قبل التهيئة المسبقة، يُبلّغ DEM عن الخطأ DEM_E_UNINIT [SWS_Dem_00364].
  • إذا تم الاستدعاء للأحداث ذات عداد إزالة الارتداد الدائم (حيث DemDebounceCounterStorage مضبوط على True) قبل Dem_Init أو بعد Dem_Shutdown، يُعيَّن DEM_E_WRONG_CONDITION [SWS_Dem_00676].
  • إذا وُسِم حدث بأنه غير متاح، يُعامَل كحدث غير مهيأ [SWS_Dem_01108].

التزامن والقيود

الدالة Dem_ResetEventDebounceStatus قابلة لإعادة الدخول لقيم EventId المختلفة، لكنها غير قابلة لإعادة الدخول للحدث نفسه [SWS_Dem_00683]. وعند تهيئة DemMultiEventTriggering، يؤدي استدعاء يتضمن حدثًا رئيسيًا (Master-Event) إلى تشغيل استدعاءات متطابقة لجميع الأحداث التابعة (Slave-Events) المرتبطة به [SWS_Dem_01250]. أما الاستدعاءات المباشرة للأحداث التابعة الداخلية الخالصة أو الأحداث المشار إليها عبر DemStorageConditionReplacementEventRef، فهي غير مدعومة وتؤدي إلى سلوك غير محدد [SWS_Dem_01339].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_ResetEventStatus [SWS_Dem_00185] 📄 PDF

Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);

Resets the event failed status. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b20c64ec7b3a المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dem_ResetEventStatus لإعادة تعيين حالة الخطأ لحدث تشخيصي وتتوفر حصريًا عبر RTE [SWS_Dem_00185]. يتم الاستدعاء باستخدام EventId وله دلالة لا متزامنة: عند قبول الطلب بنجاح، تُرجع الدالة E_OK [SWS_Dem_00185]. بعد ذلك، يقوم نمط DEM، مع إزاحة زمنية، بإعادة تعيين بت الحالة 0 (TestFailed) إلى 0، وفي حال التهيئة المناسبة، يعيد تعيين خوارزمية إزالة الارتداد الداخلية إلى قيمها الأولية [SWS_Dem_00187].

يفشل الطلب بالقيمة المُرجعة E_NOT_OK إذا كان الحدث قد اختُبر بالفعل في دورة التشغيل الحالية (بت حالة UDS رقم 6 هو 0) [SWS_Dem_00185]، [SWS_Dem_00638]، أو إذا كان الحدث مهيأً أو مضبوطًا كغير متاح [SWS_Dem_01108]. الاستدعاء قبل اكتمال التهيئة الأولية لـ DEM لا يؤدي إلى الإبلاغ عن الخطأ DEM_E_UNINIT، حتى مع تفعيل كشف أخطاء التطوير (DemDevErrorDetect) [SWS_Dem_00124].

فيما يتعلق بالتزامن، فإن Dem_ResetEventStatus قابلة لإعادة الدخول (reentrant) لقيم EventId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس EventId [SWS_Dem_00185]. إذا كانت DemMultiEventTriggering مهيأة وتم استدعاء الدالة باستخدام حدث رئيسي (Master-Event)، يقوم DEM تلقائيًا بإطلاق نفس الاستدعاء لجميع الأحداث التابعة (Slave-Events) المرتبطة [SWS_Dem_01250]. لا يتم دعم الاستدعاءات المباشرة باستخدام EventId مهيأة كحدث تابع أو كـ DemStorageConditionReplacementEventRef، وتؤدي إلى سلوك غير محدد [SWS_Dem_01339].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_RestartOperationCycle [SWS_Dem_00194] 📄 PDF

Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);

Sets an operation cycle state. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. The interface has an asynchronous behavior to avoid exceeding of typical timing requirements on APIs if a large number of events has to be processed and during the re-initializations of the related monitors. The asynchronous acknowledgements are the related InitMonitorForEvent callbacks.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 43517846effb المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dem_RestartOperationCycle لإعادة تشغيل دورة تشغيل ([SWS_Dem_00194]). يتم الاستدعاء حصرياً عبر RTE، ولهذا السبب لا يتم تصدير أي تصريح عبر Dem.h ([SWS_Dem_00194]).

الدلالة والمعاملات

عبر معامل الدخل OperationCycleId، يتم تحديد دورة التشغيل المراد إعادة تشغيلها (مثل دورة التشغيل Power Cycle أو دورة القيادة Driving Cycle) ([SWS_Dem_00194]). تعمل الدالة بصورة قابلة لإعادة الدخول وغير متزامنة ([SWS_Dem_00194]):

  • E_OK: تم قبول ضبط دورة التشغيل وستتم متابعة معالجتها بشكل غير متزامن ([SWS_Dem_00194]).
  • E_NOT_OK: تم رفض طلب ضبط الدورة ([SWS_Dem_00194]).

التفاعل والمسار غير المتزامن

يمنع السلوك غير المتزامن انتهاك متطلبات التوقيت النموذجية عند الحاجة إلى معالجة عدد كبير من الأحداث وإعادة تهيئة المراقبين ([SWS_Dem_00194]). وتعمل عمليات الاستدعاء الراجع المقابلة InitMonitorForEvent كإشعارات غير متزامنة ([SWS_Dem_00194]). وخلال عملية إعادة التشغيل، يعيد DEM تهيئة مراقبي التشخيص لجميع الأحداث المتأثرة من خلال استدعاء دالة الاستدعاء الراجع الخاصة بها InitMonitorForEvent مع ضبط المعامل InitMonitorReason على DEM_INIT_MONITOR_RESTART ([SWS_Dem_00679]).

إذا تمت إعادة تشغيل دورة تشغيل عبر Dem_RestartOperationCycle، يجب أيضاً إعادة تشغيل جميع دورات التشغيل التابعة لها، شريطة أن تكون مؤهلة ([SWS_Dem_01224]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل إرشادي. والمستند المرجعي الملزم هو مواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_PrestoreFreezeFrame [SWS_Dem_00188] 📄 PDF

Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);

Captures the freeze frame data for a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c489dfc2152d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة للحصول المتزامن على بيانات Freeze-Frame وتخزينها مؤقتاً لحدث تشخيصي محدد [SWS_Dem_00188]. تتوفر الواجهة حصرياً عبر RTE ولا يتم تصديرها عبر Dem.h [SWS_Dem_00188]. ولا تكون موجودة في الوحدة النمطية إلا إذا تم تكوين التخزين المسبق لحدث واحد على الأقل (DemFFPrestorageSupported) [SWS_Dem_00334].

القيم المرجعة ومعالجة الأخطاء:

  • E_OK: تم تخزين Freeze-Frame مؤقتاً بنجاح [SWS_Dem_00188].
  • E_NOT_OK: فشل التخزين المؤقت [SWS_Dem_00188]، لا سيما إذا لم تعد هناك ذاكرة تخزين مؤقت خالية (محدودة بـ DemMaxNumberPrestoredFF) [SWS_Dem_00808] أو إذا تم ضبط الحدث المحدد على أنه غير متاح [SWS_Dem_01108].

التزامن وشروط الاستدعاء: الدالة قابلة لإعادة الدخول من أجل معرفات أحداث مختلفة، ولكن ليس لنفس EventId [SWS_Dem_00188].

التفاعل في حالة Multi-Event-Triggering: إذا تم استدعاء الدالة مع حدث رئيسي تم تكوينه (DemMultiEventTriggeringMasterEventRef)، يُطلق DEM تلقائياً استدعاءات متطابقة لجميع الأحداث التابعة المرتبطة (DemMultiEventTriggeringSlaveEventRef) [SWS_Dem_01250]. الاستدعاءات المباشرة باستخدام معرف حدث تابع أو باستخدام حدث بديل لشروط التخزين (DemStorageConditionReplacementEventRef) غير مدعومة وتؤدي إلى سلوك غير محدد [SWS_Dem_01339].

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_SelectDTC [SWS_Dem_91016] 📄 PDF

Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);

Selects a DTC or DTC group as target for further operations.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c8301a45c8d2 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تحدد الدالة المتزامنة Dem_SelectDTC رمز DTC أو مجموعة DTC بالتنسيق المحدد (DTCFormat) وذاكرة الأحداث (DTCOrigin) لـ ClientId معينة كهدف للعمليات اللاحقة [SWS_Dem_91016]. وتقوم ببدء عملية التحديد الداخلية الخاصة بـ DEM على ذاكرة الأحداث المخصصة لـ ClientId هذه [SWS_Dem_01254].

فيما يتعلق بالتزامن وسياق الاستدعاء، فإن الدالة قابلة لإعادة الدخول لقيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_91016]. وقد تم تعريف القيم المُرجعة التالية [SWS_Dem_91016]:

  • E_OK: تم تحديد DTC أو المجموعة بنجاح [SWS_Dem_91016].
  • DEM_BUSY: هناك استدعاء آخر لـ Dem_SelectDTC أو عملية معتمدة عليه لهذا العميل قيد التنفيذ بالفعل حاليًا [SWS_Dem_91016].

تنعكس نتيجة الاختيار في قيم الإرجاع لاستدعاءات API اللاحقة [SWS_Dem_01254]. وتستخدم DEM كود DTC أو مجموعة DTC المحددة كهدف لاستدعاءات الدوال اللاحقة لنفس العميل مثل Dem_ClearDTC، Dem_DisableDTCRecordUpdate، Dem_GetFunctionalUnitOfDTC، Dem_GetSeverityOfDTC، Dem_GetStatusOfDTC، Dem_SelectFreezeFrameData، Dem_SelectExtendedDataRecord وكذلك Dem_SetDTCSuppression [SWS_Dem_01253] من بين أمور أخرى. علاوة على ذلك، يعتمد Dem_SelectFreezeFrameData وDem_SelectExtendedDataRecord على هذا DTC المحدد [SWS_Dem_01268]، [SWS_Dem_01272].

إذا تم استدعاء إحدى واجهات برمجة التطبيقات المعتمدة دون وجود تحديد صالح مسبقًا، أو إذا كان رمز DTC الممرر غير صالح بالتنسيق المحدد، يُرجع DEM القيمة DEM_WRONG_DTC [SWS_Dem_01261]. وإذا كانت منطقة الذاكرة المطلوبة (DTCOrigin) غير موجودة أو غير صالحة، تبلغ الاستدعاءات اللاحقة عن DEM_WRONG_DTCORIGIN [SWS_Dem_01258]، [SWS_Dem_01262]. وباستخدام Dem_GetDTCSelectionResult، يمكن التحقق صراحة مما إذا كان التحديد باستخدام E_OK ناجحًا وكان DTC جاهزًا لمزيد من المعالجة [SWS_Dem_01256]، [SWS_Dem_01257].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصريًا إلى بيانات مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_SetDTCSuppression [SWS_Dem_01047] 📄 PDF

Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);

Set the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppression Support)} == DEM_DTC_SUPPRESSION)

دالة Dem_SetEnableCondition [SWS_Dem_00201] 📄 PDF

Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);

Sets an enable condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEnable Condition)} != NULL)

دالة Dem_SetEventStatus [SWS_Dem_00183] 📄 PDF

Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);

Called by SW-Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_SetEventStatus can safely ignore the return value. This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEventReportingType} == STANDARD_REPORTING)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 706d7cf70a2d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dem_SetEventStatus من قبل SW-Cs ووحدات BSW لنقل نتائج اختبار المراقب إلى DEM [SWS_Dem_00183]، [SWS_Dem_00330]. وتكون متاحة إذا تم تكوين STANDARD_REPORTING للحدث [SWS_Dem_00183]. ويتم تمرير نتائج مؤهلة (DEM_EVENT_STATUS_PASSED، DEM_EVENT_STATUS_FAILED)، أو مؤهلات مسبقة لإزالة الارتداد الداخلي لـ DEM (DEM_EVENT_STATUS_PREPASSED، DEM_EVENT_STATUS_PREFAILED)، أو الوصول إلى عتبة إزالة الارتداد DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED [SWS_Dem_00926] كقيم حالة.

فيما يتعلق بالتزامن، فإن واجهة برمجة التطبيقات (API) تُعد قابلة لإعادة الدخول (reentrant) لقيم EventId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس EventId [SWS_Dem_00183]. قبل التهيئة المسبقة عبر Dem_PreInit، يؤدي أي استدعاء عند تنشيط اكتشاف أخطاء التطوير إلى الخطأ DEM_E_UNINIT [SWS_Dem_00364]. بعد Dem_PreInit، ولكن قبل Dem_Init، يكون الاستدعاء مسموحًا به في المقابل [SWS_Dem_00124]، [SWS_Dem_00180]؛ ويتم تخزين الأحداث المؤهلة مؤقتًا في قائمة انتظار (Queue) يُحدد حجمها عبر DemBswErrorBufferSize، في حين لا يتم تخزين عتبات FDC مؤقتًا [SWS_Dem_00167]، [SWS_Dem_00207]. حتى بعد Dem_Shutdown لا تولد الدالة أي خطأ DEM_E_UNINIT [SWS_Dem_00368].

قيمة الإرجاع هي E_OK عند القبول الناجح، أو E_NOT_OK في حالة حدوث أخطاء أو عند تعيين الحدث على أنه غير متاح [SWS_Dem_00183]، [SWS_Dem_01108]. ويُسمح لوحدات BSW بتجاهل قيمة الإرجاع [SWS_Dem_00183]. ويتم قبول البلاغات بمجرد استيفاء Enable-Conditions المعينة [SWS_Dem_00450]؛ وإذا تم إلغاء تنشيط DTC-Setting، تتجاهل DEM التقرير الخاص بحالة UDS [SWS_Dem_00626].

يمكن إطلاق إجراءات متزامنة في سياق الاستدعاء:

  • إخطار FiM عند تغيير الحالة عبر FiM_DemTriggerOnEventStatus، بشرط أن يكون DemTriggerFiMReports نشطًا [SWS_Dem_00029].
  • تسجيل بيانات Freeze-Frame المتزامنة وExtended-Data-Records عند تكوين الخيار DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING [SWS_Dem_00805]، [SWS_Dem_01082].
  • استدعاءات متتالية لأحداث تابعة مهيأة عند تفعيل تكوين DemMultiEventTriggering [SWS_Dem_01250].

تم إنشاء هذه الملاحظة تلقائيًا على أساس مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_SetEventStatusWithMonitorData [SWS_Dem_91037] 📄 PDF

Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);

This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEvent ReportingType} == STANDARD_REPORTING_WITH_MONITOR_DATA)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: eb7046584bdf المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dem_SetEventStatusWithMonitorData للإبلاغ عن نتيجة اختبار مراقب (EventStatus) لحدث تشخيصي معين (EventId) مصحوبة ببيانات إضافية خاصة بالمراقب (monitorData0 وmonitorData1) إلى DEM [SWS_Dem_91037]. وهي تؤدي نفس وظيفة Dem_SetEventStatus، ولكنها تمرر معلمات إضافية للتخزين في البيانات المرتبطة بالحدث [SWS_Dem_01333].

في التفاعل مع عمليات القراءة، يسري الآتي: إذا تم تهيئة عملية Read-Data لتوفير monitorData0، فإن DEM يضيف monitorData0 الممررة من Dem_SetEventStatusWithMonitorData إلى المعلمة monitorData0 الخاصة بعملية Read-Data هذه [SWS_Dem_01330].

تسري الشروط التالية على الاستخدام والتزامن:

  • التوفر: تتوفر واجهة API عبر Dem.h فقط إذا تم تهيئة DemEventReportingType على STANDARD_REPORTING_WITH_MONITOR_DATA [SWS_Dem_91037].
  • التنفيذ وإعادة الدخول: التنفيذ متزامن/غير متزامن. الدالة قابلة لإعادة الدخول لقيم EventId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس EventId [SWS_Dem_91037].
  • القيم المُرجعة: تُرجع E_OK عند تعيين حالة الحدث بنجاح، وE_NOT_OK إذا فشل التعيين أو المعالجة أو تعذر قبولهما [SWS_Dem_91037].

تم إنشاء ملاحظة الاستخدام هذه تلقائياً استناداً إلى المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_SetStorageCondition [SWS_Dem_00556] 📄 PDF

Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);

Sets a storage condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemStorage Condition)} != NULL)

دالة Dem_SetWIRStatus [SWS_Dem_00839] 📄 PDF

Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);

Sets the WIR status bit via failsafe SW-Cs. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7e5ab1b6f9c0 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الدالة غير المتزامنة Dem_SetWIRStatus بواسطة مكونات البرمجيات الآمنة ضد الأعطال (failsafe SW-Cs) لطلب بت حالة Warning-Indicator-Requested (بت WIR) لحدث تشخيصي بشكل هادف [SWS_Dem_00839]، [SWS_Dem_01303]. ونظراً لأن الاستدعاء يتم حصرياً عبر RTE، فلا يوجد تصريح في ملف الرأس Dem.h [SWS_Dem_00839].

السلوك الوظيفي والتفاعل

يعتمد تعيين البت وإعادة تعيينه على معامِل التمرير WIRStatus وكذلك حالة المؤشرات المكوّنة:

  • إذا تم تمرير WIRStatus = TRUE، يقوم DEM بتعيين بت WIR للحدث المعني إلى 1 [SWS_Dem_00833].
  • عند WIRStatus = FALSE، لا يُعاد تعيين بت WIR إلى 0 إلا إذا لم تكن هناك مؤشرات DEM مشار إليها معينة [SWS_Dem_00834].
  • بالإضافة إلى ذلك، فإن تعيين بت WIR عبر Dem_SetWIRStatus يمنع DEM من إعادة تعيين بت حالة UDS رقم 7 (WarningIndicatorRequested) تلقائياً إلى 0 عند الوصول إلى دورات إزالة الارتداد أو المعالجة [SWS_Dem_00503]، [SWS_Dem_01233].

التزامن ومعالجة الأخطاء

إن واجهة برمجة التطبيقات (API) قابلة لإعادة الدخول للأحداث المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس EventId [SWS_Dem_00839]. عند القبول الناجح، تُرجع الدالة E_OK [SWS_Dem_00839]. وتشير قيمة الإرجاع E_NOT_OK إلى أنه تم رفض الطلب وأنه ينبغي تكراره؛ وهذا هو الحال على وجه الخصوص إذا كان إعداد DTC معطلاً (disabled ControlDTCSetting) أو إذا تم وضع علامة على الحدث كغير متاح [SWS_Dem_00836]، [SWS_Dem_01108]، [SWS_Dem_00839].

تم توليد ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_SetEventFailedWithSyncFreezeFrame [SWS_Dem_91041] 📄 PDF

void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);

If called the Dem sets the event to failed and this failed event requires that a snapshot record is captured, the Dem synchronously retrieves the data within the call of this API. Tags: atp.Status=draft

دالة Dem_GetStatusOfDTC [SWS_Dem_00212] 📄 PDF

Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);

Gets the status of a DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments). The DTCs of OBD Events Suppression shall be reported as Dem_WRONG_DTC.

دالة Dem_GetSeverityOfDTC [SWS_Dem_00232] 📄 PDF

Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);

Gets the severity of the requested DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments).

دالة Dem_SetDTCFilter [SWS_Dem_00208] 📄 PDF

Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);

Sets the DTC Filter. The server shall perform a bit-wise logical AND-ing operation between the parameter DTCStatusMask and the current UDS status in the server. In addition to the DTCStatus AvailabilityMask, the server shall return all DTCs for which the result of the AND-ing operation is non-zero [i.e. (statusOfDTC & DTCStatusMask) != 0]. The server shall process only the DTC Status bits that it is supporting. OBD Events Suppression shall be ignored for this computation. If no DTCs within the server match the masking criteria specified in the clients request, no DTC or status information shall be provided following the DTCStatusAvailabilityMask byte in the positive response message (((statusOfDTC & DTCStatusMask) != 0) && ((severity & DTCSeverityMask) != 0)) == TRUE

دالة Dem_GetNextFilteredDTC [SWS_Dem_00215] 📄 PDF

Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);

Gets the next filtered DTC matching the filter criteria. For UDS services, the interface has an asynchronous behavior, because a large number of DTCs has to be processed.

دالة Dem_GetNextFilteredDTCAndFDC [SWS_Dem_00227] 📄 PDF

Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);

Gets the next filtered DTC and its associated Fault Detection Counter (FDC) matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed and the FDC might be received asynchronously from a SW-C, too.

دالة Dem_GetNextFilteredDTCAndSeverity [SWS_Dem_00281] 📄 PDF

Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);

Gets the next filtered DTC and its associated Severity matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed.

دالة Dem_GetNextFilteredRecord [SWS_Dem_00224] 📄 PDF

Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);

Gets the next freeze frame record number and its associated DTC stored in the event memory. The interface has an asynchronous behavior, because NvRAM access might be required.

دالة Dem_DisableDTCRecordUpdate [SWS_Dem_00233] 📄 PDF

Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);

Disables the event memory update of a specific DTC (only one at one time).

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 793bc4c92bab المصدر
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وتسلسل العمليات

تعمل الدالة غير المتزامنة Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) على تعطيل تحديث ذاكرة الأحداث لـ DTC محدد مسبقًا عبر Dem_SelectDTC ([SWS_Dem_01253]). الهدف من هذا الاستدعاء هو حماية البيانات المرتبطة بالحدث للعطل المحدد في DTCOrigin المعني من الكتابة الفوقية أو الحذف، وذلك لضمان عمليات قراءة متسقة لاحقة لبيانات Freeze-Frame وسجلات Extended Data Records ([SWS_Dem_00270]). ويتم تحديد مثيل الوحدة المستدعية عبر المعامل ClientId ([SWS_Dem_00233]).

قيم الإرجاع ومعالجة الأخطاء

تشير الدالة إلى حالة المعالجة عبر قيم إرجاع محددة ([SWS_Dem_00233]):

  • E_OK: تم تعطيل تحديث ذاكرة الأحداث بنجاح.
  • DEM_PENDING: يتم تنفيذ التعطيل بشكل غير متزامن؛ ويجب على المستدعي استدعاء الدالة مجددًا في وقت لاحق.
  • DEM_BUSY: توجد بالفعل عملية أخرى تابعة لـ Dem_SelectDTC قيد المعالجة لهذا العميل.
  • E_NOT_OK: لم يتم تحديد أي DTC مسبقًا.
  • DEM_WRONG_DTC: كود DTC المحدد غير موجود بالتنسيق المختار، أو تم اختيار مجموعة DTC بشكل غير مسموح به.
  • DEM_WRONG_DTCORIGIN: الأصل المحدد (DTCOrigin) غير موجود.

التزامن والقيود

الدالة Dem_DisableDTCRecordUpdate قابلة لإعادة الدخول (reentrant) للاستدعاءات ذات ClientId مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId ([SWS_Dem_00233]). ولا يمكن قفل التحديث إلا لـ DTC واحد فقط في الوقت نفسه ([SWS_Dem_00233]). وبعد قراءة بيانات التشخيص، يجب إعادة تمكين تحديث سجل البيانات عبر Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]، [SWS_Dem_00270]).

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_EnableDTCRecordUpdate [SWS_Dem_00234] 📄 PDF

Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);

Enables the event memory update of the DTC disabled by Dem_DisableDTCRecordUpdate() before. Note: As the call to Dem_EnableDTCRecordUpdate is the last action in the sequence of disabling/enabling a DTC, the caller is not interested in the return value. Therefore E_OK should be returned even if the DTC is enabled asynchronously.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: de89b4e41f66 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة غير المتزامنة Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) لتمكين تحديث ذاكرة الأحداث لـ DTC تم قفله مسبقاً. وفقاً لـ [SWS_Dem_00271]، تُعيد الدالة تمكين DTC المحمي حالياً بواسطة Dem_DisableDTCRecordUpdate، بحيث يمكن تحديث بياناته مرة أخرى في DEM.

تتوقع الدالة كمعلمة تمرير ClientId، والتي تحدد بشكل فريد نسخة الوحدة النمطية المستدعية ([SWS_Dem_00234]). ونظراً لأن استدعاء Dem_EnableDTCRecordUpdate يمثل الإجراء الختامي في تسلسل تعطيل وتفعيل DTC، فإن المتصل لا يهتم بالقيمة المرجعة الفعلية؛ لذلك، ووفقاً لـ [SWS_Dem_00234]، ينبغي إرجاع E_OK حتى في حالة التمكين غير المتزامن.

فيما يتعلق بمعالجة الأخطاء والقيم المرجعة، يتم تحديد الحالات التالية ([SWS_Dem_00234]):

  • E_OK: تم تمكين تحديث سجل بيانات DTC بنجاح.
  • E_NOT_OK: لم يتم تحديد أي DTC.

فيما يتعلق بالتزامن والقيود، فإن Dem_EnableDTCRecordUpdate قابلة لإعادة الدخول للاستدعاءات ذات معرفات عملاء مختلفة، ولكنها ليست قابلة لإعادة الدخول لنفس ClientId ([SWS_Dem_00234]).

تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_GetSizeOfExtendedDataRecordSelection [SWS_Dem_00240] 📄 PDF

Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);

Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.

دالة Dem_GetSizeOfFreezeFrameSelection [SWS_Dem_00238] 📄 PDF

Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);

Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.

دالة Dem_GetNextExtendedDataRecord [SWS_Dem_00239] 📄 PDF

Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord. The function stores the data in the provided DestBuffer.

دالة Dem_GetNextFreezeFrameData [SWS_Dem_00236] 📄 PDF

Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData. The function stores the data in the provided DestBuffer.

دالة Dem_SelectExtendedDataRecord [SWS_Dem_91017] 📄 PDF

Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);

Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2ece0d12a55d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة غير المتزامنة Dem_SelectExtendedDataRecord بتهيئة المرشح لقراءة بيانات التشخيص الموسعة لكود DTC تم تحديده مسبقًا باستخدام Dem_SelectDTC [SWS_Dem_91017] [SWS_Dem_01253]. وهي تطلق عملية الاختيار الداخلية في ذاكرة الأحداث المخصصة للعميل [SWS_Dem_01273] وتحدد سجل البيانات الهدف للاستعلامات اللاحقة عبر Dem_GetSizeOfExtendedDataRecordSelection وDem_GetNextExtendedDataRecord [SWS_Dem_01272].

فيما يتعلق بتحديد المعلمات وسير العمل، تسري الاشتراطات التالية:

  • المعلمات: بالإضافة إلى أرقام سجلات البيانات المحددة، يقبل ExtendedDataNumber القيم 0xFE (الحجم الإجمالي لجميع سجلات OBD) وكذلك 0xFF (الحجم الإجمالي لجميع سجلات البيانات) [SWS_Dem_91017]. ولتجنب عدم اتساق البيانات أثناء القراءة، يمكن حماية سجل البيانات مسبقًا باستخدام Dem_DisableDTCRecordUpdate [SWS_Dem_00270].
  • قيم الإرجاع والأخطاء: عند نجاح الاختيار، يتم إرجاع E_OK [SWS_Dem_91017]. وينطبق هذا أيضًا عند طلب رقم سجل بيانات صالح لا يوجد إدخال مخزن له؛ وفي هذه الحالة، تعطي القراءة اللاحقة حجم تخزين مؤقت قدره 0 [SWS_Dem_00631]. إذا لم يتم اختيار كود خطأ فردي عبر Dem_SelectDTC بل مجموعة DTC، أو إذا لم يكن كود DTC موجودًا، يفشل الاستدعاء مع DEM_WRONG_DTC [SWS_Dem_91017] [SWS_Dem_01349]. وإذا لم يكن موقع التخزين موجودًا، يتم الإبلاغ عن DEM_WRONG_DTCORIGIN [SWS_Dem_91017].
  • التزامن: إذا كان الاختيار لا يزال قيد المعالجة، يشير DEM_PENDING إلى الحاجة إلى إعادة الاستدعاء [SWS_Dem_91017]. وتوضح الحالة DEM_BUSY أن هناك عملية أخرى معتمدة على DTC لا تزال نشطة لهذا ClientId [SWS_Dem_91017]. تكون الدالة قابلة لإعادة الدخول (reentrant) لقيم ClientId مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس النسخة [SWS_Dem_91017].

تم إنشاء ملاحظة الاستخدام هذه آلياً بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_SelectFreezeFrameData [SWS_Dem_91015] 📄 PDF

Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);

Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5188ca62aa0a المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تقوم الدالة غير المتزامنة Dem_SelectFreezeFrameData بتعيين المرشح لقراءة بيانات Freeze-Frame لاحقاً عبر Dem_GetSizeOfFreezeFrameSelection وDem_GetNextFreezeFrameData [SWS_Dem_91015]، [SWS_Dem_01268]. ويتم عبر المعامِل ClientId تحديد مثيل الوحدة المستدعية، بينما يحدد RecordNumber رقم سجل اللقطة وفقاً للمواصفة ISO 14229-1؛ حيث يمثل 0xFF جميع سجلات اللقطات الخاصة برمز DTC، بينما يمثل 0x00 لقطة WWH-OBD الخاصة برمز DTC [SWS_Dem_91015]. يطلق الاستدعاء التحديد الداخلي في ذاكرة الأحداث المخصصة [SWS_Dem_01269].

قيم الإرجاع ومعالجة الأخطاء

إذا تم بدء عملية الاختيار بنجاح، تُرجع الدالة E_OK [SWS_Dem_91015]. وإذا كان الاختيار لا يزال قيد المعالجة، يشير DEM_PENDING إلى أنه يتعين على المتصل استدعاء الدالة مجددًا في وقت لاحق [SWS_Dem_91015]. وإذا كانت هناك عملية تابعة أخرى نشطة بالفعل للعميل، تُرجع واجهة برمجة التطبيقات (API) DEM_BUSY [SWS_Dem_91015]، [SWS_Dem_01253]. وإذا لم يكن كود DTC الهدف موجودًا بالتنسيق المطلوب، أو إذا تم اختيار مجموعة DTC بدلاً من DTC فردي عبر Dem_SelectDTC، فسيتم إرجاع DEM_WRONG_DTC [SWS_Dem_91015]، [SWS_Dem_01348]. وفي حالة وجود موقع تخزين غير صالح، ينتج DEM_WRONG_DTCORIGIN [SWS_Dem_91015]. وإذا تم استدعاء دوال قراءة تابعة دون اختيار مسبق، يبلغ DEM عن خطأ DET [SWS_Dem_01270]، [SWS_Dem_01271].

الترتيب والتزامن

تتميز الدالة بأنها قابلة لإعادة الدخول (reentrant) لجهات اتصال مختلفة (ClientId)، ولكنها غير قابلة لإعادة الدخول لنفس العميل [SWS_Dem_91015]. يُعد الاستدعاء المسبق لـ Dem_SelectDTC شرطًا أساسيًا إلزاميًا لتحديد كود DTC الهدف وموقع التخزين [SWS_Dem_01253]. ولضمان قراءة متسقة، يمكن استدعاء Dem_DisableDTCRecordUpdate لحماية البيانات المرتبطة بالحدث من التغييرات أو عمليات الحذف [SWS_Dem_00270].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بواسطة ذكاء اصطناعي بناءً على المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_GetNumberOfFreezeFrameRecords [SWS_Dem_91191] 📄 PDF

Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);

This function returns the number of all freeze frame records currently stored in the primary event memory

دالة Dem_DisableDTCSetting [SWS_Dem_00242] 📄 PDF

Std_ReturnType Dem_DisableDTCSetting (uint8 ClientId);

Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4c222839a4a6 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تعمل الدالة Dem_DisableDTCSetting على تعطيل DTC-Setting لجميع أحداث التشخيص المخصصة لـ DemEventMemorySet الخاص بالعميل المستدعي [SWS_Dem_00242]، [SWS_Dem_01290]. ويتم الاستدعاء بشكل غير متزامن ويتطلب تمرير ClientId فريد [SWS_Dem_00242]. وإلى جانب الاكتمال الناجح عبر E_OK، تشير قيمة الإرجاع DEM_PENDING إلى أن العملية لا تزال قيد المعالجة؛ وفي هذه الحالة، يجب على المستدعي استدعاء الدالة مجددًا في وقت لاحق [SWS_Dem_00242].

التأثيرات الوظيفية

عند استدعاء Dem_DisableDTCSetting، يمنع DEM تخزين الأحداث المرتبطة وكذلك تحديث بايتات حالة UDS [SWS_Dem_00079]. وإذا كان معامل التكوين DemDebounceBehavior مضبوطًا بالإضافة إلى ذلك على DEM_DEBOUNCE_RESET، فإن الاستدعاء يؤدي أيضًا إلى إعادة تعيين عدادات كشف الأعطال (Fault Detection Counters) المقابلة [SWS_Dem_00677].

التزامن والقيود

الدالة قابلة لإعادة الدخول للاستدعاءات ذات معرّفات عملاء (Client-IDs) مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00242]. ويقتصر تأثير التعطيل حصريًا على الأحداث وبايتات حالة UDS الخاصة بـ DemEventMemorySet المشار إليه بواسطة ClientId؛ ولا تتأثر أكواد DTC الواقعة خارج نطاق الذاكرة هذا [SWS_Dem_01290].

تستند ملاحظة الاستخدام هذه إلى متطلبات مواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_EnableDTCSetting [SWS_Dem_00243] 📄 PDF

Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);

(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4784195edff9 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تعمل الدالة غير المتزامنة Dem_EnableDTCSetting على تفعيل أو إعادة تفعيل DTC-Setting لجميع أكواد DTC المخصصة لـ DemEventMemorySet الخاص بالعميل المعنون [SWS_Dem_00243]. وعند الاستدعاء، يتم تمرير المعرّف الفريد ClientId لمثيل الوحدة المستدعية [SWS_Dem_00243].

تم تحديد قيم الإرجاع التالية [SWS_Dem_00243]:

  • E_OK: اكتملت العملية بنجاح.
  • DEM_PENDING: يتم تنفيذ العملية بشكل غير متزامن؛ ويجب على المستدعي استدعاء الدالة مجددًا في وقت لاحق.

فيما يتعلق بالتزامن، فإن Dem_EnableDTCSetting قابلة لإعادة الدخول لقيم ClientId مختلفة، ولكن لا يجوز استدعاؤها بالتزامن لنفس ClientId [SWS_Dem_00243].

بالتكامل مع معالجة الأحداث، تضمن الدالة أن يتيح DEM تخزين الأحداث المرتبطة وبايت حالة UDS [SWS_Dem_00080]. وإذا أُعيد تفعيل DTC-Setting للأحداث، فإن Dem_EnableDTCSetting تُطلق دالة الاستدعاء الذاتي (Callback) InitMonitorForEvent للأحداث المعنية مع المعامل InitMonitorReason المضبوط على DEM_INIT_MONITOR_REENABLED [SWS_Dem_00682].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص للتوجيه فقط. وتكون مواصفات إصدارات AUTOSAR المعنية وحدها ملزمة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmGetInfoTypeValue08 [SWS_Dem_00316] 📄 PDF

Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);

Service is used for requesting IUMPR data according to InfoType $08. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 51829835ffc5 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يستدعي DCM الدالة المتزامنة Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) للاستعلام عن بيانات IUMPR (In-Use Monitor Performance Ratio) لـ InfoType $08 ضمن نطاق خدمة OBD المسماة $09 ([SWS_Dem_00298]). وبما أن المعالجة تتم بشكل متزامن، يمرر DCM القيمة DCM_INITIAL حصريًا للمعامل OpStatus ([SWS_Dem_00316]). وتُكتب البيانات المفيدة وعدد عناصر البيانات وفقًا للمواصفة ISO-15031-5 في المخزن المؤقت Iumprdata08 الذي يوفره DCM؛ ويتم تحديد الحجم الأقصى القابل للكتابة في المخزن المؤقت عبر المعامل Inout المسمى Iumprdata08BufferSize ([SWS_Dem_00316]).

معالجة الأخطاء

تُرجع الدالة دائمًا E_OK كقيمة إرجاع ([SWS_Dem_00316]). ولم يتم تحديد أكواد أخطاء محددة أو رسائل أخطاء تطوير (DET) لهذا الاستدعاء.

التزامن والتكوين

الواجهة غير قابلة لإعادة الدخول (Non Reentrant) ومُعلنة عبر Dem_Dcm.h ([SWS_Dem_00316]). وهي لا توجد إلا في وحدات التحكم ذات الصلة بـ OBD مع دعم نشط لـ OBD (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316])، ويتم توفيرها إذا تم تكوين DemOBDEngineType على DEM_IGNITION_SPARK لمحركات البنزين ([SWS_Dem_00357]).

تفاعل

يجب ألا تكون أكواد الأعطال المحجوبة (suppressed DTCs) مرئية عند الاستعلام، ويجب التعامل معها كما لو أن المرشح لا ينطبق ([SWS_Dem_01101]). وتعمل الدالة بالاشتراك مع Dem_DcmGetInfoTypeValue0B على دعم طلبات البيانات في الخدمة $09 ([SWS_Dem_00298]).

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استنادًا إلى مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_DcmGetInfoTypeValue0B [SWS_Dem_00317] 📄 PDF

Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);

Service is used for requesting IUMPR data according to InfoType $0B. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: dde27ef1779b المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وواجهة المعلمات

تُستخدم الدالة المتزامنة Dem_DcmGetInfoTypeValue0B (معرّف الخدمة 0x6c، متوفرة عبر Dem_Dcm.h) لتمكين DCM من الاستعلام عن بيانات IUMPR (In-Use Performance Ratio) وفقًا لـ InfoType $0B ضمن نطاق خدمة OBD المسماة $09 [SWS_Dem_00317] [SWS_Dem_00298]. وتشتق واجهة الدالة من النموذج الأولي لـ DCM المسمى <Module>_GetInfotypeValueData()، ولهذا السبب تستخدم Dcm_OpStatusType وStd_ReturnType [SWS_Dem_00317]:

  • OpStatus (in): نظرًا لأن الدالة تتبع سلوكًا متزامنًا، فإن الحالة DCM_INITIAL فقط هي التي تحدث عند الاستدعاء [SWS_Dem_00317].
  • Iumprdata0BBufferSize (inout): يحدد الحد الأقصى لعدد بايتات البيانات المسموح بكتابتها في المخزن المؤقت [SWS_Dem_00317].
  • Iumprdata0B (out): مخزن مؤقت يوفره DCM يستقبل عدد عناصر البيانات وفقًا لـ ISO-15031-5 ومحتويات InfoType $0B [SWS_Dem_00317].

يتم دائمًا إرجاع E_OK كقيمة إرجاع [SWS_Dem_00317].

معالجة الأخطاء والتزامن

لم يتم تحديد أكواد أخطاء معينة أو ردود فعل على الأخطاء (مثل رسائل DET) لهذه الدالة في المواصفة؛ ويعيد الاستدعاء شكليًا القيمة E_OK دائمًا [SWS_Dem_00317]. وقد تم تصنيف واجهة برمجة التطبيقات (API) على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00317]. ويفترض بالتالي أنه لا يجوز للمستدعي (DCM) تنفيذ هذه الخدمة بالتزامن لعدة طلبات تشخيص متوازية. سؤال Q-636518c23ec3801a (مفتوح)

الاعتماد على التهيئة والتباين

توجد واجهة برمجة التطبيقات (API) حصريًا في وحدات التحكم ذات الصلة بـ OBD التي تم تكوين معامل التكوين DemOBDSupport لها بقيمة تختلف عن DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00317]. كما يتم توفيرها إذا تم ضبط DemOBDEngineType على DEM_IGNITION_COMPRESSION [SWS_Dem_00358]. وبالتكامل مع حجب DTC، يسري أن أكواد DTC المحجوبة تكون غير مرئية لدالة الاستعلام هذه ويجب التعامل معها كما لو أن المرشح لا ينطبق [SWS_Dem_01101].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتتطلب التوجيهات مراجعته من قِبل المستخدم بالاستناد إلى مواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_DcmReadDataOfPID01 [SWS_Dem_00318] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);

Service to report the value of PID $01 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6941d67caf4d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID01 لتسليم محتوى معلمة OBD وهي PID $01 والمحسوب بواسطة DEM إلى DCM [SWS_Dem_00318]. تم التصريح عن الواجهة في ملف الترويسة Dem_Dcm.h وتتوفر حصريًا في وحدات التحكم الإلكترونية ذات الصلة بـ OBD والتي لم يتم فيها ضبط DemOBDSupport على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00318].

عبر معلمة الإخراج PID01value، يمرر DCM مؤشرًا إلى المخزن المؤقت الهدف الذي يكتب فيه DEM البيانات [SWS_Dem_00318]. ويكون DCM مسؤولاً عن توفير هذا المخزن المؤقت بحجم كافٍ؛ ويتم تحديد الأبعاد أثناء التهيئة بناءً على أكبر PID واردة لإعداد PIDBuffer [SWS_Dem_00318].

تم تنفيذ الدالة بحيث تكون غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00318]. كقيمة مُرجعة، يتم إرجاع E_OK دائمًا، نظرًا لأن حالة الخطأ مع E_NOT_OK لا تحدث أبدًا وفقًا للمواصفة [SWS_Dem_00318].

في التفاعل مع استعلامات الأخطاء، يسري أنه يجب ألا تكون رموز الأخطاء المحجوبة (suppressed DTC) مرئية لـ Dem_DcmReadDataOfPID01 [SWS_Dem_01101]. يجب على DEM معالجة DTCs المحجوبة أثناء التقييم كما لو أن المرشح لا ينطبق [SWS_Dem_01101].

ملاحظة: تم إنشاء هذا التوثيق تلقائيًا بواسطة نظام ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmReadDataOfPID1C [SWS_Dem_00325] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);

Service to report the value of PID $1C computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1c7eda1b0fc3 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

توفر الدالة Dem_DcmReadDataOfPID1C خدمة متزامنة من Diagnostic Event Manager، يستعلم عبرها Diagnostic Communication Module (DCM) عن المحتوى المحسوب لـ OBD PID $1C [SWS_Dem_00325].

  • البارامترات: عبر بارامتر الإخراج PID1Cvalue (مؤشر إلى uint8)، يكتب DEM البيانات في ذاكرة تخزين مؤقت لـ DCM. يتم تحديد حجم ذاكرة التخزين المؤقت المطلوب عند تهيئة DCM استنادًا إلى أكبر PID، لتوفير PIDBuffer مناسب [SWS_Dem_00325].
  • قيمة الإرجاع: تقدم الخدمة دائمًا قيمة الحالة E_OK. ولا تحدث حالة خطأ مع E_NOT_OK أبدًا وفقًا للمواصفة [SWS_Dem_00325].

المحتوى الفني والتفاعل

وفقًا لـ [SWS_Dem_00748]، تُبلغ الواجهة عن متطلبات OBD التي تم اعتماد المركبة أو المحرك بموجبها (على سبيل المثال OBD أو OBDII أو JOBD). وتُحدد القيمة الواجب إخراجها في PID1Cvalue عبر بارامتر التهيئة DemOBDCompliancy [SWS_Dem_00325] [SWS_Dem_00748].

التزامن والإتاحة

الدالة محددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00325]. وهي مُصرّح عنها في ملف الترويسة Dem_Dcm.h ومتاحة حصريًا في وحدات التحكم الإلكترونية ذات دعم OBD النشط، والتي لم يتم فيها ضبط DemGeneral.DemOBDSupport على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00325].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmReadDataOfPID21 [SWS_Dem_00319] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);

Service to report the value of PID $21 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2dc814aaf11d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID21 (معرّف الخدمة 0x64) لتمكين Diagnostic Communication Manager (DCM) من الاستعلام عن القيمة الحالية لمعامل OBD المسمى PID $21 والمحسوبة بواسطة DEM [SWS_Dem_00319]، [SWS_Dem_01098]. ويتم التصريح عن الواجهة عبر الترويسة Dem_Dcm.h، ولا تتوفر إلا في وحدات التحكم ذات الصلة بـ OBD بشرط ألا يكون معامل التكوين DemOBDSupport مضبوطًا على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00319].

تسري التحديدات التالية على الاستخدام والتكامل التشغيلي:

  • توفير المخزن المؤقت: يتم تمرير المؤشر PID21value كمعامل إخراج [SWS_Dem_00319]. ويجب على المستدعي (DCM) توفير هذا المخزن المؤقت وتحديد أبعاده أثناء التكوين بما يناسب أكبر PID تم تكوينه [SWS_Dem_00319]. وعند الاستدعاء، يكتب DEM القيمة الحالية لـ PID $21 في هذا المخزن المؤقت [SWS_Dem_01098].
  • قيمة الإرجاع: تُرجع الدالة دائمًا E_OK، حيث إن قيمة الخطأ مثل E_NOT_OK لا تحدث أبدًا وفقًا للمواصفة [SWS_Dem_00319].
  • الحالة الأولية / معالجة الأخطاء: إذا تم استدعاء Dem_DcmReadDataOfPID21 قبل تعيين القيم عبر Dem_SetDataOfPID21، فإن DEM يُرجع القيمة البديلة 0xFFFF كمحتوى لـ PID $21 [SWS_Dem_01099].
  • التزامن: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00319]. وبالتالي، فإن الاستدعاءات المتزامنة بواسطة سياقات متعددة غير مسموح بها.

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmReadDataOfPID30 [SWS_Dem_00320] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);

Service to report the value of PID $30 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: aa9161844e39 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID30 لتمرير محتوى البيانات لمعامل PID $30 المحسوب بواسطة DEM إلى DCM [SWS_Dem_00320]. ويتم التصريح عنها عبر ملف الترويسة Dem_Dcm.h ولا تتوفر إلا في وحدات التحكم ذات الصلة بـ OBD عندما يختلف معامل التكوين DemOBDSupport عن DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00320].

تسري التحديدات التالية على استخدام الواجهة:

  • معاملات التمرير: يوفر المستدعي مخزنًا مؤقتًا عبر معامل الإخراج PID30value، يكتب فيه DEM البيانات المحسوبة لـ PID $30 [SWS_Dem_00320]. وتكون وحدة DCM مسؤولة عن توفير هذا المخزن المؤقت بحجم مناسب؛ ويحدد DCM الأبعاد أثناء التكوين بناءً على أكبر PID [SWS_Dem_00320].
  • قيمة الإرجاع ومعالجة الأخطاء: تُرجع الواجهة دائمًا E_OK كـ Std_ReturnType [SWS_Dem_00320]. ولا تحدث قيمة الخطأ E_NOT_OK أبدًا وفقًا للمواصفة، ولم يتم النص على أي أكواد أخطاء محددة أو روتينات منفصلة لمعالجة الأخطاء [SWS_Dem_00320].
  • التزامن: تم تعريف الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00320]. وبما أن المواصفة لا تنص على آليات مزامنة داخلية، فيفترض أن يكون المستدعي مسؤولاً عن استبعاد الاستدعاءات المتنافسة [SWS_Dem_00320]. سؤال Q-976bc8dc189021a1 (مفتوح)

تم توليد إشعار الاستخدام هذا بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR Classic R20-11.

دالة Dem_DcmReadDataOfPID31 [SWS_Dem_00321] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);

Service to report the value of PID $31 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cfc8a8d1c498 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID31 لتمرير قيمة معامل OBD المسمى PID $31 والمحسوبة بواسطة DEM إلى DCM [SWS_Dem_00321]. ويتم توفير الواجهة عبر ملف الترويسة Dem_Dcm.h وتمتلك معرّف الخدمة 0x66 [SWS_Dem_00321].

الاستخدام والمعلمات

يتم الاستدعاء بشكل متزامن ومُعرّف بأنه غير قابل لإعادة الدخول [SWS_Dem_00321]:

  • PID31value (معامل إخراج): مؤشر إلى مخزن مؤقت (uint8*) يستقبل البيانات المحسوبة لـ PID $31 [SWS_Dem_00321]. ويقع توفير المخزن المؤقت بالحجم المناسب على عاتق DCM المستدعي؛ ويحدد هذا الأخير حجم المخزن المؤقت المطلوب أثناء التكوين استنادًا إلى أكبر PID لتصميم PIDBuffer [SWS_Dem_00321].
  • قيمة الإرجاع: تُرجع الخدمة دائمًا E_OK كـ Std_ReturnType؛ وقيمة الخطأ E_NOT_OK لا تحدث أبدًا وفقًا للمواصفة [SWS_Dem_00321].

القيود والتكوين

واجهة برمجة التطبيقات (API) مخصصة فقط لوحدات التحكم ذات الصلة بـ OBD [SWS_Dem_00321]. ولا تتوفر إلا إذا تم ضبط معامل التكوين DemGeneral.DemOBDSupport على القيمة DEM_OBD_MASTER_ECU [SWS_Dem_00321]. وبما أن الدالة غير قابلة لإعادة الدخول، فلا يجوز إجراء استدعاءات متوازية بواسطة DCM [SWS_Dem_00321].

تم إنشاء ملاحظة الاستخدام هذه آليًا وتستند حصريًا إلى بيانات المواصفة من الإصدار R20-11.

دالة Dem_DcmReadDataOfPID41 [SWS_Dem_00322] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);

Service to report the value of PID $41 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 18b86d10b784 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID41 لتمرير محتوى PID $41 المحسوب بواسطة DEM إلى DCM [SWS_Dem_00322]. ويتم التصريح عنها عبر الترويسة Dem_Dcm.h وتمتلك معرّف الخدمة 0x67 [SWS_Dem_00322].

الاستخدام والمعلمات

يتم الاستدعاء بشكل متزامن ومُحدد بأنه غير قابل لإعادة الدخول (Non Reentrant) [SWS_Dem_00322]. وتتوقع الواجهة المؤشر PID41value كمعامل إخراج (uint8*):

  • يستقبل PID41value البيانات المحسوبة لـ PID $41 [SWS_Dem_00322].
  • يجب توفير المخزن المؤقت بحجم مناسب من قِبل DCM؛ ولهذا الغرض يحدد DCM بالفعل أثناء التكوين الحجم المطلوب لتكوين PIDBuffer استنادًا إلى أكبر PID متكرر [SWS_Dem_00322].

قيم الإرجاع ومعالجة الأخطاء

تُرجع الدالة دائمًا E_OK كقيمة إرجاع، حيث إن قيمة الخطأ E_NOT_OK لا تحدث أبدًا وفقًا للمواصفة [SWS_Dem_00322]. ولم يتم النص على أي أكواد أخطاء محددة أو ردود أفعال على الأخطاء لهذه الواجهة [SWS_Dem_00322].

الاعتماد على التكوين والتوافر

تكون واجهة برمجة التطبيقات (API) مطلوبة حصريًا في وحدات التحكم (ECU) ذات الصلة بـ OBD [SWS_Dem_00322]. وهي لا تتوفر إلا إذا تم تكوين معلمة التكوين DemOBDSupport في DemGeneral بحيث لا تساوي DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00322].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى المواصفة R20-11.

دالة Dem_DcmReadDataOfPID4D [SWS_Dem_00323] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);

Service to report the value of PID $4D computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0df731691150 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID4D لنقل قيمة بارامتر OBD المسمى PID $4D والمحسوبة بواسطة DEM إلى DCM [SWS_Dem_00323]. يتم توفير الخدمة عبر الترويسة Dem_Dcm.h بمعرّف الخدمة 0x68 [SWS_Dem_00323].

يُستخدم مؤشر الإخراج PID4Dvalue كبارامتر تمرير وحيد، والذي يشير إلى ذاكرة تخزين مؤقت وجهة يوفرها DCM [SWS_Dem_00323]. يوفر DCM ذاكرة التخزين المؤقت هذه بحجم مناسب، من خلال تحديد الحجم المطلوب لـ PIDBuffer أثناء التهيئة بالفعل استنادًا إلى أكبر PID تظهر [SWS_Dem_00323].

قيم الإرجاع ومعالجة الأخطاء

تمتلك الدالة نوع الإرجاع Std_ReturnType وتُرجع بلا استثناء E_OK [SWS_Dem_00323]. تُستبعد قيمة الإرجاع E_NOT_OK وفقًا للمواصفة ولا تحدث أبدًا [SWS_Dem_00323]. لا توجد معالجات أخطاء خاصة أو رموز أخطاء محددة لهذا الاستدعاء.

التزامن والاعتماد على التكوين

تم التصريح عن الواجهة بأنها غير قابلة لإعادة الدخول (Non Reentrant)، وبالتالي لا يجوز تنفيذها بشكل متزامن [SWS_Dem_00323].

علاوة على ذلك، فإن الدالة مطلوبة حصريًا في وحدات التحكم الإلكترونية ذات الصلة بـ OBD [SWS_Dem_00323]. ولا تتاح إلا إذا تم ضبط البارامتر DemOBDSupport داخل DemGeneral في التهيئة على القيمة DEM_OBD_MASTER_ECU [SWS_Dem_00323].

تستند ملاحظة الاستخدام هذه إلى مواصفة Diagnostic Event Manager في AUTOSAR CP R20-11.

دالة Dem_DcmReadDataOfPID4E [SWS_Dem_00324] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);

Service to report the value of PID $4E computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 51321ea5857b المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID4E لنقل محتوى معرّف بارامتر OBD المسمى PID $4E والمحسوب بواسطة DEM إلى DCM [SWS_Dem_00324]. تمتلك الدالة معرّف الخدمة 0x69 ويتم التصريح عنها عبر ملف الترويسة Dem_Dcm.h [SWS_Dem_00324].

الاستدعاء وإدارة ذاكرة التخزين المؤقت

يتم الاستدعاء بشكل متزامن ومُعرّف بأنه غير قابل لإعادة الدخول (Non Reentrant) [SWS_Dem_00324]. تستقبل الدالة كبارامتر إخراج المؤشر PID4Evalue (النوع uint8*)، والذي يقوم DEM من خلاله بتخزين البيانات المحسوبة [SWS_Dem_00324]. يجب على DCM المستدعي توفير ذاكرة تخزين مؤقت بحجم مناسب لذلك [SWS_Dem_00324]. يحدد DCM حجم ذاكرة التخزين المؤقت المطلوب أثناء التهيئة استنادًا إلى أكبر PID تظهر، وذلك لتحديد أبعاد PIDBuffer المشترك وفقًا لذلك [SWS_Dem_00324].

قيم الإرجاع ومعالجة الأخطاء

تُرجع الواجهة دائمًا E_OK من النوع Std_ReturnType، نظرًا لأن قيمة الإرجاع E_NOT_OK لا تحدث أبدًا وفقًا للمواصفة [SWS_Dem_00324]. لا توجد رموز أخطاء محددة لحالة الخطأ ولا رسائل خطأ DET أو DEM مبينة في نطاق المواصفة [SWS_Dem_00324].

القيود والإتاحة

تُطلب API حصريًا في وحدات التحكم الإلكترونية ذات الصلة بـ OBD [SWS_Dem_00324]. وإتاحتها مقيدة بشرط التهيئة DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU؛ وفي التهيئات الأخرى لا تكون الدالة متاحة [SWS_Dem_00324].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وهو لا يغني عن دراسة مواصفة AUTOSAR.

دالة Dem_DcmReadDataOfPID91 [SWS_Dem_01187] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);

Service to report the value of PID $91 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b21962c6ebc5 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_DcmReadDataOfPID91 (معرف الخدمة 0x6a) لتمرير بيانات معلمة OBD المسماة PID $91 والمحسوبة بواسطة DEM إلى DCM [SWS_Dem_01187]. يتم الإعلان عن الواجهة عبر ملف الترويسة Dem_Dcm.h وتتوفر حصرياً في وحدات التحكم الإلكترونية ذات الصلة بـ OBD والتي لم يتم فيها تكوين DemOBDSupport على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_01187].

كمعلمة إخراج، تتطلب الدالة المؤشر PID91value، والذي يشير إلى مخزن مؤقت يوفره DCM [SWS_Dem_01187]. يُعد DCM مسؤولاً عن توفير هذا المخزن المؤقت بالحجم المناسب؛ حيث يتم تحديد الحجم المطلوب مسبقاً أثناء التكوين بناءً على أكبر PID لإنشاء المخزن المؤقت PIDBuffer [SWS_Dem_01187].

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ويجب تنفيذها بشكل متزامن [SWS_Dem_01187]. وبالتالي، فإن الاستدعاء المتوازي من سياقات مختلفة غير مسموح به. ولا توجد قيمة إرجاع للخطأ: تُرجع الدالة دائماً E_OK كـ Std_ReturnType، حيث إن قيمة الخطأ E_NOT_OK لا تحدث أبداً وفقاً للمواصفة [SWS_Dem_01187].

تم إنشاء ملاحظة الاستخدام هذه تلقائياً وتستند حصرياً إلى بيانات مواصفات AUTOSAR Classic R20-11.

دالة Dem_DcmReadDataOfOBDFreezeFrame [SWS_Dem_00327] 📄 PDF

Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);

Gets data element per PID and index of the most important freeze frame being selected for the output of service $02. The function stores the data in the provided DestBuffer. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f57c1c183634 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقرأ الدالة المتزامنة Dem_DcmReadDataOfOBDFreezeFrame بيانات عنصر بيانات تابع لـ PID لأهم إطار تجميد، تم اختياره لإخراج خدمة OBD رقم $02 [SWS_Dem_00327].

سياق الاستدعاء والمعلمات

يتم الاستدعاء بواسطة DCM عبر الترويسة Dem_Dcm.h [SWS_Dem_00327]. وتُمرر البارامترات التالية إلى الدالة:

  • PID: معرّف PID وفقًا للمعيار ISO 15031-5 [SWS_Dem_00327].
  • DataElementIndexOfPID: فهرس متسلسل مستند إلى الصفر لعنصر البيانات داخل PID. يُشتق الترتيب مباشرة من موضع عناصر البيانات في تخطيط PID لتهيئة DCM [SWS_Dem_00327]، [SWS_Dem_00597].
  • DestBuffer: مؤشر إلى ذاكرة التخزين المؤقت التي يُكتب فيها عنصر البيانات بالتنسيق الست عشري الخام دون معلومات الترويسة [SWS_Dem_00327].
  • BufSize: يُستخدم كبارامتر إدخال وإخراج؛ يحتوي عند الاستدعاء على السعة القصوى لذاكرة التخزين المؤقت ويُرجع عدد بايتات البيانات المكتوبة فعليًا [SWS_Dem_00327].

القيود ومعالجة الأخطاء

الدالة غير قابلة لإعادة الدخول (Non Reentrant) ومتاحة حصريًا في وحدات التحكم الإلكترونية ذات دعم OBD المفعّل (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00327]. عند توفير البيانات بنجاح، يتم إرجاع E_OK، وإلا E_NOT_OK [SWS_Dem_00327]. لا يكون DTC المحجوب مرئيًا لدالة الاستعلام هذه [SWS_Dem_01101]؛ ويُفترض أن الدالة تُرجع E_NOT_OK في مثل هذه الحالة. سؤال Q-09c77cdccc138247 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتظل المواصفة المرجعية هي الأساس المعتمد.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmGetDTCOfOBDFreezeFrame [SWS_Dem_00624] 📄 PDF

Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);

Gets DTC by freeze frame record number. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f96309635c05 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة وغير القابلة لإعادة الدخول Dem_DcmGetDTCOfOBDFreezeFrame بقراءة DTC الخاص برقم سجل بيانات Freeze-Frame محدد مسبقاً [SWS_Dem_00624]. وهي تخدم أساساً DCM للإخراج في إطار خدمة OBD رقم $02 (PID $02)، لتحديد DTC الخاص بـ Freeze-Frame الأكثر صلة من بين الإطارات المحددة [SWS_Dem_00623].

الاستدعاء والمعاملات

  • FrameNumber (IN): معرف فريد لسجل بيانات Freeze-Frame وفقاً لـ ISO 15031-5. تشير القيمة 0x00 إلى إطار Freeze-Frame الكامل الخاص بـ OBD، والتحفظ على قيم أخرى [SWS_Dem_00624].
  • DTCFormat (IN): تنسيق الإخراج المطلوب لقيمة DTC [SWS_Dem_00624].
  • DTC (OUT): مؤشر إلى موقع التخزين لكود العطل المحدد بتنسيق OBD [SWS_Dem_00624].

قيم الإرجاع ومعالجة الأخطاء

تعيد الدالة E_OK إذا أمكن تحديد DTC بنجاح. إذا لم يتوفر أي DTC مطابق، فإن الاستدعاء يعيد E_NOT_OK؛ وفي هذه الحالة، لا تحتوي معلمة الإخراج DTC على بيانات صالحة [SWS_Dem_00624].

الشروط والتفاعل

تتوفر الواجهة عبر الترويسة Dem_Dcm.h وتوجد حصرياً في وحدات التحكم الإلكترونية ذات دعم OBD (التكوين DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00624]. يتم التعامل مع أكواد DTC المحجوبة (suppressed DTCs) بواسطة الدالة كما لو لم تكن هناك أي نتيجة مطابقة، وتكون غير مرئية لهذا الاستعلام [SWS_Dem_01101].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmGetAvailableOBDMIDs [SWS_Dem_00766] 📄 PDF

Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);

Reports the value of a requested "availability-OBDMID" to the DCM upon a Service $06 request. Derived from that the tester displays the supported tests a mechanic can select from. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5b769d67b0cc المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتم استدعاء الدالة المتزامنة والقابلة لإعادة الدخول Dem_DcmGetAvailableOBDMIDs (معرف الخدمة 0xa3) بواسطة DCM لقراءة قيمة OBDMID التوافر المطلوبة في إطار طلب خدمة OBD رقم $06 [SWS_Dem_00766]. عبر معلمة الإدخال Obdmid (النوع uint8)، يمرر المتصل معرف توافر قياسياً مثل $00 أو $20 أو $40. يُعيد DEM معرفات الاختبار المدعومة كمعلومات مشفرة بالبتات عبر مؤشر الإخراج ذي الـ 32 بت Obdmidvalue [SWS_Dem_00766]. من هذه البيانات، يستنتج جهاز فحص التشخيص الاختبارات التي سيتم عرضها ليختار منها موظفو ورشة الصيانة [SWS_Dem_00766].

يتم التصريح عن الدالة عبر الترويسة Dem_Dcm.h. وهي مخصصة حصرياً لوحدات التحكم الإلكترونية ذات الصلة بـ OBD وتكون متاحة فقط في الوحدة النمطية إذا كان خيار التكوين DemGeneral.DemOBDSupport مضبوطاً على قيمة غير DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00766].

عند النقل السليم لتوافر DTR، تعيد الواجهة E_OK [SWS_Dem_00766]. إذا استُدعيت الدالة قبل تهيئة DEM بالكامل أو بعد إيقاف تشغيله، يسري كود الخطأ DEM_E_UNINIT [SWS_Dem_00173]. وبالمثل، تؤدي الاستدعاءات بمؤشر غير صالح (DEM_E_PARAM_POINTER) أو بقيم معلمات غير صحيحة (DEM_E_PARAM_DATA) إلى أخطاء تطوير وفقاً لـ [SWS_Dem_00173]. في حالات الخطأ هذه، يُتوقع على الأرجح أن يتم إرجاع E_NOT_OK كقيمة مرجعة. سؤال Q-b42d268116fb8df7 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmGetNumTIDsOfOBDMID [SWS_Dem_00767] 📄 PDF

Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);

Gets the number of TIDs per (functional) OBDMID. This can be used by the DCM to iteratively request for OBD/TID result data within a loop from 0....numberOfTIDs-1 API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 49e6e35927e4 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتم التصريح عن الدالة المتزامنة والقابلة لإعادة الدخول Dem_DcmGetNumTIDsOfOBDMID (معرّف الخدمة 0xa4) عبر ملف الترويسة Dem_Dcm.h [SWS_Dem_00767]. وهي تُستخدم لتمكين Diagnostic Communication Manager (DCM) من الاستعلام عند الطلب عن عدد معرّفات الاختبار (TIDs) المعينة لـ OBDMID وظيفية محددة [SWS_Dem_00761].

عند الاستدعاء، يمرر DCM معرّف OBDMID المعنية في بارامتر الإدخال Obdmid ويسترجع عدد TIDs المعينة عبر المؤشر numberOfTIDs [SWS_Dem_00767]. وتُستخدم قيمة الإخراج هذه من قبل DCM كحد أقصى لحلقة عدّ من 0 إلى numberOfTIDs - 1، يتم فيها بعد ذلك بشكل تسلسلي عبر Dem_DcmGetDTRData الاستعلام عن قيم نتائج DTR الفردية ونتائج الاختبار والقيم الحدية [SWS_Dem_00761] [SWS_Dem_00768].

تُرجع الدالة قيمة الإرجاع E_OK إذا أمكن تحديد عدد TIDs بنجاح، وE_NOT_OK إذا فشل الاستعلام [SWS_Dem_00767]. لم تُبين في المواصفة أخطاء تطوير محددة (DET) أو أسباب أخطاء تفصيلية لحالة الخطأ بشكل منفصل.

الاستدعاء مخصص حصريًا لوحدات التحكم الإلكترونية ذات الصلة بـ OBD. والواجهة متاحة في DEM فقط إذا لم يكن بارامتر التهيئة DemOBDSupport مضبوطًا على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00767].

تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصريًا إلى وثائق مواصفات AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_DcmGetDTRData [SWS_Dem_00768] 📄 PDF

Std_ReturnType Dem_DcmGetDTRData (uint8 Obdmid, uint8 TIDindex, uint8* TIDvalue, uint8* UaSID, uint16* Testvalue, uint16* Lowlimvalue, uint16* Upplimvalue);

Reports a DTR data along with TID-value, UaSID, test result with lower and upper limit. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 18535af5aa7f المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول Dem_DcmGetDTRData لمساعدة Diagnostic Communication Manager (DCM) في الاستعلام عن بيانات DTR (نتائج الاختبارات التشخيصية/Diagnostic Test Results) بما في ذلك قيمة TID وUaSID بالإضافة إلى نتيجة الاختبار الحالية مع الحدين الأدنى والأقصى [SWS_Dem_00768]. وهي متوفرة حصريًا في وحدات التحكم الإلكترونية المزودة بدعم OBD، عند تهيئة DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00768].

الاستخدام والتكامل

يستدعي DCM الدالة لاسترداد بيانات DTR المتاحة لـ Obdmid معينة وTIDindex معين [SWS_Dem_00762]. يتم الاستعلام عادةً بشكل تكراري عبر الفهرس TIDindex من 0 إلى numberOfTIDs - 1، مع تحديد العدد الإجمالي مسبقًا عبر Dem_DcmGetNumTIDsOfOBDMID() [SWS_Dem_00768]، [SWS_Dem_00762]. وعبر معلمات الإخراج TIDvalue وUaSID وTestvalue وLowlimvalue وUpplimvalue، يتم توفير القيم لاستجابة جهاز الفحص [SWS_Dem_00768].

معالجة الأخطاء والشروط الحدية

تُرجع الدالة E_OK عند التحديد الناجح لنتائج DTR، وE_NOT_OK في حالة الخطأ [SWS_Dem_00768]. ويحدث الخطأ على وجه الخصوص إذا كان الحدث التشخيصي المشار إليه غير متاح:

  • إذا تم ضبط حدث على أنه غير متاح، يتم التعامل معه كحدث غير مهيأ وتفشل Dem_DcmGetDTRData [SWS_Dem_01108].
  • إذا تم استدعاء الدالة لـ DTR تم تهيئة حدثه المشار إليه عبر DemDtrEventRef مع DemEventAvailable == FALSE، يُرجع DEM إلزاميًا E_NOT_OK [SWS_Dem_01336]. في هذه الحالة، تكون جميع معلمات الإخراج غير محددة [SWS_Dem_01336].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmSetDTCFilter [SWS_Dem_00970] 📄 PDF

Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);

The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fedc82312f61 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُعيّن الدالة المتزامنة Dem_J1939DcmSetDTCFilter (معرّف الخدمة 0x90، المصرَّح عنها في Dem_J1939Dcm.h) سمات قناع المرشح لاختيار أكواد J1939-DTC لعقدة J1939 المعنونة عبر ClientId [SWS_Dem_00970]، [SWS_Dem_00855]. وتعمل المعايير التالية كمرشحات: مرشح الحالة DTCStatusFilter (القيم المحتملة: DEM_J1939DTC_ACTIVE، أو DEM_J1939DTC_PREVIOUSLY_ACTIVE، أو DEM_J1939DTC_PENDING، أو DEM_J1939DTC_PERMANENT، أو DEM_J1939DTC_CURRENTLY_ACTIVE)، والمجموعة الوظيفية DTCKind، وذاكرة المصدر DTCOrigin [SWS_Dem_00970]. وعبر معلمة الإخراج LampStatus، يُرجع الاستدعاء الحالة المجمعة الحالية لمصباح أكواد DTC المُرشَّحة [SWS_Dem_00970]، [SWS_Dem_00857]. بالإضافة إلى ذلك، يُعاد ضبط عداد داخلي على أول حدث مطابق [SWS_Dem_00855]. تفسير: يُرجَّح أن تكون الجهة المستدعية للواجهة هي وحدة J1939Dcm للتحضير لعمليات القراءة التشخيصية. سؤال Q-5f25345851de686f (مفتوح)

معالجة الأخطاء وقيم الإرجاع

كقيمة مرجعة، تُرجع الدالة E_OK عند نجاح تكوين المرشح، أو E_NOT_OK إذا تعذر ضبط المرشح [SWS_Dem_00970]. ولا يشمل الترشيح أكواد DTC المحجوبة، حيث تُعامل كما لو أن معيار المرشح لا ينطبق عليها؛ وتظل غير مرئية للاستعلامات [SWS_Dem_01101].

التزامن والقيود

الدالة قابلة لإعادة الدخول لقيم ClientId المختلفة، لكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00970]. ولذلك، يجب تجنب استدعاءات الترشيح المتزامنة والمتنافسة على نفس ذاكرة أحداث J1939.

تفاعل

يشكل ضبط المرشح الأساس للمعالجة اللاحقة:

  • تحديد عدد مسارات الأخطاء المتطابقة عبر Dem_J1939DcmGetNumberOfFilteredDTC [SWS_Dem_00855]، [SWS_Dem_00874]، [SWS_Dem_00972]،
  • القراءة التكرارية للأحداث المتطابقة عبر Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00855]، [SWS_Dem_00875] وكذلك
  • توفير عدد أكواد DTC النشطة أو النشطة سابقًا لرسائل الجاهزية (DM05) عبر Dem_J1939DcmReadDiagnosticReadiness1 [SWS_Dem_00909].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_J1939DcmGetNumberOfFilteredDTC [SWS_Dem_00972] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);

Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 79d994fe5d97 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تحدد الدالة [SWS_Dem_00972] بشكل غير متزامن عدد رموز DTC الخاصة بـ J1939 التي تطابق معايير التصفية المحددة مسبقاً باستخدام Dem_J1939DcmSetDTCFilter في ذاكرة الأحداث الأساسية لـ ClientId الممررة ([SWS_Dem_00874]). يلزم إجراء استدعاء سابق لـ Dem_J1939DcmSetDTCFilter، نظراً لأنه يقوم بتعيين سمات قناع التصفية ويعيد تعيين العداد الداخلي إلى الحدث الأول ([SWS_Dem_00855]).

يتم توفير نتيجة العد عبر معامِل الإخراج NumberOfFilteredDTC. تنطبق القواعد التالية على مسار التنفيذ وقيم الإرجاع:

  • النجاح: بمجرد تحديد العدد الإجمالي لرموز DTC المطابقة بالكامل، تُرجع الدالة E_OK ([SWS_Dem_00874]).
  • التعليق/المقاطعة: إذا توجب مقاطعة عملية البحث بسبب قيود داخلية، تُرجع الدالة DEM_PENDING. في هذه الحالة، لا يشترط أن يكون معامِل الإخراج صالحاً بعد؛ ويستأنف استدعاء لاحق التحديد بعد العنصر المقاطع ([SWS_Dem_00874]).
  • رموز الخطأ: علاوة على ذلك، تنص المواصفة على قيم الحالة DEM_NO_SUCH_ELEMENT بالإضافة إلى DEM_BUFFER_TOO_SMALL ([SWS_Dem_00972]).

فيما يتعلق بالرؤية، يحدد [SWS_Dem_01101] أنه يجب التعامل مع الأعطال المحجوبة (suppressed DTCs) كما لو أن معيار التصفية لا ينطبق. تم تعريف الدالة على أنها غير قابلة لإعادة الدخول ([SWS_Dem_00972])، ولهذا السبب يجب تجنب الاستدعاءات المتزامنة.

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتلخص الجوانب الأساسية لمواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered J1939 DTC.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c6cbd3422fd3 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقرأ الدالة غير المتزامنة وغير القابلة لإعادة الدخول Dem_J1939DcmGetNextFilteredDTC (معرّف الخدمة 0x92) رمز J1939-DTC المصفّى التالي من ذاكرة أحداث J1939 المعنونة عبر ClientId [SWS_Dem_00973]. وهي مصرح عنها عبر ملف الرأس Dem_J1939Dcm.h [SWS_Dem_00973].

إذا عثرت الدالة على حدث يطابق معيار التصفية، فإنها تُرجع E_OK وتوفر عبر معلمات الإخراج كلاً من J1939DTC المقابل وOccurenceCounter المقترن به [SWS_Dem_00877]، [SWS_Dem_00973]. وإذا تجاوز عداد مرات الحدوث 126 (0x7E)، فسيتم تقييد القيمة المعادة بشكل ثابت عند 126 (0x7E) [SWS_Dem_00877].

إذا تعين مقاطعة عملية البحث بسبب قيود داخلية أو تفاصيل التنفيذ، تُرجع الدالة DEM_PENDING [SWS_Dem_00877]، [SWS_Dem_00973]. وفي هذه الحالة، لا تحتوي معلمات الإخراج على بيانات صالحة؛ ويستأنف الاستدعاء التالي البحث مباشرة بعد العنصر المقاطع [SWS_Dem_00877]. وإذا لم يتوفر أي عنصر مطابق آخر، تكون القيمة المعادة DEM_NO_SUCH_ELEMENT؛ وفي حال كان المخزن المؤقت صغيرًا جدًا، يتم الإبلاغ عن DEM_BUFFER_TOO_SMALL [SWS_Dem_00973].

أحداث التشخيص المحجوبة (suppressed DTCs) غير مرئية لدالة الاستعلام؛ وتتم معالجتها بواسطة Dem_J1939DcmGetNextFilteredDTC كما لو كان معيار التصفية غير منطبق [SWS_Dem_01101].

تم إنشاء هذا النص تلقائيًا بواسطة ذكاء اصطناعي، ولا يحل محل مواصفات AUTOSAR الرسمية.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmFirstDTCwithLampStatus [SWS_Dem_00974] 📄 PDF

void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);

The function sets the filter to the first applicable DTC for the DM31 response for a specific node.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7183056cd60e المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تهيئ الواجهة المتزامنة Dem_J1939DcmFirstDTCwithLampStatus عملية التصفية على أول كود تشخيص أعطال (DTC) ينطبق على استجابة DM31 لعقدة محددة [SWS_Dem_00974]. وتُستخدم ClientId من النوع uint8 كمعلمة إدخال وحيدة، والتي يتم من خلالها عنونة ذاكرة أحداث J1939 المقترنة [SWS_Dem_00974]. لا تحتوي الدالة على معلمات إدخال أو إخراج ولا تقدم أي قيمة معادة (void) [SWS_Dem_00974]. وهي مصرح عنها عبر ملف الرأس Dem_J1939Dcm.h بمعرّف الخدمة 0x93 [SWS_Dem_00974]. تفسير: يُرجَّح أن يتم استدعاء الدالة أساسًا بواسطة الوحدة J1939Dcm لتهيئة التصفية قبل إرسال رسائل حالة مصباح DM31. سؤال Q-064513be4f06584b (مفتوح)

منطق التصفية والتفاعل

يعيد كل استدعاء للدالة ضبط العداد الداخلي إلى أول حدث تم تعيين J1939DTC له لـ ClientId المحددة [SWS_Dem_00880]. وفيما يتعلق بحالة أحداث التشخيص، تنص المواصفة على أن رمز DTC المحجوب (suppressed DTC) يجب أن يظل غير مرئي لدوال استعلام DCM [SWS_Dem_01101]. وبناءً على ذلك، يتعامل Dem_J1939DcmFirstDTCwithLampStatus مع رموز DTC المحجوبة كما لو لم يكن معيار التصفية مستوفى [SWS_Dem_01101].

التزامن والقيود

فيما يتعلق بسلوك التزامن، فإن الواجهة قابلة لإعادة الدخول للاستدعاءات ذات قيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس قيمة ClientId [SWS_Dem_00974]. وبالتالي، فإن الاستعلامات المتوازية عبر معرّفات عملاء (Client-IDs) متطابقة على نفس ذاكرة أحداث J1939 غير مسموح بها.

تم إنشاء هذا النص تلقائيًا بواسطة مساعد تنسيق ذكاء اصطناعي.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmGetNextDTCwithLampStatus [SWS_Dem_00975] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered J1939 DTC for DM31 including current LampStatus.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 48ed4a1205b0 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُنفذ الدالة Dem_J1939DcmGetNextDTCwithLampStatus بشكل متزامن وهي غير قابلة لإعادة الدخول ([SWS_Dem_00975]). تُستخدم في إطار اتصال تشخيص J1939 (DM31) للاستعلام تكرارياً عن رمز DTC التالي المصفى لـ J1939 جنباً إلى جنب مع حالة المصباح المرتبطة وعداد الأحداث (OccurenceCounter) من ذاكرة الأحداث المعنونة عبر ClientId ([SWS_Dem_00975]). يتطلب التكرار أن تكون ذاكرة الأحداث قد تم تجهيزها مسبقاً بواسطة Dem_J1939DcmFirstDTCwithLampStatus ([SWS_Dem_00881]).

سير العمل وقيم الإرجاع

يبحث كل استدعاء في الذاكرة عن الحدث التالي الذي يحتوي على رمز DTC مخصص لـ J1939 ([SWS_Dem_00881]). ويتم التعامل مع رموز DTC المحجوبة (suppressed DTC) كأحداث غير مطابقة ويتم تخطيها ([SWS_Dem_01101]).

  • E_OK: تم العثور على حدث مطابق. تحتوي المعامِلات LampStatus وJ1939DTC وOccurenceCounter على قيم صالحة ([SWS_Dem_00882]). تفسير: يُرجح أن الشرط DEM_FILTERED_OK المذكور في مواصفة المعامِل يشير إلى E_OK، نظراً لأن DEM_FILTERED_OK غير مصرح به كقيمة إرجاع لهذه الدالة ([SWS_Dem_00975]). سؤال Q-5284fb30b98babf6 (مفتوح)
  • DEM_PENDING: توجب مقاطعة البحث الداخلي بسبب قيود التنفيذ. لا تحتوي معامِلات الإخراج على بيانات صالحة، ويستأنف الاستدعاء التالي البحث بعد العنصر المقاطع ([SWS_Dem_00882]).
  • DEM_NO_SUCH_ELEMENT: لا توجد أحداث مطابقة أخرى في الذاكرة؛ ومعامِلات الإخراج غير صالحة ([SWS_Dem_00881]).
  • DEM_BUFFER_TOO_SMALL: المخزن المؤقت الممرر صغير جداً ([SWS_Dem_00975]).

حالة المصباح ونطاق القيم

لتحديد حالة المصباح، يفحص DEM بت حالة UDS رقم 7 (WarningIndicator) وكذلك مرجع المؤشر المعني: يتم تعيين كل من Malfunction Indicator Lamp ([SWS_Dem_00883]) وRed Stop Lamp ([SWS_Dem_00887]) وAmber Warning Lamp ([SWS_Dem_00891]) إلى Lamp On إذا كان البت نشطاً والمرجع مخصصاً؛ وخلاف ذلك تكون Lamp Off. يتم تحديد OccurenceCounter عند قراءات العداد التي تتجاوز 126 (0x7F) ليقتصر على 126 تماماً ([SWS_Dem_00882]).

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_J1939DcmClearDTC [SWS_Dem_00976] 📄 PDF

Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);

Clears the status of all event(s) related to the specified DTC(s), as well as all associated event memory entries for these event(s).

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cb1db17652c2 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يتم توفير الدالة Dem_J1939DcmClearDTC ([SWS_Dem_00976]) للنمط J1939Dcm عبر الترويسة Dem_J1939Dcm.h، وذلك لمسح جميع رموز أخطاء التشخيص (DTCs) النشطة أو التي كانت نشطة سابقًا من ذاكرة الأحداث ([SWS_Dem_00878]). يعمل الاستدعاء بشكل لا متزامن. وتتوقع الواجهة كمعلمات إدخال نوع المرشح DTCTypeFilter لتحديد رموز DTC المطلوب مسحها، وDTCOrigin لتحديد الذاكرة المصدر، بالإضافة إلى ClientId لعنونة ذاكرة أحداث J1939.

معالجة الأخطاء وقيم الإرجاع

يتم الإشارة إلى نتيجة التنفيذ عبر نوع الإرجاع Std_ReturnType:

  • E_OK: اكتملت عملية الحذف بنجاح.
  • DEM_PENDING: عملية المسح قيد التنفيذ؛ يجب على المستدعي استدعاء الدالة مرة أخرى في وقت لاحق.
  • DEM_CLEAR_BUSY: يقوم عميل آخر بتنفيذ عملية مسح في نفس الوقت؛ لا تبدأ العملية ويجب إعادتها لاحقًا.
  • DEM_WRONG_DTC: رمز DTC المحدد غير موجود بالتنسيق المحدد، أو أن المسح مقتصر على المجموعات بموجب التهيئة.
  • DEM_WRONG_DTCORIGIN: الذاكرة المصدر المحددة غير موجودة.
  • DEM_CLEAR_FAILED أو DEM_CLEAR_MEMORY_ERROR: فشل المسح أو حدث خطأ أثناء مسح منطقة ذاكرة (على سبيل المثال عند المسح غير المكتمل للذاكرة غير المتطايرة).

التزامن والقيود

وفقًا لـ [SWS_Dem_00976]، فإن الدالة قابلة لإعادة الدخول لمعرفات العملاء المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId. وبالتالي، فإن استدعاءات المسح المتوازية عبر عملاء متطابقين غير مسموح بها.

تفاعل

وفقًا لـ [SWS_Dem_00879]، تعيد عملية المسح تعيين حالة جميع الأحداث المعنية وتزيل المداخل المرتبطة بها في ذاكرة الأحداث. بالإضافة إلى ذلك، تطلق عملية المسح وفقًا لـ [SWS_Dem_00878] إعادة تهيئة أولية لـ SW-Cs وأنماط BSW المعنية وفقًا لـ [SWS_Dem_00003].

تم توليد هذا النص تلقائيًا استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmSetFreezeFrameFilter [SWS_Dem_00977] 📄 PDF

Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);

The function sets the FreezeFrame filter for a specific node.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ee201d0b0970 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_J1939DcmSetFreezeFrameFilter لتعيين مرشح Freeze-Frame لعقدة محددة عبر الرأس Dem_J1939Dcm.h [SWS_Dem_00977]. وتقوم بتهيئة سمات قناع التصفية للاستعلامات اللاحقة بواسطة Dem_J1939DcmGetNextFreezeFrame مع إعادة تعيين عداد داخلي إلى أول Freeze-Frame [SWS_Dem_00899].

المعلمات وقيم الإرجاع

  • FreezeFrameKind: يحدد نوع التصفية [SWS_Dem_00977]. الأنواع المتاحة هي DEM_J1939DCM_FREEZEFRAME (تصفية البيانات في DemJ1939FreezeFrameClassRef)، وDEM_J1939DCM_EXPANDED_FREEZEFRAME (تصفية البيانات في DemJ1939ExpandedFreezeFrameClassRef) بالإضافة إلى DEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME ([SWS_Dem_00977]، [SWS_Dem_00899]).
  • ClientId: يمرر المعرّف لعنونة ذاكرة أحداث J1939 [SWS_Dem_00977].
  • قيمة الإرجاع: تُرجع E_OK عند التنفيذ الناجح أو E_NOT_OK إذا تعذر تعيين المرشح [SWS_Dem_00977].

التزامن والصلاحية

فيما يتعلق بإمكانية إعادة الدخول، فإن الدالة قابلة لإعادة الدخول لقيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لقيم ClientId المتطابقة [SWS_Dem_00977]. تظل سمات قناع التصفية المعينة فعالة بعد الاستدعاء حتى يتم إجراء استدعاء جديد لـ Dem_J1939DcmSetFreezeFrameFilter أو إعادة تهيئة الوحدة DEM [SWS_Dem_00899].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmGetNextFreezeFrame [SWS_Dem_00978] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNextFreezeFrame (uint32* J1939DTC, uint8* OccurenceCounter, uint8* DestBuffer, uint16* BufSize, uint8 ClientId);

Gets next freeze frame data. The function stores the data in the provided DestBuffer.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0611ff42285c المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تقرأ الدالة غير المتزامنة وغير القابلة لإعادة الدخول Dem_J1939DcmGetNextFreezeFrame بيانات إطار التجميد تدريجيًا لذاكرة أحداث محددة [SWS_Dem_00978]. يسترشد التكرار بمعايير التصفية FreezeFrameKind وClientId التي تم ضبطها مسبقًا عبر Dem_J1939DcmSetFreezeFrameFilter [SWS_Dem_00900]. تُنسخ البيانات المفيدة إلى المخزن المؤقت DestBuffer (في أطر التجميد الموسعة بدون معلومات SPN ومع ملء البتات غير المستخدمة بـ 0)، بينما تمرر BufSize حجم المخزن المؤقت وتبلغ عن كمية البايتات المكتوبة فعليًا [SWS_Dem_00978]، [SWS_Dem_00903]. بالإضافة إلى ذلك، يقدّم الاستدعاء J1939DTC المقترن وكذلك OccurenceCounter، والذي يتم حده عند 0x7F في حال زادت القيم عن 126 [SWS_Dem_00903].

قيم الإرجاع ومعالجة الأخطاء

تتحكم القيم المعادة في سير عملية التكرار:

  • E_OK: تم العثور على سجل ونقله بنجاح [SWS_Dem_00978]، [SWS_Dem_00903]. ويُرجَّح أن يُفهم ذكر DEM_FILTERED_OK في وصف المعلمة كمرادف تحريري لـ E_OK. سؤال Q-e941066640c694b9 (مفتوح)
  • DEM_NO_SUCH_ELEMENT: لا توجد سجلات أخرى تتوافق مع معايير التصفية [SWS_Dem_00900].
  • DEM_PENDING: تم مقاطعة البحث الداخلي؛ ويستأنف الاستدعاء التالي البحث من النقطة التي توقف عندها [SWS_Dem_00902].
  • DEM_BUFFER_TOO_SMALL أو DEM_FILTERED_BUFFER_TOO_SMALL: المخزن المؤقت غير كافٍ؛ ويتم إلغاء العملية دون نقل البيانات [SWS_Dem_00978]، [SWS_Dem_00903].

إذا تم تمرير نوع تصفية غير مدعوم، تُبلغ الدالة عن خطأ DET DEM_E_WRONG_CONDITION؛ حيث إن الصالح حصريًا هو DEM_J1939DCM_FREEZEFRAME وDEM_J1939DCM_EXPANDED_FREEZEFRAME [SWS_Dem_00901]. وإذا كانت القيمة المعادة لا تفيد بالنجاح، فلن تتضمن معلمات الإخراج أي بيانات صالحة [SWS_Dem_00978]، [SWS_Dem_00900]، [SWS_Dem_00902]، [SWS_Dem_00903].

القيود والتفاعل

يتم تجاهل رموز DTC المحجوبة بواسطة الاستعلام ومعاملتها كمعايير تصفية غير مطابقة [SWS_Dem_01101].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية وتستند حصريًا إلى مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);

Gets next SPN.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 92b02fdbb0d3 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تقرأ الدالة Dem_J1939DcmGetNextSPNInFreezeFrame تدريجيًا رقم SPN (Suspect Parameter Number) التالي من إطار التجميد الموسع ([SWS_Dem_00979]). وينتقل كل استدعاء إلى العنصر التالي في تعريف SPN لذاكرة الأحداث المعنونة عبر ClientId ([SWS_Dem_00904]). وعند العثور عليه بنجاح، يُرجع الاستدعاء E_OK وكذلك رقم SPN الذي تم العثور عليه عبر SPNSupported وطول بياناته عبر SPNDataLength ([SWS_Dem_00979]، [SWS_Dem_00907]).

المعالجة غير المتزامنة والقيم المعادة

تم تحديد العملية بأنها غير متزامنة ([SWS_Dem_00979]). وإذا تعينت مقاطعة فحص البحث بسبب قيود داخلية، تُرجع الدالة DEM_PENDING؛ وفي هذه الحالة، لا تكون معلمات الإخراج بالضرورة صالحة ويستأنف الاستدعاء التالي البحث من النقطة التي توقف عندها ([SWS_Dem_00905]). وإذا لم تكن هناك أرقام SPN إضافية في التعريف، فسيتم الإبلاغ عن DEM_NO_SUCH_ELEMENT، مع عدم اشتراط صحة معلمات الإخراج أيضًا ([SWS_Dem_00904]). وإذا كان المخزن المؤقت المتاح غير كافٍ، تبلّغ الواجهة عن DEM_BUFFER_TOO_SMALL ([SWS_Dem_00979]).

معالجة الأخطاء والتزامن

إذا طُلب نوع إطار تجميد غير مدعوم، تطلق الوحدة خطأ DET DEM_E_WRONG_CONDITION؛ والصالح حصريًا هو Dem_SPNsInExpandedFreezeFrame ([SWS_Dem_00906]). وبما أن الدالة معرّفة بأنها غير قابلة لإعادة الدخول ([SWS_Dem_00979])، فلا يجوز استدعاؤها بشكل متزامن لنفس السياق. ويوفر ملف الرأس Dem_J1939Dcm.h الواجهة ([SWS_Dem_00979]).

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmSetRatioFilter [SWS_Dem_00980] 📄 PDF

Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);

The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General Denominator.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 618098c9083d المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تضبط الدالة المتزامنة Dem_J1939DcmSetRatioFilter مرشح النسبة لعقدة J1939 محددة وتهيئ تصفية نسب IUMPR وفقًا لـ [SWS_Dem_00980]. وتقوم عند ذلك بإعادة تعيين عداد داخلي إلى أول SPN صالحة ذات DemRatioId محددة، وذلك للتحضير للاستعلام التدريجي اللاحق عبر Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00912].

توفّر الدالة قيم عدادات عليا عبر معلمات الإخراج:

  • IgnitionCycleCounter: يُرجع عداد دورات الإشعال وفقًا للمواصفة SAE J1939-73 (الفصل 5.7.20.1) [SWS_Dem_00912].
  • OBDMonitoringConditionsEncountered: يُرجع عداد شروط مراقبة OBD التي تحققت وفقًا للمواصفة SAE J1939-73 (الفصل 5.7.20.2)، والمُعرّف بواسطة CARB بوصفه General Denominator [SWS_Dem_00912].
  • ClientId: يُحدد العميل المستدعي لعنونة ذاكرة أحداث J1939 [SWS_Dem_00980].

فيما يتعلق بالتزامن، تُعد الدالة قابلة لإعادة الدخول (reentrant) لقيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00980]. تفسير: يُرجح أن يتم الاستدعاء بشكل متزامن من تسلسل J1939 Diagnostic Communication Manager (J1939Dcm) للاستعلام عن بيانات تشخيص IUMPR. سؤال Q-e577651b88f64132 (مفتوح) عند ضبط المرشح بنجاح، تُرجع الدالة E_OK؛ وإذا فشل الضبط، يتم الإبلاغ عن E_NOT_OK [SWS_Dem_00980].

في إطار التفاعل مع أحداث التشخيص، يجب ألا تكون أكواد DTC المحجوبة مرئية لدوال الاستعلام مثل Dem_J1939DcmSetRatioFilter، ويجب التعامل معها كما لو أن المرشح غير متطابق [SWS_Dem_01101].

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF

Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);

Gets the next filtered Ratio.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a599c5bc4d30 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة وغير القابلة لإعادة الدخول Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) للقراءة التكرارية لنسبة (Ratio) IUMPR المُرشحة التالية. وعبر المعلمة ClientId، تتم عنونة ذاكرة أحداث J1939 المعنية. وعند نجاح الاستدعاء، تُرجع الدالة عبر معلمات الإخراج SPN وNumerator وDenominator كلاً من Suspect Parameter Number وبسط ومقام مراقب النظام المعني ([SWS_Dem_00981]).

التسلسل والتفاعل

لضمان تكرار صحيح، يجب تهيئة المرشح مسبقًا عبر Dem_J1939DcmSetRatioFilter ([SWS_Dem_00912]). يقوم هذا الاستدعاء بإعادة تعيين عداد داخلي إلى أول SPN صالح مع DemRatioId محدد، والذي تعتمد عليه الاستدعاءات اللاحقة لـ Dem_J1939DcmGetNextFilteredRatio. لا يكون كود DTC المحجوب مرئيًا للاستعلام ويُعامل كما لو أن المرشح لا ينطبق ([SWS_Dem_01101]).

قيم الإرجاع ومعالجة الأخطاء

وفقًا لـ [SWS_Dem_00981]، تم تحديد قيم الإرجاع التالية:

  • E_OK: تمت العملية بنجاح. في هذه الحالة فقط تحتوي SPN وNumerator وDenominator على بيانات صالحة (يُرجح أن ذكر DEM_FILTERED_OK في وصف المعلمة يمثل تفسيرًا لـ E_OK). سؤال Q-57774bbc88fe3c0b (مفتوح)
  • DEM_NO_SUCH_ELEMENT: لا يوجد عنصر متطابق آخر.
  • DEM_PENDING: تمت العملية بنجاح، ولكن النتيجة ما زالت معلقة.
  • DEM_BUFFER_TOO_SMALL: المخزن المؤقت المُمرر صغير جدًا.

التزامن

نظراً لأن الدالة مُعلنة على أنها غير قابلة لإعادة الدخول ([SWS_Dem_00981])، فلا يجوز استدعاؤها بالتزامن لنفس ClientId.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي. المرجع المعتمد هو مواصفات AUTOSAR المشار إليها.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00982] 📄 PDF

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 1 (DM05) computed by the Dem.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 42bfb79acbf8 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الواجهة المتزامنة Dem_J1939DcmReadDiagnosticReadiness1 (المدرجة في المعيار الكلاسيكي تحت Dem_J1939DcmReadDiagnosticReadiness) للاستعلام عن قيمة Diagnostic Readiness 1 (DM05) المحسوبة بواسطة Diagnostic Event Manager [SWS_Dem_00982]. تم التصريح عنها عبر ملف الرأس Dem_J1939Dcm.h وتحمل معرّف الخدمة (Service-ID) 0x9b [SWS_Dem_00982].

الاستخدام والمعلمات

يتم الاستدعاء بشكل متزامن ويستخدم معامِلات الدالة التالية [SWS_Dem_00982]:

  • ClientId (IN، uint8): يحدد ذاكرة أحداث J1939 المراد عنونتها (J1939 event memory) [SWS_Dem_00982].
  • DataValue (OUT، مؤشر إلى Dem_J1939DcmDiagnosticReadiness1Type): يشير إلى مخزن مؤقت بحجم 8 بايت، يكتب فيه DEM المحتوى المحسوب لـ Diagnostic Readiness 1 (DM05) [SWS_Dem_00982].

قيم الإرجاع ومعالجة الأخطاء

تُرجع الدالة حالة من النوع Std_ReturnType [SWS_Dem_00982]:

  • E_OK: تم تنفيذ الخدمة بنجاح وتخزين بيانات الجاهزية (Readiness) في المخزن المؤقت للإخراج [SWS_Dem_00982].
  • E_NOT_OK: فشلت العملية [SWS_Dem_00982]. لم يتم تحديد رموز خطأ معينة أو أحداث DEM أو رسائل DET في مواصفة الدالة [SWS_Dem_00982].

التزامن والقيود

فيما يتعلق بالوصول المتزامن، تم تحديد الخدمة على أنها قابلة لإعادة الدخول لـ ClientIds المختلفة، ولكن تم تعريفها صراحة على أنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00982].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى بيانات مواصفات AUTOSAR R20-11.

دالة Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00983] 📄 PDF

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness2 (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 2 (DM21) computed by the Dem.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: da1e3ecb89af المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dem_J1939DcmReadDiagnosticReadiness2 (معرّف الخدمة 0x9c) للاستعلام عن قيمة Diagnostic Readiness 2 (DM21) المحسوبة بواسطة DEM [SWS_Dem_00983]. يتم توفير الواجهة عبر ملف الرأس Dem_J1939Dcm.h [SWS_Dem_00983].

تم تعريف معامِلين اثنين للاستدعاء [SWS_Dem_00983]:

  • ClientId (دخل): يعنون ذاكرة أحداث J1939 المعنية [SWS_Dem_00983].
  • DataValue (خرج): مؤشر إلى مخزن مؤقت بحجم 8 بايت من النوع Dem_J1939DcmDiagnosticReadiness2Type لاستقبال بيانات DM21 المحسوبة [SWS_Dem_00983].

كقيمة إرجاع، تُرجع الدالة Std_ReturnType؛ حيث يتم إرجاع E_OK عند نجاح الاستعلام، بينما يتم الإبلاغ عن E_NOT_OK في حالة حدوث خطأ [SWS_Dem_00983]. لم يتم توضيح أسباب الخطأ المحددة بشكل منفصل؛ ويُرجح أن جهة الاستدعاء يجب أن تفترض عند E_NOT_OK أن المخزن المؤقت لا يحتوي على بيانات صالحة. سؤال Q-97b94d15a8634712 (مفتوح)

فيما يتعلق بإمكانية إعادة الدخول، فإن الخدمة قابلة لإعادة الدخول لقيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00983]. ولذلك يجب تسلسل الاستدعاءات المتزامنة لنفس ClientId في سياق الاستدعاء.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بالاستناد إلى مواصفة AUTOSAR R20-11.

دالة Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00770] 📄 PDF

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness3 (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 3 (DM26) computed by the Dem.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cb06cae402da المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الخدمة Dem_J1939DcmReadDiagnosticReadiness (المحددة في التوقيع باسم Dem_J1939DcmReadDiagnosticReadiness3) للقراءة المتزامنة للبيانات التي حددها DEM الخاصة بـ Diagnostic Readiness 3 (DM26) [SWS_Dem_00770]. يتم توفير التصريح عبر ملف الرأس Dem_J1939Dcm.h [SWS_Dem_00770]. ووفقاً لاسم الواجهة، يُرجح أن يتم الاستدعاء بشكل أساسي بواسطة الوحدة J1939Dcm. سؤال Q-dc204541dfc23d6b (مفتوح)

تتوقع الواجهة معامِلين اثنين [SWS_Dem_00770]:

  • ClientId (in): يعنون ذاكرة أحداث J1939 المعنية [SWS_Dem_00770].
  • DataValue (out): مؤشر إلى مخزن مؤقت بحجم 8 بايت من النوع Dem_J1939DcmDiagnosticReadiness3Type لاستقبال بيانات DM26 المحسوبة [SWS_Dem_00770].

كقيمة إرجاع، تُرجع الدالة E_OK إذا كانت العملية ناجحة، أو E_NOT_OK عند حدوث خطأ أثناء التنفيذ [SWS_Dem_00770].

فيما يتعلق بإمكانية إعادة الدخول (reentrancy)، فإن الدالة قابلة لإعادة الدخول (reentrant) لقيم ClientId المختلفة، ولكنها غير قابلة لإعادة الدخول لقيم ClientId المتطابقة [SWS_Dem_00770]. وبالتالي، يجب على جهة الاستدعاء استبعاد الاستدعاءات المتوازية لنفس العميل أو مزامنتها.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دالة Dem_SetEventDisabled [SWS_Dem_00312] 📄 PDF

Std_ReturnType Dem_SetEventDisabled (Dem_EventIdType EventId);

Service for reporting the event as disabled to the Dem for the PID $41 computation. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_RepIUMPRFaultDetect [SWS_Dem_00313] 📄 PDF

Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);

Service for reporting that faults are possibly found because all conditions are fullfilled. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8fa8b5c52739 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة Dem_RepIUMPRFaultDetect للإبلاغ عن أن مراقب OBD قد استوفى جميع شروط التنفيذ وبالتالي كان بإمكانه العثور على أخطاء محتملة [SWS_Dem_00313]. تتوفر الواجهة عبر الترويسة Dem.h، وتكون متاحة فقط في وحدات التحكم الإلكترونية المزودة بدعم OBD، بشرط ألا يكون DemOBDSupport مكوّناً على DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00313]، [SWS_Dem_00360].

يتم تمرير المعرف RatioID من النوع Dem_RatioIdType كمعلمة، عندما يتم تحديد خيار الواجهة «API» [SWS_Dem_00313]. عند التسجيل الناجح لنتيجة IUMPR، تعيد الدالة الحالة E_OK [SWS_Dem_00313].

التزامن وسلوك الخطأ

فيما يتعلق بالتزامن، فإن الخدمة قابلة لإعادة الدخول لمعرفات مختلفة RatioID، ولكنها غير قابلة لإعادة الدخول لنفس قيمة RatioID [SWS_Dem_00313]. لذلك، يجب على المتصل تجنب الاستدعاءات المتزامنة بنفس المعرف.

إذا تم ضبط حدث مقابل على أنه غير متاح، فإن وحدة DEM تتعامل معه كما لو لم يكن مكوّناً في النظام [SWS_Dem_01108]. ويتأثر Dem_RepIUMPRFaultDetect صراحةً بهذا التعطيل أيضاً [SWS_Dem_01108]؛ تفسير: في هذه الحالة، من المحتمل أن يعيد الاستدعاء E_NOT_OK قياساً على باقي واجهات API الخاصة بالحالة المتأثرة. سؤال Q-6d1775c9bff08f42 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_SetIUMPRDenCondition [SWS_Dem_00733] 📄 PDF

Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);

In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to forward the condition status to a Dem of a particular ECU. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_GetIUMPRDenCondition [SWS_Dem_00734] 📄 PDF

Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);

In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to retrieve the condition status from the Dem of the ECU where the conditions are computed. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_RepIUMPRDenRelease [SWS_Dem_00315] 📄 PDF

Std_ReturnType Dem_RepIUMPRDenRelease (Dem_RatioIdType RatioID);

Service is used to release a denominator of a specific monitor. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 22348b6c2b61 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول Dem_RepIUMPRDenRelease لتمكين مقام (Denominator) مراقب محدد لأسباب فيزيائية، مثل الوصول إلى شروط حرارة معينة أو الحد الأدنى من النشاط [SWS_Dem_00315]. يوفر DEM هذه الواجهة لمكونات البرمجيات (SW-C) ذات الصلة بـ IUMPR، للتحكم بشكل موجه في المقام المرتبط بـ RatioID المعني [SWS_Dem_00308].

يخضع توفير الدالة وسلوكها لشروط تكوين وشروط تشغيل ثابتة:

  • التوافر والتكوين: تكون API متاحة حصرياً في وحدات التحكم الإلكترونية ذات الصلة بـ OBD، عندما يتم تكوين DemOBDSupport بحيث لا يساوي DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00315]. بالإضافة إلى ذلك، يتم توفير الواجهة للتمكين تحت شروط خاصة إذا تم تكوين DemIUMPRDenGroup كـ DEM_IUMPR_DEN_PHYS_API [SWS_Dem_00362].
  • المعلمات والقيم المرجعة: يتم تمرير المعرف RatioID كمعلمة إدخال. تعيد الدالة E_OK إذا تم الإبلاغ عن حالة مقام IUMPR بنجاح، وإلا تعيد E_NOT_OK [SWS_Dem_00315].
  • سلوك الخطأ في حالة الأحداث غير النشطة: إذا تم ضبط حدث مقابل على أنه غير متاح، فسيتم التعامل معه كما لو لم يكن مكوّناً في النظام؛ ويتأثر استدعاء Dem_RepIUMPRDenRelease بذلك مباشرةً ويعيد E_NOT_OK [SWS_Dem_01108].

بفضل التصميم القابل لإعادة الدخول، يمكن استدعاء الدالة بشكل متزامن عند الحاجة من سياقات SW-C مختلفة [SWS_Dem_00315].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ولا يحل محل مواصفة AUTOSAR المعتمدة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_SetPtoStatus [SWS_Dem_00627] 📄 PDF

Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);

API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 047a07d76a94 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة Dem_SetPtoStatus ([SWS_Dem_00627]) لضبط حالة مأخذ القدرة (Power Take-Off، PTO) في Diagnostic Event Manager (DEM). تم التصريح عن الواجهة في الترويسة Dem.h وتمتلك معرّف الخدمة 0x79 ([SWS_Dem_00627]).

  • البارامترات: يُمرر بارامتر الإدخال PtoStatus (النوع boolean) حالة مأخذ القدرة، حيث يمثل TRUE نشط وFALSE غير نشط ([SWS_Dem_00627]). لا توجد بارامترات إدخال/إخراج أو بارامترات إخراج.
  • قيمة الإرجاع: نوع الإرجاع هو Std_ReturnType. تُرجع الدالة E_OK إذا تم قبول حالة PTO الجديدة من قبل DEM، وE_NOT_OK في جميع الحالات الأخرى ([SWS_Dem_00627]).

التزامن والقيود

تعمل الدالة بشكل متزامن وهي محددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Dem_00627]).

سياق النظام والتهيئة

تُطلب الواجهة حصريًا في وحدات التحكم الإلكترونية ذات الصلة بـ OBD ([SWS_Dem_00627]). ولا تتاح إلا إذا لم يكن بارامتر التهيئة DemGeneral.DemOBDSupport مضبوطًا على DEM_OBD_NO_OBD_SUPPORT ([SWS_Dem_00627]).

تم توليد هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات الوحدة DEM في AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dem_ReadDataOfPID01 [SWS_Dem_01167] 📄 PDF

Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);

Service to report the value of PID $01 computed by the Dem. API is needed in OBD relevant ECUs only

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 24f93781d796 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والمعلمات

تُستخدم الدالة المتزامنة Dem_ReadDataOfPID01 (معرف الخدمة 0xb3) للاستعلام عن قيمة PID $01 المحسوبة بواسطة Diagnostic Event Manager (DEM) [SWS_Dem_01167]. يتم توفير الواجهة عبر ملف الترويسة Dem.h [SWS_Dem_01167]. كمعلمة إخراج، تتوقع الدالة PID01value، والتي يتم تمريرها كمؤشر إلى مخزن مؤقت [SWS_Dem_01167]. يجب تخصيص هذا المخزن المؤقت وتوفيره إلزامياً من قِبل التطبيق المستدعي بحجم ثابت قدره 4 بايت لاستيعاب البيانات المحسوبة [SWS_Dem_01167].

معالجة الأخطاء وقيم الإرجاع

كنوع إرجاع، تُرجع الواجهة شكلياً Std_ReturnType، ولكنها تُرجع E_OK دون استثناء وفقاً للمواصفة [SWS_Dem_01167]. ولا تحدث قيمة الخطأ E_NOT_OK أبداً [SWS_Dem_01167]. ولم يتم تحديد رموز أخطاء محددة ولا إخطارات إلى DET أو DEM لهذه الواجهة [SWS_Dem_01167].

التزامن والقيود

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_01167]. لذلك يجب على المستدعين التأكد من عدم حدوث استدعاءات متزامنة. بالإضافة إلى ذلك، فإن واجهة برمجة التطبيقات (API) مقيدة وظيفياً وتُطلب حصرياً في وحدات التحكم الإلكترونية ذات الصلة بـ OBD [SWS_Dem_01167].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفة AUTOSAR R20-11.

دالة Dem_GetDataOfPID21 [SWS_Dem_01093] 📄 PDF

Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);

Service to get the value of PID $21 from the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemGeneral OBD.DemOBDCentralizedPID21Handling)} == true) && ({ecuc(Dem/DemGeneral.Dem OBDSupport)} == DEM_OBD_MASTER_ECU)

دالة Dem_SetDataOfPID21 [SWS_Dem_00735] 📄 PDF

Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);

Service to set the value of PID $21 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_SetDataOfPID31 [SWS_Dem_00736] 📄 PDF

Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);

Service to set the value of PID $31 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_SetDataOfPID4D [SWS_Dem_00737] 📄 PDF

Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);

Service to set the value of PID $4D in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_SetDataOfPID4E [SWS_Dem_00738] 📄 PDF

Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);

Service to set the value of PID $4E in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_GetCycleQualified [SWS_Dem_00740] 📄 PDF

Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);

Returns the qualification state of the dependent operation cycle. API Availability: This API will be available only if any of the ({ecuc(Dem/DemGeneral/Dem OperationCycle.DemLeadingCycleRef)} != NULL)

دالة Dem_SetCycleQualified [SWS_Dem_91001] 📄 PDF

Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);

Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.

دالة Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF

Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);

Gets the DTC Severity availability mask.

دالة Dem_SetDTR [SWS_Dem_00765] 📄 PDF

Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);

Reports a DTR result with lower and upper limit. The internal eventstatus serves as master whether the DTR values are forwarded or ignored, also taking the DTRUpdateKind into account. The EventId that is related to the DTR is assigned per configuration (and derived from ServiceNeeds). Processing takes enable/storage conditions into account. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

دالة Dem_CallbackEventSyncStorageProcessed [SWS_Dem_91042] 📄 PDF

Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);

Called by the Dem after the internal processing of Dem_SetEventFailedWithSyncFreezeFrame is done and a further call of Dem_SetEventFailedWithSyncFreezeFrame with the same event ID can be processed by the Dem. Tags: atp.Status=draft

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d0c8e2a4847f المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتم استدعاء دالة الرد (Callback) Dem_CallbackEventSyncStorageProcessed بشكل متزامن بواسطة Diagnostic Event Manager (DEM) بمجرد اكتمال المعالجة الداخلية لـ Dem_SetEventFailedWithSyncFreezeFrame ([SWS_Dem_91042]). وهي تخطر المكون المستدعي بإمكانية معالجة استدعاء آخر لـ Dem_SetEventFailedWithSyncFreezeFrame لنفس معرف الحدث من قِبل DEM ([SWS_Dem_91042]).

بالنسبة للاستخدام والتكامل، تسري خصائص الواجهة والتنفيذ التالية:

  • المعلمات وقيمة الإرجاع: لا تحتوي الواجهة على معلمات إدخال أو إخراج أو إدخال/إخراج ([SWS_Dem_91042]). نوع الإرجاع هو Std_ReturnType، حيث يُسمح فقط بقيمة الإرجاع E_OK ويتم توفيرها لأسباب تتعلق بالتوافق مع RTE ([SWS_Dem_91042]).
  • التزامن: تم تحديد الدالة على أنها قابلة لإعادة الدخول ([SWS_Dem_91042]).
  • معالجة الأخطاء: لم يتم تخصيص أكواد أخطاء محددة أو رسائل لتعقب أخطاء التطوير (DET) ([SWS_Dem_91042]).

فيما يتعلق بالتفاعل والتهيئة، يوجد شرط أساسي ثابت: يجب تكوين Dem_CallbackEventSyncStorageProcessed حصريًا لأحداث التشخيص التي تم تعيين المعلمة DemEventReportingType الخاصة بها على IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING ([SWS_Dem_01356]). بالإضافة إلى ذلك، تم تزويد العنصر بتعليق توضيحي بالحالة draft في الإصدار R20-11 ([SWS_Dem_91042]، [SWS_Dem_01356]).

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة Dem_MainFunction [SWS_Dem_00266] 📄 PDF

void Dem_MainFunction (void);

Processes all not event based Dem internal functions.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0be629ee3c44 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تمتلك الدالة الأساسية Dem_MainFunction التوقيع void Dem_MainFunction(void) مع معرّف الخدمة 0x55 وتتوفر عبر ملف الترويسة SchM_Dem.h ([SWS_Dem_00266]). وهي لا تقبل أي معاملات ولا تُرجع أي قيمة، وتُستخدم لتنفيذ جميع العمليات الداخلية غير القائمة على الأحداث لوحدة DEM ([SWS_Dem_00266]، [SWS_Dem_00125]).

بالنسبة لسياق الاستدعاء ومعالجة الأخطاء، تسري استثناءات خاصة في دورة حياة الوحدة: إذا تم ضبط كشف التطوير DemDevErrorDetect على TRUE، فإن استدعاء واجهات DEM العادية قبل اكتمال التهيئة يؤدي إلى الإبلاغ عن الخطأ DEM_E_UNINIT؛ ومع ذلك، يتم استثناء Dem_MainFunction صراحةً من توليد الخطأ هذا ([SWS_Dem_00124]). وبالمثل، تُعفى الدالة بعد استدعاء Dem_Shutdown من رسالة الخطأ DEM_E_UNINIT، حتى يتم استدعاء Dem_Init مجددًا ([SWS_Dem_00368]).

بالتكامل مع ذاكرة الأعطال، تتحكم الدالة بشكل أساسي في تسجيل بيانات التشخيص والتخزين المؤقت لها:

  • إذا تم تكوين DemEnvironmentDataCapture على DEM_CAPTURE_ASYNCHRONOUS_TO_REPORTING (بالإشارة إلى DemPrimaryMemory أو DemUserDefinedMemory)، فيجب تسجيل بيانات Freeze-Frame الخاصة بالحدث ([SWS_Dem_00461]) وسجلات Extended-Data ([SWS_Dem_01081]) في الدورة التالية لـ Dem_MainFunction على أبعد تقدير.
  • إذا تم ضبط DemEnvironmentDataCapture على DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING، تقوم وحدة DEM بوضع البيانات البيئية في قائمة انتظار حتى الاستدعاء التالي لـ Dem_MainFunction ([SWS_Dem_01083]). وتقوم الوحدة بتخزين مؤقت للعدد المكوّن على الأقل وفقًا لـ DemMaxNumberEventEntryEventBuffer؛ وعند امتلاء قائمة الانتظار، يتم تسجيل البيانات أثناء معالجة الأحداث داخل Dem_MainFunction ([SWS_Dem_01083]).

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفة AUTOSAR Classic الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_ComponentIdType [SWS_Dem_01114] 📄 PDF

Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the Dem.

نوع Dem_ConfigType [SWS_Dem_00924] 📄 PDF

This type of the external data structure shall contain the post build initialization data for the Dem.

نوع Dem_DTCRequestType [SWS_Dem_00935] 📄 PDF

This type is used to request a DTC with specific attributes.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 760d1343beae المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ومجال القيم

نوع البيانات Dem_DTCRequestType مشتق من uint8 ومتاح عبر الترويسة Dem.h [SWS_Dem_00935]. ويُستخدم لطلب Diagnostic Trouble Code (DTC) استنادًا إلى سمات زمنية محددة [SWS_Dem_00935].

يتضمن نطاق القيم المسموح به قيم التعداد التالية [SWS_Dem_00935]:

  • DEM_FIRST_FAILED_DTC (0x01): يطلب DTC الذي فشل أولاً من حيث الترتيب الزمني.
  • DEM_MOST_RECENT_FAILED_DTC (0x02): يطلب DTC الذي فشل آخراً.
  • DEM_FIRST_DET_CONFIRMED_DTC (0x03): يطلب DTC الذي تم اكتشافه كـ مؤكد أولاً.
  • DEM_MOST_REC_DET_CONFIRMED_DTC (0x04): يطلب DTC الذي تم اكتشافه كـ مؤكد آخراً.

التفاعل والتزامن ومعالجة الأخطاء

يُمرر النوع كبارامتر إدخال DTCRequest للدالة المتزامنة Dem_GetDTCByOccurrenceTime [SWS_Dem_00218]. ويُحدد عبر هذا البارامتر المعيار الذي ينبغي الاستعلام عن DTC بناءً عليه [SWS_Dem_00218]. وتُعاد النتيجة بتنسيق UDS عبر بارامتر الإخراج DTC [SWS_Dem_00218].

تعتبر الواجهة قابلة لإعادة الدخول لمستدعين مختلفين عبر قيم ClientId مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00218]. قيم الإرجاع المحتملة هي E_OK عند نجاح الاستعلام، وE_NOT_OK عند حدوث أخطاء، وكذلك DEM_NO_SUCH_ELEMENT في حال عدم تخزين أي إدخال مطابق [SWS_Dem_00218]. وإذا اختلفت نتيجة الدالة عن DEM_OCCURR_OK، فلن يحتوي البارامتر DTC على بيانات صالحة [SWS_Dem_00218].

تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

نوع Dem_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF

The type to distinguish which DTCs should be filtered.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 92ccd2ad8a5a المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ومجال القيم

النوع Dem_J1939DcmDTCStatusFilterType هو نوع تعداد يستند إلى uint8، ويتم توفيره عبر ملف الترويسة Dem.h [SWS_Dem_00945]. وهو يُستخدم لتحديد حالة J1939 التي ينبغي تمييز واختيار رموز الأعطال التشخيصية (DTCs) بناءً عليها أثناء عمليات التصفية [SWS_Dem_00945].

تم تحديد قيم تصفية الحالة التالية:

  • DEM_J1939DTC_ACTIVE (0): يصفي وفقًا لرموز الأعطال النشطة [SWS_Dem_00945].
  • DEM_J1939DTC_PREVIOUSLY_ACTIVE (1): يصفي وفقًا لرموز الأعطال التي كانت نشطة سابقًا [SWS_Dem_00945].
  • DEM_J1939DTC_PENDING (2): يصفّي بحثًا عن رموز الأعطال المُعلّقة [SWS_Dem_00945].
  • DEM_J1939DTC_PERMANENT (3): يصفّي بحثًا عن رموز الأعطال الدائمة [SWS_Dem_00945].
  • DEM_J1939DTC_CURRENTLY_ACTIVE (4): يصفّي بحثًا عن رموز الأعطال النشطة حاليًا [SWS_Dem_00945].

التفاعل وسياق الاستدعاء

يُستخدم نوع التصفية كمعلمة تمرير DTCStatusFilter في الواجهة Dem_J1939DcmSetDTCFilter [SWS_Dem_00970]. تعمل الدالة بشكل متزامن وتضبط المرشح مع مراعاة فئة العطل (DTCKind)، وأصل الذاكرة (DTCOrigin)، وClientId المعنية لذاكرة أحداث J1939 [SWS_Dem_00970]. كتفسير: يُرجَّح أن يتم الاستدعاء عادةً من مدير اتصالات التشخيص لـ J1939. سؤال Q-898d508b7b341ef8 (مفتوح)

التزامن ومعالجة الأخطاء

الخدمة Dem_J1939DcmSetDTCFilter قابلة لإعادة الدخول لقيم ClientId المختلفة، ولكنها صراحةً غير قابلة لإعادة الدخول لنفس ClientId [SWS_Dem_00970]. يتم تأكيد التهيئة الناجحة للمرشح من قِبل الخدمة عبر القيمة المعادة E_OK [SWS_Dem_00970].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على وثائق المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_J1939DcmSetFreezeFrameFilterType [SWS_Dem_00947] 📄 PDF

The type to distinguish which DTCs gets cleared

نوع Dem_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF

For details refer SAE J1939-73

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 92989a7111ae المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تم التصريح عن نوع البنية Dem_J1939DcmLampStatusType وفقًا لـ [SWS_Dem_00948] في Dem.h، ويُستخدم لتسجيل حالة مصباح J1939 وفقًا للمعيار SAE J1939-73. تجمع بنية البيانات معلومتَي حالة كعناصر uint8: LampStatus لحالة المصباح الحالية وFlashLampStatus لسلوك الوميض المقترن به.

في تصفية J1939-DTC لـ Diagnostic Event Manager، يعمل هذا النوع كمعلمة إخراج مؤشر في واجهتين متزامنتين:

  • عبر Dem_J1939DcmSetDTCFilter ([SWS_Dem_00970])، يتم الاستعلام عن حالة المصباح الأولية عند تهيئة مرشح DTC لذاكرة أحداث J1939 محددة (يتم عنونتها عبر ClientId).
  • عبر Dem_J1939DcmGetNextDTCwithLampStatus ([SWS_Dem_00975])، يتم ملء البنية تكراريًا بحالة المصباح المقترنة لكل مدخلة متطابقة في ذاكرة الأعطال.

عند معالجة الأخطاء، يجب الانتباه تمامًا إلى أن Dem_J1939DcmGetNextDTCwithLampStatus، وفقًا لـ [SWS_Dem_00975]، لا يكتب قيمًا صالحة في معلمة الإخراج إلا إذا كانت القيمة المعادة للدالة هي DEM_FILTERED_OK. وإذا أرجع الاستدعاء قيمة معادة أخرى، فلن تحتوي البنية على بيانات صالحة.

فيما يتعلق بالتزامن وشروط الاستدعاء، لا تمتلك البنية نفسها أي حماية داخلية. وتعتمد قابلية إعادة الدخول على سياق الاستدعاء المعني: Dem_J1939DcmSetDTCFilter قابل لإعادة الدخول لمعرّفات عملاء (Client-IDs) مختلفة، ولكنه غير قابل لإعادة الدخول لنفس ClientId ([SWS_Dem_00970]). أما الاسترداد التكراري عبر Dem_J1939DcmGetNextDTCwithLampStatus فهو محدد صراحةً بأنه غير قابل لإعادة الدخول بالكامل ([SWS_Dem_00975]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات إصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_J1939DcmDiagnosticReadiness1Type [SWS_Dem_00949] 📄 PDF

This structure represents all data elemets of the DM05 message. The encoding shall be done acording SAE J1939-73

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a760cec9362d المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تمثّل البنية Dem_J1939DcmDiagnosticReadiness1Type جميع عناصر البيانات لرسالة تشخيص J1939 المسماة DM05، وهي معرّفة وفقًا لـ [SWS_Dem_00949] في ملف الرأس Dem.h. ويتم ترميز الحقول وفقًا للمعيار SAE J1939-73 [SWS_Dem_00949].

تتضمن البنية ثمانية حقول بيانات من النوع uint8، والتي تشكّل معًا مخزنًا مؤقتًا بحجم 8 بايت لجاهزية التشخيص 1 (Diagnostic Readiness 1) [SWS_Dem_00949]، [SWS_Dem_00982]:

  • ActiveTroubleCodes: عدد DTCs النشطة [SWS_Dem_00949].
  • PreviouslyActiveDiagnosticTroubleCodes: عدد DTCs التي كانت نشطة سابقًا [SWS_Dem_00949].
  • OBDCompliance: التوافق مع OBD [SWS_Dem_00949].
  • ContinuouslyMonitoredSystemsSupport_Status: دعم وحالة الأنظمة المراقَبة باستمرار [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsSupport5 وNonContinuouslyMonitoredSystemsSupport6: دعم الأنظمة غير المراقَبة باستمرار (البايت 5 و6) [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsStatus7 وNonContinuouslyMonitoredSystemsStatus8: حالة الأنظمة غير المراقَبة باستمرار (البايت 7 و8) [SWS_Dem_00949].

يتم التفاعل الأساسي مع واجهة برمجة التطبيقات (API) المتزامنة Dem_J1939DcmReadDiagnosticReadiness1 (المتاحة عبر Dem_J1939Dcm.h) [SWS_Dem_00982]. يقوم المستدعون بتمرير مؤشر إلى نسخة من Dem_J1939DcmDiagnosticReadiness1Type عبر معلمة الإخراج DataValue جنبًا إلى جنب مع ClientId المعنية لذاكرة أحداث J1939 [SWS_Dem_00982].

فيما يتعلق بالتزامن ومعالجة الأخطاء، ينطبق الآتي عند وصول القراءة: تُرجع الدالة المستعلمة E_OK عند نجاح الحساب وتوفير قيم DM05 من قِبل DEM، وE_NOT_OK في حالة حدوث خطأ [SWS_Dem_00982]. والوصول قابل لإعادة الدخول لقيم ClientId المختلفة، ولكنه غير قابل لإعادة الدخول لنفس ClientId [SWS_Dem_00982]. ومن ثمّ، يُرجَّح أن يكون من الضروري حماية نسخ هذا النوع من الاستدعاءات المتزامنة في سياق العميل نفسه. سؤال Q-7613ded1aa18fd2b (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. الشواهد مأخوذة حصريًا من مواصفات الإصدار R20-11.

نوع Dem_J1939DcmDiagnosticReadiness2Type [SWS_Dem_00950] 📄 PDF

This structure represents all data elemets of the DM21 message. The encoding shall be done acording SAE J1939-73

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4e1cd28c8cba المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يمثّل نوع البنية Dem_J1939DcmDiagnosticReadiness2Type عناصر البيانات لرسالة التشخيص DM21 (Diagnostic Readiness 2) وفقًا للمعيار SAE J1939-73، ويتم التصريح عنه عبر ملف الرأس Dem.h [SWS_Dem_00950]. تجمع البنية أربعة عدادات بحجم 16 بت (uint16) في مخزن مؤقت بسعة 8 بايت [SWS_Dem_00950]، [SWS_Dem_00983]:

  • DistanceTraveledWhileMILisActivated: المسافة المقطوعة التراكمية بالكيلومترات أثناء تنشيط مؤشر عطل الوظيفة (MIL) [SWS_Dem_00950].
  • DistanceSinceDTCsCleared: المسافة المقطوعة التراكمية منذ إعادة تعيين رموز أعطال التشخيص (DTCs) المرتبطة بالانبعاثات [SWS_Dem_00950].
  • MinutesRunbyEngineWhileMILisActivated: وقت تشغيل المحرك التراكمي بالدقائق أثناء تنشيط MIL [SWS_Dem_00950].
  • TimeSinceDiagnosticTroubleCodesCleared: وقت تشغيل المحرك التراكمي منذ محو DTCs المرتبطة بالانبعاثات [SWS_Dem_00950].

يُستخدم هذا النوع كمخزن إخراج مؤقت DataValue للخدمة المتزامنة Dem_J1939DcmReadDiagnosticReadiness2 المعرّفة في Dem_J1939Dcm.h [SWS_Dem_00983]. عند الاستدعاء، يمرر J1939-DCM قيمة ClientId لعنونة ذاكرة الأحداث المحددة في DEM [SWS_Dem_00983]. تحدد الدالة قراءات العداد الحالية وتؤكد التوفير الناجح بالقيمة المعادة E_OK، أو تشير إلى وجود أخطاء باستخدام E_NOT_OK [SWS_Dem_00983].

فيما يتعلق بالتزامن، فإن خدمة القراءة قابلة لإعادة الدخول لقيم ClientId المختلفة، لكنها غير قابلة لإعادة الدخول لقيم ClientId المتطابقة [SWS_Dem_00983].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بواسطة ذكاء اصطناعي. وتستند جميع العبارات حصريًا إلى نطاق المواصفات المقدّم من AUTOSAR R20-11.

نوع Dem_J1939DcmDiagnosticReadiness3Type [SWS_Dem_00951] 📄 PDF

This structure represents all data elemets of the DM26 message. The encoding shall be done acording SAE J1939-73

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b4812c5890e8 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يمثّل نوع البنية Dem_J1939DcmDiagnosticReadiness3Type، وفقًا لـ [SWS_Dem_00951]، جميع عناصر البيانات لرسالة التشخيص DM26 (Diagnostic Readiness 3). ويتبع ترميز الحقول المضمنة إلزاميًا المعيار SAE J1939-73 [SWS_Dem_00951].

تتضمن البنية مخزن بيانات مؤقتًا بسعة 8 بايت، وتتألف من الحقول الفردية التالية [SWS_Dem_00951]:

  • TimeSinceEngineStart (uint16): وقت تشغيل المحرك منذ تشغيل الإشعال.
  • NumberofWarmupsSinceDTCsCleared (uint8): عدد دورات الإحماء لـ OBD منذ محو جميع رموز الأعطال.
  • ContinuouslyMonitoredSystemsEnableCompletedStatus (uint8): حالة التمكين والإكمال للأنظمة المراقَبة باستمرار.
  • NonContinuouslyMonitoredSystemsEnableStatus5 وNonContinuouslyMonitoredSystemsEnableStatus6 (كل منهما uint8): حالة تمكين أجهزة المراقبة غير المستمرة في الدورة الحالية (البايت 5 و6).
  • NonContinuouslyMonitoredSystems7 وNonContinuouslyMonitoredSystems8 (كل منهما uint8): حالة إكمال أجهزة المراقبة غير المستمرة في الدورة الحالية (البايت 7 و8).

الاستخدام والتفاعل: يتم تمرير نسخة من هذا النوع كمعلمة إخراج DataValue إلى الدالة المتزامنة Dem_J1939DcmReadDiagnosticReadiness3 [SWS_Dem_00770]. يحدد DEM قيم DM26 لـ ClientId الممررة لذاكرة أحداث J1939، ويُرجع القيمة المعادة E_OK عند التنفيذ الناجح أو E_NOT_OK عند حدوث خطأ [SWS_Dem_00770].

التزامن والقيود: استدعاء دالة القراءة قابل لإعادة الدخول لقيم ClientId المختلفة، ولكن لا يجوز تنفيذه بالتزامن لنفس ClientId [SWS_Dem_00770]. ويُرجَّح أن تعمل الوحدة J1939Dcm كمستدعٍ أساسي. سؤال Q-e001ad1880fee789 (مفتوح) تم التصريح عن النوع في Dem.h [SWS_Dem_00951]، في حين تتوفر خدمة القراءة المقترنة عبر Dem_J1939Dcm.h [SWS_Dem_00770].

تستند ملاحظة الاستخدام هذه إلى محددات مواصفة AUTOSAR الخاصة بـ Diagnostic Event Manager.

نوع Dem_DTCOriginType [SWS_Dem_00934] 📄 PDF

This enum is used to define the location of the events. The definition and use of the different memory types is OEM-specific.

نوع Dem_DebounceResetStatusType [SWS_Dem_00927] 📄 PDF

This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2ba3237222eb المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتحكم نوع البيانات Dem_DebounceResetStatusType في سلوك عدادات إزالة الارتداد الداخلية ومؤقتات إزالة الارتداد في Diagnostic Event Manager [SWS_Dem_00927]. وهو معرف كـ uint8، ومتاح عبر ملف الرأس Rte_Dem_Type.h، ويوفر حالتي تحكم محددتين [SWS_Dem_00927]:

  • DEM_DEBOUNCE_STATUS_FREEZE (0x00): يجمد عداد إزالة الارتداد الداخلي أو مؤقت إزالة الارتداد الداخلي للحدث المعنون [SWS_Dem_00927].
  • DEM_DEBOUNCE_STATUS_RESET (0x01): يعيد تعيين عداد إزالة الارتداد الداخلي أو مؤقت إزالة الارتداد الداخلي [SWS_Dem_00927].

القيم في النطاق من 0x02 إلى 0xFF محجوزة [SWS_Dem_00927]. يتم تمرير النوع كمعامِل DebounceResetStatus إلى دالة الخدمة Dem_ResetEventDebounceStatus() [SWS_Dem_00683]. ويتم هذا الاستدعاء بشكل متزامن ويتحكم في حالة إزالة الارتداد الداخلية دون التأثير المباشر على تأهيل الحدث المعني [SWS_Dem_00683].

فيما يتعلق بإمكانية إعادة الدخول، فإن Dem_ResetEventDebounceStatus() قابل لإعادة الدخول لقيم EventId المختلفة، ولكن لا يجوز استدعاؤه بشكل متزامن لنفس EventId [SWS_Dem_00683]. يمكن لوحدات BSW استخدام الواجهة بمجرد اكتمال التهيئة الأساسية Dem_PreInit [SWS_Dem_00683]. وبالنسبة لمكونات البرمجيات، يُرجح أن يتم التوفير عبر واجهات مخصصة للمنافذ مثل DiagnosticMonitor، والتي تتيح تعديل معلومات الحدث [SWS_Dem_00598]. سؤال Q-32468003718a4933 (مفتوح) في حالة حدوث خطأ، تُرجع دالة الاستدعاء E_NOT_OK، وهو ما يحدث وفقاً للمواصفة حصرياً في حالة أخطاء التطوير [SWS_Dem_00683].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_DTRControlType [SWS_Dem_00941] 📄 PDF

Control parameter for the interpretation of the reported test results.

نوع Dem_EventIdType [SWS_Dem_00925] 📄 PDF

Identification of an event by assigned EventId. The EventId is assigned by the Dem. Example: 1 refers to monitor x, 2 refers to monitor y, etc.

نوع Dem_EventStatusType [SWS_Dem_00926] 📄 PDF

This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6d8ec716ce5e المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

نوع البيانات Dem_EventStatusType مشتق من uint8 ومتاح عبر الترويسة Rte_Dem_Type.h ([SWS_Dem_00926]). ويُستخدم لمساعدة مكونات البرمجيات (SW-Cs) وأنماط BSW في الإبلاغ عن نتائج اختبار مراقب التشخيص إلى DEM ([SWS_Dem_00926]، [SWS_Dem_00183]).

يحدد النوع قيم نتائج المراقب التالية ([SWS_Dem_00926]):

  • DEM_EVENT_STATUS_PASSED (0x00) وDEM_EVENT_STATUS_FAILED (0x01): إرسال نتائج اختبار مؤهلة (ناجح أو فاشل).
  • DEM_EVENT_STATUS_PREPASSED (0x02) وDEM_EVENT_STATUS_PREFAILED (0x03): نتائج اختبار مراقب أولية وغير مؤهلة، وتتم إزالة ارتدادها داخليًا في DEM.
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED (0x04): يطلق تخزين FreezeFrames وExtendedDataRecords عند الوصول إلى قيمة عتبة FDC (ON_FDC_THRESHOLD).
  • نطاقات القيم من 0x05 إلى 0xFF محجوزة.

يُستخدم النوع كمعلمة إدخال EventStatus في واجهات برمجة تطبيقات BSW وهي Dem_SetEventStatus() ([SWS_Dem_00183]) وDem_SetEventStatusWithMonitorData() ([SWS_Dem_91037])، وكذلك عبر الواجهتين DiagnosticMonitor ([SWS_Dem_00598]) وDiagnosticMonitor_MonitorData ([SWS_Dem_91038]). يتم الاستدعاء بشكل متزامن أو غير متزامن ([SWS_Dem_00183]، [SWS_Dem_91037]).

تُرجع الدوال Std_ReturnType (E_OK عند النجاح، وE_NOT_OK عند حدوث أخطاء أو الرفض)، حيث يُسمح لأنماط BSW المستدعية بتجاهل القيمة المُرجعة لـ Dem_SetEventStatus() ([SWS_Dem_00183]). فيما يتعلق بالتزامن، فإن الاستدعاءات تكون قابلة لإعادة الدخول لقيم EventId المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس EventId ([SWS_Dem_00183]، [SWS_Dem_91037]). علاوة على ذلك، يعتمد توفر واجهات برمجة التطبيقات الهدف على تهيئة المعلمة DemEventReportingType ([SWS_Dem_00183]، [SWS_Dem_91037]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي. وتظل مواصفات AUTOSAR هي المرجع الملزم.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF

(Re-)Initialization reason returned by the callback _DemInitMonitorFor().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a883663c849a المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ومجال القيم

يعتمد نوع البيانات Dem_InitMonitorReasonType على uint8 ومتاح عبر Rte_Dem_Type.h [SWS_Dem_00942]. وهو يحدد السبب الملموس لإعادة تهيئة مرقاب التشخيص، حتى يتمكن هذا الأخير من اختيار روتين التهيئة المقابل لحدث معني وتنفيذه [SWS_Dem_00942] [SWS_Dem_00256].

تم تحديد القيم التالية لهذا النوع [SWS_Dem_00942]:

  • DEM_INIT_MONITOR_CLEAR (0x01): تم مسح حدث التشخيص؛ وتتم إعادة تعيين جميع القيم والحالات الداخلية.
  • DEM_INIT_MONITOR_RESTART (0x02): تمت إعادة بدء دورة تشغيل الحدث.
  • DEM_INIT_MONITOR_REENABLED (0x03): تمت إعادة تفعيل شروط التمكين (Enable Conditions) أو إعدادات DTC.
  • DEM_INIT_MONITOR_STORAGE_REENABLED (0x04): تمت إعادة تفعيل شرط التخزين (Storage Condition).

سياق الاستدعاء والواجهات

تُمرر القيمة بشكل متزامن وقابل لإعادة الدخول كبارامتر إدخال InitMonitorReason عبر رد النداء C الخاص بالحدث <Module>_DemInitMonitorFor<EventName>()، المُصرّح عنه في Dem_Externals.h [SWS_Dem_00256]. وإذا وجدت واجهة منفذ (Port-Interface) لمكوّن البرنامج، يتم التمرير إلى العملية InitMonitorForEvent الخاصة بواجهة الخدمة CallbackInitMonitorForEvent [SWS_Dem_00613].

معالجة الأخطاء وقيم الإرجاع

في رد النداء C، تكون قيمة الإرجاع من النوع Std_ReturnType غير مستخدمة وتُستخدم فقط للتوافق مع عملية RTE المقابلة [SWS_Dem_00256]. وإذا تم استدعاء الواجهة عبر RTE، تُرجع العملية InitMonitorForEvent قيم الأخطاء E_OK (ناجح) أو E_NOT_OK (فاشل) [SWS_Dem_00613]. لا توجد رموز أخطاء خاصة أو رسائل DET/DEM معرفة لنوع البيانات هذا.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_IumprDenomCondIdType [SWS_Dem_00943] 📄 PDF

This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.

نوع Dem_IumprDenomCondStatusType [SWS_Dem_00944] 📄 PDF

This type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8df8011c88ff المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يعتمد النوع Dem_IumprDenomCondStatusType على uint8 ويحدد حالات الحالة المحتملة لشرط مقام IUMPR إضافي للتوزيع بين وحدات التحكم الإلكترونية ذات الصلة بـ OBD [SWS_Dem_00944]. النوع متاح عبر Rte_Dem_Type.h ويتضمن القيم التالية [SWS_Dem_00944]:

  • DEM_IUMPR_DEN_STATUS_NOT_REACHED (0x00): لم يتم استيفاء الشرط (بعد).
  • DEM_IUMPR_DEN_STATUS_REACHED (0x01): تم استيفاء الشرط.
  • DEM_IUMPR_DEN_STATUS_INHIBITED (0x02): الشرط محظور ولا يمكن الوصول إليه.

القيم في النطاق من 0x03 إلى 0xFF محجوزة [SWS_Dem_00944].

التفاعل وواجهات الخدمة

في إطار واجهة الخدمة IUMPRDenominatorCondition، يتم نقل الحالة لشروط مثل General Denominator أو Cold start أو EVAP أو 500mi [SWS_Dem_00733] [SWS_Dem_00742]. توجد دالتا خدمة رئيسيتان:

  • Dem_SetIUMPRDenCondition: يُمرر الحالة عبر بارامتر الإدخال ConditionStatus بشكل متزامن أو غير متزامن إلى DEM الخاص بوحدة تحكم إلكترونية [SWS_Dem_00733].
  • Dem_GetIUMPRDenCondition: يستعلم عن الحالة بشكل متزامن عبر بارامتر الإخراج المؤشري ConditionStatus من وحدة التحكم الإلكترونية التي تُحسب الشروط عليها [SWS_Dem_00734].

معالجة الأخطاء والتزامن

كلا الدالتين محددتان بأنهما قابلتان لإعادة الدخول [SWS_Dem_00733] [SWS_Dem_00734]. وعند التنفيذ الناجح، تُرجع واجهات API القيمة E_OK؛ وإذا فشل الضبط أو الاسترداد أو تعذر قبول الشرط، فإنها تُرجع E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734].

تم توليد ملاحظة الاستخدام هذه تلقائيًا بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_IndicatorStatusType [SWS_Dem_00930] 📄 PDF

Indicator mode used by Dem_GetIndicatorStatus().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 05853b91068c المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يعتمد نوع البيانات Dem_IndicatorStatusType على uint8 ويتم توفيره عبر Rte_Dem_Type.h [SWS_Dem_00930]. وهو يمثل أوضاع تشغيل مؤشرات التحذير المشتقة من حالة UDS [SWS_Dem_00205]. ويمتد نطاق الحالات من DEM_INDICATOR_OFF (0x00) مروراً بـ DEM_INDICATOR_CONTINUOUS (0x01)، DEM_INDICATOR_BLINKING (0x02)، DEM_INDICATOR_BLINK_CONT (0x03)، DEM_INDICATOR_SLOW_FLASH (0x04)، DEM_INDICATOR_FAST_FLASH (0x05) وDEM_INDICATOR_ON_DEMAND (0x06) وحتى DEM_INDICATOR_SHORT (0x07) [SWS_Dem_00930].

يُستخدم النوع كمعامِل إخراج في دالة C المتزامنة Dem_GetIndicatorStatus() [SWS_Dem_00205] وكذلك في العملية GetIndicatorStatus لمنفذ الخدمة IndicatorStatus [SWS_Dem_00606]. يوفر مكون خدمة DEM منفذاً خاصاً لكل مؤشر مكوّن، حيث يعمل IndicatorId المعني كوسيطة محددة للمنفذ [SWS_Dem_00606]. ويُرجح أن يستخدم مكون البرمجيات المستعلم الحالة المحددة عادةً للتحكم في أجهزة العرض المرئية أو الصوتية. سؤال Q-6bfabb33805bd0e8 (مفتوح)

يجب على جهات الاستدعاء مراعاة أن Dem_GetIndicatorStatus() محددة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dem_00205]. بالإضافة إلى ذلك، لا تتوفر واجهة برمجة تطبيقات الاستعلام (API) إلا إذا كان هناك مؤشر واحد على الأقل مودع في التكوين تحت DemIndicator [SWS_Dem_00205]. تبلغ العملية عن حالة التنفيذ عبر قيمة الإرجاع Std_ReturnType مع E_OK عند التقييم الناجح أو E_NOT_OK في حالة الخطأ [SWS_Dem_00205][SWS_Dem_00606].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي في بيئة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع Dem_RatioIdType [SWS_Dem_00940] 📄 PDF

OBD specific ratio Id (related to a specific event, a FID, and an IUMPR group). This type depends on the Dem configuration.

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

Record
AUTOSAR/AP/record/CP_MOD_Dem
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dem@rel:R20-11#7f1c3c9f
Content hash
7f1c3c9f
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticEventManager.pdf#nameddest=SWS_Dem_00177

خريطة المواضيع

التهيئة والحالة

2

دورية

1

عرض التفاصيل

اختر عنصرًا من المخطط.

التهيئة والحالة

Returns the version information of this module. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemVersionInfoApi)} == true)

void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dem_Init دالة

Initializes or reinitializes this module.

void Dem_Init (const Dem_ConfigType* ConfigPtr);

الخدمات · Get…

Service to report the value of the B1 counter computed by the Dem. API is needed in WWH-OBD relevant ECUs only

Std_ReturnType Dem_GetB1Counter (uint16* B1Counter);

Gets the failed status of a DemComponent.

Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);

Returns the qualification state of the dependent operation cycle. API Availability: This API will be available only if any of the ({ecuc(Dem/DemGeneral/Dem OperationCycle.DemLeadingCycleRef)} != NULL)

Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);

Service to get the value of PID $21 from the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemGeneral OBD.DemOBDCentralizedPID21Handling)} == true) && ({ecuc(Dem/DemGeneral.Dem OBDSupport)} == DEM_OBD_MASTER_ECU)

Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);

Gets the debouncing status of an event. This function shall not be used for EventId with native debouncing within their functions. It is rather for EventIds using debouncing within the Dem.

Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);

Gets the DTC by occurrence time. There is no explicit parameter for the DTC-origin as the origin always is DEM_DTC_ORIGIN_PRIMARY_MEMORY.

Std_ReturnType Dem_GetDTCByOccurrenceTime (uint8 ClientId, Dem_DTCRequestType DTCRequest, uint32* DTC);

Gets the DTC of an event.

Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);

Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.

Std_ReturnType Dem_GetDTCSelectionResult (uint8 ClientId);

Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs, respecting the settings if the Dem shall clear only all DTCs.

Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);

Gets the DTC Severity availability mask.

Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);

Gets the DTC Status availability mask of the selected fault memory.

Std_ReturnType Dem_GetDTCStatusAvailabilityMask (uint8 ClientId, Dem_UdsStatusByteType* DTCStatusMask, Dem_DTCOriginType DTCOrigin);

Returns the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppressionSupport)} == DEM_DTC_SUPPRESSION)

Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);

Get the Event's availability.

Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);

Gets the data of an extended data record by event.

Std_ReturnType Dem_GetEventExtendedDataRecordEx (Dem_EventIdType EventId, uint8 RecordNumber, uint8* DestBuffer, uint16* BufSize);

Gets the data of a freeze frame by event.

Std_ReturnType Dem_GetEventFreezeFrameDataEx (Dem_EventIdType EventId, uint8 RecordNumber, uint16 DataId, uint8* DestBuffer, uint16* BufSize);

Gets the event memory overflow indication status.

Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);

Gets the current UDS status byte assigned to the DTC for the event

Std_ReturnType Dem_GetEventUdsStatus (Dem_EventIdType EventId, Dem_UdsStatusByteType* UDSStatusByte);

Gets the fault detection counter of an event. This API can only be used through the RTE, and therefore no declaration is exported via Dem.h.

Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);

Gets the functional unit of the requested DTC.

Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);

Gets the indicator status derived from the UDS status. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEventMemory Set/DemIndicator)} != NULL)

Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);

In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to retrieve the condition status from the Dem of the ECU where the conditions are computed. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);

Gets the current monitor status for an event.

Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);

Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

Gets the next filtered DTC matching the filter criteria. For UDS services, the interface has an asynchronous behavior, because a large number of DTCs has to be processed.

Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);

Gets the next filtered DTC and its associated Fault Detection Counter (FDC) matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed and the FDC might be received asynchronously from a SW-C, too.

Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);

Gets the next filtered DTC and its associated Severity matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed.

Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);

Gets the next freeze frame record number and its associated DTC stored in the event memory. The interface has an asynchronous behavior, because NvRAM access might be required.

Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);

Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

Returns the number of entries currently stored in the requested event memory.

Std_ReturnType Dem_GetNumberOfEventMemoryEntries (uint8 ClientId, Dem_DTCOriginType DTCOrigin, uint8* NumberOfEventMemoryEntries);

Gets the number of a filtered DTC.

Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);

This function returns the number of all freeze frame records currently stored in the primary event memory

Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);

Gets the severity of the requested DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments).

Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);

Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.

Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);

Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.

Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);

Gets the status of a DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments). The DTCs of OBD Events Suppression shall be reported as Dem_WRONG_DTC.

Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);

Gets the supported DTC formats of the ECU.The supported formats are configured via Dem TypeOfDTCSupported.

Dem_DTCTranslationFormatType Dem_GetTranslationType (uint8 ClientId);

الخدمات · Set…

Set the availability of a specific DemComponent.

Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);

Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.

Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);

Service to set the value of PID $21 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);

Service to set the value of PID $31 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);

Service to set the value of PID $4D in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);

Service to set the value of PID $4E in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);

Sets the DTC Filter. The server shall perform a bit-wise logical AND-ing operation between the parameter DTCStatusMask and the current UDS status in the server. In addition to the DTCStatus AvailabilityMask, the server shall return all DTCs for which the result of the AND-ing operation is non-zero [i.e. (statusOfDTC & DTCStatusMask) != 0]. The server shall process only the DTC Status bits that it is supporting. OBD Events Suppression shall be ignored for this computation. If no DTCs within the server match the masking criteria specified in the clients request, no DTC or status information shall be provided following the DTCStatusAvailabilityMask byte in the positive response message (((statusOfDTC & DTCStatusMask) != 0) && ((severity & DTCSeverityMask) != 0)) == TRUE

Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);

Set the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppression Support)} == DEM_DTC_SUPPRESSION)

Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);
Dem_SetDTR دالة

Reports a DTR result with lower and upper limit. The internal eventstatus serves as master whether the DTR values are forwarded or ignored, also taking the DTRUpdateKind into account. The EventId that is related to the DTR is assigned per configuration (and derived from ServiceNeeds). Processing takes enable/storage conditions into account. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);

Sets an enable condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEnable Condition)} != NULL)

Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);

Set the available status of a specific Event.

Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);

Set the failure confirmation threshold of an event.

Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);

Service for reporting the event as disabled to the Dem for the PID $41 computation. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetEventDisabled (Dem_EventIdType EventId);

If called the Dem sets the event to failed and this failed event requires that a snapshot record is captured, the Dem synchronously retrieves the data within the call of this API. Tags: atp.Status=draft

void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);

Called by SW-Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_SetEventStatus can safely ignore the return value. This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEventReportingType} == STANDARD_REPORTING)

Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);

This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEvent ReportingType} == STANDARD_REPORTING_WITH_MONITOR_DATA)

Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);

Sets a freeze frame record filter.

Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);

In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to forward the condition status to a Dem of a particular ECU. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);

API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);

Sets a storage condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemStorage Condition)} != NULL)

Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);

Sets the WIR status bit via failsafe SW-Cs. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.

Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);

الخدمات · Dcm…

Reports the value of a requested "availability-OBDMID" to the DCM upon a Service $06 request. Derived from that the tester displays the supported tests a mechanic can select from. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);

Gets DTC by freeze frame record number. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);

Reports a DTR data along with TID-value, UaSID, test result with lower and upper limit. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetDTRData (uint8 Obdmid, uint8 TIDindex, uint8* TIDvalue, uint8* UaSID, uint16* Testvalue, uint16* Lowlimvalue, uint16* Upplimvalue);

Service is used for requesting IUMPR data according to InfoType $08. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);

Service is used for requesting IUMPR data according to InfoType $0B. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);

Gets the number of TIDs per (functional) OBDMID. This can be used by the DCM to iteratively request for OBD/TID result data within a loop from 0....numberOfTIDs-1 API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);

Gets data element per PID and index of the most important freeze frame being selected for the output of service $02. The function stores the data in the provided DestBuffer. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);

Service to report the value of PID $01 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);

Service to report the value of PID $1C computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);

Service to report the value of PID $21 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);

Service to report the value of PID $30 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);

Service to report the value of PID $31 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);

Service to report the value of PID $41 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);

Service to report the value of PID $4D computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);

Service to report the value of PID $4E computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)

Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);

Service to report the value of PID $91 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);

الخدمات · J1939…

Clears the status of all event(s) related to the specified DTC(s), as well as all associated event memory entries for these event(s).

Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);

The function sets the filter to the first applicable DTC for the DM31 response for a specific node.

void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);

Gets the next filtered J1939 DTC for DM31 including current LampStatus.

Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered J1939 DTC.

Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered Ratio.

Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);

Gets next freeze frame data. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_J1939DcmGetNextFreezeFrame (uint32* J1939DTC, uint8* OccurenceCounter, uint8* DestBuffer, uint16* BufSize, uint8 ClientId);

Gets next SPN.

Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);

Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.

Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);

Service to report the value of Diagnostic Readiness 1 (DM05) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 2 (DM21) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness2 (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 3 (DM26) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness3 (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);

The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.

Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);

The function sets the FreezeFrame filter for a specific node.

Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);

The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General Denominator.

Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);

الخدمات · Select…

Dem_SelectDTC دالة

Selects a DTC or DTC group as target for further operations.

Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);

Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.

Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);

Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.

Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);

الخدمات · أخرى

Called by the Dem after the internal processing of Dem_SetEventFailedWithSyncFreezeFrame is done and a further call of Dem_SetEventFailedWithSyncFreezeFrame with the same event ID can be processed by the Dem. Tags: atp.Status=draft

Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);
Dem_ClearDTC دالة

Clears single DTCs, as well as groups of DTCs.

Std_ReturnType Dem_ClearDTC (uint8 ClientId);

Clears a prestored freeze frame of a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)

Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);

Disables the event memory update of a specific DTC (only one at one time).

Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);

Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

Std_ReturnType Dem_DisableDTCSetting (uint8 ClientId);

Enables the event memory update of the DTC disabled by Dem_DisableDTCRecordUpdate() before. Note: As the call to Dem_EnableDTCRecordUpdate is the last action in the sequence of disabling/enabling a DTC, the caller is not interested in the return value. Therefore E_OK should be returned even if the DTC is enabled asynchronously.

Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);

(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);
Dem_PreInit دالة

Initializes the internal states necessary to process events reported by BSW-modules.

void Dem_PreInit (void);

Captures the freeze frame data for a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)

Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);

Service to report the value of PID $01 computed by the Dem. API is needed in OBD relevant ECUs only

Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);

Service is used to release a denominator of a specific monitor. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_RepIUMPRDenRelease (Dem_RatioIdType RatioID);

Service for reporting that faults are possibly found because all conditions are fullfilled. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)

Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);

Control the internal debounce counter/timer by BSW modules and SW-Cs. The event qualification will not be affected by these debounce state changes. This API is available for BSW modules as soon as Dem_PreInit has been completed (refer to SWS_Dem_00438 and SWS_Dem_00167).

Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);

Resets the event failed status. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.

Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);

Sets an operation cycle state. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. The interface has an asynchronous behavior to avoid exceeding of typical timing requirements on APIs if a large number of events has to be processed and during the re-initializations of the related monitors. The asynchronous acknowledgements are the related InitMonitorForEvent callbacks.

Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);
Dem_Shutdown دالة

Shuts down this module.

void Dem_Shutdown (void);

دورية

Processes all not event based Dem internal functions.

void Dem_MainFunction (void);

الأنواع

Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the Dem.

This type of the external data structure shall contain the post build initialization data for the Dem.

Array data type definition for external data elements

Data type definition for external data elements

This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().

This type is used to select the format of the DTC value.

This type is used to filter DTCs for their kind.

This enum is used to define the location of the events. The definition and use of the different memory types is OEM-specific.

This type is used to request a DTC with specific attributes.

DTC translation format as defined in ISO14229-1.

Control parameter for the interpretation of the reported test results.

Identification of an event by assigned EventId. The EventId is assigned by the Dem. Example: 1 refers to monitor x, 2 refers to monitor y, etc.

This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().

Indicator mode used by Dem_GetIndicatorStatus().

(Re-)Initialization reason returned by the callback _DemInitMonitorFor().

This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.

This type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.

This structure represents all data elemets of the DM05 message. The encoding shall be done acording SAE J1939-73

This structure represents all data elemets of the DM21 message. The encoding shall be done acording SAE J1939-73

This structure represents all data elemets of the DM26 message. The encoding shall be done acording SAE J1939-73

The type to distinguish which DTCs should be filtered.

For details refer SAE J1939-73

The type to distinguish which DTCs gets cleared

The type to distinguish which DTCs gets cleared

This type is used to pass monitoring data to the Dem.

OBD specific ratio Id (related to a specific event, a FID, and an IUMPR group). This type depends on the Dem configuration.