पीएलसी प्रोग्रामिंग में बहुत सारे वेरिएबल्स को परिभाषित करना और बनाना शामिल है
ऐसे कई अलग-अलग प्रकार के वेरिएबल्स हैं जिनका उपयोग आप अपने पीएलसी कोड में कर सकते हैं।
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2603669830502585"
crossorigin="anonymous"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-format="fluid"
data-ad-layout-key="-fb+5w+4e-db+86"
data-ad-client="ca-pub-2603669830502585"
data-ad-slot="4484312901"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
इनमें से एक प्रकार स्थैतिक और अस्थायी चर हैं।
वे पीएलसी कार्यक्रमों में नियमित रूप से उपयोग किए जाते हैं।
इस लेख में, हम चर्चा करेंगे कि पीएलसी में स्थिर और अस्थायी चर क्या हैं,
उनके बीच क्या अंतर हैं, और उनका सही तरीके से उपयोग कैसे करें।
सामग्री - सरल कार्यक्रम उदाहरण।
कार्यक्रम का अनुकरण परिणाम भिन्न क्यों हैं?
इस जानकारी का उपयोग कैसे करें?
निष्कर्ष - सरल कार्यक्रम
उदाहरण - इन वेरिएबल्स को बेहतर ढंग से समझने के लिए और वे कैसे काम करते हैं आइए एक साधारण पीएलसी प्रोग्राम बनाकर शुरू करें!
जिससे हमें यह समझने में मदद मिल सके कि स्टेटिक और टेम्प वेरिएबल्स क्या हैं।
हम एक फंक्शन ब्लॉक FB बनाकर शुरू करेंगे और हम इस FB को मुख्य OB1 के अंदर कॉल करेंगे।
सीमेंस पीएलसी प्रोग्रामिंग में अस्थायी चर - एक FB बनाएं और उसे मुख्य OB1 के अंदर कॉल करें -
इस FB के अंदर हम एक साधारण लॉजिक बनाएंगे जहां हम ADD निर्देश का उपयोग एक अस्थायी चर #Count_Value_Temp में 1 का मान जोड़ने के लिए करते हैं
और वही निर्देश करते हैं लेकिन एक स्थिर चर #Count_Value_Static के साथ।
अस्थायी और स्थिर चर के साथ सीमेंस पीएलसी निर्देश
अस्थायी और स्थिर चर के साथ सरल जोड़ें निर्देश
जैसा कि आप देख सकते हैं तर्क काफी सरल है,
हर बार इनपुट% I0.0 पर बढ़ते किनारे का पता चला है,
1 का मान हमारे दो चरों में जोड़ा जाएगा।
यदि मैं इनपुट% I0.0 को तीन बार दबाता और छोड़ता हूं, तो मेरे पास #Count_Value_Temp और #Count_Value_Static पैरामीटर के अंदर 3 का मान होना चाहिए।
आइए एक पीएलसी सिमुलेशन चलाएं और देखें कि हमारे पास क्या होगा।
सिमुलेशन के लिए -
पीएलसी स्थिर और अस्थायी चर - #Count_Value_Temp हमेशा शून्य मान के साथ था और नहीं बदला, तब भी जब काउंटअप सिग्नल को हमारी अपेक्षा के विपरीत 6 बार दबाया गया था।
जबकि #Count_Value_Static हमारी अपेक्षा के अनुरूप बदल गया
और काउंटअप को 6 बार दबाने के बाद का मान भी 6 था।
मूल बातें - वेरिएंट के साथ काम करना एक ही तर्क के लिए भिन्न परिणाम!
परिणाम भिन्न क्यों हैं?
तो, परिणाम भिन्न क्यों थे?
हालांकि यह वही सटीक तर्क है। यह अंतर निर्देश परिणाम के साथ विभिन्न चरों का उपयोग करने से आया है।
जब हमने एक स्थिर चर का उपयोग किया तो परिणाम वैसा ही था जैसा हम उम्मीद करते हैं।
लेकिन जब हमने एक अस्थायी चर का उपयोग किया तो परिणाम अपेक्षा के अनुरूप नहीं था।
संक्षेप में, एक स्थैतिक चर आपकी पीएलसी मेमोरी में स्थायी रूप से संग्रहीत किया जाएगा जबकि एक अस्थायी चर सीमित समय के लिए संग्रहीत किया जाएगा,
आमतौर पर, यह समय स्कैन चक्र का समय होता है। लेकिन, इससे क्या फर्क पड़ता है?
स्थैतिक और अस्थायी मूल्यों के स्कैन चक्र का प्रभाव
स्थिर और अस्थायी मूल्यों के स्कैन चक्र का प्रभाव। जैसा कि आप देख सकते हैं। प्रत्येक स्कैन चक्र के अंत में एक अस्थायी चर का मान शून्य पर रीसेट हो जाएगा।
तो स्कैन चक्र के भीतर अस्थायी चर के लिए क्या गणना की गई है, इसकी परवाह किए बिना।
स्कैन चक्र के अंत में यह मान शून्य पर रीसेट हो जाएगा।
इसका मतलब है, भले ही हमने इसे सिमुलेशन में नहीं देखा,
#Count_Value_Temp वास्तव में 1 में बदल गया जब %I0.0 मौजूद था लेकिन स्कैन चक्र के अंत में, यह 1 0 पर रीसेट हो गया था,
यही कारण है कि आपने इसे अनुकरण में परिवर्तन नहीं देखा।
दूसरी ओर, एक स्थैतिक चर स्थायी रूप से पीएलसी मेमोरी के अंदर सहेजा जाएगा।
इसलिए प्रत्येक स्कैन चक्र के अंत में, स्थैतिक चर के लिए जो भी गणना की गई थी उसका परिणाम सहेजा जाएगा।
इसलिए स्कैन चक्र के बाद 1 का मान 1 बना रहेगा। इसे और अधिक समझें । जो 6 स्कैन चक्रों की अवधि में हर बार% I0.0 दबाए जाने का अनुकरण है।
पीएलसी में स्थिर और अस्थायी चर - अस्थायी और स्थिर चरों का प्रभाव स्थैतिक चर जैसा कि आप पिछली तस्वीर से देख सकते हैं, हर बार %I0.0 पर एक सकारात्मक बढ़त शुरू हो जाती है,
स्थिर चर मान 1 में जोड़ा जाएगा, फिर नया मान स्थिर चर में फिर से संग्रहीत किया जाएगा।
और इसीलिए आप देखते हैं कि स्कैन चक्र के अंत में मान वही रहता है।
6 स्कैन चक्रों के बाद और सिग्नल% I0.0 के 5 गुना होने के बाद #Count_Value_Static का मान 5 होगा।
अस्थायी चर जैसा कि आप पिछली तस्वीर से देख सकते हैं, हर बार %I0.0 पर एक सकारात्मक बढ़त ट्रिगर होती है, अस्थायी चर मान 1 होगा, लेकिन फिर यह मान स्कैन चक्र के अंत में फिर से शून्य पर रीसेट हो जाएगा।
और यही कारण है कि आप हर बार %I0.0 सत्य होने पर 1 के बीच मूल्य परिवर्तन देखते हैं
और प्रत्येक स्कैन चक्र समाप्त होने पर शून्य होता है।
6 स्कैन चक्रों के बाद और 5 बार सिग्नल% I0.0 मौजूद होने के बाद #Count_Value_Temp का मान 0 होगा।
इस जानकारी का उपयोग कैसे करें?
अब, हमने पहले जो चर्चा की उसका मतलब यह नहीं है कि अस्थायी चर का उपयोग करना गलत है या नहीं
अस्थायी चर जैसा कि आप पिछली तस्वीर से देख सकते हैं, हर बार %I0.0 पर एक सकारात्मक बढ़त ट्रिगर होती है,
अस्थायी चर मान 1 होगा, लेकिन फिर यह मान स्कैन चक्र के अंत में फिर से शून्य पर रीसेट हो जाएगा।
और यही कारण है कि आप हर बार %I0.0 सत्य होने पर 1 के बीच मूल्य परिवर्तन देखते हैं
और प्रत्येक स्कैन चक्र समाप्त होने पर शून्य होता है।
6 स्कैन चक्रों के बाद और 5 बार सिग्नल% I0.0 मौजूद होने के बाद #Count_Value_Temp का मान 0 होगा।
इस जानकारी का उपयोग कैसे करें?
अब, हमने पहले जो चर्चा की उसका मतलब यह नहीं है कि अस्थायी चर का उपयोग करना गलत है
या अनुशंसित नहीं है। क्योंकि अस्थायी चर वास्तव में बहुत महत्वपूर्ण हैं और उनका उपयोग करने से कई लाभ होते हैं।
इन लाभों में से PLC में उपयोग की गई मेमोरी के आकार को कम करने की क्षमता है।
स्कैन चक्र के अंत में एक अस्थायी चर के लिए उपयोग की गई मेमोरी को शून्य पर रीसेट कर दिया जाएगा।
इस मेमोरी को अन्य वेरिएबल्स द्वारा उपयोग करने के लिए उपलब्ध छोड़ना।
दूसरी ओर, यदि आपको अपना मूल्य बचाने की आवश्यकता है, तो एक स्थिर चर का उपयोग करना आपके आवेदन के लिए अधिक उपयुक्त होगा।
आपको बस यह जानने की जरूरत है कि आप क्या चाहते हैं।
डाउनलोड: तर्क की पीडीएफ टिया पोर्टल कोड निष्कर्ष पीएलसी की प्रोग्रामिंग करते समय,
आप आमतौर पर अपने तर्क में बहुत सारे चरों का उपयोग करते हैं;
इन चरों में, स्थैतिक और अस्थायी चर हैं।
आपको यह समझने और जागरूक होने की आवश्यकता है कि प्रत्येक चर आपके तर्क के अंदर कैसे काम करता है,
ताकि आप अपनी आवश्यकताओं के लिए इसका बेहतर उपयोग कर सकें।
चर का दुरुपयोग करने या इसे उपयुक्त तरीके से उपयोग करने में विफल रहने से आपके तर्क में बहुत सारी त्रुटियाँ हो सकती हैं;
इनमें से कुछ त्रुटियों को संकलक द्वारा भी नहीं पहचाना जा सकता है,
इसलिए इसे डीबग करने में अधिक समय और प्रयास लगेगा।
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें