CNC Machine में Absolute (G90) और Incremental (G91) Programming का सही उपयोग
Introduction
अगर आप CNC programming सीख रहे हैं या machine operator/setter के रूप में काम कर रहे हैं, तो G90 और G91 आपके लिए सबसे महत्वपूर्ण G-codes में से दो हैं। लेकिन यहीं पर 80% beginners confused हो जाते हैं।
G90 (Absolute Positioning) और G91 (Incremental Positioning) बिल्कुल अलग तरीके से काम करते हैं। गलत mode में programming करने से:
- Tool गलत जगह पर जा सकता है
- Machine crash हो सकता है
- Expensive components टूट सकते हैं
- Production रुक सकता है
मैंने अपने 5+ सालों के CNC training experience में देखा है कि ज्यादातर लोग G90 और G91 को definitional level पर तो समझते हैं, लेकिन practical coordinate calculation में भूल करते हैं।
इसी लिए मैंने यह comprehensive guide तैयार किया है जहाँ हम real-world scenarios के साथ सीखेंगे कि ये दोनों modes कैसे काम करते हैं, कब किसे use करें, और कौन-कौन सी common mistakes से कैसे बचें।
तो चलिए, शुरू करते हैं।
G90 क्या है? (Absolute Positioning को समझें)
सरल परिभाषा
G90 का मतलब है कि आप जब भी कोई coordinate देते हैं, वह Machine के fixed reference point (Work Zero या Machine Zero) से measured होता है।
एक analogy दें तो समझिए: मान लीजिए आपके घर से main road की दूरी 500 मीटर है। अगर मैं कहूँ "main road के 500 मीटर दूर जाओ", तो यह absolute position है। आप घर से निकलकर हमेशा अपने घर के reference से 500 मीटर की दूरी पर ही होंगे।
G90 में Coordinate System कैसे काम करता है?
G90 mode में:
- आप जब X50 देते हैं, तो tool Work Zero से ठीक 50 mm की दूरी पर चला जाता है
- आप যখন Z10 देते हैं, तो tool Work Zero से 10 mm की दूरी पर होता है
- यह बात irrelevant है कि tool पहले कहाँ था। नया position हमेशा Work Zero से absolute distance होगा
Work Zero का महत्व
कोई भी G90 movement को समझने के लिए Work Zero का सही होना critical है। Work Zero वह point है जहाँ आपने work piece को set किया है। अगर Work Zero गलत है, तो सभी calculations गलत होंगे।
Turning Machine पर Practical Example (G90)
मान लीजिए एक turning machine पर एक component है। Work Zero सेट है component के center पर।
G90 G00 X50 Z10
G01 X30 Z-20 F0.2
G00 X100 Z5
Line-by-Line Explanation:
- G90 G00 X50 Z10 - G90 mode activate करो (absolute), G00 (rapid motion) से X axis पर 50 mm के coordinate पर और Z axis पर 10 mm के coordinate पर जाओ। Tool तेजी से इस position पर पहुँचेगा
- G01 X30 Z-20 F0.2 - अब controlled speed से (G01) X को 30 mm position पर और Z को -20 mm (negative मतलब Z axis में पीछे की ओर) position पर ले जाओ। Speed है 0.2 mm/min
- G00 X100 Z5 - तेजी से tool को safe position पर ले जाओ (X=100, Z=5)
G91 क्या है? (Incremental Positioning को समझें)
सरल परिभाषा
G91 में coordinate current tool position से relative होता है, न कि fixed reference point से।
analogy फिर से: अगर मैं कहूँ "यहाँ से 50 मीटर आगे जाओ", तो यह incremental है। आपकी movement पिछली position पर depend करती है।
G91 में Calculation कैसे होती है?
G91 में:
- अगर tool पहले X50 पर था और आप X10 दो, तो tool X50 + X10 = X60 पर जाएगा (आगे की ओर)
- अगर आप X-10 दो, तो tool X50 - 10 = X40 पर जाएगा (पीछे की ओर)
- Z axis भी same logic से काम करता है
यह Δ (Delta) या change है, न कि absolute position।
Current Position की Critical Importance
G91 में सबसे जरूरी चीज है tool का current position सही तरीके से जानना। अगर आप current position गलत मान लो, तो सभी incremental movements गलत होंगी।
Turning Machine पर Practical Example (G91)
मान लीजिए same turning machine है और tool current position है X50 Z10।
G91 G00 X-20 Z-30
G01 X-20 Z-30 F0.2
G00 X70 Z-5
Line-by-Line Explanation:
- G91 G00 X-20 Z-30 - G91 mode (incremental) में rapid motion करो। X में -20 (पीछे की ओर) और Z में -30 (negative direction) मतलब current position से 20 mm छोटा होगा X और 30 mm कम होगा Z
- अगर tool X50 पर था, तो X50 - 20 = X30 पर जाएगा
- अगर tool Z10 पर था, तो Z10 - 30 = Z-20 पर जाएगा
- G01 X-20 Z-30 F0.2 - अब controlled motion से फिर से -20 और -30 incremental movement करो। यह X को 30-20=10 पर और Z को -20-30=-50 पर ले जाएगा
- G00 X70 Z-5 - फिर से incremental में rapid करो। मतलब अब की position से X में +70 और Z में -5 और चल जाएगा
G90 vs G91: Side-by-Side Comparison
| पहलू | G90 (Absolute) | G91 (Incremental) |
|---|---|---|
| Reference Point | Work Zero या Machine Zero | Current Tool Position |
| Coordinate Meaning | Final destination position | Movement distance (Δ change) |
| Position Verification | सीधा: coordinate देख लो, वही final position है | Complex: calculation करनी पड़े |
| Programming Style | Sequential - हर point का absolute coordinate | Sequential - हर step का change लिखना |
| Ease of Checking | आसान - CAD drawing से match करना सीधा है | मुश्किल - सभी changes को sum करके verify करना पड़ता है |
| Typical Applications | Fixed geometry वाली parts (सभी standard components) | Repeated patterns, offset cutting, manual programming |
| Error Risk | High अगर Work Zero गलत है | High अगर current position गलत estimate किया |
| Beginner Friendliness | ज्यादा सीधा और logical | थोड़ा confusing, calculation required |
| Mode Switching | आसान - कोई relational issue नहीं | Mode change के बाद position update करना जरूरी |
| Program Readability | बहुत clear - code से geometry समझ आती है | Less clear - history of movements track करना पड़े |
Practical CNC Examples - विभिन्न Scenarios
Example 1: Simple Turning Operation (G90 Method)
Scenario: एक simple cylindrical component का external diameter बनाना है।
Component Details:
- Overall length: 40 mm
- Diameter: 50 mm को 35 mm reduce करना है
- Tool current position: X100 Z5 (safe position)
N10 G90 G00 X50 Z5
N20 G01 X50 Z-40 F0.15
N30 G01 X35 Z-40 F0.15
N40 G00 X100 Z5
Explanation:
- N10: Safe approach करो absolute position X50, Z5 पर
- N20: Z-40 तक controlled speed से move करो (component के edge तक)
- N30: X को 35 तक reduce करो तो diameter तय होगा (radius program में radius से, diameter mode में diameter से)
- N40: Safe position पर वापस आओ
Example 2: Same Operation (G91 Method)
Current position पहले से X100 Z5 है।
N10 G91 G00 X-50 Z0
N20 G01 X0 Z-45 F0.15
N30 G01 X-15 Z0 F0.15
N40 G00 X65 Z45
Explanation (Calculation):
- N10: Current (X100) से X-50 = X50 पर जाओ, Z same रखो
- N20: X same रखो (X0 मतलब no change), Z को -45 move करो (X50 Z5 से X50 Z-40 तक)
- N30: X को -15 reduce करो (X50 से X35), Z same रखो
- N40: वापसी - X में +65 (X35+65=X100) और Z में +45 (Z-40+45=Z5)
क्या देखते हो? G91 में हर movement को पहले समझना पड़ा, जबकि G90 में सीधे final coordinates दे दिए।
Example 3: Multiple Points Machining (G90 ज्यादा suitable है)
Scenario: एक component पर कई holes drill करने हैं ये positions पर:
- Point 1: X20 Z10
- Point 2: X45 Z10
- Point 3: X70 Z10
- Point 4: X20 Z30
G90
G00 X20 Z10
G01 Z5 F0.1
G00 Z10
G00 X45 Z10
G01 Z5 F0.1
G00 Z10
G00 X70 Z10
G01 Z5 F0.1
G00 Z10
G00 X20 Z30
G01 Z5 F0.1
G00 Z10
G91
G00 X20 Z10 ; Starting point से आना
G01 Z-5 F0.1
G00 Z5
G00 X25 Z0 ; X को 45 तक ले जाने के लिए relative
G01 Z-5 F0.1
G00 Z5
G00 X25 Z0 ; फिर से 45 से 70 तक
G01 Z-5 F0.1
G00 Z5
G00 X-50 Z20 ; एक बड़ी jump
G01 Z-5 F0.1
G00 Z5
देख सकते हो कि multiple fixed points के लिए G90 कितना बेहतर है।
Example 4: Pattern/Repetitive Cutting (G91 ज्यादा suitable है)
Scenario: एक long shaft पर बार-बार step cutting करना है। हर step में:
- Z direction में 10 mm आगे जाना
- X diameter को 5 mm reduce करना
- यह 5 बार repeat करना
G91 G00 X50 Z5
G01 X50 Z0 F0.2 ; Approach
G01 X-5 Z0 F0.15 ; Step 1 - diameter reduce
G01 X0 Z-10 F0.15 ; Move to next step
G01 X-5 Z0 F0.15 ; Step 2
G01 X0 Z-10 F0.15 ; Next
G01 X-5 Z0 F0.15 ; Step 3
G01 X0 Z-10 F0.15 ; Next
G01 X-5 Z0 F0.15 ; Step 4
G01 X0 Z-10 F0.15 ; Next
G01 X-5 Z0 F0.15 ; Step 5
G00 X100 Z50 ; Rapid to safe
यहाँ pattern clear दिखता है और future modifications भी आसान हैं।
Example 5: Facing Operation with Mode Switching
Scenario: Facing करना है (Z axis में flat surface बनाना) और फिर stepping करना है।
G90 G00 X100 Z2
G01 X0 Z0 F0.1 ; Face करना - absolute points तक
G00 X80 Z5
G91 G01 X-10 Z-5 F0.15 ; अब incremental - step pattern
G01 X-10 Z-5 F0.15
G01 X-10 Z-5 F0.15
G90 G00 X100 Z10 ; वापस absolute safe position पर
यहाँ क्या हुआ: शुरुआत में G90 से facing करी (क्योंकि fixed points थे), फिर G91 switch करके pattern cutting की, और अंत में फिर से G90 से safe position पर आए。
Real-World Scenario: G90 से G91 Conversion
Scenario Setup
Tool की current position: X50 Z10
Destination: X40 Z-20
Task: इसी movement को पहले G90 में, फिर G91 में program करो
G90 में Programming (सरल)
G90 G00 X40 Z-20
बस! यह एक line में हो गया। Tool सीधे X40 Z-20 पर चला जाएगा।
G91 में Programming (Calculation Required)
पहले calculate करते हैं:
X-axis calculation:
- Current position: X50
- Final position: X40
- Incremental movement: X40 - X50 = X-10 (negative मतलब पीछे की ओर)
Z-axis calculation:
- Current position: Z10
- Final position: Z-20
- Incremental movement: Z-20 - Z10 = Z-30 (negative)
G91 G00 X-10 Z-30
Calculation को Visual Form में
Current Position → Destination
↓
X50, Z10 → X40, Z-20
↓
Incremental = Destination - Current
X: 40 - 50 = -10 ✓
Z: (-20) - 10 = -30 ✓
G91 Command: X-10 Z-30
साफ समझ के लिए Formula (G91 Calculation)
For this example:
X_incremental = 40 - 50 = -10
Z_incremental = (-20) - 10 = -30
Command: G91 G00 X-10 Z-30
G90 और G91 को एक ही Program में Use करना
कब करते हैं?
कई बार एक program में दोनों modes की जरूरत होती है:
- Fixed geometry के लिए G90 (जैसे hole positions)
- Repetitive patterns के लिए G91 (जैसे threading या step cutting)
- Adaptive operations के लिए जहाँ कभी absolute, कभी relative positioning चाहिए
Mode Change करते समय Important Checks
जब आप G90 से G91 या G91 से G90 switch करते हो:
- 1. Current Position को Refresh करो: Program logic के अनुसार tool current में कहाँ है। यह mentally note करो या DRY RUN करके देख लो।
- 2. Coordinate System को Verify करो: Work Zero की position सही है? Machine Zero सही set है?
- 3. Next Movement को Test करो: Mode change के बाद पहली movement को simulator में देख लो। Unexpected movement तो नहीं?
- 4. Safe Moves से करो: Mode switch के बाद हमेशा rapid movement से करो (G00)। Controlled movement बाद में करो (G01)।
Practical Example: Mode Switching
G90 G00 X50 Z10 ; Absolute - first operation
G01 X30 Z-20 F0.2 ; Facing with absolute coordinates
G00 X100 Z5 ; Safe rapid
G91 G00 X-50 Z0 ; Switch to incremental
; अब current position X100 Z5 है
; G91 में X-50 means go to X100-50 = X50
G01 X0 Z-30 F0.15 ; Step cutting pattern
G01 X-10 Z-10 F0.15
G01 X-10 Z-10 F0.15
G01 X-10 Z-10 F0.15
G90 G00 X100 Z5 ; Switch back to absolute (safer करने के लिए)
🏭 फैक्ट्री फ्लोर की असली सच्चाई (Factory Floor Reality & Mindset)
जब आप असल में किसी बड़ी कंपनी या प्रोडक्शन लाइन पर खड़े होते हैं, तो वहां का माहौल ट्रेनिंग क्लासरूम से बिल्कुल अलग होता है। वहां ऑपरेटर पर लगातार प्रोडक्शन का दबाव होता है और मशीनों की भारी आवाज़ के बीच मानसिक फोकस बनाए रखना बहुत मुश्किल होता है। एक साधारण ऑपरेटर (जो सिर्फ हरा बटन दबाना जानता है) हमेशा घबराया रहता है कि कहीं मशीन क्रैश न हो जाए।
लेकिन एक सफल CNC Setter या Programmer, जिसे G90 और G91 का असली लॉजिक (Logic) पता होता है, वह मशीन की हर मूवमेंट को पहले अपने दिमाग में विज़ुअलाइज़ (Visualize) करता है। इंडस्ट्री में बटन दबाना सीखना 10 दिन का काम है, लेकिन मशीन के 'Coordinate System' और उसके सोचने के तरीके (Machine Language) को समझना ही आपको भीड़ से अलग करता है।
G90 और G91 सिर्फ कोड नहीं हैं, ये मशीन को निर्देश देने की दिशाएँ हैं। जब आप यह गहराई से समझ जाते हैं कि टूल हवा में कैसे ट्रेवल कर रहा है, तो आप सिर्फ एक ऑपरेटर नहीं रहते, बल्कि एक सच्चे CNC Expert बन जाते हैं। यही सही माइंडसेट (Mindset) आपको फैक्ट्री फ्लोर पर ज़ीरो से हीरो बनाता है।
CNC में Crash Prevention और Safety
G90 और G91 से crash कैसे हो सकते हैं? और कैसे बचें? यहाँ detailed guide है।
1. Mode Verification
❌ गलत:
X50 Z10
G01 X30 Z-20
✓ सही:
G90 G00 X50 Z10
G01 X30 Z-20
2. Current Position Check करना
कैसे करें:
- Program के पहले Dry Run देखो
- Machine की display पर current position note करो
- Mentally या physically next movement को calculate करो
Tool display करता है: X_50.000 Z_10.000
अगर G91 mode में X-10 लिखो, तो:
New position = 50 + (-10) = 40 ✓
लेकिन अगर गलती से current position X60 मान लो:
Expected: 60 - 10 = 50 (गलत!)
3. Sign Verification (+/- चिन्ह)
X-axis sign का अक्सर confusion होता है:
- Turning machine में + usually means diameter बढ़ता है (या radius बाहर की ओर)
- - मतलब diameter घटता है (या radius अंदर की ओर)
Machine specific है। अपने machine manual को पढ़ो।
4. Work Offset Verification
Work Offset को हमेशा check करो:
- डिस्प्ले में current offset देख लो
- अगर गलत offset सेट है, तो सभी G90 movements गलत होंगे
5. Dry Run करो
यह सबसे महत्वपूर्ण safety tool है:
- Program को Dry Run mode में load करो
- Feed Rate और Rapid Rate को कम करो (5-10%)
- Graphics/simulation देखो
- Tool path को manually trace करो
- कोई unexpected motion तो नहीं?
- Clearance proper है?
6. Single Block Mode
G00 command पर SINGLE BLOCK चलाओ:
- एक बार में एक line execute होता है
- हर line के बाद pause होता है
- आप DRO देख सकते हो और verify कर सकते हो
7. Override Control
Machine पर THREE override buttons हैं:
- FEED OVERRIDE (F): Speed कम करो (30% start करो)
- RAPID OVERRIDE (R): तेजी कम करो (50% से कम न करो)
- SPINDLE OVERRIDE (S): RPM control करो
पहली बार चलाते समय इन सबको कम रखो।
8. Graphics/Simulation का उपयोग
Modern CNC machines में built-in simulation होता है:
- Program को simulate करो
- Toolpath को देख लो
- Collision check करो
- Material removal को verify करो
9. Coordinates को Double-Check करो
Program लिखने के बाद:
✓ सभी G90 coordinates को CAD drawing से match करो
✓ सभी G91 movements को step-by-step calculate करो
✓ Negative signs को specially check करो
✓ Diameter vs Radius convention को verify करो
Common Mistakes - 10 Most Frequent Errors
Mistake 1: G90 और G91 को Confuse करना
Error:
❌ Program में:
G90 G00 X50 Z10
; आप सोचते हो यह X में 50 movement है
; असल में यह X की absolute position है
G91 G00 X50 Z10
; यह actually 50 amount की movement है
Solution: हमेशा याद रखो - G90 = Final Position, G91 = Movement Distance
Mistake 2: Current Position को गलत मान लेना
Error:
❌ Program:
; आप मान लेते हो tool X50 पर है
G91 G00 X-20 ; मतलब X30 पर जाएगा
; लेकिन actually tool X60 पर था
; तो tool X40 पर गया (60-20=40) ❌
Solution: Program चलाने से पहले DRY RUN करके current position note कर लो
Mistake 3: Plus/Minus Sign की गलती
Error:
❌ Tool को Z में 10 mm पीछे भेजना है
G91 G00 Z10 ; यह आगे भेज देगा!
✓ सही:
G91 G00 Z-10 ; यह पीछे भेजेगा
Solution: Sign convention को machine manual में verify करो
Mistake 4: G91 Movement को Absolute समझ लेना
Error:
❌ Program logic:
; G91 में X-20 Z-30 दिया
; आप सोचते हो final position X-20 Z-30 है
; लेकिन असल में यह current से -20 और -30 का change है
Solution: G91 को हमेशा CHANGE/DELTA के रूप में सोचो, न कि position
Mistake 5: Mode Change के बाद Coordinate Calculation भूल जाना
Error:
❌ Program:
G90 G00 X50 Z10 ; Absolute - OK
G00 X30 Z-20 ; Still G90 - fine
G91 G00 X0 Z-10 ; Mode switched to G91
G00 X50 Z10 ; ERROR! यह coordinates हैं, movements नहीं
; Tool X0 पर नहीं, X30-50=-20 पर जाएगा (गलत!)
Solution: Mode change के बाद तुरंत calculate करो कि new coordinates क्या मायने रखेंगे
Mistake 6: गलत Work Offset set करना
Error:
❌ Work Offset सेट नहीं किया
G90 G00 X50 Z10 ; Tool दूसरी जगह पर जाएगा
Solution: हमेशा Work Offset verify करो, especially शुरुआत में
Mistake 7: Rapid Movement का गलत अनुमान
Error:
❌ G00 rapid movement को normal speed से चलाना
❌ या G01 controlled movement को rapid से
Solution: G00 = rapid (बिना cutting), G01 = controlled (cutting के साथ)
Mistake 8: X-axis Diameter Convention को Verify न करना
Error:
Tool turning machine पर:
❌ X50 diameter देते हो, but machine इसे radius मानता है
❌ या radius दो, पर machine diameter समझता है
= गलत diameter बनेगा (2x error)
Solution: Machine manual पढ़ो - radius या diameter mode?
Mistake 9: Floating Point Precision की गलती
Error:
❌ G90 G00 X50. Z10. (पूरी तरह अलग हो सकता है)
✓ G90 G00 X50.0 Z10.0 (ज्यादा precise)
✓ G90 G00 X50 Z10 (भी ठीक है, अगर machine में default precision सेट हो)
Solution: Decimal point को consistent रखो और machine manual follow करो
Mistake 10: एक ही Program में Absolute और Relative Points को Mix करना
Error:
❌ Program में:
N10 G90 G00 X50 Z10 ; absolute
N20 G91 G00 X-20 Z-30 ; relative
N30 G00 X100 Z5 ; यह G91 में है तो relative होगा!
; X100 Z5 की movement है, position नहीं
Solution: Mode change को clearly mark करो और हमेशा verify करो
G90 कब इस्तेमाल करें? (Decision Guide)
G90 के लिए Ideal Situations
- ✅ **Fixed Geometry के साथ Parts:** हर component का same design है। CAD drawing से directly coordinates ले सकते हो। Example: Mass-produced components।
- ✅ **Multiple Machining Points:** कई holes, pockets, या features एक same coordinate system में हैं। G90 में सभी points absolute दे दो। Code clean और readable रहता है।
- ✅ **Adaptive Machining:** Machine को dynamic feeding या coordinate change करना है। G90 में current position से next absolute position direct दे सकते हो।
- ✅ **Setup और Setup Verification के लिए:** Programmer को check करना है कि Work Offset सही है। G90 से test coordinate दो। देख लो कि tool सही जगह गया या नहीं।
- ✅ **Subprogram/Subroutine Calling:** जब multiple identical operations हों। हर operation के लिए absolute coordinates define करो। Subroutine को बार-बार call करो different offsets के साथ।
G90 की Limitations
- ❌ जब coordinates बहुत जटिल हों या बार-बार recalculate करना पड़े।
- ❌ जब tool की current position uncertain हो।
- ❌ जब Work Offset बार-बार change हो रहा हो।
G91 कब इस्तेमाल करें? (Decision Guide)
G91 के लिए Ideal Situations
- ✅ **Repetitive Patterns:** Threading, step cutting, flute cutting। हर step में same amount की movement। G91 से pattern को repeat करना super easy है।
- ✅ **Manual Programming और Setup:** Operator manually code enter कर रहा है। Current tool position देख सकता है। "यहाँ से 10 mm आगे, फिर 5 mm बाईं ओर" - यह G91 logic है।
- ✅ **Offset-Based Operations:** जब एक geometry को repeatedly offset करना हो। G91 से consistent offsets दे सकते हो।
- ✅ **Tool Changing और Position Recovery:** Tool बदलने के बाद tool को previous position के relative आना हो। G91 से relative positioning से position recovery हो सकती है।
- ✅ **Simulation और Learning के लिए:** नए programmers को relative positioning की समझ है। Pattern देखना ज्यादा आसान है G91 में।
G91 की Limitations
- ❌ Absolute fixed points के लिए complicated हो जाता है।
- ❌ Program readability कम होती है (history track करनी पड़े)।
- ❌ अगर एक भी calculation गलत हो तो सब आगे की calculations गलत हो जाती हैं।
G90 और G91 याद रखने की आसान Tricks
Trick 1: "Absolute = Address"
G90 को सोचो जैसे घर का ADDRESS होता है:
जैसे:
"मेरा घर C-12, Raj Nagar है"
(यह absolute है, घर के आने का रास्ता बताता है)
उसी तरह:
G90 X50 Z10 का मतलब
"Tool का address है X50 Z10 (Work Zero से)"
Trick 2: "Incremental = Instruction"
G91 को सोचो जैसे PATH INSTRUCTION होते हैं:
जैसे:
"यहाँ से 100 मीटर सीधा जाओ, फिर 50 मीटर दाईं ओर"
(यह relative है, current position पर depend करता है)
उसी तरह:
G91 X-20 Z-30 का मतलब
"Current position से 20 आगे, 30 पीछे जाओ"
Trick 3: "G90 = GLOBAL, G91 = LOCAL"
G90 = Global coordinates (पूरे machine के reference से)
G91 = Local coordinates (tool के current position से)
Trick 4: Formula Mnemonic
Remember:
• G90: Final_Coordinate (बस यही दो)
• G91: Current + Incremental = New
For example:
If Current = X50 और आप G91 X-20 दो
New = 50 + (-20) = 30
Trick 5: Mode-Specific Language Use करो
G90 में बोलते हो: "Tool को X50 पर भेजो"
G91 में बोलते हो: "Tool को X से 20 आगे भेजो"
शब्दों की अलग-अलग भाषा याद रखते ही confusion कम हो जाता है।
CNC Operator/Setter के लिए Interview Questions
अगर आप CNC job interview के लिए तैयारी कर रहे हो, तो ये 10 questions-answers जरूर पढ़ लो:
Q1: G90 और G91 में क्या फर्क है? (Basic)
Answer:
"G90 Absolute Positioning है जहाँ coordinates Work Zero से measured होते हैं। G91 Incremental Positioning है जहाँ coordinates current tool position से relative होते हैं।
Example से समझें:
- अगर tool X50 पर है और G90 में X40 दो, तो tool सीधे X40 पर जाएगा
- अगर G91 में X-10 दो, तो tool current से 10 पीछे यानी X40 पर जाएगा
दोनों में फिनल position same है पर method अलग है।"
Q2: कौन सी situation में G90 ज्यादा उपयोगी है?
Answer:
"जब एक component के कई fixed points पर machining करनी हो, जैसे multiple holes, pockets, या feature locations।
क्योंकि G90 में हर point का absolute coordinate सीधे CAD से ले सकते हो। Coding clean रहती है और verification आसान है। खास तौर पर mass production में G90 preferred है।"
Q3: G91 का फायदा क्या है?
Answer:
"G91 तब useful है जब pattern repeat होता है या tool का relative movement important हो।
Example: Threading या step cutting में हर step में same amount की movement होती है - यह G91 में एक ही instruction से repeat हो सकती है। Manual programming और adaptive operations में भी G91 सुविधाजनक है।"
Q4: G90 से G91 में convert कैसे करते हो?
Answer:
"Formula है:
Incremental_Value = Destination_Value - Current_Value
Example: Tool X50 पर है, destination X40 है
Incremental = 40 - 50 = -10
तो G91 में X-10 लिखोगे।
Same Z या Y के लिए भी करते हो।"
Q5: Mode change करते समय कौन सी बातें check करनी चाहिए?
Answer:
"तीन important बातें:
1. Current position को note कर लो - next command को calculate करने के लिए
2. यह सुनिश्चित करो कि mode change के बाद पहली command safe है (usually rapid motion)
3. अगर coordinates absolute से relative में switch हो तो coordinate recalculation करो
Example:
G90 G00 X50 Z10 ; Absolute mode"
G91 G00 X-20 Z0 ; Mode switch - यहाँ X-20 means 50-20=30, न कि -20
Q6: अगर Work Offset गलत है तो क्या होगा?
Answer:
"अगर Work Offset गलत है तो G90 के सभी coordinates गलत होंगे क्योंकि reference point ही गलत है।
Example: अगर Work Offset 5 mm high set है, तो G90 में Z10 दिया तो actually Z15 पर जाएगा。
यही वजह है कि हर machining session की शुरुआत में Work Offset को carefully verify करना जरूरी है।"
Q7: Dry Run mode में क्या verify करते हो G90/G91 के लिए?
Answer:
"Dry Run में:
1. Mode को verify करता हूँ - कौन सा G-code चल रहा है
2. Tool path को dekhता हूँ - कोई unexpected movement तो नहीं
3. Coordinates को manually trace करता हूँ
4. Clearance को check करता हूँ - collision risk तो नहीं
5. Incremental movements को sum करके final position verify करता हूँ (G91 के लिए)
इसके बाद ही machine को actual cut के लिए release करता हूँ।"
Q8: X-axis diameter convention को कैसे verify करते हो?
Answer:
"Turning machine पर X-axis convention +/- meaning को machine manual में check करना होता है।
Generally:
- Positive X = tool बाहर की ओर (diameter बढ़ता है)
- Negative X = tool अंदर की ओर (diameter घटता है)
लेकिन कुछ machines में opposite हो सकता है। मैं हमेशा एक test program से verify कर लेता हूँ।"
Q9: अगर G90 और G91 एक ही program में हों तो क्या risk है?
Answer:
"सबसे बड़ी risk है mode change के बाद गलत calculation।
Example:
G90 में tool X50 पर है
G91 में switch करो और X50 दो
तो tool X100 पर चला जाएगा (50+50)
यह crash कर सकता है!
इसलिए mode change को मैं clear comments के साथ करता हूँ और हर change के बाद manual verification करता हूँ।"
Q10: नया programmer G90 और G91 को कैसे practice करे?
Answer:
"मेरी suggestion:
1. पहले G90 को thoroughly समझ लो - यह simpler है
2. Simple manual part example से शुरू करो (2-3 points)
3. हर program को simulator में test कर लो
4. फिर G91 को सीखो - pattern-based examples से
5. दोनों को mix करने की कोशिश करने से पहले एक-एक को आदी हो जा
और सबसे महत्वपूर्ण: machine manual को सेम-सेम पढ़ो।"
Frequently Asked Questions (FAQs)
Q: क्या हर CNC machine में G90 और G91 same काम करते हैं?
A: हाँ, G90 (Absolute) और G91 (Incremental) का basic concept सभी FANUC-based और most modern CNC controllers में same है। लेकिन coordinate system, axis convention, और Work Offset handling machine-specific हो सकता है।
हमेशा अपने specific machine/controller का manual check करो। FANUC, Siemens, और Mitsubishi के बीच भी कुछ variation हो सकते हैं।
Q: G90 mode में negative Z क्यों use होता है? क्या यह backward है?
A: Turning machine पर Z-axis convention:
- Positive Z = Usually tool आगे की ओर जाता है (axially, component से दूर)
- Negative Z = Tool पीछे की ओर (axially, component की ओर)
तो अगर component के पास tool ले जाना है तो negative Z use होता है - यह "backward" नहीं, यह axis direction convention है।
Different machines में यह opposite भी हो सकता है। अपने DRO देख कर समझ लो。
Q: क्या मैं एक ही line में G90 और G91 दोनों दे सकता हूँ?
A: नहीं। एक line में एक ही mode हो सकता है। आपको mode switch करना है तो separate block में करना पड़ता है:
G90 G00 X50 Z10 ; Absolute mode
G91 G00 X-20 Z0 ; Mode switched, now incremental
Q: Dry Run के दौरान tool actual movement करता है या सिर्फ simulation होता है?
A: यह machine पर निर्भर करता है:
- कुछ machines में Dry Run में spindle off रहता है पर axes move करते हैं
- कुछ में सिर्फ display simulation होता है, actual movement नहीं होता है
अपने machine के manual में देख लो। सुरक्षा की दृष्टि से हमेशा assume करो कि tool move करेगा。
Q: अगर program में G90 या G91 दिया ही न हो तो क्या होता है?
A: CNC controller के पास default mode होता है (usually G90)। लेकिन यह risky है क्योंकि:
- कोई पहले से G91 छोड़ गया हो
- Controller का default configuration change हो
- Manual intervention के बाद mode change हो
Best practice: हर program की शुरुआत में explicitly G90 या G91 दे दो。
Q: Work Zero और Machine Zero में क्या फर्क है?
A:
- Machine Zero: Machine का fixed origin - जहाँ machine initialize होता है
- Work Zero: वह point जो आपने current work piece के लिए set किया है (Work Offset के through)
G90 में coordinates Work Zero से measured होते हैं (तब तक जब तक आप manually Machine Zero reference न दो)।
Q: G91 में अगर बहुत सारी छोटी-छोटी movements हों तो क्या rounding error का risk है?
A: हाँ, potential है। अगर बहुत calculations हों तो floating-point precision issues हो सकते हैं। यही वजह है कि:
- G90 को fixed geometry के लिए prefer किया जाता है
- G91 को limited, well-defined patterns के लिए use किया जाता है
अगर आपको many small G91 movements करने हैं, तो परिणाम को G90 से verify करने की सलाह है。
Q: CNC simulator software में G90 और G91 practice कैसे करूँ?
A: बहुत सारे free CNC simulators available हैं (जैसे Fusion 360, CNCjs, आदि)। Practice के लिए:
1. Simple rectangular part से शुरू करो
2. G90 से सभी coordinates CAD से point करो
3. Same program को G91 में convert करो
4. दोनों simulate करो - same result मिलना चाहिए
5. Coordinates को manually verify करो
यह method से समझ गहरी होती है。
Conclusion
CNC programming में G90 और G91 की समझ fundamentally important है। ये सिर्फ दो G-codes नहीं हैं - ये दो अलग-अलग thinking models हैं।
Key Takeaways:
- G90 = Absolute: Work Zero से measured, CAD-friendly, fixed geometry के लिए
- G91 = Incremental: Current position से relative, pattern-friendly, adaptive operations के लिए
- Mode selection problem को आधा solve कर देता है
- Calculation discipline essential है - हर coordinate को मानसिक या written में verify करो
- Dry Run, Single Block, और Simulation safety की रीढ़ हैं
- Common mistakes से सीखो - अपनी गलतियों से, किसी की crash से नहीं
□ अपने machine का manual खोलो और axis conventions को समझ लो
□ एक simple 5-point program G90 में बना और simulate कर
□ उसी को G91 में convert कर
□ दोनों को Dry Run में चला
□ Common mistakes list को print करके machine के पास रखो
Professional Development के लिए:
- Advanced threading और step-cutting patterns को G91 से master करो
- Subprograms और macro programming को G90-based architecture से सीखो
- Adaptive feeds और dynamic offsets को understand करो
- Different controller brands को explore करो
☕ Buy me a Chai!
अगर आपको मेरे CNC G-codes, Web Design टिप्स या AI कहानियों से मदद मिली हो, तो आप मुझे सपोर्ट कर सकते हैं। आपका सपोर्ट मुझे और बेहतरीन कंटेंट बनाने की प्रेरणा देता है!
Support via UPI UPI ID: riteshrajput1226@okicici

टिप्पणियाँ
एक टिप्पणी भेजें
Thanks 🙏🏻