จันทร์. ต.ค. 18th, 2021

G-CODE CNC และการใช้ G-CODE พื้นฐาน

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–CodeFunctionDescription
G00Rapid traverse positionการเคลื่อนที่แบบเส้นตรงด้วยความเร็วสูงสุด (ความเร็วเดินสูงสุด)
G01Linear interpolation at A feed rateการเคลื่อนที่แบบเส้นตรงด้วยอัตราการป้อน
G02Circular interpolation (CW)การเคลื่อนที่แนวโค้งตามรัศมี
ทิศตามเข็มนาฬิกา
G03Circular interpolation (CCW)
การ
การเคลื่อนที่แนวโค้งตามรัศมี
ทิศทวนเข็มนาฬิกา
G04Dwell คาสั่งหยุดการทางานชั่วขณะ
หน่วง (ดอกกัดยังคงหมุนอยู่) ใช้ร่วมกับ P
G09Exact stop checkหยุดการทางานของแกนก่อนขึ้นคาสั่งการเคลื่อนที่ถัดไป
G10Data settingการตั่งค่าพิกัดเริ่มต้นและค่าของดอกกัด
G11Data setting mode cancelยกเลิกค่าจาก G10
G12Full-circle interpolation (CW)การเคลื่อนที่แนวโค้งตามวงกลม
ทิศตามเข็มนาฬิกา
G13Full-circle interpolation (CCW)การเคลื่อนที่แนวโค้งตามวงกลม
ทิศทวนเข็มนาฬิกา
G17XY plane selectionเลือกพื้นผิวบนระนาบ XY
G18ZX plane selectionเลือกพื้นผิวบนระนาบ ZX
G19YZ plane selectionเลือกพื้นผิวบนระนาบ YZ
G20Input in Inchesกาหนดหน่วยทางานเป็นนิ้ว
G21Input in millimetersกาหนดหน่วยทางานเป็นมิลลิเมตร
G28Return to reference position (Machine zero)เคลื่อนดอกกัดไปยังจุดอ้างอิงของเครื่องจักร
G29Return to reference position (Setting zero)เคลื่อนดอกกัดไปยังจุดอ้างอิงที่ตั้งค่า
G30Return to second reference position
(Machine zero)
เคลื่อนดอกกัดที่ 2 ไปยังจุดอ้างอิงของเครื่องจักร
G31G31
Skip function
ข้ามคาสั่ง
G40Tool diameter compensation cancelยกเลิกการชดเชยของรัศมีดอกกัด
G41Tool diameter compensation leftการชดเชยของรัศมีดอกกัดทางซ้าย
G42Tool diameter compensation rightการชดเชยของรัศมีดอกกัดทางขวา
G43Tool height offset compensation negativeการชดเชยของความยาวดอกกัดสูงกว่าจุดอ้างอิง
G44Tool height offset compensation positiveการชดเชยของความยาวดอกกัดต่ากว่าจุดอ้างอิง
G49Tool height offset cancelยกเลิกการชดเชยของความยาวดอกกัด
G54 – G59Work coordinate system 1-6กาหนดตาแหน่งงานในข้อมูลที่ 1-6
G61Exact stop checkหยุดการทางานของแกนระหว่างคาสั่งการเคลื่อนที่ ในทุกคาสั่งการเคลื่อนที่ของเครื่องจักร
G64Cancel exact stop checkยกเลิก G61
G80Canned cycle cancelยกเลิกการเจาะ คว้าน
G81 – G83Drilling canned cycleวัฏจักรการเจาะ
G84Tapping cycle cancelวัฏจักรการทาเกลียว
G85 – G89Boring canned cycleวัฏจักรการคว้านรู
G90Absolute commandกาหนดโหมดการทางานแบบสัมบูรณ์
(วัดระยะจากศูนย์กลางงาน)
G91Incremental commandกาหนดโหมดการทางานแบบต่อเนื่อง
(วัดระยะจากจุดเริ่มงาน)
G93Inverse timeอัตราการป้อนเป็น 1 ส่วน F หน่วยเวลา
G94Feed rate per minuteอัตราการป้อนเป็น มิลลิเมตรต่อนาที
G95Feed rate per revolutionอัตราการป้อนเป็น มิลลิเมตรต่อรอบ
G98Return to initial point in canned cycleดอกกัดเคลื่อนขึ้นสู่จุดอ้างอิงก่อนการเจาะ (G43)
G99Return to R point in canned cycleดอกกัดเคลื่อนขึ้นด้วยค่า R
** สำหรับ ตัวเข้มสีแดงคือ ที่เราใช้งานบ่อยและให้ได้บ่อย

