# CNC Code — تصحيحات على الدورات الثابتة للمخرطة (سبتمبر 2026)

# CNC Code — تصحيحات على الدورات الثابتة للمخرطة (سبتمبر 2026)

Antonio Benedetto
Antonio Benedetto
19/09/2026 6 min di lettura 8 visualizzazioni

## لماذا هذا التحديث

أبلغنا أحد المستخدمين أن المحاكي كان يرفض دورة تشغيل خشن G71 مكتوبة بشكل صحيح، مشيراً إلى نقص معامل كان في الواقع موجوداً في السطر. وكان محقاً. تحققنا من الحالة، ثم وسّعنا الفحص ليشمل جميع الدورات الثابتة للمخرطة عبر حملة اختبارات منهجية: لكل دورة، أخذنا صيغ الكتابة الموجودة في أدلة Fanuc
(سلسلة 0T/6T/10T/11T/15T وسلسلة 0i/16i/18i/21i/31i) وفي الكتب المدرسية، ونفذناها واحدة تلو الأخرى في المحاكي، متحققين من النتيجة في كل مرة.

والنتيجة هي سلسلة من التصحيحات التي تجعل المفسِّر مطابقاً لسلوك وحدة التحكم الحقيقية: الصياغة التي تعمل في الورشة يجب أن تعمل أيضاً في المحاكي، وعندما يكون السطر خاطئاً بالفعل، يجب أن يوضح الإنذار ما هو الناقص فعلاً، لا شيئاً آخر.

التصحيحات تخص محرك التفسير، وهو موحّد لجميع المنصات: لذا فهي مفعّلة على الحاسوب المكتبي (Windows، macOS، Linux)، والأجهزة اللوحية والهواتف الذكية بنفس الإصدار.

---

## G71 / G72 — دورات التشغيل الخشن الطولي والوجهي

**قبل.** كانت الكتلة الأولى من الدورة تُتعرّف عليها فقط إذا احتوت على عمق التمريرة (U لـ G71، W لـ G72) وكذلك الانسحاب R معاً. الأمر `G71 U2` بدون R، وهي صياغة صحيحة على أجهزة Fanuc حيث يكون R اختيارياً ويأتي الانسحاب من المعامل 5133، لم يكن يُتعرّف عليه: عند الكتلة التالية كان المحاكي يشير إلى "المعامل U مفقود" رغم أن U مكتوبة في السطر. نفس الأمر كان يحدث مع صيغة السطر الواحد `G71 P.. Q.. U.. W.. D.. F..` الخاصة بوحدات تحكم Fanuc الأقدم والعديد من الكتب المدرسية، حيث تمثل D عمق التمريرة.

**الآن.**
- الكتلة 1 يُتعرّف عليها بـ U فقط (أو W لـ G72)؛ R اختيارية، مع انسحاب افتراضي قدره 0.5 مم عند غيابها.
- صيغة السطر الواحد مع D مقبولة الآن. D بدون فاصلة عشرية تُقرأ بالميكرون (`D2000` = 2 مم)، ومع الفاصلة تُقرأ بالمليمتر (`D2.0` = 2 مم)، تماماً كما في وحدة التحكم.
- إذا كانت الكتلة 1 مفقودة فعلاً، يوضح الإنذار ذلك بجلاء: "الكتلة 1 من G71 مفقودة (G71 U.. R..) قبل G71 P.. Q..، أو عمق D في السطر الواحد".
- تمت إضافة تحقق جديد: يجب أن تكون D أكبر من صفر.

تم التحقق بواسطة اختبارات التكافؤ: الصيغ الثلاث (كتلتان مع R، كتلتان بدون R، سطر واحد) تترك نفس الشكل النهائي على القطعة، نقطة بنقطة، سواء على القناة 1 أو على المغزل المقابل.

---

## G76 — دورة اللولبة

هنا كانت المشاكل أخطر، لأنه في بعض الحالات لم يكن المحاكي يصدر أي إنذار وكان ببساطة لا ينفذ اللولب.

**قبل.** كانت الكتلتان تُتعرّف عليهما بمقارنة صارمة على كامل السطر: `G76 P Q R` و`G76 X Z P Q F` بهذا الترتيب بالضبط، مع كون جميع المعاملات إلزامية.
- الكتلة 1 بدون R، أو مع R قبل Q، أو مع Q مكتوبة بفاصلة عشرية: إنذار "يجب أن يكون P من 6 أرقام، وُجد P010060"، رغم أن P كانت صحيحة تماماً.
- الكتلة 2 مع F قبل P وQ، أو مع R للتخروط المخروطي، أو مع U/W تزايدية، أو مع Z قبل X، أو مع Q قبل P، أو مع P وQ بالمليمتر، أو في صيغة السطر الواحد `G76 X Z K D F A` الخاصة بأجهزة Fanuc 0T/10T: لا إنذار ولا دورة. اللولب لم يكن يُقطع.
- الكتلة 2 بدون Z: الإنذار صحيح، لكن الدورة كانت تبدأ رغم ذلك.

