ð āļŠุāļāļĒāļāļāđāļāļāļิāļ CNC Subprograms (O-Code) āđāļĨāļ° Macro: āļ§ิāļีāļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code āđāļĨāļ°āđāļิ่āļĄāļāļĢāļ°āļŠิāļāļิāļ āļēāļāļ้āļ§āļĒāļāļēāļāļ้āļģāđ
āđāļĢีāļĒāļāļĢู้āļāļēāļĢāđāļ้ CNC Subprograms (M98 M99) āđāļĨāļ° Macro Programming (G65) āđāļื่āļāđāļีāļĒāļ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒāļŠāļģāļŦāļĢัāļāļāļēāļāļ้āļģāđ āļ่āļ§āļĒ āļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code āļĨāļāļāļĒ่āļēāļāļĄāļēāļ āđāļĨāļ°āļŠāļĢ้āļēāļāđāļāļĢāđāļāļĢāļĄāļี่āļĒืāļāļŦāļĒุ่āļ (Parametric) āđāļื่āļ āđāļิ่āļĄāļāļĢāļ°āļŠิāļāļิāļ āļēāļ āļāļēāļĢāļāļĨิāļāđāļĨāļ°āļĒāļāļĢāļ°āļัāļāļัāļāļĐāļ° CNC Programmer āļāļāļāļุāļ
āđāļāđāļĨāļāļāļāļāļāļēāļĢāļāļĨิāļāļ้āļ§āļĒāđāļāļĢื่āļāļāļัāļāļĢ CNC āļัāļāļŦāļēāļี่ CNC Programmer āļ้āļāļāđāļāļิāļāļืāļāđāļāļĢāđāļāļĢāļĄ G-Code āļี่āļĄีāļāļ§āļēāļĄāļĒāļēāļ§āļĄāļēāļāđāļิāļāđāļ āđāļĨāļ°āļĄีāļāļēāļĢāļāļģāđāļ้āļāļ้āļģāđ āļŠāļģāļŦāļĢัāļāļāļēāļĢāļāļģāļุāļāļĨัāļāļĐāļāļ°āļี่āđāļŦāļĄืāļāļāļัāļāļŦāļĨāļēāļĒāļāļĢั้āļ (āđāļ่āļ āļāļēāļĢāđāļāļēāļ°āļĢูāđāļāļāđāļีāļĒāļ§āļัāļāļŦāļĨāļēāļĒāļāļģāđāļŦāļ่āļ) āļāļēāļĢāļĄีāđāļ้āļāļี่āļ้āļģāļ้āļāļāđāļ่āļāļี้āđāļĄ่āđāļีāļĒāļāđāļ่āļŠิ้āļāđāļāļĨืāļāļāļŦāļ่āļ§āļĒāļāļ§āļēāļĄāļāļģāļāļāļāđāļāļĢื่āļāļāļัāļāļĢāđāļ่āļēāļั้āļ āđāļ่āļĒัāļāļāļģāđāļŦ้āļāļēāļĢāđāļ้āđāļāđāļāļĢāđāļāļĢāļĄāļิāļāđāļ§āļĨāļēāļāļēāļāđāļĨāļ°āđāļิāļāļ้āļāļิāļāļāļĨāļēāļāđāļ้āļ่āļēāļĒ
āđāļāļĨูāļั่āļāļŠāļģāļŦāļĢัāļāļัāļāļŦāļēāļี้āļืāļāļāļēāļĢāđāļ้āđāļāļāļิāļāļĢāļ°āļัāļāļŠูāļ: CNC Subprograms āđāļĨāļ° CNC Macro Programming āđāļāļĢื่āļāļāļĄืāļāđāļŦāļĨ่āļēāļี้āļ่āļ§āļĒāđāļŦ้āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļีāļĒāļāđāļ้āļāļุāļāđāļีāļĒāļ§ (āļŦāļĢืāļāļี่āđāļĢีāļĒāļāļ§่āļē āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ) āđāļĨ้āļ§āđāļĢีāļĒāļāđāļ้āļāļēāļāļ้āļģāđ āđāļ้āļāļēāļĄāļ้āļāļāļāļēāļĢ
āļāļēāļĢāđāļ้āđāļāļāļิāļāđāļŦāļĨ่āļēāļี้āļ่āļ§āļĒāđāļŦ้āļุāļ āļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code āđāļ้āļāļĒ่āļēāļāļĄāļēāļ, āļāļĢāļ°āļŦāļĒัāļāļŦāļ่āļ§āļĒāļāļ§āļēāļĄāļāļģ, āļĨāļāđāļ§āļĨāļēāļāļēāļĢāđāļีāļĒāļāđāļ้āļ, āđāļĨāļ°āļี่āļŠāļģāļัāļāļี่āļŠุāļāļืāļ āđāļิ่āļĄāļāļĢāļ°āļŠิāļāļิāļ āļēāļ āđāļāļāļēāļĢāđāļ้āđāļāđāļāļĢāđāļāļĢāļĄ āđāļĄื่āļāļุāļāļ้āļāļāļāļēāļĢāđāļāļĨี่āļĒāļāļāļ§āļēāļĄāđāļĢ็āļ§āļŦāļĢืāļāļีāļāļāļāļ āļāļēāļāļ้āļģāđ āļุāļāđāļ้āđāļāđāļีāļĒāļāļุāļāđāļีāļĒāļ§āđāļ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āđāļ่āļēāļั้āļ
āļŦัāļ§āļ้āļāļี่ 1: ð§Đ CNC Subprograms (O-Code) āļืāļāļāļ°āđāļĢ? (M98 & M99) (H2)
CNC Subprograms āļืāļāļุāļāļāļģāļŠั่āļ G-Code āļี่āļูāļāđāļĒāļāļāļāļāļĄāļēāđāļĨāļ°āđāļ็āļāđāļ§้āđāļ็āļāđāļāļĢāđāļāļĢāļĄāļิāļŠāļĢāļ° āđāļāļĒāđāļ้āļŦāļĄāļēāļĒāđāļĨāļāđāļāļĢāđāļāļĢāļĄāļึ้āļāļ้āļāļ้āļ§āļĒāļัāļ§āļัāļāļĐāļĢ O (āļŦāļĢืāļāļี่āđāļĢีāļĒāļāļ§่āļē O-Code)
āļŦāļĨัāļāļāļēāļĢāļāļģāļāļēāļ: āđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļ (Main Program) āļāļ°āđāļ้āļāļģāļŠั่āļāļิāđāļĻāļĐāđāļื่āļ "āļāļĢāļ°āđāļāļ" āđāļāļĢัāļāđāļ้āļāđāļ Subprogram āđāļĄื่āļāļĢัāļāđāļŠāļĢ็āļāļ็āļāļ° "āļāļĢāļ°āđāļāļāļāļĨัāļ" āļĄāļēāļāļģāļāļēāļāļ่āļāđāļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļ āļึ่āļāđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ CNC āļŠāļģāļŦāļĢัāļāļāļēāļāļ้āļģ āļี่āļĄีāļĨัāļāļĐāļāļ°āļāļāļี่
M98: āļāļēāļĢāđāļĢีāļĒāļāđāļ้ Subprogram (Call Subprogram)
āđāļ้āđāļื่āļāđāļĢีāļĒāļ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āđāļāļĒāļĄีāļāļēāļĢāļēāļĄิāđāļāļāļĢ์āļŠāļģāļัāļāļืāļ:
P(P-word): āļŦāļĄāļēāļĒāđāļĨāļ O-Code āļāļāļ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āļี่āļ้āļāļāļāļēāļĢāđāļĢีāļĒāļL(L-word): āļāļģāļāļ§āļāļĢāļāļāļี่āļ้āļāļāļāļēāļĢāđāļŦ้ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āļี้āļāļģāļāļēāļāļ้āļģ
M99: āļāļēāļĢāļŠิ้āļāļŠุāļ Subprogram (Return to Main Program)
āđāļ็āļāļāļģāļŠั่āļāļŠุāļāļ้āļēāļĒāđāļ Subprogram āļāļģāļŦāļ้āļēāļี่āļŠั่āļāđāļŦ้āļāļāļāđāļāļĢāļĨāđāļĨāļāļĢ์āļŠ่āļāļāļēāļĢāļāļ§āļāļุāļĄāļāļĨัāļāđāļāļĒัāļāļāļĢāļĢāļัāļāļัāļāđāļāđāļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļāļี่āđāļĢีāļĒāļ M98 āļĄāļē
āļŦัāļ§āļ้āļāļี่ 2: ð§ āļ้āļēāļ§āļŠู่ Macro Programming (G65) āđāļĨāļ° Variables (H2)
āđāļāļāļāļ°āļี่ CNC Subprograms (M98) āđāļ้āļŠāļģāļŦāļĢัāļ āļāļēāļāļ้āļģāđ āļี่āļĄีāļĨัāļāļĐāļāļ°āđāļĨāļ°āļāļāļēāļāļāļāļี่ CNC Macro Programming (G65) āļāļ°āđāļิ่āļĄāļีāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļี่āļĒืāļāļŦāļĒุ่āļāļāļ§่āļē:
āļāļิāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļ่āļēāļ: Macro āļืāļ Subprogram āļี่āļĒืāļāļŦāļĒุ่āļāļāļ§่āļē āđāļāļĢāļēāļ°āļŠāļēāļĄāļēāļĢāļāļĢัāļāļ่āļēāļัāļ§āđāļāļĢ (Variables āđāļ่āļ
#1,#2) āļāļēāļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļāđāļ้āļ่āļēāļāļัāļ§āļัāļāļĐāļĢ A, B, C, D āļŊāļĨāļŊG65: G-Code āļŠāļģāļŦāļĢัāļāļāļēāļĢāđāļĢีāļĒāļāđāļ้ Macro
āđāļ้ G65 G-Code āđāļื่āļāđāļĢีāļĒāļ Macro āļāļĢ้āļāļĄāļŠ่āļāļ่āļē Argument (āļัāļ§āđāļāļĢ) āđāļāļāļĢ้āļāļĄāļัāļ āđāļ่āļ
G65 P9001 A10.0 B5.0(āļŠ่āļāļ่āļē 10.0 āđāļĨāļ° 5.0 āđāļ้āļēāđāļāđāļ Macro)
āļāļĢāļ°āđāļĒāļāļ์: āļāļēāļĢāđāļ้ Macro Programming āļ่āļ§āļĒāđāļŦ้āļุāļāļŠāļēāļĄāļēāļĢāļāđāļ้ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āđāļีāļĒāļ§āļัāļāļŠāļģāļŦāļĢัāļāļุāļāļĨัāļāļĐāļāļ°āļี่āļĄีāļāļāļēāļ āļāļģāđāļŦāļ่āļ āļŦāļĢืāļāļāļ§āļēāļĄāļĨึāļāļี่āđāļāļāļ่āļēāļāļัāļāđāļāđāļ้ (āđāļĢีāļĒāļāļ§่āļē āļāļēāļĢāđāļีāļĒāļāđāļāļĢāđāļāļĢāļĄ Parametric) āļāļģāđāļŦ้āđāļāļĢāđāļāļĢāļĄāļĄีāļāļ§āļēāļĄāļāđāļāļāļāļĢāļ°āļŠāļāļ์āļŠูāļāļĄāļēāļ
āļŦัāļ§āļ้āļāļี่ 3: ✍️ āđāļāļāļิāļāļāļēāļĢāđāļีāļĒāļāđāļ้āļ Subprogram āđāļĨāļ° Macro āđāļื่āļāļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code (H2)
āļāļēāļĢāđāļ้āđāļāļāļิāļāđāļŦāļĨ่āļēāļี้āļāļĒ่āļēāļāļูāļāļ§ิāļีāļŠāļēāļĄāļēāļĢāļ āļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code āđāļ้āļāļĒ่āļēāļāļĄāļēāļ āļึ่āļāđāļ็āļāļŦัāļ§āđāļāļŠāļģāļัāļāļāļāļ CNC Programming Efficiency
āļāļēāļĢāđāļ้ L-word āđāļื่āļāļāļģāļ้āļģ: āļŦāļēāļāļุāļāļ้āļāļāđāļāļēāļ°āļĢู 20 āļĢูāļี่āļĄีāļั้āļāļāļāļāļāļēāļĢāđāļāļēāļ°āđāļŦāļĄืāļāļāļัāļ āļุāļāđāļĄ่āļ้āļāļāļัāļāļĨāļāļāđāļ้āļ 20 āļุāļ āđāļีāļĒāļāđāļ่āļāļģāļŦāļāļāļāļģāđāļŦāļ่āļāļĢูāđāļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļ āđāļĨ้āļ§āđāļ้
M98 Pxxxx L20āļึ่āļāļāļ°āļāļģāļ้āļģ āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āļāļēāļĢāđāļāļēāļ° 20 āļĢāļāļāļ้āļ§āļĒāļāļĢāļĢāļัāļāđāļีāļĒāļ§āļāļēāļĢāļัāļāļāļēāļĢ Modal Codes āđāļ Subprogram: āđāļื่āļāļāļāļēāļāļāļģāļŠั่āļ G-Code āļāļēāļāļัāļ§ (āđāļ่āļ G91 Incremental āļŦāļĢืāļ G49 Cancel Tool Compensation) āđāļ็āļāđāļāļ Modal āļืāļāļĄีāļāļĨāļ่āļāđāļื่āļāļāđāļāđāļĢื่āļāļĒāđ āļัāļāļั้āļāđāļื่āļāđāļŦ้āļĄั่āļāđāļāļ§่āļē āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ āļāļ°āđāļĄ่āļāļĢāļ°āļāļāļ่āļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļ āļāļ§āļĢāđāļŠ่
G90(Absolute) āļŦāļĢืāļG80(Cancel Cycle) āđāļ§้āļี่āļŠ่āļ§āļāļ้āļēāļĒāļāļāļ Subprogram āļ่āļāļM99āđāļŠāļĄāļ āđāļื่āļāļืāļāļ่āļēāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļĢื่āļāļāļัāļāļĢāļāļĢāļ°āđāļĒāļāļ์āļĢāļ§āļĄ: āđāļāļāļิāļāđāļŦāļĨ่āļēāļี้āļāļģāđāļŦ้ G-Code āļāļēāļāļŦāļĨāļēāļĒāļĢ้āļāļĒāļāļĢāļĢāļัāļāđāļŦāļĨืāļāđāļีāļĒāļāđāļĄ่āļี่āļāļĢāļĢāļัāļāđāļ้āļāļĒ่āļēāļāļĄีāļāļĢāļ°āļŠิāļāļิāļ āļēāļāļŠูāļāļŠุāļ
ðĄ āļāļāļŠāļĢุāļ (Conclusion)
CNC Subprograms (M98/M99) āđāļĨāļ° Macro Programming (G65) āđāļ็āļāđāļāļĢื่āļāļāļĄืāļāļี่āļāļēāļāđāļĄ่āđāļ้āļŠāļģāļŦāļĢัāļ CNC Programmer āļĄืāļāļāļēāļีāļ āļāļēāļĢāļĨāļāļุāļāđāļāļāļēāļĢāđāļĢีāļĒāļāļĢู้ O-Code āđāļĨāļ°āļāļēāļĢāđāļ้āļāļēāļāļัāļ§āđāļāļĢāļ่āļ§āļĒ āļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code āđāļ้āļāļĒ่āļēāļāļĄāļŦāļēāļĻāļēāļĨ, āļāļĢāļ°āļŦāļĒัāļāđāļ§āļĨāļēāđāļāļāļēāļĢāđāļีāļĒāļāđāļ้āļ āđāļĨāļ°āļāļģāđāļŦ้āļāļēāļĢāļāļĨิāļāļิ้āļāļŠ่āļ§āļāļี่āļัāļāļ้āļāļāļĄีāļāļ§āļēāļĄāļĒืāļāļŦāļĒุ่āļāđāļĨāļ°āļĄีāļāļĢāļ°āļŠิāļāļิāļ āļēāļāļĄāļēāļāļึ้āļ āļāļēāļĢāļāļ§āļāļุāļĄāđāļāļāļิāļāđāļŦāļĨ่āļēāļี้āļืāļāļāļēāļĢāļĒāļāļĢāļ°āļัāļāļŠู่ CNC Programming Efficiency āļั้āļāļŠูāļāļāļĒ่āļēāļāđāļ้āļāļĢิāļ
| āđāļāļāļิāļāļŦāļĨัāļ | CNC Subprograms, CNC Macro Programming, O-Code, M98 M99, G65 G-Code |
| āļāļĢāļ°āļŠิāļāļิāļ āļēāļ | āļĨāļāļāļ§āļēāļĄāļĒāļēāļ§ G-Code, CNC Programming Efficiency, āđāļิ่āļĄāļāļĢāļ°āļŠิāļāļิāļ āļēāļ CNC, āļāļēāļāļ้āļģāđ |
| āļāļēāļĢāđāļีāļĒāļāđāļ้āļāļั้āļāļŠูāļ | Variable Programming CNC, āļāļēāļĢāđāļีāļĒāļāđāļāļĢāđāļāļĢāļĄ Parametric, āđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ CNC, āđāļāļāļิāļāļāļēāļĢāđāļีāļĒāļāđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ |
| āļāļēāļĢāļāļģāļāļēāļ | G-Code Optimization, CNC Coding, āļāļ§āļāļุāļĄāļāļēāļāļ้āļģ, G-Code |
| āļāļĨุ่āļĄāđāļ้āļēāļŦāļĄāļēāļĒ | CNC Programmer, Advanced CNC, āđāļĢีāļĒāļ CNC Macro |
āļ āļēāļāļี่ 1: Subprogram Concept (āđāļāļ§āļิāļāđāļāļĢāđāļāļĢāļĄāļĒ่āļāļĒ)
āļ āļēāļāļี้āļāļ°āđāļŠāļāļāļ āļēāļāļĢāļ§āļĄāļ§่āļē Subprogram āļ่āļ§āļĒāļĨāļāđāļ้āļāļี่āļ้āļģāļ้āļāļāđāļ้āļāļĒ่āļēāļāđāļĢ āđāļāļĒāđāļ้ M98 āđāļĨāļ° M99
āļ āļēāļāļิāļāđāļāļāļĢāļēāļิāļāđāļāļĢีāļĒāļāđāļีāļĒāļ: āļ้āļēāļāļ้āļēāļĒāđāļŠāļāļāđāļ้āļāļี่āļ้āļģāļัāļāļŦāļĨāļēāļĒāļāļĨ็āļāļ ("Repeated G-Code Blocks") āļ้āļēāļāļāļ§āļēāđāļŠāļāļāđāļāļĢāđāļāļĢāļĄāļŦāļĨัāļāļี่āļŠั้āļāļĨāļāļāļĢ้āļāļĄāļĨูāļāļĻāļĢāļี้āđāļāļี่ Subprogram (O-Code) āļāļĢ้āļāļĄāļ้āļāļāļ§āļēāļĄāļŦāļĨัāļ "SUBPROGRAMS (M98/M99): Reducing Redundancy" āđāļĨāļ°āļัāļ§āļāļĒ่āļēāļāđāļ้āļāļŠั้āļāđ āļั้āļāļ่āļāļāđāļĨāļ°āļŦāļĨัāļāļāļēāļĢāđāļ้ Subprogram.
āļ āļēāļāļี่ 2: M98 and M99 Workflow (āļĨāļģāļัāļāļāļēāļĢāļāļģāļāļēāļāļāļāļ M98 āđāļĨāļ° M99)
āļ āļēāļāļี้āđāļŠāļāļāļĨāļģāļัāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļēāļĢāđāļĢีāļĒāļāđāļ้āđāļĨāļ°āļŠ่āļāļāļĨัāļāļāļēāļ Subprogram āļāļĒ่āļēāļāļัāļāđāļāļ
āđāļāļāļ āļēāļāđāļŠāļāļāļāļēāļĢāđāļŦāļĨāļāļāļāđāļāļĢāđāļāļĢāļĄ: 1. Main Program (M98 Call), 2. Jump to Subprogram (Oxxxx), 3. Execute Subprogram, 4. Return to Main Program (M99 Return). āļāļĢ้āļāļĄāļ้āļāļāļ§āļēāļĄ "M98/M99: The Subprogram Workflow" āđāļĨāļ°āđāļ้āļ 'L' (Loop) Parameter āđāļื่āļāļāļģāļ้āļģ.
āļ āļēāļāļี่ 3: Macro and Parametric Programming (Macro āđāļĨāļ° Parametric)
āļ āļēāļāļี้āļāļ°āļŠื่āļāļึāļāļāļĨัāļāļāļāļ Macro āđāļāļāļēāļĢāđāļ้āļัāļ§āđāļāļĢ (Variables) āđāļื่āļāļŠāļĢ้āļēāļāļāļ§āļēāļĄāļĒืāļāļŦāļĒุ่āļ
āļāļ§āļēāļĄāļิāļāđāļŦ็āļ
āđāļŠāļāļāļāļ§āļēāļĄāļิāļāđāļŦ็āļ