सीढ़ी प्रोग्रामिंग में, लूप्स (Loops) एक या एक से अधिक निर्देशों के ब्लॉक (Block) को बार-बार (Repeatedly) निष्पादित करने के लिए उपयोग किए जाते हैं जब तक कि एक विशिष्ट शर्त (Condition) पूरी नहीं हो जाती है। यह उन स्थितियों में बहुत उपयोगी होते हैं जहाँ आपको एक ही ऑपरेशन को कई बार दोहराना होता है, जिससे प्रोग्राम कोड को अधिक कुशल और संक्षिप्त बनाया जा सकता है।
सीढ़ी प्रोग्रामिंग में, लूप्स (Loops) एक या एक से अधिक निर्देशों के ब्लॉक (Block) को बार-बार (Repeatedly) निष्पादित करने के लिए उपयोग किए जाते हैं जब तक कि एक विशिष्ट शर्त (Condition) पूरी नहीं हो जाती है। यह उन स्थितियों में बहुत उपयोगी होते हैं जहाँ आपको एक ही ऑपरेशन को कई बार दोहराना होता है, जिससे प्रोग्राम कोड को अधिक कुशल और संक्षिप्त बनाया जा सकता है।
सीढ़ी प्रोग्रामिंग में लूप्स के प्रकार
सीढ़ी प्रोग्रामिंग में लूप्स के विभिन्न प्रकार हो सकते हैं, हालांकि वे पारंपरिक टेक्स्ट-आधारित प्रोग्रामिंग भाषाओं में पाए जाने वाले जटिल लूप संरचनाओं (जैसे for लूप या while लूप) के समान नहीं होते हैं। सीढ़ी तर्क में, लूपिंग व्यवहार को आमतौर पर इन तरीकों से प्राप्त किया जाता है:
1. सेल्फ-होल्डिंग लूप (Self-Holding Loop) / लैचिंग (Latching)
यह एक सामान्य तकनीक है जहाँ एक आउटपुट (Output) अपने इनपुट (Input) को तब तक चालू (On) रखता है जब तक कि उसे किसी अन्य इनपुट द्वारा बंद (Off) नहीं कर दिया जाता। तकनीकी रूप से यह एक "लूप" नहीं है जो निर्देशों को बार-बार निष्पादित करता है, बल्कि यह एक स्थिति को बनाए रखता है।
* उदाहरण: एक मोटर को चालू करने के लिए एक बटन दबाना, और मोटर तब तक चलती रहती है जब तक कि एक स्टॉप बटन नहीं दबाया जाता।
* कार्यप्रणाली:
* एक स्टार्ट बटन (Start Button) एक रिले (Relay) या आउटपुट कॉइल (Output Coil) को सक्रिय करता है।
* यह रिले अपने ही सामान्य खुले (Normally Open - NO) संपर्क के माध्यम से खुद को लेट्च (Latch) करता है, जिससे वह चालू रहता है।
* एक स्टॉप बटन (Stop Button) (आमतौर पर सामान्य बंद (Normally Closed - NC)) रिले की शक्ति को तोड़कर उसे बंद कर देता है।
<!-- end list -->
--| |-- --| |----( )--
Start Relay Motor
Button Coil
--| |----+---| |----
Relay | Stop
NO | Button
Contact+---| |----
Relay
Coil
(यह एक सरल प्रतिनिधित्व है; वास्तविक सीढ़ी तर्क में, यह एक ही रंग पर होगा।)
2. काउंटर-आधारित लूप (Counter-Based Loop)
इस प्रकार के लूप में, एक काउंटर (Counter) का उपयोग एक विशेष ऑपरेशन को एक निश्चित संख्या में दोहराने के लिए किया जाता है। जब काउंटर एक पूर्वनिर्धारित मान तक पहुँच जाता है, तो लूप समाप्त हो जाता है या एक नया ऑपरेशन शुरू हो जाता है।
* उदाहरण: एक बॉटलिंग प्लांट में 10 बोतलों को भरने के बाद मशीन को रोकना।
* कार्यप्रणाली:
* एक पल्स इनपुट (Pulse Input) या इवेंट (Event) हर बार होने पर काउंटर को बढ़ाता (Increment) है।
* जब काउंटर की वर्तमान संख्या प्रीसेट मूल्य (Preset Value) तक पहुँच जाती है, तो काउंटर का डन बिट (Done Bit) या आउटपुट (Output) सक्रिय हो जाता है।
* यह आउटपुट फिर लूप को समाप्त करने या अगले चरण पर जाने के लिए उपयोग किया जा सकता है।
<!-- end list -->
--|P|-- [CTR C5:0 10]
Sensor Counter
Input (Counts up to 10)
--| |--------------( )--
C5:0/DN Process
(Counter Done) Stop
(यहां CTR C5:0 10 का मतलब है काउंटर C5:0, जो 10 तक गिनेगा। C5:0/DN का मतलब है जब C5:0 का डन बिट सक्रिय हो।)
3. टाइमर-आधारित लूप (Timer-Based Loop)
इस प्रकार के लूप में, एक टाइमर (Timer) का उपयोग एक निश्चित अवधि के लिए एक ऑपरेशन को दोहराने या विलंब करने के लिए किया जाता है।
* उदाहरण: एक मिक्सर को 30 सेकंड के लिए चलाना।
* कार्यप्रणाली:
* एक इनपुट (Input) टाइमर को सक्रिय करता है।
* टाइमर एक पूर्वनिर्धारित समय के लिए गिनना (Count Down/Up) शुरू करता है।
* जब टाइमर का समय समाप्त हो जाता है (यानी, डन बिट सक्रिय हो जाता है), तो यह एक आउटपुट को सक्रिय कर सकता है जो लूप को समाप्त करता है या अगले चरण पर जाता है।
<!-- end list -->
--| |-- [TON T4:0 1.0 30]
Start Timer On-Delay
Input (30 seconds)
--| |--------------( )--
T4:0/DN Process
(Timer Done) Stop
(यहां TON T4:0 1.0 30 का मतलब है ऑन-डिले टाइमर T4:0, जो 1.0 सेकंड के समय आधार पर 30 सेकंड के लिए चलेगा। T4:0/DN का मतलब है जब T4:0 का डन बिट सक्रिय हो।)
4. अनुक्रमिक लूप (Sequential Loop) / स्टेजिंग (Staging)
यह एक और तरीका है जहाँ प्रक्रियाएं एक निश्चित क्रम में निष्पादित होती हैं, और पिछली प्रक्रिया के पूरा होने पर अगली प्रक्रिया शुरू होती है। हालांकि यह एक सच्चा लूप नहीं है जो एक ही कोड को बार-बार चलाता है, यह एक अनुक्रम को दोहराने के लिए उपयोग किया जा सकता है।
* कार्यप्रणाली:
* एक आउटपुट (Output) या इंटरनल बिट (Internal Bit) एक स्टेज (Stage) के पूरा होने का संकेत देता है।
* यह आउटपुट या बिट अगले स्टेज को सक्रिय करने के लिए इनपुट (Input) के रूप में कार्य करता है।
* जब सभी स्टेज पूरे हो जाते हैं, तो प्रक्रिया को फिर से शुरू करने के लिए रीसेट किया जा सकता है।
सीढ़ी प्रोग्रामिंग में लूप्स का महत्व
* दक्षता (Efficiency): कोड को दोहराने से बचाता है, जिससे प्रोग्राम छोटा और पढ़ने में आसान हो जाता है।
* रखरखाव (Maintenance): यदि कोई बदलाव करना हो तो केवल लूप के अंदर के कोड को बदलना होता है, न कि कई स्थानों पर।
* नियंत्रण (Control): जटिल प्रक्रियाओं को स्वचालित करने और उन्हें एक संरचित तरीके से नियंत्रित करने में मदद करता है।
* त्रुटि निवारण (Debugging): दोहराए जाने वाले कार्यों में त्रुटियों का पता लगाना और उन्हें ठीक करना आसान हो जाता है।
सीढ़ी प्रोग्रामिंग में "लूप" की अवधारणा टेक्स्ट-आधारित भाषाओं की तुलना में थोड़ी भिन्न होती है, लेकिन ऊपर वर्णित तकनीकों का उपयोग करके समान दोहराव वाले व्यवहार को प्राप्त किया जाता है।
टिप्पणियाँ
एक टिप्पणी भेजें