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 ด้านล่างนี้