स्वतंत्र CNC मरम्मत और तकनीकी संदर्भ संपर्क

FANUC रियल-टाइम मैक्रो में ZONCE और ZEDGE: शर्त बाद में सही हुई, फिर भी कार्रवाई क्यों नहीं हुई?

प्रकाशित अद्यतन

30i-A के रियल-टाइम मैक्रो नियमों के आधार पर 100 मिलीसेकंड की काल्पनिक निष्पादन अवधि में ZONCE, ZEDGE और शुरू से सत्य शर्त की तुलना। एकबारगी मैक्रो की प्रतीक्षा अवधि और छोटे पल्स की पहचान को अलग समझें।

विषय सूची
  1. समय व्यवहार तय करने वाले तीन नियम
  2. प्रतीक्षा को एक निश्चित निष्पादन अवधि में रखें
  3. प्रोग्राम में लिखने का क्रम, समय अवधि की लंबाई नहीं तय करता
  4. किस स्तर की जाँच करनी है

रियल-टाइम मैक्रो में “शर्त पूरी होने पर कार्य करें” लिखने के बाद शर्त आगे चलकर सच हुई, फिर भी कार्य नहीं हुआ। यहाँ कम से कम दो अलग प्रश्न हैं: एक बार जाँच हो रही है या एज की प्रतीक्षा, और जिस निष्पादन अवधि में प्रतीक्षा मान्य है, वह समाप्त तो नहीं हो चुकी।

समय व्यवहार तय करने वाले तीन नियम

30i/31i/32i-A सामान्य उपयोगकर्ता मैनुअल B-63944EN/03, §17.1.1 तथा §17.4.1–17.4.2, पृष्ठ 581, 599–600 (निर्माता के मैनुअल की सार्वजनिक प्रति) बताता है: ZONCE में जाँच असत्य मिलने पर निष्पादन समाप्त हो जाता है; वह बाद में सत्य होने की प्रतीक्षा नहीं करता। ZEDGE असत्य से सत्य में परिवर्तन की प्रतीक्षा करता है; शुरू से सत्य होना नया एज नहीं है। एकबारगी RTM उसके बाद आने वाले पहले NC निर्देश के साथ शुरू होता है और उसी NC निर्देश के समाप्त होने तक मान्य रहता है।

यह लेख केवल इस संस्करण के रियल-टाइम कस्टम मैक्रो फ़ंक्शन के एकबारगी स्टेटमेंट पर चर्चा करता है। साधारण मैक्रो IF, मोडल RTM या PLC स्कैन लॉजिक को यही तंत्र नहीं माना गया है। फ़ंक्शन की उपलब्धता और सिग्नल मैपिंग वास्तविक नियंत्रण कॉन्फ़िगरेशन से मेल खानी चाहिए।

प्रतीक्षा को एक निश्चित निष्पादन अवधि में रखें

लेख का स्वनिर्मित लॉजिक उदाहरण मानता है कि संबंधित NC ब्लॉक t=0 पर शुरू और t=100 ms पर समाप्त होता है। “कार्रवाई” का अर्थ केवल सॉफ़्टवेयर इवेंट दर्ज करना है; कोई आउटपुट सिग्नल या अक्ष गति नहीं है। तालिका मानती है कि दिए गए शर्त-परिवर्तन वैध रूप से सैंपल किए गए हैं।

शर्त का बदलावएकबारगी ZONCEएकबारगी ZEDGE
शुरू में असत्य, 60 ms पर सत्य होकर बना रहता हैपहली जाँच असत्य मिलते ही समाप्तमान्य अवधि के भीतर राइज़िंग एज पहचानने के बाद कार्य
शुरू में असत्य, 120 ms पर ही सत्य होता हैपहले ही समाप्त100 ms की अवधि समाप्त; आगे प्रतीक्षा नहीं
शुरू में सत्य, 40 ms पर असत्य, 70 ms पर फिर सत्यशुरुआती सत्य अवस्था पर कार्यशुरुआती सत्य से ट्रिगर नहीं; बाद का असत्य→सत्य परिवर्तन ट्रिगर करता है

दूसरी पंक्ति में शर्त का एक्सप्रेशन गलत नहीं है; घटना मान्य अवधि के बाहर हुई है। तीसरी पंक्ति दिखाती है कि “वर्तमान अवस्था सत्य है” और “नया एज देखा गया है” के उद्देश्य अलग हैं। पहला अवस्था की पूर्ति जाँचता है, दूसरा उसके बाद हुए परिवर्तन की पुष्टि करता है।

प्रोग्राम में लिखने का क्रम, समय अवधि की लंबाई नहीं तय करता

एकबारगी रियल-टाइम मैक्रो को ऊपर लिख देने से यह निष्कर्ष नहीं निकलता कि वह पहले प्रतीक्षा शुरू करेगा। पहले वास्तविक ट्रिगर करने वाला NC निर्देश पहचानें। यदि प्रक्रिया को कई NC ब्लॉक तक निगरानी चाहिए, तो केवल एक ब्लॉक का अनुमानित समय बढ़ा देने से विश्वसनीय लॉजिक साबित नहीं होता, क्योंकि ओवरराइड, स्टॉप और निष्पादन शाखाएँ समय संबंध बदल सकती हैं।

“जीवनकाल पर्याप्त लंबा है” और “सैंपलिंग घटना को देख सकती है” भी अलग बातें हैं। यदि जाँच चक्र 4 ms हो, तो 1 ms का पल्स पूरी तरह दो जाँचों के बीच आ सकता है। यह सामान्य सैंपलिंग का प्रतिउदाहरण है; 4 ms को यहाँ FANUC रियल-टाइम मैक्रो की चक्र अवधि का विनिर्देश नहीं बताया गया है। ZEDGE किसी भी छोटे पल्स को पकड़ने की हार्डवेयर गारंटी नहीं है।

किस स्तर की जाँच करनी है

यदि शुरुआत में असत्य होने पर कभी कार्य नहीं होता, तो पहले जाँचें कि गलती से ZONCE तो नहीं चुना गया। यदि ब्लॉक के भीतर शर्त पूरी होने पर ट्रिगर होता है, लेकिन ब्लॉक समाप्त होने के बाद नहीं, तो एकबारगी मान्य अवधि देखें। यदि केवल बहुत छोटी घटनाएँ कभी-कभी छूटती हैं, तो इनपुट श्रृंखला और सैंपलिंग का विश्लेषण करें। इन तीन घटनाओं के कारण अलग हैं; सबको “मैक्रो रियल-टाइम नहीं है” कहना उचित नहीं। अन्य तंत्रों का विश्लेषण देखें OPTION अनुभाग।

संबंधित तकनीकी लेख

FANUC वैकल्पिक रोटरी अक्ष नियंत्रण: निरपेक्ष कमांड का चिह्न घूर्णन दिशा कैसे तय करता है?FANUC दिशा-निर्भर हाई-स्पीड पोज़िशन स्विच: समान निर्देशांक पर अलग आउटपुट क्यों हो सकता है?FANUC फ़्लेक्सिबल सिंक्रोनाइज़ेशन: गति बराबर होना और फ़ेज़ मिलना दो अलग शर्तें हैं