प्रोग्राम नियंत्रण
प्रवाह और निष्पादन
अपने प्रोग्राम के तार्किक प्रवाह में महारत हासिल करें। सशर्त जंप से लेकर रीयल-टाइम डायग्नोस्टिक टूल तक, अपने कंट्रोलर की निष्पादन संरचना को अनुकूलित करें।
TIA पोर्टल में प्रोग्राम नियंत्रण ऑपरेशंस क्या हैं?
प्रोग्राम नियंत्रण ऑपरेशंस नेटवर्क के क्रमिक निष्पादन क्रम को बदलने की अनुमति देते हैं। इनका उपयोग कोड के कुछ हिस्सों को बायपास करने (जंप), जटिल ब्रांचिंग बनाने (वितरक), या CPU के आंतरिक व्यवहार (स्टॉप, वॉचडॉग, समय माप) को प्रबंधित करने के लिए किया जाता है।
ये निर्देश शक्तिशाली हैं लेकिन इनका उपयोग सावधानी के साथ किया जाना चाहिए, विशेष रूप से WAIT निर्देश जो चक्र को रोकता है, या जंप जो बहुत अधिक होने पर प्रोग्राम को डीबग करना कठिन बना सकते हैं। TIA पोर्टल प्रत्येक ब्लॉक में स्थानीय रूप से त्रुटियों को रोकने के लिए आधुनिक उपकरण भी प्रदान करता है।
जंप और प्रवाह
प्रोग्राम रीरूटिंग निर्देश
JMP / JMPN — सशर्त जंप
JMPयह क्या करता है
यदि RLO 1 है तो JMP क्रमिक निष्पादन को बाधित करता है और एक लेबल (LABEL) पर जंप करता है। यदि RLO 0 है तो JMPN वही करता है।
इसका उपयोग कब करें
कोड के उस हिस्से को बायपास करें जिसे किसी विशिष्ट मोड में निष्पादित नहीं किया जाना चाहिए, या LAD/FBD में सरल लूप बनाएं।
प्रो टिप्स
जंप गंतव्य (LABEL) एक ही ब्लॉक (FC या FB) के भीतर होना चाहिए।
निकास स्थिति के बिना लूप बनाने के लिए पीछे की ओर जंप का उपयोग न करें, क्योंकि आप चक्र समय ओवररन का जोखिम उठाते हैं।
SCL में, इसके बजाय IF...THEN या CASE...OF संरचनाओं का उपयोग करें।
SWITCH — मल्टी-केस वितरक
SWITCHयह क्या करता है
एक इनपुट मान की तुलना कई लक्ष्य मानों से करता है और पहले सत्यापित मामले के अनुरूप नेटवर्क पर जंप करता है। Switch/Case का ग्राफिकल समकक्ष।
इसका उपयोग कब करें
मशीन स्थितियों का प्रबंधन (सरल Grafcet), ऑपरेटिंग मोड का चयन करना, या टाइप कोड के अनुसार पुर्जों को रूट करना।
प्रो टिप्स
श्रृंखला में == कम्पैरेटर्स की तुलना में स्वच्छ और अधिक पठनीय।
उन मामलों को संभालने के लिए 'ELSE' इनपुट का उपयोग करें जहां कोई मान मेल नहीं खाता है।
HMI पर मेनू संरचनाओं के लिए आदर्श।
RET — वापसी
RETयह क्या करता है
वर्तमान ब्लॉक (FC/FB) के निष्पादन को समाप्त करने के लिए मजबूर करता है और कॉलिंग ब्लॉक पर वापस लौटता है।
इसका उपयोग कब करें
यदि ब्लॉक की शुरुआत में त्रुटि का पता चलता है, या यदि सुरक्षा स्थिति पूरी नहीं होती है, तो किसी फ़ंक्शन को समय से पहले समाप्त करना।
प्रो टिप्स
अनावश्यक रूप से बाकी कोड को संसाधित न करके चक्र समय को अनुकूलित करने के लिए उपयोगी।
सतर्क रहें: ब्लॉक आउटपुट जो अभी तक संसाधित नहीं हुए हैं, वे अपनी अंतिम स्थिति बनाए रखेंगे।
SCL में, RETURN; निर्देश का उपयोग करें।
रनटाइम नियंत्रण
CPU चक्र प्रबंधन और प्रदर्शन माप
RUNTIME — समय मापें
RUNTIMEयह क्या करता है
माइक्रोसेकंड (µs) में प्रोग्राम के हिस्से या पूरे ब्लॉक के निष्पादन समय को मापता है।
इसका उपयोग कब करें
कोड अनुकूलन, भारी नेटवर्क का निदान, या मशीन प्रदर्शन गणना।
प्रो टिप्स
माप को इनिशियलाइज़ करने के लिए एक बार RUNTIME कॉल करें, फिर परिणाम प्राप्त करने के लिए दूसरी बार।
माप परिणाम संग्रहीत करने के लिए LReal डेटा प्रकार का उपयोग करें।
यह जांचने के लिए सुविधाजनक है कि क्या कोई जटिल FOR लूप वॉचडॉग सीमाओं के करीब पहुंच रहा है।
WAIT — निश्चित विलंब
WAITयह क्या करता है
माइक्रोसेकंड में एक निर्दिष्ट अवधि के लिए प्रोग्राम निष्पादन को निलंबित करता है। चेतावनी: टाइमर के विपरीत, WAIT पूरी तरह से CPU चक्र को अवरुद्ध करता है।
इसका उपयोग कब करें
अल्ट्रा-फास्ट I/O कार्ड पर इलेक्ट्रॉनिक सिग्नल को स्थिर करने के लिए कुछ माइक्रोसेकंड प्रतीक्षा करना।
प्रो टिप्स
अत्यधिक संयम के साथ प्रयोग करें। बहुत लंबा WAIT वॉचडॉग त्रुटि को ट्रिगर करेगा और PLC को रोक देगा।
प्रक्रिया विलंब (सेकंड/मिनट) के लिए कभी भी उपयोग न करें; उसके लिए TON टाइमर का उपयोग करें।
केवल S7-1500 पर उपलब्ध है।
STP — CPU स्टॉप
STPयह क्या करता है
CPU को STOP मोड में जाने के लिए मजबूर करता है।
इसका उपयोग कब करें
घातक त्रुटि स्थिति जहां मशीन को अब नियंत्रित नहीं किया जाना चाहिए, या नैदानिक परीक्षण।
प्रो टिप्स
स्टॉप तत्काल है। पुनरारंभ करने के लिए मैन्युअल हस्तक्षेप (HMI या स्विच) की आवश्यकता होगी।
जब भी संभव हो क्रूर CPU स्टॉप के बजाय सुरक्षित फॉलबैक के साथ अलार्म प्रबंधन को प्राथमिकता दें।
कमीशनिंग परियोजनाओं में किसी विशिष्ट स्थान पर 'ब्रेक' करने के लिए उपयोगी।
त्रुटि प्रबंधन
निष्पादन दोषों का स्थानीय अवरोधन
GET_ERROR / GET_ERR_ID
ये क्या करते हैं
ब्लॉक के भीतर हुई पहली त्रुटि के बारे में जानकारी प्राप्त करें (जैसे, गैर-मौजूद सरणी इंडेक्स तक पहुंच)।
इसका उपयोग कब करें
PLC को रोके बिना प्रोग्रामिंग त्रुटियों को रोककर अपने ब्लॉक को मजबूत बनाना।
प्रो टिप्स
GET_ERROR एक विस्तृत संरचना प्रदान करता है, GET_ERR_ID केवल त्रुटि संख्या लौटाता है।
इन निर्देशों को अपने महत्वपूर्ण ब्लॉक के अंत में रखें।
एक कस्टम त्रुटि लॉग बनाने की अनुमति देता है।
जंप बनाम नियंत्रण संरचनाएं
प्रोग्राम रीरूटिंग के लिए किस विधि का उपयोग करें?
| आपको चाहिए... | अनुशंसित निर्देश | क्यों? |
|---|---|---|
| लैडर में साधारण जंप | JMP | एक नेटवर्क छोड़ें |
| जटिल बहुविकल्पी | SWITCH / CASE | 10 JMP से अधिक पठनीय |
| आंतरिक अवधि मापें | RUNTIME | प्रदर्शन अनुकूलन |
| तत्काल स्टॉप | STP | हार्डवेयर महत्वपूर्ण त्रुटि |
| बहुत कम प्रतीक्षा | WAIT | इलेक्ट्रॉनिक स्थिरीकरण |
| स्थानीय निदान | GET_ERROR | CPU STOP से बचें |
अक्सर पूछे जाने वाले प्रश्न
JMP और JMP_LIST में क्या अंतर है?
JMP एक लक्ष्य के लिए एक एकल जंप है। JMP_LIST गंतव्यों की एक सूची परिभाषित करने की अनुमति देता है। एक संख्यात्मक सूचकांक के आधार पर, प्रोग्राम सूची में पहले, दूसरे या Nवें लेबल पर जंप करता है।
क्या WAIT निर्देश खतरनाक है?
हाँ, यदि गलत तरीके से उपयोग किया जाए। यह संपूर्ण उपयोगकर्ता प्रोग्राम के निष्पादन को निलंबित कर देता है। यदि आपके WAIT और आपके कोड का योग वॉचडॉग समय (अक्सर 150ms) से अधिक हो जाता है, तो CPU STOP पर चला जाएगा।
PLC के कुल चक्र समय को कैसे मापें?
इसके लिए आपको RUNTIME निर्देश की आवश्यकता नहीं है। आप ऑनलाइन CPU गुणों में सीधे जानकारी पढ़ सकते हैं, या OB1 के सिस्टम वेरिएबल का उपयोग कर सकते हैं।
LABEL लेबल कहाँ रखें?
LABEL किसी भी नेटवर्क की शुरुआत में रखे जा सकते हैं। LAD में, वे बाईं रेल के ऊपर दिखाई देते हैं। एक लेबल नाम ब्लॉक के भीतर अद्वितीय होना चाहिए।