G-code (الترميز الهندسي) هي لغة برمجة عالمية تُستخدم للتحكم في آلات التحكم الرقمي بالحاسوب (CNC). طُوِّرت G-code في خمسينيات القرن الماضي في معهد ماساتشوستس للتكنولوجيا (MIT)، ولا تزال تُشكِّل العمود الفقري لآلات التحكم الرقمي بالحاسوب الحديثة، مما يُتيح تحكمًا دقيقًا في عمليات التصنيع، مثل الطحن والخراطة والقطع بالليزر.
يبدأ كل أمر G-code بحرف (على سبيل المثال، G، M، أو F) متبوعًا بقيم عددية، لتوجيه الجهاز إلى:
- التحكم في الحركة (أوامر G):تحديد مسار الأداة وسرعتها (على سبيل المثال، التحرك نحو الإحداثيات، الحركة الخطية/القوسية).
- إدارة الوظائف (أوامر M): التعامل مع إجراءات البدء/الإيقاف (على سبيل المثال، تدوير المغزل، وتغيير الأدوات، وتشغيل/إيقاف سائل التبريد).
على الرغم من توحيدها بموجب معيار ISO 6983، إلا أن هناك اختلافات بين شركات تصنيع الآلات (مثل Fanuc وHaas وSiemens). يغطي هذا الجدول رموز G-codes للأغراض العامة 90%. بالنسبة للوظائف المتقدمة (5 محاور، وحدات الماكرو)، راجع دائمًا دليل جهازك للتأكد من التوافق.
المفاهيم الرئيسية:
- أوامر نموذجية:تظل نشطة حتى يتم استبدالها (على سبيل المثال،
ج01
(يبقى في وضع الحركة الخطية). - الأوامر غير النمطية:تنفيذ مرة واحدة (على سبيل المثال،
جي28
(يعود إلى وضع المنزل). - الوحدات:
مجموعة العشرين
(بوصات) /مجموعة الـ21
(ملليمترات). - أنظمة الإحداثيات:
جي 54
-جي 59
(تعويضات العمل)،جي90
(التموضع المطلق)،جي91
(التموضع التدريجي). - التنفيذ المتسلسل: الآلة تقرأ الكود سطرًا بسطرمن الأعلى إلى الأسفل، لا تخطي أو تكرار ما لم تستخدم ميزات متقدمة

فئات G-Code
فئة | أوامر المثال | الوظيفة الأساسية |
---|---|---|
التحكم في الحركة | G00، G01، G02، G03 | حركة الأداة (سريعة/خطية/قوسية) |
اختيار الطائرة | G17، G18، G19 | حدد مستوى العمل (XY/XZ/YZ) |
الوحدات والقياس | G20 (بوصة)، G21 (مم) | تعيين نظام القياس |
أنظمة الإحداثيات | G54-G59، G92 | تحديد إزاحات العمل أو الإحداثيات المؤقتة |
تعويض الأداة | G40، G41، G42، G43 | تعديل لحجم الأداة/الطول |
الدورات المعلبة | جي81-جي89 | إجراءات الحفر/النقر الآلية |
التحكم في المغزل | م03، م04، م05 | بدء/إيقاف دوران المغزل |
التحكم في سائل التبريد | م08، م09 | تشغيل/إيقاف سائل التبريد |
التحكم في البرنامج | م30، م02 | إنهاء البرنامج/إعادة ضبط الجهاز |
وظائف خاصة | G28، G53 | العودة إلى إحداثيات المنزل/الجهاز |
ملحوظة: 80% من البرامج الأساسية تستخدم فقط: G00/G01
, مجموعة الـ17/مجموعة الـ20/مجموعة الـ21
, م03/م05
، و م30
.
جدول مرجعي لأوامر G-Code الشائعة
يأمر | وظيفة | حدود | مثال | ملحوظات |
---|---|---|---|---|
جي00 | تحديد المواقع السريع (حركة غير قطعية) | X، Y، Z (إحداثيات الهدف) | G00 X10 Y5 Z2 | تجنب الاصطدامات؛ لا يحدث أي قطع. |
ج01 | الاستيفاء الخطي (حركة القطع) | X، Y، Z، F (معدل التغذية) | G01 X20 Y15 Z0 F150 | الحفاظ على معدل تغذية ثابت للتشطيب السطحي. |
جي02 | الاستيفاء الدائري في اتجاه عقارب الساعة | X، Y، I، J، K (إزاحات مركز القوس) | G02 X30 Y30 I5 J0 | I/J/K يحدد مركز القوس بالنسبة لنقطة البداية. |
ج03 | الاستيفاء الدائري عكس اتجاه عقارب الساعة | نفس G02 | G03 X40 Y20 I0 J-5 | يستخدم للأقواس والدوائر. |
جي17 | اختيار المستوى XY | لا أحد | جي17 | الطائرة الافتراضية لمعظم عمليات الطحن. |
مجموعة 18 | اختيار الطائرة XZ | لا أحد | مجموعة 18 | تستخدم في عمليات المخرطة. |
مجموعة 19 | اختيار طائرة YZ | لا أحد | مجموعة 19 | نادرًا ما يتم استخدامه في الطحن القياسي. |
مجموعة العشرين | وحدات البوصة | لا أحد | مجموعة العشرين | تعيين كافة القيم إلى البوصات. |
مجموعة الـ21 | الوحدات المترية | لا أحد | مجموعة الـ21 | تعيين كافة القيم إلى ملليمترات. |
جي28 | العودة إلى الوضع الرئيسي | X، Y، Z (اختياري عبر الوسيط) | G28 X0 Y0 Z0 | تتحرك الآلة إلى نقطة مرجعية. |
جي40 | إلغاء تعويض القاطع | لا أحد | جي40 | تعطيل إزاحة نصف قطر الأداة. |
جي41 | تعويض القاطع الأيسر | د (رقم إزاحة نصف قطر الأداة) | جي41 دي1 | يعوض عن نصف قطر الأداة إلى يسار المسار. |
جي42 | تعويض القاطع الأيمن | د (رقم إزاحة نصف قطر الأداة) | جي42 دي 2 | يعوض عن نصف قطر الأداة على يمين المسار. |
جي43 | تعويض طول الأداة | H (رقم إزاحة ارتفاع الأداة) | جي43 اتش 3 | يتم تعديله حسب طول الأداة؛ وهو أمر بالغ الأهمية لإعدادات الأدوات المتعددة. |
جي 54 | نظام إحداثيات العمل 1 | لا أحد | جي 54 | يحدد إزاحة العمل المحددة مسبقًا (G54–G59). |
جي 80 | إلغاء أوضاع الحركة | لا أحد | جي 80 | يلغي الدورات (على سبيل المثال، الحفر، التنصت). |
جي90 | التموضع المطلق | لا أحد | جي90 | جميع الإحداثيات نسبية إلى الأصل. |
جي91 | التموضع التدريجي | لا أحد | جي91 | الإحداثيات نسبية بالنسبة للموقع الحالي. |
م03 | بدء المغزل (باتجاه عقارب الساعة) | S (سرعة المغزل) | M03 S2000 | يدور المغزل في اتجاه عقارب الساعة بسرعة 2000 دورة في الدقيقة. |
م04 | بدء المغزل (عكس اتجاه عقارب الساعة) | S (سرعة المغزل) | M04 S1500 | يستخدم لعمليات القطع العكسي. |
م05 | توقف المغزل | لا أحد | م05 | يوقف المغزل بعد العملية. |
م06 | تغيير الأداة | T (رقم الأداة) | M06 T5 | تغيير الأداة تلقائيًا (يتطلب ATC). |
م08 | سائل التبريد قيد التشغيل | لا أحد | م08 | يقوم بتنشيط سائل التبريد الفيضاني. |
م09 | إيقاف تشغيل سائل التبريد | لا أحد | م09 | يقوم بإيقاف تشغيل سائل التبريد. |
م30 | إنهاء البرنامج وإعادة تعيينه | لا أحد | م30 | إنهاء البرنامج وإعادة ضبط الجهاز. |
ف | معدل التغذية | قيمة التغذية (وحدات/دقيقة أو وحدات/دورة) | اف 200 | تم ضبطه في G94 (وحدات/دقيقة) أو G95 (وحدات/دورة). |
س | سرعة المغزل | قيمة RPM | إس 3000 | تعتمد السرعة على نوع المادة والأداة. |
ت | اختيار الأدوات | رقم الأداة | ت4 | تحضير الأداة لأمر M06. |
التعليمات
لا. تُولّد برامج CAM الحديثة معظم الأكواد تلقائيًا. ركّز على فهم الأوامر الشائعة مثل جي00
, ج01
, م03
، و م30
.
الأساسيات عالمية، لكن الميزات المتقدمة تختلف باختلاف العلامة التجارية. على سبيل المثال:
- هاس: G187 (وضع السرعة العالية)
- فانوك: G05.1 (تنعيم)
تأكد دائمًا من دليل جهازك للحصول على التفاصيل.
نعم. على سبيل المثال:
استخدام جي00
(حركة سريعة) بدلا من ج01
(قطع بطيء) → تصطدم الأداة بقطعة العمل.
النسيان م05
(توقف المغزل) → يستمر المغزل في الدوران بعد انتهاء البرنامج.
- الاختبار الأول: قم بتشغيل البرامج في وضع "التشغيل الجاف" (بدون تقطيع).
- وضع الكتلة الفردية: قم بتنفيذ سطر واحد في كل مرة لالتقاط الأخطاء.
- إعدادات النسخ الاحتياطي: قم بتدوين إزاحات الجهاز قبل التحرير.
- تنظيف مكان العمل: قم بإزالة الحطام الذي قد يعيق الحركة.
نعم، ولكن قم فقط بتعديل القيم التي تفهمها بالكامل ولا تقم أبدًا بتعديل مسارات الأدوات بدون برنامج CAM - فالأخطاء الصغيرة يمكن أن تتسبب في حدوث أعطال.
برامج CAM: Fusion 360، Mastercam، SolidWorks CAM (مدفوع)، FreeCAD، Easel (على الويب).
ملحوظة: تجنب كتابة التعليمات البرمجية من الصفر ما لم تكن لديك الخبرة.
موارد
- توثيق G-Code لـ LinuxCNC
- دليل برمجة سلسلة Fanuc 30i/31i/32i
- دليل البرمجة المتقدمة لجهاز Siemens 840D SL
- معيار ISO 6983-1
- كتاب تدريب برمجة هاس ميل
- دليل برمجة Mazak SmoothX CNC
- أساسيات G-Code (NRAO)
- مدونة كتاب الطبخ CNC
- عارض NC (الويب، مجاني)
- كاموتيكس (مفتوح المصدر)
- فيريكات
- ميكانيكي عملي
- منتدى LinuxCNC
- تبادل المكدس – التصنيع
- ريديت r/CNC