GrafcetMaker
एडिटर खोलें

समस्या निवारण

GrafcetMaker आपके काम करते समय आपका प्रोजेक्ट जाँचता है। ऊपर दाईं ओर के काउंटर त्रुटियों (लाल) और चेतावनियों (नारंगी) की संख्या दिखाते हैं; समस्याएँ सूची खोलने के लिए उन पर क्लिक करें। एलिमेंट पर जाने के लिए किसी समस्या पर क्लिक करें, और जहाँ सुधार बटन हो, उसका उपयोग करें। समस्या वाले एलिमेंट पर आरेख में एक बैज भी होता है: विवरण के लिए उस पर पॉइंटर रखें।

त्रुटियाँ

Grafcet G1 में कोई प्रारंभिक स्टेप नहीं है। कुछ भी कभी सक्रिय नहीं हो सकता। पहला स्टेप चुनें और सुधार स्टेप … को प्रारंभिक बनाएँ दबाएँ, या उसका प्रकार प्रारंभिक स्टेप पर सेट करें।

कई स्टेप का नंबर एक ही है। grafcet में नंबर अद्वितीय होने चाहिए, वरना Xn अस्पष्ट होगा। स्टेप फिर से नंबर करें का उपयोग करें या F2 से कोई नंबर बदलें।

खाली रिसेप्टिविटी। हर ट्रांज़िशन को एक कंडीशन चाहिए। हमेशा सत्य रहने वाले ट्रांज़िशन के लिए 1 का उपयोग करें (सुधार यह आपके लिए कर देता है)।

अज्ञात वेरिएबल। नाम घोषित नहीं है (कहीं और लिखी गई फ़ाइल, या हटाया गया वेरिएबल)। रिसेप्टिविटी या एक्शन में आप जो नाम टाइप करते हैं, वे आपके लिए बना दिए जाते हैं; बाकी के लिए उसे बनाने वाले सुधार का उपयोग करें, या अगर टाइपिंग की गलती है तो सुझाया गया नाम चुनें।

एक्सप्रेशन की समस्याएँ (अप्रत्याशित अक्षर, बंद करने वाला कोष्ठक नहीं…)। फ़ील्ड के नीचे का समस्या बॉक्स जगह चिह्नित करता है और एक संकेत देता है। एक आम समस्या: कंडीशन से पहले / का अर्थ NOT है, इसलिए "a और b नहीं" के लिए a * /b लिखें। देखें रिसेप्टिविटी लिखना।

कोई एक्शन किसी इनपुट को असाइन करता है। इनपुट प्रोसेस से आते हैं और लिखे नहीं जा सकते। वेरिएबल की दिशा बदलें या दूसरा वेरिएबल उपयोग करें।

फ़ोर्सिंग ऑर्डर किसी ऐसे grafcet या स्टेप की ओर है जो मौजूद नहीं है। ऑर्डर में grafcet का नाम और स्टेप नंबर जाँचें।

फ़ोर्सिंग ऑर्डर एक चक्र बनाते हैं। कोई grafcet उस grafcet को फ़ोर्स नहीं कर सकता जो उसे सीधे या दूसरों के ज़रिए फ़ोर्स करता है। ऑर्डर में से एक हटाएँ, या किसी तीसरे grafcet से दोनों को फ़ोर्स कराएँ।

मैक्रो-स्टेप और एनक्लोज़िंग स्टेप एक चक्र बनाते हैं। कोई grafcet स्वयं को समाहित नहीं कर सकता: कोई मैक्रो-स्टेप या एनक्लोज़िंग स्टेप सीधे या दूसरों के ज़रिए अपने ही grafcet पर लौटता है। उस स्टेप को स्टेप पर और फिर वापस सेट करें: उसे अपना उप-grafcet मिल जाता है।

मैक्रो-स्टेप … का कोई एक्सपैंशन grafcet नहीं है (या एनक्लोज़िंग स्टेप … का कोई एनक्लोज़्ड grafcet नहीं है)। उसका उप-grafcet हटा दिया गया था। नया पाने के लिए स्टेप का प्रकार स्टेप पर और फिर वापस मैक्रो-स्टेप (या एनक्लोज़िंग स्टेप) पर सेट करें, या उसे सामान्य स्टेप रहने दें।

Grafcet … का उपयोग कई स्टेप करते हैं। हर मैक्रो-स्टेप और एनक्लोज़िंग स्टेप को अपना उप-grafcet चाहिए। स्टेप में से एक को स्टेप पर और फिर वापस सेट करें: उसे अपना उप-grafcet मिल जाता है।

चेतावनियाँ

स्टेप … कभी सक्रिय नहीं हो सकता। किसी प्रारंभिक स्टेप से कोई रास्ता उस तक नहीं जाता। उसे लिंक करें, या हटाएँ।

स्टेप … से कोई ट्रांज़िशन बाहर नहीं जाता। एक बार सक्रिय होने पर वह हमेशा सक्रिय रहता है। आमतौर पर एक लूप वापस (L) गायब होता है।

