सीएनसी मशीनिंग विनिर्माण में मुख्य प्रक्रियाओं में से एक है जो जटिल और परिष्कृत उत्पादों का उत्पादन करती है जिनका विभिन्न उद्योगों में अनुप्रयोग होता है। सीएनसी मशीनिंग की बेजोड़ दक्षता और सटीकता के केंद्र में जी और एम कोड हैं - महत्वपूर्ण प्रोग्रामिंग भाषाएं जो सीएनसी मशीनों का मार्गदर्शन करती हैं।
आम धारणा के विपरीत, जी कोड और एम कोड सीएनसी संचालन में अलग भूमिका निभाते हैं। जी कोड मुख्य रूप से मशीन को कट की ज्यामिति पर निर्देश देते हैं, जबकि एम कोड हार्डवेयर पहलुओं को नियंत्रित करते हैं, जैसे स्पिंडल को चालू या बंद करना। सीएनसी मशीनिंग की पूरी क्षमता को समझने के लिए यह सूक्ष्म अंतर महत्वपूर्ण है।
इस लेख में, हम इन कोडों की विशिष्टताओं पर प्रकाश डालते हैं, उनके अद्वितीय कार्यों को उजागर करते हैं और सीएनसी मशीन के प्रदर्शन को अनुकूलित करने के लिए वे कैसे तालमेल बिठाते हैं।
सीएनसी मशीनिंग क्या है?
सीएनसी प्रोग्रामिंग कोड की बारीकियों पर गौर करने से पहले सीएनसी मशीनिंग को समझना मौलिक है। सीएनसी मशीनिंग, या कंप्यूटर संख्यात्मक नियंत्रण मशीनिंग, विभिन्न सामग्रियों से सटीक और जटिल भागों का उत्पादन करने के लिए कम्प्यूटरीकृत नियंत्रण और मशीन टूल्स का उपयोग करता है। प्रौद्योगिकी ने आधुनिक विनिर्माण के परिदृश्य को महत्वपूर्ण रूप से बदल दिया है क्योंकि यह बढ़ी हुई दक्षता और सटीकता प्रदान करती है, और जटिल ज्यामिति बना सकती है।
इसके प्रमुख लाभ हैं:
- प्रेसिजन: सीएनसी मशीनिंग जटिल भागों के उत्पादन में उच्च परिशुद्धता और सटीकता प्रदान करती है।
- क्षमता: स्वचालित प्रक्रियाएँ और अनुकूलित उपकरण पथ कुशल सामग्री निष्कासन में योगदान करते हैं।
- बहुमुखी प्रतिभा: सामग्री और अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त।
- repeatability: सीएनसी मशीनें सुसंगत गुणवत्ता के साथ समान भागों का उत्पादन कर सकती हैं।
सीएनसी प्रोग्रामिंग सीएनसी मशीनों को कैसे नियंत्रित करती है?
कंप्यूटर के आगमन से पहले, मशीन चालक मशीन की गतिविधियों को नियंत्रित करने के लिए कार्ड या टेप का उपयोग करते थे। कोड बनाने के लिए उन्होंने इन कार्डों में एक विशिष्ट क्रम में छेद किए। हालाँकि यह उस समय प्रभावी भी था, लेकिन यह काफी थकाऊ था। साथ ही, इन कार्डों के क्षतिग्रस्त होने या मशीन की दुकानों में खो जाने का खतरा था। इससे उस समय उत्पादन में कई समस्याएँ पैदा हुईं।
जब मशीनिस्टों ने संख्यात्मक रूप से नियंत्रित मशीनों के लिए कंप्यूटर का उपयोग करना शुरू किया, तब भी उन्हें कुछ समस्याओं का सामना करना पड़ा। ऐसा इसलिए था क्योंकि उन्हें मैन्युअल रूप से कोड डालने पड़ते थे। यह निश्चित रूप से बहुत थकाऊ होगा जब वे काफी परिष्कृत हिस्से बना रहे होंगे जिसके लिए बहुत सारे निर्देशों की आवश्यकता होगी।
उन्नत कंप्यूटर और सॉफ्टवेयर के आगमन ने सीएनसी मशीनिंग में क्रांति ला दी है। मशीनिस्ट अब केवल सॉफ्टवेयर में निर्देश इनपुट करते हैं, जो फिर मशीनों के लिए आवश्यक जी कोड और एम कोड उत्पन्न करता है। इस प्रक्रिया को बहुत सरल बनाया गया है सीएडी और सीएएम सॉफ्टवेयर, ने कोड निर्माण और मशीन संचालन को अधिक कुशल और सुलभ बना दिया है, जिससे विनिर्माण में सटीकता और जटिलता दोनों बढ़ गई है।
प्रक्रिया शुरू करने के लिए, प्रोग्रामर को उच्च-स्तरीय कंप्यूटर-सहायता प्राप्त सॉफ़्टवेयर की आवश्यकता होती है। प्रोग्रामर फिर मशीन मॉडल और आयात करता है मशीनिंग स्थिरता सॉफ़्टवेयर में, फिर स्पिंडल के टूल और टूलिंग पथ का चयन करता है। एक बार ये पैरामीटर सेट हो जाने के बाद, सॉफ्टवेयर कुशलतापूर्वक अपेक्षित जी और एम कोड उत्पन्न करता है, जो सीएनसी मशीन को प्रभावी ढंग से संचालित करने के लिए आवश्यक हैं।
सीएनसी प्रोग्रामिंग में जी-कोड क्या हैं?
G कोड (RS-274D भी) सबसे लोकप्रिय CNC प्रोग्रामिंग भाषा है। अधिकांश जी कोड कमांड अल्फ़ान्यूमेरिक में हैं प्रारूपित करें और G से प्रारंभ करें जो ज्यामिति के लिए है। वे सीएनसी मशीनों की गतिविधियों के लिए जिम्मेदार हैं, वे मशीन को बताते हैं कि किसी हिस्से का निर्माण करते समय कहां से शुरू करना है, कैसे चलना है और कब रुकना है।
हालाँकि, जी कोड मशीन चालकों के लिए काफी जटिल हो सकता है क्योंकि विभिन्न मशीनें अलग-अलग प्रारूपों में जी कोड पढ़ती हैं। अधिकांश मशीनों में अंतर कमांड के बीच रिक्त स्थान की उपस्थिति या अनुपस्थिति और कमांड में अक्षर और संख्या के बीच शून्य की संख्या में होता है। उदाहरण के लिए, एक मशीन G3 का उपयोग कर सकती है जबकि दूसरी G03 का उपयोग करती है। मशीनिस्टों को हमेशा उस मशीन के प्रकार से परिचित रहना चाहिए जिसका वे उपयोग कर रहे हैं। अन्यथा, कमांड में त्रुटियां भागों के उत्पादन में गंभीर समस्याएं पैदा कर सकती हैं।
जी कोड के अलावा, प्रोग्रामर अन्य अक्षरों का भी उपयोग करते हैं जो विशिष्ट कार्यों को भी दर्शाते हैं। ये पत्र सीएनसी प्रोग्रामिंग की भाषा में विविधता लाते हैं, जिससे सटीक और जटिल मशीनिंग कार्यों के लिए आदेशों की एक विस्तृत श्रृंखला सक्षम हो जाती है।
- A: यह उपकरण को एक्स-अक्ष के चारों ओर निर्देशित करता है।
- R: यह मशीन द्वारा बनाए गए चापों की त्रिज्या देता है।
- एक्स और जेड: ये तीन मान तीन आयामों में उपकरण की स्थिति को इंगित करते हैं - X और Y क्रमशः क्षैतिज और ऊर्ध्वाधर आयामों का प्रतिनिधित्व करते हैं, जबकि Z गहराई का प्रतिनिधित्व करता है।
- मैं और जे: दोनों मान मशीन द्वारा बनाए गए किसी भी चाप के वृद्धिशील केंद्र को निर्दिष्ट करते हैं।
- N: एन लाइन नंबर देता है।
कोड अन्य अक्षरों का भी उपयोग करता है जो मशीन की क्षमताओं पर निर्भर करते हैं।
खंड | Description | उद्देश्य |
% | कार्यक्रम की शुरुआत | कार्यक्रम शुरू करें |
O00001 (परियोजना 1) | कार्यक्रम संख्या (कार्यक्रम का नाम) | कार्यक्रम शुरू करें |
(टी1 0.25 अंत मिल) | ऑपरेटर के लिए उपकरण विवरण | कार्यक्रम शुरू करें |
N1 G17 G20 G40 G49 G80 G90 | मशीन सुरक्षित मोड में है यह सुनिश्चित करने के लिए सुरक्षा ब्लॉक | कार्यक्रम शुरू करें |
एन2 टी1 एम6 | टूल #1 लोड करें | उपकरण बदलें |
एन3 एस9200 एम3 | स्पिंडल स्पीड 9200 आरपीएम, सीडब्ल्यू पर | उपकरण बदलें |
एन4 जी54 | फिक्सचर ऑफ़सेट #1 का उपयोग करें | स्थिति पर जाएँ |
N5 एम 8 | शीतलक चालू | स्थिति पर जाएँ |
N6 GOO X-0.025 Y-0.275 | तेजी से ऊपर का भाग | स्थिति पर जाएँ |
N7 G43 Z1. एच 1 | सुरक्षित तल पर तेजी से, उपकरण की लंबाई ऑफसेट #1 का उपयोग करें | स्थिति पर जाएँ |
N8 ZO.1 | हवाई जहाज़ को खिलाने में तेज़ | स्थिति पर जाएँ |
N9 G01 Z-0.1 F18 | लाइन को 18 आईपीएम पर काटने की गहराई तक ले जाया गया | स्थिति पर जाएँ |
N10 G41 Y0.1 D1 F36 | सीडीसी ने लीड इन लाइन छोड़ दी, दीया। ऑफसेट #1, 36 आईपीएम | मशीन समोच्च |
N11 Y2.025 | रेखा चाल | मशीन समोच्च |
एन12 एक्स2.025 | रेखा चाल | मशीन समोच्च |
N13 Y-0.025 | रेखा चाल | मशीन समोच्च |
एन14 एक्स-0.025 | रेखा चाल | मशीन समोच्च |
N15 G40 X-0.4 | लीड-आउट मूव के साथ सीडीसी को बंद करें | मशीन समोच्च |
N16 G00 Z1 | तेजी से सुरक्षित विमान | मशीन समोच्च |
एन17 एमएस | धुरी बंद | उपकरण बदलें |
N18 एम 9 | शीतलक बंद | उपकरण बदलें |
(टी2 0.25 ड्रिल) | ऑपरेटर के लिए उपकरण विवरण | उपकरण बदलें |
एन19 टी2 एम6 | टूल #2 लोड करें | उपकरण बदलें |
एन20 एस3820 एम3 | स्पिंडल स्पीड 3820 आरपीएम, सीडब्ल्यू पर | उपकरण बदलें |
N21 एम 8 | शीतलक चालू | स्थिति पर जाएँ |
N22 X1 Y1 | छेद के ऊपर तेजी से | स्थिति पर जाएँ |
N23 G43 Z1 H2 | तेजी से सुरक्षित विमान, उपकरण की लंबाई का उपयोग करें, ऑफसेट 2 | स्थिति पर जाएँ |
N24 Z0.25 | हवाई जहाज़ को खिलाने में तेज़ | स्थिति पर जाएँ |
N25 G98 G81 Z-0.325 RO.1 F12 | ड्रिल छेद (डिब्बाबंद) चक्र. गहराई Z-.325, F12 | छेद करना |
एन26 जी80 | ड्रिल चक्र रद्द करें | छेद करना |
N27 Z1 | तेजी से सुरक्षित विमान | छेद करना |
एन28 एमएस | धुरी बंद | अंत कार्यक्रम |
N29 एम 9 | शीतलक बंद | अंत कार्यक्रम |
N30 G91 G28 Z0 | Z में मशीन होम स्थिति पर लौटें | अंत कार्यक्रम |
N31 G91 G28 X0 Y0 | XY में मशीन होम स्थिति पर लौटें | अंत कार्यक्रम |
एन32 जी90 | पूर्ण पोजिशनिंग मोड पर रीसेट करें (सुरक्षा के लिए) | अंत कार्यक्रम |
N33 एम 30 | प्रोग्राम को शुरुआत में रीसेट करें | अंत कार्यक्रम |
% | अंत कार्यक्रम | अंत कार्यक्रम |
सीएनसी प्रोग्रामिंग में एम-कोड क्या हैं?
एम कोड, जी कोड के समान, 'एम' अक्षर से शुरू होता है और इसमें सीएनसी मशीन के गैर-ज्यामितीय कार्यों को नियंत्रित करने के लिए महत्वपूर्ण सहायक कमांड की एक श्रृंखला शामिल होती है। ये कोड, जिन्हें अक्सर विविध कोड के रूप में जाना जाता है, प्रोग्राम को रोकने, कूलेंट सिस्टम को सक्रिय करने और ऑपरेशन के बाद मशीन को बंद करने जैसे आवश्यक संचालन का प्रबंधन करते हैं।
सीएनसी प्रोग्रामिंग में, एम कोड का सटीकता के साथ उपयोग करना महत्वपूर्ण है। आमतौर पर, प्रोग्राम जानकारी के प्रत्येक ब्लॉक में केवल एक एम कोड होना चाहिए। यह अभ्यास अनिवार्य है क्योंकि एम कोड अक्सर विभिन्न मशीन कार्यों को सक्रिय या निष्क्रिय करने का काम करते हैं। इन आदेशों को एक ही ब्लॉक में ओवरलैप करने से प्रोग्रामिंग टकराव और परिचालन संबंधी त्रुटियां हो सकती हैं।
जी कोड के समान, एम कोड विभिन्न सीएनसी मशीनों में भिन्न होते हैं। इस भिन्नता में कोड के संख्यात्मक स्वरूपण में अंतर शामिल हो सकता है, जैसे कि अग्रणी शून्य को शामिल करना या बाहर करना। उदाहरण के लिए, एक मशीन M कोड को 'M3' के रूप में पहचान सकती है, जबकि दूसरी को 'M03' की आवश्यकता होती है। इसलिए, निर्बाध और त्रुटि मुक्त मशीनिंग प्रक्रियाओं को सुनिश्चित करने के लिए मशीन चालकों को उनके द्वारा संचालित उपकरणों की विशिष्ट कोडिंग आवश्यकताओं से अच्छी तरह वाकिफ होना चाहिए।
इसकी सूची सीएनसी मशीनिंग के लिए जी और एम कोड
यह अनुभाग बुनियादी जी और एम कोड की एक श्रृंखला को दर्शाता है, जो उनकी विशिष्ट कार्यक्षमताओं पर प्रकाश डालता है। जबकि कुछ कोडों के दोनों सूचियों में समान अर्थ हैं, अन्य सीएनसी मशीनिंग में अनुप्रयोग और व्याख्या में काफी भिन्न हैं।
जी कोड का आमतौर पर उपयोग किया जाता है
सीएनसी मशीनिंग में जी-कोड जटिल संचालन को व्यवस्थित कार्यों में बदल देते हैं, मानकीकृत कोड के साथ स्थिरता और चरम प्रदर्शन सुनिश्चित करते हैं। यहां सीएनसी मशीनों के साथ काम करने वाले किसी भी व्यक्ति के लिए महत्वपूर्ण कुछ प्रमुख जी-कोड पर एक नजर है।
- G00 - तीव्र स्थिति निर्धारण: इस कमांड का उपयोग टूल को अधिकतम गति से निर्दिष्ट निर्देशांक तक तेज़ी से ले जाने के लिए किया जाता है। मुख्य रूप से, यह सामग्री को काटने में शामिल किए बिना उपकरण को स्थिति में रखता है, और गैर-काटने वाले आंदोलनों के लिए मशीन की दक्षता को अनुकूलित करता है।
- G01 - रैखिक अंतर्वेशन: यह आदेश उपकरण को एक निर्धारित फ़ीड दर पर दो बिंदुओं के बीच एक सीधी रेखा में चलने का निर्देश देता है। मुख्य रूप से स्ट्रेट-लाइन कटिंग के लिए उपयोग किया जाने वाला G01 सीएनसी मशीनिंग में सबसे अधिक उपयोग किए जाने वाले G कोड में से एक है।
- G02 - वृत्ताकार अंतर्वेशन (दक्षिणावर्त): यह कमांड उपकरण को दक्षिणावर्त दिशा में गोलाकार पथ पर निर्देशित करके चाप और वृत्त बनाने की सुविधा प्रदान करता है। यह एक निर्दिष्ट समापन बिंदु तक सटीक गति सुनिश्चित करता है, जो सर्कुलर मशीनिंग कार्यों के लिए आवश्यक है।
- G03 - वृत्ताकार अंतर्वेशन (वामावर्त दिशा में): यह कमांड G02 को प्रतिबिंबित करता है, लेकिन उपकरण को एक गोलाकार पथ पर वामावर्त दिशा में घुमाते हुए। यह उन चापों और वृत्तों को तैयार करने के लिए आवश्यक है जिनके लिए वामावर्त दृष्टिकोण की आवश्यकता होती है।
- G04 - निवास: यह कमांड सीएनसी मशीन को पूर्वनिर्धारित अवधि के लिए अपनी वर्तमान स्थिति पर अस्थायी रूप से रुकने का निर्देश देता है। ड्वेल फ़ंक्शन विशेष रूप से ऐसे परिदृश्यों में उपयोगी है जैसे काटने के उपकरण को ठंडा करने की अनुमति देना या स्पिंडल को वांछित गति प्राप्त करने में सक्षम बनाना।
अन्य फ़ंक्शन जी कोड की एक सूची
कोड | वर्ग | समारोह | मॉडल | टर्निंग या मिलिंग के लिए |
G17 | विमान चयन | XY विमान चयन | हाँ | दोनों |
G96 | गति और फ़ीड | निरंतर सतही गति | हाँ | मोड़ |
G91 | पोजिशनिंग और मोड | वृद्धिशील मोड | हाँ | दोनों |
G03 | सर्कुलर इंटरपोलेशन (सीसीडब्ल्यू) | चाप और वृत्त बनाएँ (वामावर्त दिशा में) | हाँ | दोनों |
G04 | ध्यान केन्द्रित करना | एक निर्दिष्ट अवधि के लिए रुकें | नहीं | दोनों |
G18 | विमान चयन | XZ विमान चयन | हाँ | मोड़ |
G19 | विमान चयन | YZ विमान चयन | हाँ | मोड़ |
G20 | इकाई प्रणाली | इंच प्रणाली | हाँ | दोनों |
G21 | इकाई प्रणाली | मीट्रिक प्रणाली | हाँ | दोनों |
G40 | कटर मुआवजा | कटर मुआवज़ा रद्द करें | हाँ | पिसाई |
जी कोड पर अतिरिक्त जानकारी के लिए कृपया देखें यह संसाधन.
आम तौर पर प्रयुक्त एम कोड
हालाँकि सीएनसी मशीनें आम तौर पर जी-कोड के समान एम-कोड का उपयोग करती हैं, लेकिन सभी मॉडलों में मानकीकरण को सार्वभौमिक रूप से नहीं अपनाया जाता है। इस प्रकार, सीएनसी प्रोग्रामर को मशीन-विशिष्ट कोड के बारे में सतर्क रहना चाहिए। फिर भी, कुछ एम-कोड लगातार सभी मशीनों में समान अर्थ रखते हैं।
- M00 - प्रोग्राम स्टॉप: सीएनसी प्रोग्राम को अस्थायी रूप से बंद करने के लिए। प्रोग्राम को फिर से शुरू करने के लिए अक्सर ऑपरेटर के हस्तक्षेप की आवश्यकता होती है।
- M02 - कार्यक्रम समाप्ति: सीएनसी कार्यक्रम को समाप्त करने के लिए. इस कोड को निष्पादित करने के बाद, नियंत्रण बंद हो जाएगा, और ऑपरेटर को मशीन को रीसेट या पुनरारंभ करने की आवश्यकता हो सकती है।
- M03 - स्पिंडल ऑन, दक्षिणावर्त: धुरी को दक्षिणावर्त दिशा में घुमाना शुरू करने के लिए। स्पिंडल गति निर्धारित करने के लिए अक्सर स्पीड कमांड (एस) का पालन किया जाता है।
- M04 - स्पिंडल ऑन, वामावर्त: M03 के समान, M04 का उपयोग स्पिंडल को शुरू करने के लिए किया जाता है, लेकिन यह वामावर्त दिशा में घूमता है।
- M05 - स्पिंडल स्टॉप: स्पिंडल रोटेशन को रोकने के लिए. इसका उपयोग अक्सर तब किया जाता है जब उपकरण परिवर्तन या अन्य ऑपरेशन के लिए स्पिंडल को स्थिर रखने की आवश्यकता होती है।
अन्य फ़ंक्शन एम कोड की एक सूची
कोड | वर्ग | समारोह | मॉडल | टर्निंग या मिलिंग के लिए |
M08 | शीतलक | शीतलक बाढ़ या चालू | नहीं | दोनों |
M42 | सहायक कार्य | हाई गियर चयन | नहीं | मोड़ |
M19 | धुरी नियंत्रण | स्पिंडल ओरिएंटेशन बदलें | नहीं | पिसाई |
M00 | कार्यक्रम नियंत्रण | प्रोग्राम स्टॉप | नहीं | दोनों |
M02 | कार्यक्रम नियंत्रण | कार्यक्रम का अंत | नहीं | दोनों |
M03 | धुरी नियंत्रण | स्पिंडल ऑन, क्लॉकवाइज़ | नहीं | दोनों |
M04 | धुरी नियंत्रण | स्पिंडल ऑन, वामावर्त | नहीं | दोनों |
M05 | धुरी नियंत्रण | स्पिंडल स्टॉप | नहीं | दोनों |
M06 | उपकरण परिवर्तन | उपकरण परिवर्तन | नहीं | दोनों |
M09 | शीतलक | शीतलक बंद | नहीं | दोनों |
एम कोड पर अतिरिक्त जानकारी के लिए कृपया देखें यह संसाधन.
आइए G और M कोड के बीच अंतर को संक्षेप में बताएं
जी-कोड:
- सीएनसी मशीन की गति और कार्य को निर्देशित करें।
- स्थितियों और गतिविधियों का वर्णन करें, जैसे कि एक विशिष्ट XY विमान में तेजी से स्थिति, रैखिक फ़ीड आंदोलन और गोलाकार प्रक्षेप।
- ज्यामितीय कोड से संबंधित, उत्पाद डिज़ाइन में कार्य करें।
- सीएनसी मशीन सक्रिय करें.
एम-कोड:
- नियंत्रण संचालन में गतिविधियां शामिल नहीं होती हैं, जैसे प्रोग्राम को रोकना, उपकरण बदलना, स्पिंडल को चालू या बंद करना और शीतलक प्रणालियों को सक्रिय करना।
- मशीन के कार्यों से संबंधित और विभिन्न विविध परिचालनों में सेवा प्रदान करना।
- मशीन के प्रोग्रामेबल लॉजिक कंट्रोलर (पीएलसी) को सक्रिय करें।
सीएनसी मशीनिंग में रैपिडडायरेक्ट की विशेषज्ञता
एक्सप्लोर सीएनसी मशीनिंग समाधान रैपिडडायरेक्ट के साथ, जहां समझ और सटीकता मिलती है। हमारी टीम जी और एम कोड की पेचीदगियों में कुशल है, जो यह सुनिश्चित करती है कि हर परियोजना को विस्तार और विशेषज्ञता पर ध्यान दिया जाए। हम उच्च गुणवत्ता वाले परिणाम देने में विश्वास करते हैं जो प्रभावी और किफायती दोनों हैं।
हमारा उपयोगकर्ता-अनुकूल प्लेटफ़ॉर्म आपके अनुभव को सुव्यवस्थित करता है, त्वरित कोटेशन और एक सीधी परियोजना ट्रैकिंग प्रक्रिया प्रदान करता है। हमारी कुशल और सुलभ प्रणाली के साथ आपकी सीएनसी मशीनिंग आवश्यकताओं को प्रबंधित करना आसान हो जाता है।
आइए आपके विनिर्माण लक्ष्यों को प्राप्त करने के लिए सहयोग करें।
निष्कर्ष
सीएनसी मशीनों का उपयोग सीएनसी मशीनिंग में सबसे महत्वपूर्ण प्रक्रियाओं में से एक है। हालाँकि, ये मशीनें G कोड और M कोड के बिना काम नहीं कर सकती हैं जो उन्हें निर्देश देते हैं कि क्या करना है। इन कोडों को कैसे उत्पन्न किया जाए यह समझना सीएनसी मशीनिंग प्रक्रिया और सफल भागों के उत्पादन के लिए महत्वपूर्ण है। इन कोडों में महारत हासिल करने से आपको अपने काम में बढ़त मिलती है सीएनसी प्रोग्रामिंग करियर.