2. M-Code เป็นรหัส การเปิดปิด หยุดของเครื่องจักร หรือเปิดระบบต่างๆ

M–CodeFunctionDescription
M00Program stopหยุดโปรแกรมชั่วขณะ
M01Optional program stopหยุดโปรแกรมชั่วขณะแบบมีเงื่อนไข
M02End of programจบการทางานของโปรแกรม
M03Spindle rotate clockwiseดอกกัดหมุนตามเข็มนาฬิกา
M04Spindle rotate counterclockwiseดอกกัดหมุนทวนเข็มนาฬิกา
M05Spindle stopดอกกัดหยุดหมุน
M06Automatic tool changeเปลี่ยนดอกกัด
M07Mist coolant onเปิดน้าหล่อเย็นแบบละออง
M08Flood coolant onเปิดน้าหล่อเย็น
M09Coolant offปิดน้าหล่อเย็น
M10Pallet clamp onเปิดฟันปากจับงาน
สาหรับเครื่องจักรที่มี Pallet changers
M11Pallet clamp offปิดฟันปากจับงาน
สาหรับเครื่องจักรที่มี Pallet changers
M13Spindle rotate clockwise and coolant onดอกกัดหมุนตามเข็มนาฬิกาและ
เปิดน้าหล่อเย็น
M14Spindle rotate counterclockwise and coolant onดอกกัดหมุนทวนเข็มนาฬิกาและ
เปิดน้าหล่อเย็น
M19Spindle orientationดอกกัดกลับเข้าจุด
M30End of program and return to program startจบการทางานของโปรแกรมและกลับไปจุดเริ่มต้นใหม่
M48Enable feed rate overrideเปลี่ยนอัตราการป้อน
M49Disable feed rate overrideยกเลิก M49
M60Automatic pallet changeเปลี่ยน Pallet อัติโนมัติ
สาหรับเครื่องจักรที่มี Pallet changers
M98Subprogram callเรียกโปรแกรมย่อยมาใช้งาน
M99Subprogram end and return to the main programยกเลิกโปรแกรมย่อยและกลับไปยังโปรแกรมหลัก
** สำหรับ ตัวเข้มสีน้ำเงินคือ ที่เราใช้งานบ่อยและให้ได้บ่อย

3. รหัสที่แทนค่า แกน คำส่งควบคุม หรือการหยุดโปรแกรม

AddressFunctionDescription
ARotary position coordinate (AIXS 4)
BRotary position coordinate(AIXS 5)
CRotary position coordinate(AIXS 6)
DSpecifies a canned cycle parameter
FSpecifies the feed rate of an axis
GSpecifies a preparatory function command
HSpecifies the tool length offset number
ISpecifies axis circular interpolation
JSpecifies axis circular interpolation
KSpecifies axis circular interpolation
LSpecifies subprogram line number
MSpecifies a miscellaneous function command
OIdentifies the CNC program number
PSpecifies subprogram number
QCanned cycle parameter
RSpecifies circular interpolation radius value (G02 , G03)
Specifies canned cycle retract point (G81-G83)
SSpecifies the speed of spindle (RPM)
TSpecifies the turret/tool position selected for indexing
UIncremental axis (optional axis 7)
VIncremental axis (optional axis 8)
WIncremental axis (optional axis 9)
XPositions the coordinate axis 1
YPositions the coordinate axis 2
ZPositions the coordinate axis 3
NSpecifies 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 ด้านล่างนี้