वैकल्पिक शाखाएँ परस्पर अनन्य नहीं हैं। दोनों रिसेप्टिविटी एक साथ सत्य हो सकती हैं, जिससे दोनों शाखाएँ सक्रिय हो जाएँगी। उन्हें परस्पर अनन्य बनाएँ, जैसे a और /a * b, या सुधार “…” को प्राथमिकता दें का उपयोग करें।

संभावित अंतहीन क्षणिक विकास। ट्रांज़िशन का एक लूप एक साथ पूरा सत्य हो सकता है, जिससे grafcet कभी स्थिर नहीं होगा। कोई कंडीशन जोड़ें, अक्सर एक एज (↑start), जो सत्य बनी नहीं रह सकती।

आउटपुट को ऐसे स्टेप के कंटीन्यूअस एक्शन सेट करते हैं जो एक साथ सक्रिय हो सकते हैं। दो समानांतर शाखाएँ एक ही आउटपुट को चलाती हैं। उसे एक ही जगह से चलाएँ, या स्टोर्ड एक्शन का उपयोग करें।

बिना स्टेप का एक्शन डीएक्टिवेशन पर स्टोर्ड है। बिना स्टेप के एक्शन हमेशा सक्रिय रहता है और कभी डीएक्टिवेट नहीं होता, इसलिए वह कभी नहीं चलता। उसे किसी स्टेप से जोड़ें, या उसका प्रकार बदलें।

आउटपुट को बिना स्टेप वाला एक्शन और एक दूसरा एक्शन भी सेट करता है। इनमें से कोई भी सत्य हो, तो आउटपुट सत्य होता है। सुनिश्चित करें कि आप यही चाहते हैं।

इवेंट पर स्टोर्ड है लेकिन कोई इवेंट नहीं। प्रॉपर्टीज़ पैनल में इवेंट (जैसे ↑b) दर्ज करें।

बिना कंडीशन का कंडीशनल एक्शन। जब तक आप प्रॉपर्टीज़ पैनल में उसकी कंडीशन दर्ज नहीं करते, वह कंटीन्यूअस एक्शन की तरह काम करता है।

मैक्रो-स्टेप के स्टोर्ड एक्शन अनदेखे किए जाते हैं। मैक्रो-स्टेप अपने एक्सपैंशन के ज़रिए सक्रिय होता है: स्टोर्ड एक्शन एक्सपैंशन के किसी स्टेप पर रखें।

खाली स्थिति में फ़ोर्स किया गया, कभी वापस नहीं। G2{} जैसा ऑर्डर G2 का हर स्टेप निष्क्रिय करता है, और उन्हें फिर से कुछ भी सक्रिय नहीं करता। G2 को उसकी प्रारंभिक स्थिति में फिर शुरू करने के लिए G2{INIT} का उपयोग करें।

एक्सपैंशन (या एनक्लोज़्ड grafcet) … का उपयोग नहीं होता। कोई मैक्रो-स्टेप या एनक्लोज़िंग स्टेप उसकी ओर इशारा नहीं करता। अगर अब ज़रूरत नहीं है, तो उसका टैब हटा दें।

एक्सपैंशन में ठीक एक एंट्री स्टेप और एक एग्ज़िट स्टेप होना चाहिए। मैक्रो-स्टेप एक्सपैंशन में एंट्री स्टेप के ऊपर कोई ट्रांज़िशन नहीं होता और एग्ज़िट स्टेप के नीचे कोई नहीं।

सूचना

वेरिएबल … का उपयोग नहीं हुआ है। वह घोषित है लेकिन कोई एक्सप्रेशन उसका उपयोग नहीं करता। उसे सुधार से हटाएँ, या बाद के लिए रखें।

अन्य प्रश्न

सिम्युलेशन एक क्षणिक लूप के साथ रुक गया। ऊपर की चेतावनी देखें: सिम्युलेटर स्थिरता के बिना 1000 इटरेशन के बाद, दिखाए गए समय पर, रुक जाता है।

मेरा टाइमर नहीं चलता। टाइमर केवल घड़ी चलते समय आगे बढ़ते हैं: चलाने के लिए F5 दबाएँ, या अगले टाइमर पर कूदने के लिए F10।

कोई ट्रांज़िशन बार-बार क्लियर होता है। अगर उसकी रिसेप्टिविटी सत्य बनी रहती है, तो grafcet जितनी तेज़ी से हो सके, चक्कर लगाता है। हर दबाव पर एक बार प्रतिक्रिया के लिए एज ↑a का उपयोग करें।

मेरा काम खो गया। फ़ाइल › लोकल इतिहास में देखें: स्नैपशॉट ब्राउज़र में रखे जाते हैं। रीलोड या क्रैश के बाद GrafcetMaker आपका पिछला प्रोजेक्ट अपने आप फिर से खोलता है, बिना सहेजे बदलावों सहित।

फ़ाइल नहीं खुलती। GrafcetMaker अपनी .grafcet.json फ़ाइलें और grafcet.io फ़ाइलें (.grafcetio) खोलता है; संदेश बताता है कि फ़ाइल क्यों अस्वीकार की गई। GrafcetMaker के नए संस्करण से सहेजी गई फ़ाइल के लिए वही नया संस्करण चाहिए।