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

FANUC मैक्रो में रिक्त मान और शून्य: “0 जोड़ने” से छोड़े गए इनपुट का अर्थ क्यों बदल जाता है?

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

16i/18i-MB के मैक्रो नियमों से अपरिभाषित वैरिएबल, संख्यात्मक शून्य, सीधा असाइनमेंट और अंकगणितीय रूपांतरण अलग समझें। स्वनिर्मित स्थिति तथा शर्त तालिका बताती है कि गणना से पहले छोड़ा गया इनपुट पहचानना चाहिए; अशून्य जाँच से यह साबित नहीं होता कि पैरामीटर दिया गया था।

विषय सूची
  1. इस संस्करण का नियम: रिक्त मान, 0 का दूसरा रूप नहीं
  2. पहले गणना करने से “इनपुट नहीं दिया” की जानकारी खो सकती है
  3. पथ पर परिणाम बहुत अलग हो सकते हैं

मैक्रो में किसी इनपुट को छोड़ने की अनुमति और संख्या 0 देने की अनुमति अलग बातें हैं। इन्हें मिलाने पर रिक्त इनपुट, जिसका अर्थ था “यह अक्ष शामिल नहीं है”, बदलकर “इस अक्ष का लक्ष्य निर्देशांक शून्य है” बन सकता है।

इस संस्करण का नियम: रिक्त मान, 0 का दूसरा रूप नहीं

FANUC 16i/18i-MB ऑपरेटर मैनुअल B-63534EN/02, §15.1 पृष्ठ 394–395 तथा §15.5 पृष्ठ 414 (मूल निर्माता मैनुअल की सार्वजनिक मिरर प्रति) के अनुसार #0 हमेशा रिक्त है। रिक्त वैरिएबल सीधे अक्ष एड्रेस के मान के रूप में हो तो वह एड्रेस अनदेखा होता है। सीधा असाइनमेंट रिक्त अवस्था बनाए रखता है, लेकिन अंकगणित में उसका व्यवहार 0 जैसा होता है। EQ और NE रिक्त तथा 0 अलग पहचानते हैं; अन्य तुलनाएँ रिक्त को 0 मानती हैं। लेख केवल इसी संस्करण के Custom Macro का अर्थ बताता है, अन्य सीरीज़ में वैरिएबल की जीवन-अवधि समान नहीं मानता।

पहले गणना करने से “इनपुट नहीं दिया” की जानकारी खो सकती है

स्वनिर्मित उदाहरण में इनपुट वैरिएबल #1 वैकल्पिक Y निरपेक्ष निर्देशांक है। पढ़ने के बाद सीधे #2=#1 करें तो #1 रिक्त होने पर #2 भी रिक्त रहेगा। “फ़ॉर्मेट समान करने” के लिए इसे #2=#1+0 कर दें तो #2 संख्या 0 बन जाएगा। गणना से संख्या नहीं बदली लगती, लेकिन इनपुट की अवस्था बदल गई है।

इनपुट अवस्था#1 EQ #0#1 NE 0#1+0 का परिणाम
अपरिभाषितसत्यसत्यसंख्या 0
स्पष्ट रूप से 0 दियाअसत्यअसत्यसंख्या 0
स्पष्ट रूप से 12 दियाअसत्यसत्यसंख्या 12

इसलिए “NE 0 सत्य है” यह साबित नहीं करता कि कॉल करने वाले ने अशून्य इनपुट दिया है; अपरिभाषित अवस्था में भी यह शर्त सत्य होगी। गुणक लगाने, ऑफ़सेट जोड़ने या गणितीय फ़ंक्शन लगाने से पहले छोड़ा गया इनपुट पहचानें। अन्यथा बाद का 0 नहीं बताएगा कि वह इनपुट छोड़ने से आया या स्पष्ट संख्या देने से।

पथ पर परिणाम बहुत अलग हो सकते हैं

यह ऑफ़लाइन ज्यामितीय चित्रण है, कटिंग प्रोग्राम नहीं। वर्तमान XY=(10,37) mm मानें; निरपेक्ष निर्देशांक वाली सीधी चाल में X का लक्ष्य 32 और Y का मान #2 से आता है। अन्य निर्देशांक रूपांतरण या टूल कम्पेन्सेशन नहीं है। #2 रिक्त हो तो Y निर्दिष्ट नहीं होता, अंतिम बिंदु (32,37) और लंबाई 22 mm है; #2 का मान 0 हो तो अंतिम बिंदु (32,0) तथा लंबाई √(22²+37²)≈43.046 mm हो जाती है।

अंतर केवल लंबा पथ नहीं, Y दिशा में अतिरिक्त 37 mm विस्थापन भी है। इसलिए मैक्रो इंटरफ़ेस पहले “छोड़ा गया”, “स्पष्ट शून्य” और “अन्य संख्या” अलग करे, फिर उस इनपुट के उपयोग के अनुसार अनुमति तय करे। जहाँ शून्य निर्देशांक वैध है वहाँ सरलता से 0 प्रतिबंधित न करें; न ही 0 जोड़कर छोड़े मान को चुपचाप प्रभावी निर्देशांक बनाएँ। अन्य मैक्रो विषयों के लिए देखें OPTION अनुभाग।

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

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