सर्विस 0x2A के समर्थन के लिए UDS डायग्नोस्टिक संदेशों के आवधिक संचरण को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: fabfa1b95261उद्गमखुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सर्विस 0x2A के समर्थन के लिए UDS डायग्नोस्टिक संदेशों के आवधिक संचरण को सक्षम बनाता है।
क्लास apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler ट्रांसपोर्ट-विशिष्ट डायग्नोस्टिक चैनलों के माध्यम से आवधिक UDS सर्विस 0x2A के प्रबंधन के लिए एक विशुद्ध वर्चुअल इंटरफ़ेस प्रदान करती है ([SWS_DM_01064])। यह डायग्नोस्टिक्स प्रबंधन को चैनल-विशिष्ट पेलोड और मात्रा सीमाओं को निर्धारित करने के साथ-साथ PeriodicTransmit ([SWS_DM_01067]) के माध्यम से कई UDS संदेशों के व्यवस्थित संचरण की अनुमति देती है। यदि कोई संदेश भेजने में विफल रहता है, तो प्रक्रिया निरस्त कर दी जाती है और स्थिति की सूचना एक पुष्टिकरण फ़ंक्शन के माध्यम से दी जाती है। चूँकि सभी विधियों को गैर-थ्रेड-सुरक्षित के रूप में निर्दिष्ट किया गया है, समवर्ती पहुँच को कॉलर द्वारा सिंक्रनाइज़ किया जाना चाहिए।
संदर्भ
विशुद्ध वर्चुअल क्लास 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 (खुला) इंस्टेंस का जीवनकाल आमतौर पर संबंधित ट्रांसपोर्ट प्रोटोकॉल स्टैक की उपलब्धता से बंधा होता है। संचार स्टैक की समाप्ति पर स्वच्छ बहुरूपी विनाश (polymorphic destruction) के लिए, क्लास एक वर्चुअल डिस्ट्रक्टर ~UdsTransportProtocolPeriodicHandler() प्रदान करती है ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 “Destructor”)।
समवर्तीता (concurrency) के संबंध में, क्लास के सभी सदस्य फ़ंक्शन स्पष्ट रूप से गैर-थ्रेड-सुरक्षित (not thread-safe) के रूप में निर्दिष्ट हैं ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089])। कई थ्रेड्स के माध्यम से समानांतर पहुँच या समान ChannelID पर एक साथ अनुरोधों के मामले में, कॉलर्स को इसलिए स्वतंत्र रूप से एक्सेस को सिंक्रनाइज़ करना होगा।
उपयोग पथ
सर्विस 0x2A के लिए आवधिक संदेश संचरण करने का एक सामान्य क्रम निम्नलिखित चरणों में विभाजित है:
आवधिक संचरण का निष्पादन: डायग्नोस्टिक्स प्रबंधन ara::core::Vector<UdsMessageConstPtr> में संदेशों की एक व्यवस्थित सूची मेथड PeriodicTransmit(channelId, messages) ([SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.2.3 “PeriodicTransmit”) को सौंपता है। हैंडलर शामिल संदेशों को पूर्व निर्धारित क्रम में प्रसारित करता है।
पुष्टिकरण (Bestätigung): ट्रांसपोर्ट लेयर PeriodicTransmit Confirmation के कॉल के माध्यम से प्रेषण प्रक्रिया (sending process) के परिणाम को संकेतित करती है, जो सफलतापूर्वक प्रेषित संदेशों की संख्या और मूल वेक्टर वापस लौटाता है ([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++ अपवादों (exceptions) का कारण नहीं बनती हैं, बल्कि निर्धारित पुष्टिकरण तंत्र के माध्यम से नियतात्मक रूप से (deterministically) रिपोर्ट की जाती हैं।
यह क्लास गाइड 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 · जर्मन मूल
इंटरफ़ेस apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler की शुद्ध वर्चुअल विधि PeriodicTransmit मौजूदा ट्रांसपोर्ट कनेक्शन पर आवधिक UDS संदेशों को बंडल किए गए रूप में भेजने के लिए कार्य करती है [SWS_DM_01067]। इसे आमतौर पर Diagnostic Management (DM) द्वारा ISO 14229-1 के अनुसार शेड्यूलर प्रकार 1 के आवधिक ट्रांसमिशन के संदर्भ में कॉल किया जाता है, जिसमें कॉन्फ़िगर किए गए आवधिक DIDs (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]। परिणाम की रिपोर्ट करने के लिए, UdsTransportProtocolMgr के पुष्टिकरण फ़ंक्शन PeriodicTransmitConfirmation को कॉल किया जाता है [SWS_DM_01069]। यह कॉलबैक सफलतापूर्वक प्रेषित संदेशों की संख्या के साथ-साथ उसी मूल संदेश वेक्टर को पास करता है [SWS_DM_01067]।
संगामिति
विधि को not thread-safe के रूप में निर्दिष्ट किया गया है [SWS_DM_01067]। समान इंस्टेंस पर समानांतर कॉल को कॉलर पक्ष पर सिंक्रनाइज़ किया जाना चाहिए।
यह पाठ विनिर्देश AUTOSAR Adaptive R25-11 के आधार पर एक AI द्वारा उत्पन्न किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल