समर्थित कोड और पार्सर क्षमताएँ
समर्थित कोड और पार्सर क्षमताएँ अनुभाग में NCPlayer के G-code इंटरप्रेटर की पूरी कार्यक्षमता का वर्णन किया गया है,
जिसमें समर्थित कमांड प्रारूप, मोडल समूह, मैक्रो प्रोग्रामिंग, अंकगणित, शर्तें,
लूप्स और उन्नत फ़ंक्शन्स शामिल हैं।
यह पार्सर FANUC शैली (विशेष रूप से 0i-MB) प्रोग्रामों के साथ काम करने के लिए डिज़ाइन किया गया है,
लेकिन उचित कॉन्फ़िगरेशन के बाद यह अन्य नियंत्रकों के साथ भी संगत है।
1. समर्थित G/M कोड प्रारूप
G-codes:
मानक मोडल समूह:
G0 — रैपिड पोजिशनिंग (तेज़ स्थिति निर्धारण)।
G1 — रैखिक इंटरपोलेशन।
G2 / G3 — वृत्ताकार इंटरपोलेशन (CW/CCW) निम्नलिखित समर्थन के साथ:
R पैरामीटर (आर्क त्रिज्या)।
I, J, K पैरामीटर (आर्क केंद्र — ABS या INC मोड में)।
G17, G18, G19 — कार्य तल (प्लेन)।
G17 / G18 / G19 — तल चयन।
G20 / G21 — इकाई चयन (इंच / मिमी)।
G40 / G41 / G42 — कटर रेडियस क्षतिपूर्ति।
G43 / G44 — टूल लंबाई क्षतिपूर्ति।
G49 — टूल लंबाई क्षतिपूर्ति रद्द करना।
G54 – G59 — वर्क कोऑर्डिनेट सिस्टम (विस्तारित G54.1 Px सहित)।
G90 / G91 — पूर्ण (ABS) / वृद्धिशील (INC) मोड।
G98 / G99 — ड्रिलिंग साइकल में वापसी (प्रारंभिक बिंदु / R-प्लेन)।
ड्रिलिंग साइकल्स: G73, G74, G76,
G80, G81, G82, G83
— निम्न पैरामीटर समर्थन के साथ: X, Y, Z, R, Q, F.
विशेष कोड: G65 — आर्ग्युमेंट्स के साथ कस्टम मैक्रो कॉल।
M-codes:
स्पिंडल नियंत्रण: M3, M4, M5.
कूलैंट नियंत्रण: M7, M8, M9.
प्रोग्राम रुकावट: M0, M1, M2, M30.
सबप्रोग्राम प्रबंधन: M98 (कॉल), M99 (वापसी)।
2. मैक्रो प्रोग्रामिंग समर्थन
स्थानीय वेरिएबल्स: #1 – #33 (यदि पैरामीटर सक्षम है तो M99 पर रीसेट)।
सामान्य वेरिएबल्स: #100 – #199.
वैश्विक वेरिएबल्स: #500 – #531.
सिस्टम वेरिएबल्स: FANUC के अनुसार (उदा. #5001 वर्तमान X स्थिति के लिए)।
गणितीय ऑपरेशन:
जोड़, घटाव, गुणा, भाग, घातांक।
कोष्ठक प्राथमिकता और नेस्टेड कैलकुलेशन।
FANUC फ़ंक्शन्स:
SIN, COS, TAN, ASIN, ACOS, ATAN.
ABS, ROUND, FIX, FUP, MOD, SQRT.
नेस्टेड फ़ंक्शन का समर्थन, जैसे SIN[FIX[#100+0.4]].
कमांड में एड्रेस प्रतिस्थापन: X[#500], F[#101+10] आदि।
3. लॉजिकल संरचनाएँ (Logical Constructs)
IF [condition] GOTO Nxxx — निर्दिष्ट लाइन नंबर पर जंप।
IF [condition] THEN ... — यदि शर्त सही है तो कमांड निष्पादित करें।
लॉजिकल ऑपरेटर्स: AND, OR, XOR (3 स्तर तक नेस्टेड शर्तें)।
तुलना ऑपरेटर्स: EQ, NE, GT, LT, GE, LE.
WHILE [condition] DOx ... ENDx — सशर्त (कंडीशनल) लूप्स।
लूप काउंटर और अनंत लूप सुरक्षा (infinite loop protection)।
4. सबप्रोग्राम्स (Subprograms)
सबप्रोग्राम परिभाषा: Oxxxx.
कॉल: M98 Pxxxx Lnn — L पैरामीटर (दोहराव की संख्या) का समर्थन।
वापसी: M99 (यदि पैरामीटर सक्षम है तो स्थानीय वेरिएबल रीसेट)।
G65 Pxxxx के लिए समर्थन — आर्ग्युमेंट पासिंग (A, B, C... H, I आदि) सीधे स्थानीय वेरिएबल्स में।
स्टैक गहराई नियंत्रण (stack depth control) के साथ रिकर्सिव कॉल्स।
5. अन्य विशेषताएँ (Other Features)
एक ही प्रोग्राम में पूर्ण (G90) और वृद्धिशील (G91) दोनों मोड का समर्थन।
स्वचालित कोड सामान्यीकरण (normalization): स्पेसिंग संरेखण, अतिरिक्त EOB हटाना, और टिप्पणियों (comments) का सही प्रबंधन।
प्रत्यक्ष आर्क रूपांतरण (Direct Arc Conversion):
R → IJK (ABS या INC मोड)।
IJK → R।
सिमुलेशन से पहले वेरिएबल्स का पूर्व-प्रतिस्थापन (pre-substitution) के साथ पार्सिंग।
पूर्ण टूलपाथ सिमुलेशन के लिए सबप्रोग्राम्स का इनलाइन विस्तार (inline expansion)।
नोट: NCPlayer पार्सर लगातार विकसित हो रहा है। भविष्य के संस्करणों में
Syntec , Siemens और अन्य नियंत्रकों के विशिष्ट कोड्स का समर्थन जोड़ा जाएगा।