G-CODE CNC และการใช้ G-CODE พื้นฐาน
บทความ โดย MAKER CHOK บ.โชคอินเตอร์เทค จำกัด
G-CODE เป็นคำสั่งในการทำงาน ของเครื่อง จักร ที่ลองรับเพื่อควบคุมต่ำแหนน่งแกน ของCNC ต่าง รวมถึง การสั่งานมอเตอร์และ ระบบหการหน่วงเวลต่างได้ ซึ้งการใช้ G-CODE เราสามารถเขียน เราสามารถเขียน G-code เพื่อสั่งงานเองได้สำหรับงานที่ไม่ซับซ้อน แต่ถ้าต้องการทำงานที่มีความซับอซ้อนเราสามารถใช้โปรแกรมช่วยได้โดยใช้ โปรแกรม CAM
CAM คือ Computer Aided Manufacturing เป็นการนำคอมพิวเตอร์มาช่วยในการสร้างคำสั่งสำหรับการผลิต โดยนำ CAD ที่ออกแบบไว้มาแปลงเป็นขั้นตอนการกัดงานและแปลรูปออกมาเป็น คำสั่ง G-CODE และนำไปสั่งเครื่องจักร ซึ้งจะช่วยให้ทำงานที่มีความซับซ้อนได้ง่าย และแม่นยำ ซึ้งโปแกรมที่ช่วยในการสร้าง CAMให้มีหลายโปแกรมทั้งฟรีและเสียค่าใช้จ่าย และมาความสามารถในการทำงานที่ต่างกันไป โดยปัจจุบันมีโปแกรมที่นิยม เช่น ARTCAM, ESTLCAM, FUSION 360, MASTERCAM, Aspire และอื่นๆ
เรามาทำความรู้จักร G-CODE กันก่อนว่ามีคำสั่งอะไรและหน้าตาแบบไหนบ้าง
ข้อมูล จาก https://wiki.shapeoko.com/index.php/G-Code และ หนังสือ โปรแกรมเอ็นซีพื้นฐาน-(ผู้แต่ง สมบัติ ชิวหา.)
สำหรับ G-CODE มี 3หลัก
1. G-Code เป็นรหัสสำหรับ ความคุมการเคลื่อนที่ต่ำแหน่งในแต่ละแกน
2. M-Code เป็นรหัส การเปิดปิด หยุดของเครื่องจักร หรือเปิดระบบต่างๆ
3. รหัสที่แทนค่า แกน คำส่งควบคุม หรือการหยุดโปรแกรม
1. G-Code เป็นรหัสสำหรับ ความคุมการเคลื่อนที่ต่ำแหน่งในแต่ละแกน
| G–Code | Function | Description |
| G00 | Rapid traverse position | การเคลื่อนที่แบบเส้นตรงด้วยความเร็วสูงสุด (ความเร็วเดินสูงสุด) |
| G01 | Linear interpolation at A feed rate | การเคลื่อนที่แบบเส้นตรงด้วยอัตราการป้อน |
| G02 | Circular interpolation (CW) | การเคลื่อนที่แนวโค้งตามรัศมี ทิศตามเข็มนาฬิกา |
| G03 | Circular interpolation (CCW) การ | การเคลื่อนที่แนวโค้งตามรัศมี ทิศทวนเข็มนาฬิกา |
| G04 | Dwell | คาสั่งหยุดการทางานชั่วขณะ หน่วง (ดอกกัดยังคงหมุนอยู่) ใช้ร่วมกับ P |
| G09 | Exact stop check | หยุดการทางานของแกนก่อนขึ้นคาสั่งการเคลื่อนที่ถัดไป |
| G10 | Data setting | การตั่งค่าพิกัดเริ่มต้นและค่าของดอกกัด |
| G11 | Data setting mode cancel | ยกเลิกค่าจาก G10 |
| G12 | Full-circle interpolation (CW) | การเคลื่อนที่แนวโค้งตามวงกลม ทิศตามเข็มนาฬิกา |
| G13 | Full-circle interpolation (CCW) | การเคลื่อนที่แนวโค้งตามวงกลม ทิศทวนเข็มนาฬิกา |
| G17 | XY plane selection | เลือกพื้นผิวบนระนาบ XY |
| G18 | ZX plane selection | เลือกพื้นผิวบนระนาบ ZX |
| G19 | YZ plane selection | เลือกพื้นผิวบนระนาบ YZ |
| G20 | Input in Inches | กาหนดหน่วยทางานเป็นนิ้ว |
| G21 | Input in millimeters | กาหนดหน่วยทางานเป็นมิลลิเมตร |
| G28 | Return to reference position (Machine zero) | เคลื่อนดอกกัดไปยังจุดอ้างอิงของเครื่องจักร |
| G29 | Return to reference position (Setting zero) | เคลื่อนดอกกัดไปยังจุดอ้างอิงที่ตั้งค่า |
| G30 | Return to second reference position (Machine zero) | เคลื่อนดอกกัดที่ 2 ไปยังจุดอ้างอิงของเครื่องจักร |
| G31 | G31 Skip function | ข้ามคาสั่ง |
| G40 | Tool diameter compensation cancel | ยกเลิกการชดเชยของรัศมีดอกกัด |
| G41 | Tool diameter compensation left | การชดเชยของรัศมีดอกกัดทางซ้าย |
| G42 | Tool diameter compensation right | การชดเชยของรัศมีดอกกัดทางขวา |
| G43 | Tool height offset compensation negative | การชดเชยของความยาวดอกกัดสูงกว่าจุดอ้างอิง |
| G44 | Tool height offset compensation positive | การชดเชยของความยาวดอกกัดต่ากว่าจุดอ้างอิง |
| G49 | Tool height offset cancel | ยกเลิกการชดเชยของความยาวดอกกัด |
| G54 – G59 | Work coordinate system 1-6 | กาหนดตาแหน่งงานในข้อมูลที่ 1-6 |
| G61 | Exact stop check | หยุดการทางานของแกนระหว่างคาสั่งการเคลื่อนที่ ในทุกคาสั่งการเคลื่อนที่ของเครื่องจักร |
| G64 | Cancel exact stop check | ยกเลิก G61 |
| G80 | Canned cycle cancel | ยกเลิกการเจาะ คว้าน |
| G81 – G83 | Drilling canned cycle | วัฏจักรการเจาะ |
| G84 | Tapping cycle cancel | วัฏจักรการทาเกลียว |
| G85 – G89 | Boring canned cycle | วัฏจักรการคว้านรู |
| G90 | Absolute command | กาหนดโหมดการทางานแบบสัมบูรณ์ (วัดระยะจากศูนย์กลางงาน) |
| G91 | Incremental command | กาหนดโหมดการทางานแบบต่อเนื่อง (วัดระยะจากจุดเริ่มงาน) |
| G93 | Inverse time | อัตราการป้อนเป็น 1 ส่วน F หน่วยเวลา |
| G94 | Feed rate per minute | อัตราการป้อนเป็น มิลลิเมตรต่อนาที |
| G95 | Feed rate per revolution | อัตราการป้อนเป็น มิลลิเมตรต่อรอบ |
| G98 | Return to initial point in canned cycle | ดอกกัดเคลื่อนขึ้นสู่จุดอ้างอิงก่อนการเจาะ (G43) |
| G99 | Return to R point in canned cycle | ดอกกัดเคลื่อนขึ้นด้วยค่า R |
2. M-Code เป็นรหัส การเปิดปิด หยุดของเครื่องจักร หรือเปิดระบบต่างๆ
| M–Code | Function | Description |
| M00 | Program stop | หยุดโปรแกรมชั่วขณะ |
| M01 | Optional program stop | หยุดโปรแกรมชั่วขณะแบบมีเงื่อนไข |
| M02 | End of program | จบการทางานของโปรแกรม |
| M03 | Spindle rotate clockwise | ดอกกัดหมุนตามเข็มนาฬิกา |
| M04 | Spindle rotate counterclockwise | ดอกกัดหมุนทวนเข็มนาฬิกา |
| M05 | Spindle stop | ดอกกัดหยุดหมุน |
| M06 | Automatic tool change | เปลี่ยนดอกกัด |
| M07 | Mist coolant on | เปิดน้าหล่อเย็นแบบละออง |
| M08 | Flood coolant on | เปิดน้าหล่อเย็น |
| M09 | Coolant off | ปิดน้าหล่อเย็น |
| M10 | Pallet clamp on | เปิดฟันปากจับงาน สาหรับเครื่องจักรที่มี Pallet changers |
| M11 | Pallet clamp off | ปิดฟันปากจับงาน สาหรับเครื่องจักรที่มี Pallet changers |
| M13 | Spindle rotate clockwise and coolant on | ดอกกัดหมุนตามเข็มนาฬิกาและ เปิดน้าหล่อเย็น |
| M14 | Spindle rotate counterclockwise and coolant on | ดอกกัดหมุนทวนเข็มนาฬิกาและ เปิดน้าหล่อเย็น |
| M19 | Spindle orientation | ดอกกัดกลับเข้าจุด |
| M30 | End of program and return to program start | จบการทางานของโปรแกรมและกลับไปจุดเริ่มต้นใหม่ |
| M48 | Enable feed rate override | เปลี่ยนอัตราการป้อน |
| M49 | Disable feed rate override | ยกเลิก M49 |
| M60 | Automatic pallet change | เปลี่ยน Pallet อัติโนมัติ สาหรับเครื่องจักรที่มี Pallet changers |
| M98 | Subprogram call | เรียกโปรแกรมย่อยมาใช้งาน |
| M99 | Subprogram end and return to the main program | ยกเลิกโปรแกรมย่อยและกลับไปยังโปรแกรมหลัก |
3. รหัสที่แทนค่า แกน คำส่งควบคุม หรือการหยุดโปรแกรม
| Address | Function | Description |
| A | Rotary position coordinate (AIXS 4) | |
| B | Rotary position coordinate(AIXS 5) | |
| C | Rotary position coordinate(AIXS 6) | |
| D | Specifies a canned cycle parameter | |
| F | Specifies the feed rate of an axis | |
| G | Specifies a preparatory function command | |
| H | Specifies the tool length offset number | |
| I | Specifies axis circular interpolation | |
| J | Specifies axis circular interpolation | |
| K | Specifies axis circular interpolation | |
| L | Specifies subprogram line number | |
| M | Specifies a miscellaneous function command | |
| O | Identifies the CNC program number | |
| P | Specifies subprogram number | |
| Q | Canned cycle parameter | |
| R | Specifies circular interpolation radius value (G02 , G03) Specifies canned cycle retract point (G81-G83) | |
| S | Specifies the speed of spindle (RPM) | |
| T | Specifies the turret/tool position selected for indexing | |
| U | Incremental axis (optional axis 7) | |
| V | Incremental axis (optional axis 8) | |
| W | Incremental axis (optional axis 9) | |
| X | Positions the coordinate axis 1 | |
| Y | Positions the coordinate axis 2 | |
| Z | Positions the coordinate axis 3 | |
| N | Specifies a line number of CNC program |
การเขียน G- CODE พื้นฐาน แบบง่ายตัวอย่างดังนี้
1.การสั่งให้ หัวกัด CNC เดินเป็นเส้นตรง ไปต่ำแหน่ง X จากจุดอ้างอิ่ง ไประยะ 100 mm. ด้วยความเร็วสูงสุด
EX.GCODE >>> : G21 G0 X100 %G21บอกให้เครื่องรู้ว่า สั่งงานเป็น หน่วย mm.
2.การสั่งให้ หัวกัด CNC เดินเป็นเส้นตรง ไปต่ำแหน่ง Y จากจุดอ้างอิ่ง ไประยะ 100 mm. ด้วยความเร็ว 100 mm/min
EX.GCODE >>> : G21 G1 X100 F100
3.การสั่งให้ หัวกัด CNC เดินเป็นเส้นตรง จากจุดอ้างอิ่ง ไประยะ X 100 mm. Y100 ด้วยความเร็ว 100 mm/min
EX.GCODE >>> : G21 G1 X100 Y100 F100
4สั่งให้ หัวกัด CNC เคลื่อนที่เป็น 4 เหลี่ยม ขนาด 100 X100 mm. ที่ความเร็วงสูงสุด
- EX.GCODE >> : G0 X0 Y100
- G0 X100 Y100
- G0 X100 Y0
- G0 X0 Y0
- M30 % จบการทำงาน
5.สั่งให้ เครื่องหยุดทำงานชั่วขณะ หรือ DELAY แล้วทำงานต่อให้จบ โดยใช้ G4 P1
- EX.GCODE >> : G0 X0 Y100
- G0 X100 Y100
- G4 P1 % G4 คือสั่งให้หยุดDWELL P (หยุด) 1 หมายถึง 1SEC
- G0 X100 Y0
- G4 P1
- G0 X0 Y0
- M30 % จบการทำงาน
6. การสั่งเปิด ปิด มอเตอร์ และคุมรอบ การทำงาน
- M3 S1000 %M3 เปิด มอเตอร์ S1000 หมายถึงรอบการทำงานมอเตอร์ 1000 rpm
- M5 %M5 คือ ปิดการทำงานมอเตอร์
>>>> สำหรับ คนอยากทดลอง เขียน G-code เอง แบบไม่ใช้เครื่องสามารถลองแบบ ออนไลท์ได้ที่ https://www.tomasw.com/gcodesim/
สามารถ DOWLOAD PDF ตัวเต็มของ G-CODE ได้ที่ เลยที่ LINK ด้านล่างนี้