CAM (Computer-Aided Manufacturing) là phần mềm tính toán đường chạy dao (toolpath) từ mô hình 3D thiết kế trong CAD, mô phỏng quá trình cắt gọt, rồi xuất ra chương trình gia công. Bước cuối — hậu xử lý (post-processor) — dịch đường chạy dao chung thành mã NC (G-code/M-code) đúng định dạng của từng hệ điều khiển máy CNC cụ thể (Fanuc, Siemens, Heidenhain...), theo khung chuẩn quốc tế ISO 6983-1:2009.
Nội dung thuộc chuyên trang CAD – CAM – CAE của cokhi.net, cụm Lập trình CAM — ở góc nguyên lý chung, không so sánh hay tư vấn chọn phần mềm CAM/máy CNC của hãng cụ thể nào; khi cần chọn thiết bị gia công CNC cho xưởng thật, tham khảo chuyên trang thương mại phù hợp.
Ba bước từ mô hình đến mã máy
- Mô hình CAD: kỹ sư thiết kế hình học chi tiết (3D solid/surface) trong phần mềm CAD — đây là "cái cần làm ra", chưa nói gì về cách gia công.
- Tính toán đường chạy dao (CAM): phần mềm CAM nhận mô hình CAD, kỹ sư chọn dao cụ, chiến lược gia công (thô/tinh, biên dạng, theo lớp...), phần mềm tính ra toolpath — đường di chuyển của tâm dao trong không gian để bóc vật liệu đúng hình dạng CAD, có mô phỏng va chạm/dư liệu trước khi xuất.
- Hậu xử lý (post-processor) → mã NC: toolpath ở dạng dữ liệu chung (thường gọi CL-data — cutter location data) được post-processor dịch thành G-code/M-code đúng cú pháp, đúng địa chỉ trục, đúng lệnh đặc thù của bộ điều khiển máy đích — cùng một toolpath xuất cho máy Fanpec và máy Siemens sẽ ra hai file mã khác nhau dù hình học gia công giống hệt.
G-code và chuẩn ISO 6983-1:2009
Mã chương trình gia công CNC — quen gọi "G-code" — theo khung định dạng ISO 6983-1:2009 (Automation systems and integration — Numerical control of machines — Program format and definitions of address words — Part 1), kế thừa bản 1982. Chuẩn quy định:
- Cấu trúc chương trình dạng "word address" — mỗi dòng lệnh (block) gồm các từ (word) bắt đầu bằng một chữ cái địa chỉ (address) và theo sau là số.
- Mã G (G-code): lệnh điều khiển chuyển động — ví dụ di chuyển thẳng, di chuyển theo cung tròn, chọn hệ tọa độ.
- Mã M (M-code): lệnh điều khiển máy — ví dụ bật/tắt trục chính, đổi dao, dừng chương trình.
Mục tiêu của ISO 6983-1:2009 là thống nhất cú pháp cơ bản giữa các máy CNC khác hãng, để chương trình dễ chuyển đổi hơn — nhưng chuẩn không cấm mỗi hãng điều khiển (Fanuc, Siemens...) mở rộng thêm mã riêng, đây chính là lý do vẫn cần post-processor riêng cho từng hệ điều khiển dù cùng dựa trên khung ISO 6983-1:2009.
Vì sao cần post-processor riêng cho từng máy
Toolpath CAM tính ra là hình học thuần túy (tọa độ, hướng dao theo thời gian) — không quan tâm máy đích dùng hệ điều khiển nào. Nhưng mỗi hãng điều khiển CNC có:
- Cú pháp mở rộng riêng ngoài khung ISO 6983-1:2009 cơ bản (chu trình cố định, bù dao, gọi chương trình con...).
- Giới hạn hành trình, tốc độ, gia tốc trục khác nhau.
- Cách khai báo hệ tọa độ, offset dao khác nhau.
Post-processor "biết" các đặc thù này của từng máy cụ thể, nên cùng một toolpath phải qua đúng post-processor tương ứng mới ra mã chạy được an toàn — dùng nhầm post-processor của máy khác có thể sinh mã sai trục, sai tốc độ, gây va chạm.
Thuật ngữ
- Toolpath (đường chạy dao): đường di chuyển tính toán của tâm/mũi dao trong không gian gia công, do phần mềm CAM tạo ra.
- CL-data (cutter location data): dữ liệu đường chạy dao dạng trung gian, chưa gắn với cú pháp máy cụ thể — đầu vào cho post-processor.
- Post-processor: phần mềm/module dịch CL-data thành mã NC đúng cú pháp một hệ điều khiển CNC cụ thể.
- G-code / M-code: mã lệnh điều khiển chuyển động (G) và điều khiển máy (M) trong chương trình NC, theo khung ISO 6983-1:2009.
- Word address: cấu trúc dòng lệnh NC gồm các từ bắt đầu bằng chữ cái địa chỉ (X, Y, Z, G, M, F, S...) theo sau là giá trị số.
Tài liệu tham khảo
- ISO, ISO 6983-1:2009 — Automation systems and integration: Numerical control of machines — Program format and definitions of address words, Part 1: https://www.iso.org/standard/34608.html
- Tormach, Learn CAD, CAM, and G-Code | CNC Programming Basics (quy trình CAD→CAM→G-code): https://tormach.com/learn-cad-cam-g-code
- JLC CNC, Post Processor in CNC: CAM to Machine-Ready G-Code (vai trò post-processor, khác biệt theo hệ điều khiển): https://jlccnc.com/blog/post-processor-cnc