**الآن.**
- يمكن أن تكون الكلمات بأي ترتيب، مع أو بدون مسافات، بأحرف كبيرة أو صغيرة.
- الكتلة 1: `G76 P{mmrraa} [Q..] [R..]`. Q وR اختياريتان. يجب أن تحتوي P على 6 أرقام وتُقرأ كما هي مكتوبة، بما في ذلك الأصفار البادئة.
- الكتلة 2: `G76 X|U.. Z|W.. P|K.. Q|D.. F|E.. [R|I..] [A..]`. تُقبل كل من صيغة الكتلتين الخاصة بسلسلة 0i/31i (P ارتفاع اللولب، Q أول تمريرة) وصيغة السطر الواحد الخاصة بسلسلة 0T/10T/15T (K الارتفاع، D أول تمريرة، A الزاوية). تُقبل E كخطوة دقيقة.
- P وQ وK وD بدون فاصلة عشرية تُقرأ بالميكرون (`P920` = 0.92 مم)، ومع الفاصلة بالمليمتر.
- تُحل U وW التزايديتان من الموضع الحالي للأداة.
- إذا كان محور الوصول، أو الخطوة، أو ارتفاع اللولب، أو أول تمريرة مفقوداً، يشير الإنذار إلى المعامل الناقص ولا تبدأ الدورة.
- التخروط المخروطي (R في صيغة الكتلتين، I في السطر الواحد) يُقرأ لكن لا يُحاكى بعد: يُنفذ اللولب أسطوانياً.

تم التحقق بواسطة اختبارات التكافؤ: ثماني صياغات مختلفة للكتلة 2 وثلاث للكتلة 1 تنتج نفس اللولب M48×3، بمعاينة كل 0.25 مم، على القناتين معاً.

---

## G74، G75، G83، G84، G85، G88، G89 — دورات الثقب، الأخاديد، التنصيت، التخريط

**قبل.**
- كانت الكتلة 2 تقبل فقط القيم المطلقة X وZ. مع U أو W التزايديتين لم تكن الدورة تبدأ وكان السطر يُنفذ كحركة خطية أثناء العمل، دون إنذار.
- كانت الكلمتان P وQ تُفسَّران دائماً بالميكرون: `Q5.0` مكتوبة بالمليمتر كانت تتحول إلى نقرة قدرها 0.005 مم.
- كانت G89 (تخريط شعاعي على القطر) منفَّذة لكنها لم تكن ضمن الأكواد المعترف بها وكانت تطلق إنذار "كود G غير مدعوم".

**الآن.**
- تُقبل U وW في الكتلة 2 لجميع هذه الدورات وتُحل بشكل مطلق من الموضع الحالي لرأس الأداة، على القناة النشطة.
- تتبع P وQ قاعدة موحدة: بدون فاصلة عشرية بالميكرون، ومع الفاصلة بالمليمتر. القاعدة نفسها تنطبق على جميع الدورات (G71، G72، G74، G75، G76، G83).
- تم التعرف على G89.

تم التحقق بواسطة اختبارات التكافؤ: الثقب G83 بـ`Z-30`، وبـ`W-35` من الموضع Z5، وبـ`Q10.0` ينتج نفس الثقب؛ الأخدود G75 بـ`X80 Z-20` وبـ`U-24 W-10` من الموضع X104 Z-10 ينتج نفس الأخدود.

---

## محلل G-code — الأرقام ذات الفاصلة الأولية

القيم المكتوبة بدون الصفر قبل الفاصلة، مثل `X.5` أو `R.05` أو `U-.2`، صحيحة على أجهزة Fanuc لكن المحلل لم يكن يقرأها ويعاملها كصفر. الآن تُقرأ بشكل صحيح، لجميع الكلمات.

---

## ما الذي لا يتغيّر

- منطق حساب الدورات (التمريرات، الأعماق، الانسحابات، انضباط اللولب) هو نفسه كما كان سابقاً. التصحيحات تخص التعرف على الصياغة وجودة الإنذارات.
- البرامج المكتوبة مسبقاً بالصيغة القياسية ذات الكتلتين تستمر في العمل بنفس الطريقة تماماً.

---

## قيد التطوير

الدورات الثابتة لـ**نظام G-code A** الخاص بمخارط Fanuc (G90 دورة الخراطة، G92 دورة اللولبة، G94 دورة التسوية الوجهية)، والمستخدمة كثيراً في التعليم، لم تتم محاكاتها بعد. وهي التالية في الخطة.

---

## كيفية الإبلاغ عن حالة شاذة

إذا وجدتم سطر برنامج يرفضه المحاكي أو يُنفَّذ بشكل مختلف عن وحدة التحكم الحقيقية، افتحوا بلاغاً من الدعم داخل التطبيق (قائمة الدعم، فتح تذكرة) مرفقين البرنامج: نستخدمه مباشرة كحالة اختبار. كل دورة تم تصحيحها في هذا التحديث نشأت بهذه الطريقة.

Condividi