يتيح النقل الدوري لرسائل تشخيص UDS لدعم الخدمة 0x2A.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fabfa1b95261المصدرأسئلة مفتوحة (3)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يتيح النقل الدوري لرسائل تشخيص UDS لدعم الخدمة 0x2A.
توفر الفئة apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler واجهة افتراضية بحتة لتنفيذ خدمة UDS الدورية 0x2A عبر قنوات تشخيص خاصة بالنقل ([SWS_DM_01064]). وهي تسمح لإدارة التشخيص بتحديد الحدود القصوى للحمولة والكميات الخاصة بالقناة بالإضافة إلى النقل المنظم لعدة رسائل UDS باستخدام PeriodicTransmit ([SWS_DM_01067]). وإذا فشل إرسال رسالة ما، يتم إلغاء العملية والإبلاغ عن الحالة عبر دالة تأكيد. ونظرًا لأن جميع الطرق محددة على أنها غير آمنة للمسارات، يجب مزامنة عمليات الوصول المتزامنة بواسطة المستدعي.
السياق
تمثل الفئة الافتراضية البحتة apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler الواجهة القياسية لدعم القراءة الدورية لبيانات التشخيص وفقًا لخدمة UDS 0x2A ([SWS_DM_01064]، AUTOSAR_AP_SWS_Diagnostics §C.3.1 «Class: UdsTransportProtocolPeriodicHandler»). وفي نظام التشخيص الخاص بـ AUTOSAR Adaptive Platform، تفصل الفئة إدارة التشخيص العليا عن التنفيذ الفعلي لبروتوكول النقل والشبكة. بينما تقوم إدارة التشخيص بتقييم الطلبات الواردة لعمليات النقل الدورية وتجميع حزم البيانات المقابلة، يتولى المعالج النقل الفعلي لهذه الرسائل الدورية عبر اتصال ملموس ([SWS_DM_01067]). وتعمل كل من إدارة التشخيص على جانب المستدعي وقناة الاتصال المعنية، والتي يتم تحديدها عبر ChannelID فريد، كأطراف تفاعل ([SWS_DM_01065]، [SWS_DM_01066]).
نظراً لأن UdsTransportProtocolPeriodicHandler مُعرَّفة كواجهة أساسية مجردة ذات دوال افتراضية صرفة، فلا يمكن إنشاء مثيل لها مباشرةً ([SWS_DM_01064]). ويُرجَّح أن يتم إنشاء مثيلات المعالج الملموسة عبر مكونات برامج تشغيل خاصة ببروتوكول النقل (على سبيل المثال، للبروتوكولات المستندة إلى DoIP أو CAN). سؤال Q-d0b3bf3b0c14dcf6 (مفتوح) وتكون دورة حياة المثيل مرتبطة عادةً بتوافر حزمة بروتوكول النقل المعنية. ولتحقيق تدمير متعدد الأشكال نظيف عند إنهاء حزمة الاتصال، توفر الفئة مدمراً افتراضياً ~UdsTransportProtocolPeriodicHandler() ([SWS_DM_02089]، AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 «Destructor»).
فيما يتعلق بالتزامن، تم تحديد جميع الدوال الأعضاء في الفئة صراحةً بأنها غير آمنة خيطياً (not thread-safe) ([SWS_DM_01065]، [SWS_DM_01066]، [SWS_DM_01067]، [SWS_DM_02089]). لذلك، في حال الوصول المتوازي عبر خيوط متعددة أو الطلبات المتزامنة عبر نفس ChannelID، يجب على الجهات المستدعية مزامنة عمليات الوصول على مسؤوليتها الخاصة.
مسار الاستخدام
ينقسم التسلسل النموذجي لتنفيذ عمليات نقل الرسائل الدورية للخدمة 0x2A إلى الخطوات التالية:
التأكيد: تُشير طبقة النقل إلى نتيجة عملية الإرسال عبر استدعاء PeriodicTransmit Confirmation، والذي يُرجع عدد الرسائل المنقولة بنجاح والمتجه الأصلي ([SWS_DM_01067]).
أثناء تنفيذ PeriodicTransmit، يتم نقل جميع رسائل القائمة تباعاً. وإذا فشل نقل رسالة واحدة، يتم إلغاء عملية الإرسال بأكملها على الفور ([SWS_DM_01067]). وفي هذه الحالة، لن يتم إرسال الرسائل اللاحقة في القائمة. ومع ذلك، يتم إطلاق استدعاء التأكيد PeriodicTransmit Confirmation لتشخيص الأخطاء ولإعلام إدارة التشخيص. ويتضمن هذا الاستدعاء عدد الرسائل المنقولة بنجاح حتى الإلغاء، بالإضافة إلى المتجه الكامل لرسائل UDS دون تغيير ([SWS_DM_01067]). يتيح ذلك لإدارة التشخيص تتبع الرسالة التي تسببت في الخطأ بدقة.
تم تحديد جميع دوال الواجهة كـ noexcept وآمنة ضد الاستثناءات (exception safe) ([SWS_DM_01065]، [SWS_DM_01066]، [SWS_DM_01067]، [SWS_DM_02089]). ولا تؤدي حالات الخطأ أثناء النقل إلى استثناءات C++، بل يتم الإبلاغ عنها بشكل حتمي عبر آلية التأكيد المحددة.
يستند دليل الفئة هذا إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11 وتم إنشاؤه تلقائياً.
Sends all the messages in the list in the given order. If one message transmission fails, the send process is stopped and the PeriodicTransmit Confirmation is invoked with the number of sent messages and the same Vector with Uds Messages.
Sends all the messages in the list in the given order. If one message transmission fails, the send process is stopped and the PeriodicTransmit Confirmation is invoked with the number of sent messages and the same Vector with Uds Messages.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ceb97c8b447fالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الطريقة الافتراضية الصرفة PeriodicTransmit من الواجهة apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler لإرسال رسائل UDS الدورية بشكل مجمع عبر اتصال نقل قائم [SWS_DM_01067]. ويتم استدعاؤها عادةً بواسطة Diagnostic Management (DM) كجزء من النقل الدوري وفقاً للمجدول من النوع 1 بحسب المعيار ISO 14229-1، حيث يتم إطلاق معرّفات البيانات الدورية (PDIDs) المهيأة بشكل دوري AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission[SWS_DM_01060].
المعلمات والدلالات
channelId: معرّف قناة الاتصال المحددة التي يتم النقل عبرها [SWS_DM_01067].
messages: قائمة مرتبة (ara::core::Vector<UdsMessageConstPtr>) لجميع الرسائل المراد نقلها تباعاً ومباشرةً [SWS_DM_01067].
لا تعيد الدالة أي قيمة إرجاع وتضمن أمان الاستثناءات المصرح عنه كـ noexcept[SWS_DM_01067]. وتتم معالجة الرسائل بدقة وفقاً للترتيب الممرر.
معالجة الأخطاء والتأكيد
إذا فشل إرسال رسالة فردية، يتم إلغاء عملية الإرسال بأكملها على الفور [SWS_DM_01067]. للإبلاغ عن النتيجة، يتم استدعاء دالة التأكيد PeriodicTransmitConfirmation الخاصة بـ UdsTransportProtocolMgr[SWS_DM_01069]. يمرر رد الاتصال هذا عدد الرسائل التي تم نقلها بنجاح بالإضافة إلى متجه الرسائل الأصلي نفسه [SWS_DM_01067].
التزامن
تم تحديد الطريقة على أنها not thread-safe[SWS_DM_01067]. ويجب مزامنة الاستدعاءات المتوازية على نفس المثيل من جهة المستدعي.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني