डायग्नोस्टिक्स प्रबंधन में बाहरी UDS ट्रांसपोर्ट प्रोटोकॉल के मानकीकृत कनेक्शन और प्रबंधन के लिए कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ce8b113ec3f5उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
डायग्नोस्टिक्स प्रबंधन में बाहरी UDS ट्रांसपोर्ट प्रोटोकॉल के मानकीकृत कनेक्शन और प्रबंधन के लिए कार्य करता है।
नेमस्पेस apext::diag::uds_transport विशिष्ट UDS ट्रांसपोर्ट प्रोटोकॉल से जेनेरिक डायग्नोस्टिक प्रबंधन को डिकपल करने के लिए C++ ट्रांसपोर्ट इंटरफ़ेस प्रदान करता है AUTOSAR_AP_SWS_Diagnostics §7.1 “UDS Transport Layer”। प्रोटोकॉल प्लगइन्स बेस क्लास UdsTransportProtocolHandler से प्राप्त होते हैं और निर्माण, आरंभीकरण, प्रारंभ और व्यवस्थित ठहराव के एक सख्त जीवनचक्र से गुजरते हैं [SWS_DM_00329]। आने वाले संदेशों की रिपोर्ट IndicateMessage के माध्यम से की जाती है और पेलोड अधिग्रहण के लिए खाली क्षमता की स्थिति में मेमोरी-प्रबंधित UdsMessagePtr प्राप्त करते हैं। एक केंद्रीय सीमा शर्त यह है कि रुकने के बाद पुष्टिकरण संदेश के अलावा डायग्नोस्टिक प्रबंधन को कोई अन्य कॉल नहीं किया जाना चाहिए।
संदर्भ
नेमस्पेस apext::diag::uds_transport AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.1 “UDS Transport Layer” में डायग्नोस्टिक प्रबंधन (DM) के लिए मानकीकृत C++ ट्रांसपोर्ट इंटरफ़ेस (Transport Protocol API) को परिभाषित करता है। आर्किटेक्चर डायग्नोस्टिक प्रबंधन के जेनेरिक कोर को ठोस नेटवर्क और ट्रांसपोर्ट परतों से कार्यात्मक रूप से अलग करता है। इस तरह, मानकीकृत प्रोटोकॉल जैसे DoIP के साथ-साथ भविष्य के या निर्माता-विशिष्ट ट्रांसपोर्ट प्रोटोकॉल (उदाहरण के लिए CAN, CAN-FD या FlexRay के लिए) को मॉड्यूलर प्लगइन्स के रूप में एकीकृत किया जा सकता है AUTOSAR_AP_SWS_Diagnostics §7.1 “UDS Transport Layer”।
केंद्रीय मध्यस्थता इंस्टेंस क्लास UdsTransportProtocolMgr बनाता है, जो Diagnostic Server के इंस्टेंस और जुड़े हुए ट्रांसपोर्ट प्रोटोकॉल के बीच बातचीत का समन्वय करता है। ठोस प्रोटोकॉल प्लगइन्स अमूर्त बेस क्लास UdsTransportProtocolHandler से प्राप्त होते हैं AUTOSAR_AP_SWS_Diagnostics §7.1.1 “Support of UDS Transport Layer”[SWS_DM_00315]। अलग-अलग हैंडलर इंस्टेंस को UdsTransportProtocolHandlerID[SWS_DM_00336] के माध्यम से संबोधित किया जाता है, जबकि संचार चैनलों की पहचान प्रकार ChannelID[SWS_DM_00337] के माध्यम से की जाती है। ISO सेवा 0x2A के अनुसार आवधिक डेटा प्रश्नों का समर्थन करने के लिए, इंटरफ़ेस क्लास UdsTransportProtocolPeriodicHandler को भी शामिल करता है।
जीवनचक्र
नैदानिक प्रबंधन (Diagnostic Management) प्रत्येक UdsTransportProtocolHandler-इंस्टेंस के जीवनचक्र को एक निश्चित पूर्वनिर्धारित क्रम [SWS_DM_00329] में नियंत्रित करता है:
निर्माण: DM कन्स्ट्रक्टर UdsTransportProtocolHandler::UdsTransportProtocolHandler[SWS_DM_00329] के माध्यम से प्रोटोकॉल-प्लगइन को इंस्टेंटिएट करता है।
आरंभीकरण: DM UdsTransportProtocolHandler::Initialize को कॉल करता है [SWS_DM_00329]। GetPeriodicHandler की क्वेरी को छोड़कर, DM को kInitializeOk के सफल रिटर्न से पहले हैंडलर पर कोई अन्य मेथड कॉल करने की अनुमति नहीं है [SWS_DM_01746]।
प्रारंभ और संचालन: सफल आरंभीकरण के बाद हैंडलर को UdsTransportProtocolHandler::Start के साथ सक्रिय किया जाता है। केवल इस कॉल के बाद ही DM UdsTransportProtocolMgr::ChannelReestablished[SWS_DM_01744] के माध्यम से पुनर्सक्रिय चैनलों के संदेशों को प्रोसेस करता है।
समापन: यदि DM ApplicationState.kTerminating स्थिति में परिवर्तित होता है, तो यह सभी सक्रिय प्लगइन्स के लिए UdsTransportProtocolHandler::Stop को कॉल करता है [SWS_DM_00333]। इस कॉल की वापसी के बाद, प्लगइन को केवल UdsTransportProtocolMgr::HandlerStopped को कॉल करने की अनुमति होती है [SWS_DM_01741]। DM इस पुष्टि की सक्रिय रूप से प्रतीक्षा करता है [SWS_DM_00340]।
सक्रिय संचालन के दौरान, आने वाले नैदानिक संदेशों का अग्रेषण हैंडलर और मैनेजर के समन्वित अंतःक्रिया के माध्यम से होता है:
संदेश संकेत (Message indication): यदि हैंडलर किसी चैनल (ChannelID[SWS_DM_00337]) पर डेटा प्राप्त करता है, तो वह UdsTransportProtocolMgr::IndicateMessage को कॉल करता है। ऐसा करते समय वह payloadInfo में प्रारंभिक पेलोड पास कर सकता है; कार्यात्मक अनुरोधों की समय पूर्व पहचान के लिए कम से कम पहले दो बाइट्स अनुशंसित हैं AUTOSAR_AP_SWS_Diagnostics §7.1 “UDS Transport Layer”।
बफ़र आवंटन: यदि DM स्वीकार करने के लिए तैयार है, तो IndicateMessageIndicationResult::kIndicationOk से एक std::pair और एक मान्य स्मार्ट-पॉइंटर UdsMessagePtr[SWS_DM_00309][SWS_DM_00385] के साथ उत्तर देता है। संदर्भित UdsMessage-ऑब्जेक्ट की न्यूनतम क्षमता एक बाइट [SWS_DM_00385] होती है। बफ़र को DM कोर के एक विशिष्ट डिलीटर के साथ std::unique_ptr के रूप में प्रबंधित किया जाता है और यह थ्रेड-सुरक्षित नहीं है [SWS_DM_00303]। पढ़ने की पहुँच के लिए स्थिर समतुल्य UdsMessageConstPtr[SWS_DM_00304] मौजूद है।
डेटा स्थानांतरण: हैंडलर प्राप्त नैदानिक डेटा को प्रदान किए गए बफ़र में लिखता है, जिसका बाइट क्रम ByteSpan प्रकार (ara::core::Span<ara::core::Byte>[SWS_DM_00338] के लिए उपनाम) के माध्यम से टाइप किया जाता है। संभवतः GetPeriodicHandler के माध्यम से अलग वर्ग UdsTransportProtocolPeriodicHandler का प्रावधान आवधिक ट्रांसमिशन सेवा 0x2A को नियमित UDS संदेश पथ से अलग करने का कार्य करता है। प्रश्न Q-230ef0b7c384c594 (खुला)
विनिर्देश ट्रांसपोर्ट कनेक्शन के लिए ठोस त्रुटि स्थितियों और पूर्व-शर्तों को परिभाषित करता है:
विफल आरंभीकरण: यदि UdsTransportProtocolHandler::Initialize परिणाम kInitializeFailed देता है, तो DM इस हैंडलर के लिए आरंभीकरण प्रक्रिया को तुरंत समाप्त कर देता है और इस पर कोई अन्य मेथड कॉल नहीं करता है [SWS_DM_01745]।
व्यस्त नैदानिक कोर के कारण अस्वीकृति: यदि DM समान टेस्टर-प्रेजेंट वार्तालाप के चल रहे सर्विस प्रोसेसिंग द्वारा अवरुद्ध है और यह payloadInfo0x3E 0x80 के साथ एक कार्यात्मक टेस्टर-प्रेजेंट नहीं है, तो IndicateMessage संदेश बफ़र के बजाय एक nullptr के साथ परिणाम kIndicationOccupied लौटाता है [SWS_DM_00386]।
समापन के बाद अनधिकृत कॉल: यदि कोई प्लगइन Stop की वापसी के बाद HandlerStopped के अलावा UdsTransportProtocolMgr का कोई अन्य मेथड कॉल करता है, तो यह प्रोटोकॉल विनिर्देशों [SWS_DM_01741] का उल्लंघन करता है। इसी तरह, यदि सिग्नल जैसे ChannelReestablishedStart के सफल कॉल से पहले आते हैं, तो DM उन्हें अनदेखा कर देता है [SWS_DM_01744]।
यह मार्गदर्शिका विशेष रूप से AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देशों पर आधारित है।
KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.
क्लास आरेख
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
This is the unique_ptr for constant UdsMessages containing a custom deleter as provided by the generic/core DM part towards the UdsTransportLayer-Plugin.
This is the unique_ptr for constant UdsMessages containing a custom deleter as provided by the generic/core DM part towards the UdsTransportLayer-Plugin.
Hinweise: How the exact typedef for UdsMessageConstPtr looks like, is up to the DM product vendor. I.e. how f.i. the deleter signature looks like ... basically the minimal agreement is: UdsMessage ConstPtr shall behave like a std::unique_ptr<const UdsMessage>!
Request a governed re-review of this record. The record is not changed immediately.
Hinweise: How the exact typedef for UdsMessagePtr looks like, is up to the DM product vendor. I.e. how f.i. the deleter signature looks like ... basically the minimal agreement is: UdsMessagePtr shall behave like a std::unique_ptr<UdsMessage>!
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल