सिम्युलेशन
सिम्युलेटर आपका grafcet ठीक IEC 60848 के नियमों के अनुसार चलाता है, ताकि PLC तक पहुँचने से पहले आप उसे परख सकें।
शुरू करें और बंद करें
F5 दबाएँ (या सिम्युलेट › सिम्युलेशन शुरू करें)। आरेख लॉक हो जाता है, ऊपर टूल की जगह सिम्युलेशन नियंत्रण आ जाते हैं, बाईं ओर सिम्युलेशन पैनल दिखाई देता है (आरेख का अधिक हिस्सा देखने के लिए उसे उसके शेवरॉन से समेटें) और घड़ी चलने लगती है। Shift+F5 सिम्युलेशन बंद करके संपादन पर लौटाता है।
इनपुट बदलें
सिम्युलेशन पैनल इनपुट की सूची दिखाता है:
- BOOL इनपुट में एक स्विच होता है, और मोमेंटरी दबाव (पुश बटन की तरह; कीबोर्ड से उस पर Space दबाए रखें) के लिए दबाए रखें बटन।
- INT, REAL और TIME इनपुट में एक मान फ़ील्ड होता है।
आप आरेख पर किसी रिसेप्टिविटी या कंडीशन में जहाँ BOOL इनपुट लिखा है, वहाँ उस पर क्लिक भी कर सकते हैं (उँगली से टैप करें): वह चालू या बंद हो जाता है। इनपुट बदलते ही grafcet का विकास होता है।
सिम्युलेशन के दौरान, किसी रिसेप्टिविटी या कंडीशन में लिखा हर INT, REAL या TIME वेरिएबल अपने नाम के ऊपर एक छोटे बॉक्स में अपना वर्तमान मान दिखाता है, और स्टोर्ड एक्शन अपने बॉक्स के नीचे उस वेरिएबल का मान दिखाता है जिसे वह लिखता है। नया मान टाइप करने के लिए किसी मान पर क्लिक करें (या टैप करें), फिर Enter दबाएँ (Escape रद्द करता है)। यह इनपुट के लिए और इंटरनल वेरिएबल व आउटपुट के लिए भी काम करता है, उदाहरण के लिए किसी काउंटर को उसकी सीमा के पास आज़माने के लिए।
यह देखने के लिए कि कोई ट्रांज़िशन किसकी प्रतीक्षा कर रहा है, उस पर पॉइंटर रखें (या टैप करें): वे स्टेप जिन्हें पहले सक्रिय होना है, या उसकी रिसेप्टिविटी के वे पद जो अभी भी असत्य हैं, 10s/X0 जैसे टाइमर पर बाकी समय के साथ। ↑start जैसा एज हमेशा सूची में होता है: वह केवल उस क्षण सत्य होता है जब उसका इनपुट बदलता है।
समय
सिम्युलेटर में समय वर्चुअल और निर्धारणात्मक है।
- F5 घड़ी को रोकता है और फिर से चलाता है। टाइमर (
5s/X2) केवल उसके चलते समय आगे बढ़ते हैं। - गति ×0.25 से ×10 तक होती है। तेज़ एक टाइमर की समाप्ति से सीधे अगले पर कूदता है।
- F10 अगले टाइमर की समाप्ति पर कूदता है और वह साइकिल चलाता है।
- ⟲ प्रारंभिक स्थिति से फिर शुरू करता है।
बार समय, साइकिल नंबर और अगला टाइमर कब समाप्त होगा, यह दिखाती है। डिफ़ॉल्ट गति सेटिंग्स › सिम्युलेशन में है।
आरेख पर आप क्या देखते हैं
- सक्रिय स्टेप भरे होते हैं और उन पर एक टोकन बिंदु होता है, नीचे यह समय कि वे कब से सक्रिय हैं।
- सक्षम ट्रांज़िशन पर ▶ निशान होता है; ट्रांज़िशन क्लियर होते समय चमकते हैं।
- रिसेप्टिविटी और एक्शन कंडीशन में सत्य सिग्नल हरे, बोल्ड और रेखांकित होते हैं: चालू वेरिएबल, सक्रिय स्टेप
Xn, सही बैठने वाली तुलना। जो हरा नहीं है, उसी की ट्रांज़िशन अभी प्रतीक्षा कर रहा है। NOT की रेखा के नीचे रंग सिग्नल को ही दिखाता है:/aमेंaचालू होने परaहरा होता है। - चल रहे कंटीन्यूअस एक्शन ✓ दिखाते हैं; स्टोर्ड एक्शन अपने वेरिएबल का वर्तमान मान दिखाते हैं।
- स्टेप दर स्टेप: जब एक बदलाव से कई ट्रांज़िशन एक के बाद एक क्लियर होते हैं, तो आरेख हर उस स्टेप को कम से कम 0.1 s तक दिखाता है जिससे होकर यह गुज़रता है, ताकि आप टोकन को देख सकें। सिर्फ़ डिस्प्ले रुकता है: सिम्युलेशन में ये अस्थिर स्टेप कोई समय नहीं लेते, जैसा IEC 60848 कहता है, और दिखाए गए मान पहले से अंतिम होते हैं।
विकास लॉग
सिम्युलेशन पैनल का लॉग (समेटा हुआ: खोलने के लिए विकास लॉग पर क्लिक करें) हर साइकिल को उसके कारण और स्थिरता की खोज के हर इटरेशन के साथ दिखाता है: क्लियर हुए ट्रांज़िशन, सक्रिय और निष्क्रिय हुए स्टेप। क्षणिक विकास (बिना रुके पार किए गए स्टेप) वहाँ दिखते हैं। उस क्षण आरेख कैसा था, यह देखने के लिए किसी साइकिल पर क्लिक करें।
कई grafcet देखना
स्प्लिट व्यू (Ctrl+\) में दोनों पेन सिम्युलेशन लाइव दिखाते हैं: किसी प्रोडक्शन grafcet और उसके सुरक्षा grafcet को, या किसी मैक्रो-स्टेप और उसके एक्सपैंशन को, अगल-बगल देखें।
क्रोनोग्राम
क्रोनोग्राम पैनल (उसका बटन नीचे दाईं ओर है) हर वेरिएबल और खुले grafcet के स्टेप को समय के साथ बनाता है। समय में पीछे जाने के लिए उसमें क्लिक करें या खींचें: आरेख साथ चलता है। लाइव पर वापस वर्तमान पर लौटाता है।
परिदृश्य
किसी परीक्षण को ठीक वैसा ही दोहराने के लिए उसे रिकॉर्ड करें:
- रिकॉर्ड पर क्लिक करें: सिम्युलेशन फिर से शुरू होता है और हर इनपुट बदलाव को उसके समय के साथ रिकॉर्ड करता है।
- अपना परीक्षण चलाएँ, फिर रिकॉर्डिंग रोकें और परिदृश्य को नाम दें। वह प्रोजेक्ट में सहेजा जाता है।
- फिर से चलाएँ सिम्युलेशन फिर से शुरू करता है और परिदृश्य को दोबारा चलाता है।
जब grafcet कभी स्थिर नहीं होता
अगर ट्रांज़िशन एक-दूसरे को क्लियर करते रहें (उदाहरण के लिए ऐसा लूप जिसकी हर रिसेप्टिविटी सत्य है), तो विकास कभी स्थिर नहीं होता। सिम्युलेटर 1000 इटरेशन के बाद रुक जाता है और समस्याएँ में एक क्षणिक लूप की सूचना देता है। कोई कंडीशन जोड़ें (अक्सर एक एज ↑a) ताकि लूप हमेशा न चलता रहे। देखें समस्या निवारण।