1 परिचय
माइक्रोकंट्रोलर स्वचालित नियंत्रण उपकरणों, पावर ग्रिडों के लिए माइक्रोप्रोसेसर आधारित एकीकृत सुरक्षा प्रणालियों और अन्य औद्योगिक स्वचालन नियंत्रण क्षेत्रों में तेजी से लागू हो रहे हैं, इन उपकरणों की जटिलता लगातार बढ़ रही है। विकास लक्ष्यों की वास्तविक समय, बहु कार्य संबंधी मांगों को संबोधित करने के लिए, एकल सीपीयू, एकल डेवलपर मॉडल को एक सहयोगी दृष्टिकोण से प्रतिस्थापित किया जा रहा है जिसमें विभिन्न प्रकार के कई सीपीयू और कई डेवलपर्स शामिल हैं। यह नया विकास प्रतिमान एक महत्वपूर्ण चुनौती पेश करता है: कार्यान्वयन के दौरान सीपीयू के बीच सूचना के आदान-प्रदान के लिए हार्डवेयर और सॉफ्टवेयर का मानकीकरण। यह मानकीकरण इस नए मॉडल को सफलतापूर्वक अपनाने के लिए महत्वपूर्ण है। कई संचार विधियों के बीच, यूएआरटी आधारित आरएस-485 सीरियल संचार प्रोटोकॉल को इसकी सरल वायरिंग, उच्च विश्वसनीयता और कई सीपीयू का समर्थन करने की क्षमता के कारण व्यापक रूप से अपनाया जाता है। सॉफ़्टवेयर संचार प्रोटोकॉल के संबंध में, मोडबस प्रोटोकॉल अपनी सार्वभौमिक प्रकृति और परिपक्व डिबगिंग सॉफ़्टवेयर के कारण उपयोगकर्ताओं को महत्वपूर्ण लाभ प्रदान करता है। इसलिए, नए मोटर व्यापक सुरक्षा उपकरण के विकास के दौरान, कई सीपीयू के बीच डेटा और नियंत्रण कमांड सूचना विनिमय को प्राप्त करने के लिए आरएस -485 सीरियल संचार विधि और मोडबस संचार प्रोटोकॉल को अपनाया गया था। धारावाहिक संचार की दक्षता और समन्वय को बढ़ाने के लिए, लेखक ने संचार तंत्र के हार्डवेयर और सॉफ्टवेयर वास्तुकला में कई उपायों को लागू किया, जिससे उत्कृष्ट परिणाम प्राप्त हुए। सिस्टम संचार डिबगिंग चरण के दौरान, एक विधि नियोजित की गई थी जहां प्रत्येक सीपीयू मॉड्यूल ने आपसी इंटरकनेक्शन डिबगिंग से गुजरने से पहले मानक मोडबस परीक्षण सॉफ़्टवेयर के साथ संचार किया, जिससे सहयोगात्मक विकास दक्षता में काफी सुधार हुआ। अभ्यास ने साबित कर दिया है कि यह डिज़ाइन दर्शन डिवाइस की परिचालन दक्षता और विश्वसनीयता को बढ़ाते हुए सिस्टम संरचना को सरल बनाता है।
मोटर व्यापक सुरक्षा उपकरण की 2 विशेषताएं
व्यापक सुरक्षा कार्यों से परे, मोटर सुरक्षा उपकरण माप, टेलीकंट्रोल और संचार क्षमताओं को एकीकृत करता है। इसका बड़ा {{1}स्क्रीन चीनी कैरेक्टर एलसीडी डिस्प्ले उपयोगकर्ता के अनुकूल इंटरफेस सक्षम बनाता है। मॉनिटरिंग होस्ट के साथ CAN बस संचार का उपयोग करते हुए, यह एक पदानुक्रमित, वितरित सबस्टेशन स्वचालन प्रणाली के भीतर एक सबसिस्टम बनाता है। इसकी बहु-कार्यात्मक आवश्यकताओं के लिए सिस्टम कार्यक्षमता को अनुकूलित करने के लिए, एक बहु-छह सीपीयू आर्किटेक्चर को अपनाया गया था। एक सीपीयू आवधिक पल्स नमूनाकरण और ट्रांसमिशन को संभालता है; मुख्य सीपीयू मॉड्यूल डेटा प्रोसेसिंग, विद्युत पैरामीटर गणना, दोष निदान और स्विचिंग संचालन का प्रबंधन करता है; जबकि बोर्ड मॉड्यूल सीपीयू मानव मशीन इंटरैक्शन की देखरेख करता है और मुख्य सुरक्षा मॉड्यूल और मॉनिटरिंग होस्ट के साथ संचार की सुविधा प्रदान करता है। प्रत्येक सीपीयू मॉड्यूल में कार्यों को स्पष्ट रूप से परिभाषित किया गया है, जिससे कार्यान्वयन के दौरान कई इंजीनियरों द्वारा सहयोगात्मक विकास की सुविधा मिलती है। सीरियल संचार मुख्य सीपीयू और पैनल सीपीयू को जोड़ता है, जिससे मानव मशीन संपर्क सक्षम होता है और इस प्रकार एक महत्वपूर्ण स्थान पर कब्जा हो जाता है। एक तर्कसंगत संचार तंत्र स्थापित करना धारावाहिक संचार अनुभाग का मूल है, जो सिस्टम विकास के बाद के चरणों के दौरान संचार समन्वय और डिबगिंग दक्षता का निर्धारण करता है।
3 संचार तंत्र का परिचय
3.1 संचार तंत्र का हार्डवेयर डिज़ाइन
इस प्रणाली के लिए प्रस्तावित संचार तंत्र का लक्ष्य उच्च दक्षता और विश्वसनीयता है। आरएस -485 एक अर्ध-डुप्लेक्स संरचना का उपयोग करता है, जो अक्सर क्षेत्र अनुप्रयोगों में पूर्ण-डुप्लेक्स की तुलना में अधिक व्यावहारिक होता है। यहां, केवल दो सिग्नल लाइनों का उपयोग करके एक सरलीकृत कनेक्शन अपनाया जाता है। सिस्टम इंटरफ़ेस सर्किट आरेख चित्र 1 में दिखाया गया है। मुख्य सुरक्षा मॉड्यूल पर 8051 माइक्रोकंट्रोलर द्वारा टीटीएल तर्क स्तर आउटपुट को वैकल्पिक रूप से अलग किया जाता है, फिर MAX485 चिप द्वारा आरएस -495 स्तर में परिवर्तित किया जाता है। इसके बाद, पैनल मॉड्यूल पर MAX485 चिप 8031 माइक्रोकंट्रोलर द्वारा पढ़ने के लिए इन्हें वापस टीटीएल लॉजिक स्तरों में परिवर्तित कर देता है। 8051 माइक्रोकंट्रोलर की तरफ, समानांतर I/O पोर्ट 2 का पिन P2.7 MAX इनपुट सक्षम पिन RE और आउटपुट सक्षम पिन DE को नियंत्रित करता है। जैसा कि चित्र 1 में दिखाया गया है, जब P2.7 उच्च स्तर का आउटपुट देता है, तो RE सक्षम हो जाता है, जिससे माइक्रोकंट्रोलर पक्ष को डेटा प्राप्त करने की अनुमति मिलती है। जब P2.7 निम्न स्तर का आउटपुट देता है, तो DE सक्षम हो जाता है, जिससे माइक्रोकंट्रोलर पक्ष को डेटा संचारित करने की अनुमति मिलती है। यह दृष्टिकोण ब्लाइंड ट्रांसमिशन के कारण ओवरलैपिंग के कारण होने वाली डेटा हानि को रोकता है, जिससे उच्च संचार गुणवत्ता और विश्वसनीय ट्रांसमिशन गति सुनिश्चित होती है।

3.2 संचार प्रोटोकॉल
सुरक्षा उपकरण के भीतर दो मॉड्यूल के बीच सटीक डेटा ट्रांसमिशन सुनिश्चित करने के लिए, ट्रांसमिशन मोड, डेटा प्रारूप और सामग्री सहित सूचना हस्तांतरण को नियंत्रित करने वाले विनिर्देशों का एक सेट आवश्यक है। यह प्रोटोकॉल या संचार प्रोटोकॉल का गठन करता है। आसानी से उपलब्ध, परिपक्व डिबगिंग सॉफ़्टवेयर के बिना, मुख्य सीपीयू मॉड्यूल अनिवार्य रूप से एक ब्लैक बॉक्स के रूप में कार्य करता है, जिससे सिस्टम एकीकरण परीक्षण के दौरान कई चुनौतियों पर काबू पाना मुश्किल हो जाता है। इसलिए, व्यापक रूप से अपनाए गए मॉडबस संचार प्रोटोकॉल को डिवाइस की विशिष्ट आवश्यकताओं के अनुरूप चुना और सरल बनाया गया, जिससे सिद्ध प्रभावशीलता के साथ सफल अंतर-मॉड्यूल संचार सक्षम हो सके। मॉडबस एक मास्टर-स्लेव संचार मॉडल का उपयोग करता है। मास्टर पहले दास को एक संचार अनुरोध आदेश भेजता है। इसके बाद स्लेव अनुरोध कमांड के भीतर फ़ंक्शन कोड के आधार पर डेटा के साथ मास्टर को जवाब देता है। प्रत्येक दास का एक विशिष्ट पता होता है। मास्टर द्वारा भेजे गए अनुरोध फ़्रेम और दास द्वारा भेजे गए प्रतिक्रिया फ़्रेम दोनों दास के पते से शुरू होते हैं। दास केवल स्वयं को संबोधित आदेशों को पढ़ते हैं और अन्य दास पतों से शुरू होने वाले संदेशों को अनदेखा कर देते हैं। यह कार्यक्षमता 8051 सीरियल पोर्ट के मोड 2 या मोड 3 का उपयोग करके कार्यान्वित की जाती है। यह प्रश्न {{19} और {20} उत्तर संचार मॉडल संचार सटीकता को महत्वपूर्ण रूप से बढ़ाता है। इस डिवाइस में मोडबस का आरटीयू ट्रांसमिशन मोड अपनाया गया है।
संचार विश्वसनीयता बढ़ाने के 4 उपाय
मॉडबस संदेश के अंतिम दो बाइट्स चेकसम बाइट्स के रूप में काम करते हैं। आरटीयू संचार त्रुटि का पता लगाने के लिए सीआरसी-16 चक्रीय अतिरेक जांच का उपयोग करता है। इसका एन्कोडिंग/डिकोडिंग तंत्र कम त्रुटि दर के साथ अपेक्षाकृत सरल है, जिसे कम्प्यूटेशनल या प्रोग्रामिंग विधियों के माध्यम से प्राप्त किया जा सकता है। कई दृष्टिकोण नीचे उल्लिखित हैं:
4.1 मूल एल्गोरिथम (मैन्युअल गणना)
उदाहरण के तौर पर CRC16-CCITT का उपयोग करना: CRC चेकसम 16 बिट है, और जनरेटिंग बहुपद 17 बिट है। मान लीजिए कि डेटा स्ट्रीम 4 बाइट्स है: BYTE, BYTE, BYTE, BYTE[0];
डेटा स्ट्रीम को 16 बिट्स द्वारा बाईं ओर शिफ्ट करें, प्रभावी रूप से इसे 256×256 के कारक से विस्तारित करें। फिर गैर-उधार विभाजन (बिटवाइज़ XOR के बराबर) का उपयोग करके जनरेटर बहुपद 0x11021 द्वारा विभाजन करें। परिणामी शेषफल सीआरसी चेकसम है। प्रेषित डेटा स्ट्रीम में 6 बाइट्स होते हैं: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0]।
4.2 कंप्यूटर एल्गोरिथम 1 (बिट-टाइप एल्गोरिथम)
1) विस्तारित डेटा स्ट्रीम (6 बाइट्स) के ऊपरी 16 बिट्स (BYTE, BYTE) को 16-बिट रजिस्टर में रखें;
2) यदि रजिस्टर का सबसे महत्वपूर्ण बिट 1 है, तो रजिस्टर को एक बिट से बाईं ओर शिफ्ट करें (अगले बाइट से कम से कम महत्वपूर्ण बिट प्राप्त करें), फिर जनरेटर बहुपद के सरलीकृत रूप के साथ एक एक्सओआर ऑपरेशन करें; अन्यथा, बस रजिस्टर को एक बिट द्वारा छोड़ दिया जाए (अगले बाइट से कम से कम महत्वपूर्ण बिट प्राप्त करना);
3) चरण 2 को तब तक दोहराएँ जब तक कि संपूर्ण डेटा स्ट्रीम (6 बाइट्स) रजिस्टर में स्थानांतरित न हो जाए;
4) रजिस्टर में मान सीआरसी चेकसम सीआरसी, सीआरसी[0] है।
4.3 कंप्यूटर एल्गोरिथम 2 (बाइट-टाइप एल्गोरिथम) (256^एन 256 को दर्शाता है जिसे एन की शक्ति तक बढ़ाया गया है)
बाइट{{0}आदेशित डेटा स्ट्रीम को गणितीय बहुपद के रूप में प्रस्तुत करें। मान लीजिए कि डेटा स्ट्रीम BYTE[n] BYTE[n-1] BYTE[n-2] है ... BYTE[0] को गणितीय अभिव्यक्ति के रूप में दर्शाया गया है
बाइट[एन] × 256^एन + बाइट[एन-1] × 256^(एन-1) + ... + बाइट × 256 + बाइट[0], जहां "+" एक्सओआर ऑपरेशन को दर्शाता है। मान लीजिए जनरेटर बहुपद G17 (17-बिट) है, तो CRC कोड CRC16 है।
सीआरसी16=(बाइट[एन] × 256^एन + बाइट[एन-1] × 256^(एन-1) + ... + बाइट × 256 + बाइट[0]) × 256^2 / जी17
इसमें डेटा स्ट्रीम को 16 बिट्स द्वारा स्थानांतरित करना और फिर जनरेटर बहुपद G17 द्वारा विभाजित करना शामिल है।
व्युत्पत्ति से पता चलता है कि BYTE[n-1] के लिए CRC चेक कोड पिछले बाइट के CRC चेक कोड Y[n] (YH8[n]) और वर्तमान बाइट BYTE[n-1] के ऊपरी 8 बिट्स के XOR परिणाम के बराबर है।
बाइट-प्रकार का एल्गोरिदम इस प्रकार है:
1) सीआरसी रजिस्टर समूह को सभी "0" (0x0000) से प्रारंभ करें।
2) सीआरसी रजिस्टर समूह को 8 बिट बाईं ओर शिफ्ट करें और इसे सीआरसी रजिस्टर समूह में संग्रहीत करें।
3) मूल्य तालिका की ओर इंगित करने वाले सूचकांक को प्राप्त करने के लिए मूल सीआरसी रजिस्टर समूह के उच्च 8 बिट्स (दाईं ओर 8 बिट्स स्थानांतरित) और डेटा बाइट के बीच एक एक्सओआर ऑपरेशन करें।
4) सूचकांक और सीआरसी रजिस्टर समूह द्वारा इंगित तालिका मान के बीच एक एक्सओआर ऑपरेशन करें।
5) डेटा पॉइंटर बढ़ाएँ। यदि डेटा प्रोसेसिंग पूरी नहीं हुई है, तो चरण 2 दोहराएं)।
6) सीआरसी प्राप्त करें।
संचार दक्षता में सुधार के 5 उपाय
5.1 अलग-अलग संचार प्राप्त और संचारित कार्य
8051 माइक्रोकंट्रोलर इंटरप्ट का उपयोग करके सीरियल पोर्ट के माध्यम से डेटा संचारित और प्राप्त कर सकता है। सीरियल पोर्ट नियंत्रक SCON आरंभीकरण और बिट एड्रेसिंग का समर्थन करता है। जब एक सीरियल पोर्ट इंटरप्ट अनुरोध होता है, तो SCON के निचले दो बिट्स ट्रांसमिट को पकड़ लेते हैं और इंटरप्ट प्राप्त करते हैं। जब सीपीयू सीरियल पोर्ट के ट्रांसमिट बफर एसयूबीएफ (निर्देश: एमओवी एसयूबीएफ, ए) पर डेटा या एक कैरेक्टर लिखता है तो ट्रांसमीटर भेजना शुरू कर देता है। एक डेटा फ्रेम पूरा करने के बाद, हार्डवेयर TI ध्वज को "1" पर सेट करता है, यह दर्शाता है कि सीरियल पोर्ट अगले डेटा फ्रेम को भेजने के लिए सीपीयू से रुकावट का अनुरोध कर रहा है। इसी तरह, यदि सीरियल पोर्ट रिसीवर को रिसेप्शन के लिए सक्षम किया गया है, तो डेटा का एक फ्रेम प्राप्त करने पर, आरआई ध्वज 1 पर सेट किया जाता है, जो दर्शाता है कि सीरियल पोर्ट प्राप्त डेटा बफर से डेटा पढ़ने के लिए सीपीयू से रुकावट का अनुरोध कर रहा है।
5.2 व्यवधान अवधि को कम करना
चूंकि सॉफ़्टवेयर आर्किटेक्चर डिज़ाइन में कई इंटरप्ट को नियोजित किया जाता है, विश्वसनीय प्रोग्राम संचालन सुनिश्चित करने और विभिन्न कार्यों के बीच टकराव की संभावना को कम करने के लिए, सॉफ़्टवेयर कार्यान्वयन को विभिन्न इंटरप्ट के कार्यों को सुव्यवस्थित करने और उनके निष्पादन समय को कम करने का प्रयास करना चाहिए। संचार इंटरप्ट सबरूटीन के भीतर, इंटरप्ट में प्रवेश करने पर आवश्यक कार्य करें, जैसे: सीरियल पोर्ट कंट्रोल रजिस्टर में संबंधित स्थिति बिट्स को साफ़ करना, प्राप्त वर्णों को पढ़ना या बफ़र से/से प्रेषित किए जाने वाले वर्णों को लिखना, प्राप्त या प्रेषित वर्णों की गिनती बढ़ाना आदि। फिर तुरंत इंटरप्ट से बाहर निकलें। अन्य कार्य, जैसे फ्रेम को मान्य करना, प्राप्त फ्रेम कमांड (टेलीमेट्री/टेलीकमांड) का जवाब देना, और ट्रांसमिशन फ्रेम तैयार करना, मुख्य कार्यक्रम के भीतर संभाला जाना चाहिए।
5.3 संचार ठहराव को रोकने के लिए कुशल फ़्रेम टर्मिनेशन डिटेक्शन
प्राप्त फ़्रेम के अंत का पता लगाने के लिए एक समर्पित सॉफ़्टवेयर टाइमर का उपयोग करना, यदि फ़्रेम अपूर्ण रूप से प्राप्त हुआ है तो संचार कार्यों को विलंबित होने से रोकता है, जिससे बाद के फ़्रेमों का समय पर स्वागत सुनिश्चित होता है। चूँकि एक फ्रेम के भीतर बाइट्स के बीच का समय अंतराल फ्रेम से {{1} से {2} फ्रेम अंतराल की तुलना में बहुत कम होता है, इसलिए हर बार एक नया बाइट प्राप्त होने पर सॉफ्टवेयर टाइमर शुरू हो जाता है। टाइमर को न्यूनतम फ़्रेम-से-फ़्रेम अंतराल पर सेट किया गया है। यह अंतराल अलग-अलग बॉड दरों के साथ बदलता रहता है। यदि अगला बाइट पूर्व निर्धारित समय बीतने से पहले प्राप्त होता है, तो यह इंगित करता है कि फ़्रेम अधूरा है, और टाइमर पुनरारंभ होता है। यदि टाइमर सफलतापूर्वक पूर्व निर्धारित समय तक गिनती करता है, तो यह संबंधित इंटरप्ट नंबर को ट्रिगर करता है। टाइमर इंटरप्ट सबरूटीन के भीतर, फ़्रेम एंड फ़्लैग बाइट सेट किया गया है, जो दर्शाता है कि फ़्रेम रिसेप्शन पूरा हो गया है। मास्टर प्रोग्राम द्वारा फ्रेम रिसेप्शन पूरा होने का पता लगाने के बाद, यह स्लेव एड्रेस और चक्रीय रिडंडेंसी चेक (सीआरसी) बाइट को सत्यापित करके फ्रेम की अखंडता को मान्य करता है। यदि मास्टर के लिए वैध फ्रेम के रूप में पुष्टि की जाती है, तो यह अपने फ़ंक्शन कोड के आधार पर फ्रेम कमांड को संसाधित करता है और एक फ्रेम भेजने के लिए तैयार करता है। जब दास को कोई गलत संदेश प्राप्त होता है, तो वह एक त्रुटि फ़्रेम वापस भेजता है। यदि प्राप्त संदेश में गलत सीआरसी है, तो दास जवाब न देने का विकल्प चुन सकता है। यदि मास्टर को निर्दिष्ट समय के भीतर दास से प्रतिक्रिया नहीं मिलती है, तो वह अनुरोध संदेश को दोबारा भेज देगा। यदि एकाधिक पुन: प्रसारण दास से प्रतिक्रिया प्राप्त करने में विफल रहता है, तो संचार विफलता की सूचना दी जाती है।
5.4 संचार गति का निर्धारण
चूंकि सभी डिवाइस एक ही चेसिस में रहते हैं, इसलिए मॉड्यूल के बीच की दूरी न्यूनतम है। मॉडबस लंबी दूरी के संचार के लिए RS485 पर काम करता है, जिससे बॉड दर पर दूरी के प्रभाव पर विचार करने की आवश्यकता समाप्त हो जाती है। इसके अलावा, मास्टर स्लेव संचार मोड लाइन भीड़ को रोकता है। इसलिए, संचार दक्षता के दृष्टिकोण से, जब तक सेट बॉड दर मॉड्यूल में उपयोग की जाने वाली चिप की अधिकतम बॉड दर सीमा से अधिक नहीं होती है, उच्च बॉड दर के परिणामस्वरूप तेजी से सूचना विनिमय और उच्च संचार दक्षता होती है। दोनों संचार पक्षों के लिए बॉड दर बिल्कुल समान निर्धारित करने से यह सुनिश्चित होता है कि प्राप्तकर्ता बिट चक्र के मध्य बिंदु पर प्रत्येक डेटा बिट का नमूना लेता है, जिससे विश्वसनीय संचार प्राप्त होता है।
5.5 उचित डिबगिंग विधियाँ
डिबगिंग के दौरान, पहले RS485/RS232 डेटा रूपांतरण मॉड्यूल के माध्यम से प्रत्येक सीपीयू मॉड्यूल और माइक्रो कंप्यूटर के बीच संचार का परीक्षण करें। सफल व्यक्तिगत परीक्षण के बाद, इंटरमॉड्यूल डिबगिंग के लिए आगे बढ़ें, जिससे समग्र डिबगिंग दक्षता में उल्लेखनीय सुधार होगा। मॉड्यूल से {{6} तक कंप्यूटर संचार डिबगिंग के दौरान, कंप्यूटर मास्टर की संचार प्रक्रिया को अनुकरण करने के लिए मोडबस डिबगिंग सॉफ़्टवेयर का उपयोग करता है, जो सक्रिय रूप से स्लेव से जानकारी का अनुरोध करता है। यह संपूर्ण रिसेप्शन और ट्रांसमिशन प्रक्रिया को पारदर्शी और स्पष्ट बनाता है, जिससे मॉड्यूल समस्याओं का समय पर समाधान संभव हो पाता है। संयुक्त डिबगिंग के दौरान, बस मॉनिटरिंग सॉफ़्टवेयर समस्याओं को तुरंत पहचानने और हल करने के लिए दोनों तरफ से डेटा का निरीक्षण करता है।
इस पेपर के 6 नवप्रवर्तन बिंदु
सबसे पहले, यह पेपर सुरक्षा उपकरण में एक सार्वभौमिक औद्योगिक मानक मोडबस को अपनाता है। आवश्यक टूल सॉफ़्टवेयर बौद्धिक संपदा लागत खर्च किए बिना सीधे संबंधित वेबसाइटों से प्राप्त किया जा सकता है। दूसरा, सुरक्षा उपकरण मल्टीटास्किंग को लागू करता है और सीपीयू मॉड्यूल के बीच एक उचित संयुक्त डिबगिंग तंत्र बनाने के लिए मोडबस प्रोटोकॉल का उपयोग करता है, जिससे सहयोगी सिस्टम विकास की दक्षता में काफी सुधार होता है।




