Tóm tắt mã G


G0 Định vị nhanh
G1 Nội suy tuyến tính
G2 Nội suy tròn/Helix theo chiều kim đồng hồ
G3 Nội suy tròn/Helix ngược chiều kim đồng hồ
G4 Dừng chờ
G10 Đặt gốc tọa độ
G12 Khoét lỗ tròn theo chiều kim đồng hồ
G13 Khoét lỗ tròn ngược chiều kim đồng hồ
G15/G16 Di chuyển tọa độ cực trong G0 và G1
G17 Chọn mặt phẳng XY
G18 Chọn mặt phẳng XZ
G19 Chọn mặt phẳng YZ

G20/G21 Đơn vị Inch/Milimét
G28 Trở về gốc
G28.1 Tham chiếu trục
G30 Trở về gốc
G31 Thăm dò thẳng
G40 Hủy bù bán kính dao
G41/G42 Bù bán kính dao trái/phải
G43 Áp dụng bù chiều dài dao (dương)
G49 Hủy bù chiều dài dao

G50 Đặt lại tất cả hệ số tỉ lệ về 1.0
G51 Đặt hệ số tỉ lệ dữ liệu trục

G52 Bù hệ tọa độ tạm thời
G53 Di chuyển trong hệ tọa độ tuyệt đối của máy
G54 Sử dụng bù gá số 1
G55 Sử dụng bù gá số 2
G56 Sử dụng bù gá số 3
G57 Sử dụng bù gá số 4
G58 Sử dụng bù gá số 5
G59 Sử dụng bù gá số 6 / sử dụng số gá chung

G61/G64 Chế độ dừng chính xác/Tốc độ không đổi
G68/G69 Xoay hệ tọa độ chương trình
G70/G71 Đơn vị Inch/Milimét
G73 Chu trình đóng gói - khoan nhấp
G80 Hủy chế độ chuyển động
G81 Chu trình đóng gói - khoan
G82 Chu trình đóng gói - khoan có dừng chờ
G83 Chu trình đóng gói - khoan nhấp
G85/G86/G88/G89 Chu trình đóng gói - doa

G90 Chế độ khoảng cách tuyệt đối
G90.1 Chế độ IJK tuyệt đối
G91 Chế độ khoảng cách tương đối
G91.1 Chế độ IJK tương đối
G92 Bù tọa độ và đặt tham số
G92.x Hủy G92, v.v.

G93 Chế độ tiến dao thời gian nghịch đảo
G94 Đơn vị trên phút
G98 Chiều cao rút nhanh theo trục Z
G99 Chiều cao rút nhanh theo R

 

G00 Di chuyển nhanh

(a)  Để di chuyển nhanh theo đường thẳng, lập trình G0 X~ Y~ Z~ A~ B~ C~, trong đó tất cả các từ trục đều là tùy chọn, nhưng ít nhất phải có một trục được sử dụng. G0 có thể được bỏ qua nếu chế độ chuyển động hiện tại là G0. Lệnh này sẽ tạo ra chuyển động tuyến tính phối hợp đến điểm đích với tốc độ chạy không tải hiện tại (hoặc chậm hơn nếu máy không thể đạt tốc độ đó). Dự kiến không có cắt gọt diễn ra khi lệnh G0 đang được thực thi.

(b) Nếu G16 đã được thực thi để đặt gốc tọa độ cực, thì để di chuyển nhanh theo đường thẳng đến một điểm được mô tả bởi bán kính và góc G0 X~ Y~có thể được sử dụng. X~là bán kính của đường từ gốc tọa độ cực G16 và Y~là góc tính bằng độ, đo theo chiều ngược kim đồng hồ từ hướng 3 giờ (tức là theo quy ước bốn góc phần tư thông thường).

Tọa độ của điểm hiện tại tại thời điểm thực thi G16 là gốc tọa độ cực.

Lỗi xảy ra nếu:

¨    tất cả các từ trục bị bỏ qua.

Nếu bù bán kính dao đang hoạt động, chuyển động sẽ khác so với trên; xem phần Bù bán kính dao. Nếu G53 được lập trình trên cùng một dòng, chuyển động cũng sẽ khác; xem phần Tọa độ tuyệt đối.

Quay lại đầu trang

 

G01 Di chuyển tuyến tính

(a)   Để di chuyển tuyến tính với tốc độ tiến dao (dù có cắt hay không), lập trình G1 X~ Y~ Z~ A~ B~ C~, tất cả các từ trục đều là tùy chọn, ngoại trừ ít nhất một phải được sử dụng. G1 là tùy chọn nếu chế độ chuyển động hiện tại là G1. Điều này sẽ tạo ra chuyển động tuyến tính phối hợp đến điểm đích với tốc độ tiến dao hiện tại (hoặc chậm hơn nếu máy không thể di chuyển nhanh như vậy).

(b) Nếu G16 đã được thực thi để thiết lập gốc tọa độ cực, thì để di chuyển tuyến tính với tốc độ tiến dao đến một điểm được mô tả bằng bán kính và góc G0 X~ Y~ có thể được sử dụng. X~ là bán kính của đường từ gốc tọa độ cực G16 và Y~ là góc tính bằng độ được đo với giá trị tăng dần ngược chiều kim đồng hồ từ hướng 3 giờ (theo quy ước bốn góc phần tư thông thường).

Tọa độ của điểm hiện tại khi thực thi G16 là gốc tọa độ cực.

Lỗi sẽ xảy ra nếu:

¨    tất cả các từ trục bị bỏ qua.

Nếu bù bán kính dao đang hoạt động, chuyển động sẽ khác so với trên; xem Bù bán kính dao. Nếu G53 được lập trình trên cùng một dòng, chuyển động cũng sẽ khác; xem Hệ tọa độ tuyệt đối.

Quay lại đầu trang

 

G02 & G03 Di chuyển cung tròn

Một cung tròn hoặc xoắn ốc được xác định bằng lệnh G2 (cung theo chiều kim đồng hồ) hoặc G3 (cung ngược chiều kim đồng hồ). Trục của cung tròn hoặc xoắn ốc phải song song với trục X, Y hoặc Z trong hệ tọa độ máy. Trục (hoặc mặt phẳng vuông góc với trục) được chọn bằng G17 (trục Z, mặt phẳng XY), G18 (trục Y, mặt phẳng XZ) hoặc G19 (trục X, mặt phẳng YZ). Nếu là cung tròn, nó sẽ nằm trên một mặt phẳng song song với mặt phẳng đã chọn.

Nếu một dòng mã lệnh tạo ra cung tròn và bao gồm chuyển động của trục quay, thì các trục quay sẽ quay với tốc độ không đổi sao cho chuyển động quay bắt đầu và kết thúc đồng thời với chuyển động XYZ. Các lệnh kiểu này hiếm khi được lập trình.

Nếu bù bán kính dao đang hoạt động, chuyển động sẽ khác so với trên; xem Bù bán kính dao.

Có hai định dạng được phép để xác định cung tròn. Chúng tôi gọi chúng là định dạng tâm (center format) và định dạng bán kính (radius format). Trong cả hai định dạng, G2 hoặc G3 là tùy chọn nếu đó là chế độ chuyển động hiện tại.

Định dạng tâm cung tròn

Trong định dạng tâm, tọa độ điểm cuối của cung tròn trên mặt phẳng được chọn sẽ được xác định cùng với độ lệch của tâm cung tròn so với vị trí hiện tại. Trong định dạng này, điểm cuối của cung có thể trùng với điểm hiện tại. Lỗi sẽ xảy ra nếu:

¨    khi cung tròn được chiếu lên mặt phẳng đã chọn, khoảng cách từ điểm hiện tại đến tâm cung khác với khoảng cách từ điểm cuối đến tâm cung hơn 0.0002 inch (nếu sử dụng đơn vị inch) hoặc 0.002 mm (nếu sử dụng đơn vị milimét).

Tâm cung được xác định bằng các giá trị I và J. Có hai cách giải thích chúng. Cách thông thường là I và J đại diện cho vị trí tâm cung so với điểm hiện tại tại thời điểm bắt đầu cung. Cách này đôi khi được gọi là Chế độ IJ gia tăng (Incremental IJ mode). Cách thứ hai là I và J chỉ định tọa độ tâm cung theo hệ tọa độ hiện tại. Cách này thường được gọi là Chế độ IJ tuyệt đối (Absolute IJ mode), nhưng nó có thể gây hiểu nhầm. Chế độ IJ có thể được thiết lập thông qua menu **Configure > State...** trong phần cài đặt của Mach3. Việc lựa chọn chế độ nhằm cung cấp khả năng tương thích với các bộ điều khiển thương mại. Bạn có thể thấy rằng chế độ **IJ gia tăng** là lựa chọn tốt nhất. Trong chế độ **IJ tuyệt đối**, thông thường cần sử dụng cả hai giá trị I và J, trừ khi tâm cung tình cờ nằm ngay tại gốc tọa độ.

Khi mặt phẳng XY được chọn, lập trình G2 X~ Y~ Z~ A~ B~ C~ I~ J~ (hoặc sử dụng G3 thay vì G2). Các tham số trục đều là tùy chọn, ngoại trừ ít nhất một trong hai giá trị X hoặc Y phải được sử dụng. I và J là độ lệch của tâm cung so với vị trí hiện tại, tùy thuộc vào chế độ IJ (hướng X và Y tương ứng). I và J là tùy chọn nhưng ít nhất một trong hai giá trị phải được sử dụng. Lỗi sẽ xảy ra nếu:

¨    X và Y đều bị bỏ qua.

¨    I và J đều bị bỏ qua.

Khi mặt phẳng XZ được chọn, lập trình G2 X~ Y~ Z~ A~ B~ C~ I~ K~ (hoặc sử dụng G3 thay cho G2). Các tham số trục đều là tùy chọn, nhưng ít nhất một trong hai giá trị X hoặc Z phải được sử dụng. I và K là độ lệch từ vị trí hiện tại hoặc tọa độ - tùy thuộc vào chế độ IJ (hướng X và Z tương ứng) của tâm cung. I và K là tùy chọn, nhưng ít nhất một trong hai phải được sử dụng. Lỗi sẽ xảy ra nếu:

¨    X và Z đều bị bỏ qua.

¨    I và K đều bị bỏ qua.

Khi mặt phẳng YZ được chọn, lập trình G2 X~ Y~ Z~ A~ B~ C~ J~ K~ (hoặc sử dụng G3 thay cho G2). Các tham số trục đều là tùy chọn, nhưng ít nhất một trong hai giá trị Y hoặc Z phải được sử dụng. J và K là độ lệch từ vị trí hiện tại hoặc tọa độ - tùy thuộc vào chế độ IJ (hướng Y và Z tương ứng) của tâm cung. J và K là tùy chọn, nhưng ít nhất một trong hai phải được sử dụng. Lỗi sẽ xảy ra nếu:

¨    Y và Z đều bị bỏ qua.

¨    J và K đều bị bỏ qua.

Dưới đây là một ví dụ về lệnh sử dụng định dạng tâm cung để phay một cung trong chế độ IJ gia tăng:

  G17 G2 X10 Y16 I3 J4 Z9

Điều này có nghĩa là tạo một cung tròn hoặc xoắn ốc theo chiều kim đồng hồ (nhìn từ phía trục Z dương), với trục cung song song với trục Z, kết thúc tại tọa độ X=10, Y=16, Z=9. Tâm cung lệch về hướng X 3 đơn vị so với vị trí X hiện tại và lệch về hướng Y 4 đơn vị so với vị trí Y hiện tại. Nếu tọa độ ban đầu là X=7, Y=7, thì tâm cung sẽ là X=10, Y=11. Nếu giá trị ban đầu của Z là 9, đây là một cung tròn; nếu khác 9, đó là một đường xoắn ốc. Bán kính cung này là 5.

Lệnh trên trong chế độ IJ tuyệt đối sẽ là:

G17 G2 X10 Y16 I10 J11 Z9

Trong định dạng tâm cung, bán kính cung không được chỉ định trực tiếp nhưng có thể dễ dàng tính toán từ khoảng cách giữa tâm cung và điểm hiện tại hoặc điểm cuối của cung.

Quay lại đầu trang

 

G4 Dừng tạm thời

Để thực hiện lệnh dừng tạm thời, lập trình G4 P~. Lệnh này sẽ giữ nguyên vị trí của các trục trong khoảng thời gian tính bằng giây hoặc mili-giây, tùy theo giá trị P. Đơn vị thời gian sử dụng được thiết lập trong hộp thoại **Config > Logic**. Ví dụ, nếu đơn vị được đặt là giây, lệnh **G4 P0.5** sẽ dừng trong 0.5 giây. Lỗi sẽ xảy ra nếu:

¨    Giá trị P là số âm.

Quay lại đầu trang

 

G10 Bảng bù dao và bù gốc tọa độ

Để đặt giá trị bù của dao, lập trình
G10 L1 P~ X~ Z~ A~, trong đó giá trị P phải là một số nguyên trong khoảng từ 0 đến 255 - số hiệu dao. Các giá trị bù của dao được chỉ định bởi số P sẽ được đặt lại theo giá trị cung cấp. Giá trị A sẽ đặt lại bán kính mũi dao. Chỉ những giá trị nào có chứa ký tự trục trên dòng lệnh mới được đặt lại. Đường kính dao không thể được đặt bằng cách này.

Để đặt giá trị tọa độ gốc của hệ tọa độ gá đặt, lập trình
G10 L2 P~ X~ Y~ Z~ A~ B~ C~, trong đó giá trị P phải là một số nguyên trong khoảng từ 1 đến 255 - số hiệu gá đặt (các giá trị từ 1 đến 6 tương ứng với G54 đến G59) và tất cả các giá trị trục là tùy chọn. Tọa độ gốc của hệ tọa độ được xác định bởi số P sẽ được đặt lại theo giá trị cung cấp (dựa trên hệ tọa độ tuyệt đối). Chỉ những tọa độ nào có chứa ký tự trục trên dòng lệnh mới được đặt lại.

Lỗi sẽ xảy ra nếu:

¨    Giá trị P không phải là số nguyên trong khoảng từ 0 đến 255.

Nếu bù gốc tọa độ (do G92 hoặc G92.3 tạo ra) đang có hiệu lực trước khi G10 được sử dụng, chúng vẫn sẽ có hiệu lực sau đó.

Hệ tọa độ có gốc được thiết lập bởi lệnh G10 có thể đang hoạt động hoặc không tại thời điểm G10 được thực thi.

Các giá trị đã đặt sẽ không được lưu vĩnh viễn trừ khi bảng dao hoặc bảng gá đặt được lưu lại bằng các nút trên màn hình Bảng.

Ví dụ: G10 L2 P1 X3.5 Y17.2 đặt gốc hệ tọa độ đầu tiên (hệ tọa độ được chọn bởi G54) tại điểm X=3.5, Y=17.2 (trong hệ tọa độ tuyệt đối). Giá trị Z của gốc (cùng với các tọa độ cho trục quay, nếu có) sẽ giữ nguyên giá trị trước khi dòng lệnh này được thực thi.

Quay lại đầu trang

 

G12 & G13 Gia công túi tròn CW/CCW

Các lệnh gia công túi tròn này là một dạng chu trình gia công có sẵn (canned cycle) có thể được sử dụng để tạo một lỗ tròn lớn hơn đường kính dao hoặc sử dụng với dao phù hợp (như dao rãnh chữ T) để cắt các rãnh bên trong cho vòng đệm "O" hoặc các ứng dụng tương tự.

Lập trình G12 I~ để di chuyển theo chiều kim đồng hồ và G13 I~ để di chuyển ngược chiều kim đồng hồ.

Dao sẽ di chuyển theo hướng X với giá trị I được chỉ định, sau đó cắt một vòng tròn theo hướng đã chọn, với tọa độ X và Y ban đầu làm tâm. Sau khi cắt xong, dao sẽ trở lại vị trí trung tâm.

Lệnh này sẽ không xác định nếu mặt phẳng hiện tại không phải là XY.

Quay lại đầu trang

G15 & G16 Thoát và vào chế độ tọa độ cực

Lệnh G0 và G1 trên mặt phẳng X/Y có thể sử dụng tọa độ dưới dạng bán kính và góc, tính từ một điểm gốc tạm thời. Lập trình G16 để vào chế độ này. Tọa độ hiện tại của điểm điều khiển sẽ trở thành gốc tọa độ cực.

Lập trình G15 để quay lại hệ tọa độ Descartes thông thường.

Lưu ý:

(1) Khi G16 đang hoạt động, không được sử dụng các lệnh di chuyển X hoặc Y khác ngoài G0 hoặc G1.

(2) G16 trong Mach3 khác với phiên bản của Fanuc, vì nó sử dụng tọa độ hiện tại làm tâm tọa độ cực. Trong Fanuc, cần phải thay đổi gốc tọa độ để đạt được kết quả mong muốn cho bất kỳ đường tròn nào không có tâm tại (0,0).

Quay lại đầu trang

G17, G18 & G19 Chọn mặt phẳng làm việc

Lập trình G17 để chọn mặt phẳng XY, G18 để chọn mặt phẳng XZ hoặc G19 để chọn mặt phẳng YZ. Ảnh hưởng của việc chọn mặt phẳng được mô tả trong các lệnh G2/G3 và các chu trình gia công có sẵn.

Quay lại đầu trang

G20 & G21 Chọn đơn vị đo

Lập trình G20 để sử dụng đơn vị inch. Lập trình G21 để sử dụng đơn vị milimét.

Thông thường, nên lập trình G20 hoặc G21 gần đầu chương trình trước khi có bất kỳ chuyển động nào xảy ra và không sử dụng chúng ở bất kỳ vị trí nào khác trong chương trình. Người dùng cần đảm bảo tất cả các giá trị số đều phù hợp với đơn vị đo hiện tại. Xem thêm G70/G71, chúng có cùng chức năng.

Quay lại đầu trang

G28 & G30 Trở về vị trí gốc

Vị trí gốc được xác định bởi các tham số 5161-5166. Các giá trị tham số này được thiết lập theo hệ tọa độ tuyệt đối nhưng không có đơn vị đo cụ thể.

Để trở về vị trí gốc thông qua một điểm trung gian, lập trình:
G28 X~ Y~ Z~ A~ B~ C~ (hoặc sử dụng G30). Các giá trị trục đều là tùy chọn. Đường đi sẽ bao gồm một di chuyển nhanh từ vị trí hiện tại đến vị trí trung gian được lập trình, sau đó là một di chuyển nhanh về vị trí gốc. Nếu không có trục nào được lập trình, điểm trung gian sẽ là vị trí hiện tại, nên chỉ có một lần di chuyển. Lưu ý: Không nên đặt G28/G30 trên cùng một dòng với G90 hoặc G91.

Quay lại đầu trang

G28.1 Xác định lại trục tham chiếu

Lập trình G28.1 X~ Y~ Z~ A~ B~ C~ để xác định lại trục tham chiếu. Các trục sẽ di chuyển với tốc độ hiện tại về phía công tắc giới hạn gốc, được xác định trong phần Cấu hình (Configuration). Khi tọa độ máy tuyệt đối đạt đến giá trị được lập trình, tốc độ sẽ giảm xuống theo giá trị được thiết lập trong **Configure > Config Referencing**. Miễn là vị trí tuyệt đối hiện tại là chính xác, máy sẽ dừng mềm lên công tắc tham chiếu. Lưu ý: Không nên đặt G28.1 trên cùng một dòng với G90 hoặc G91.

Quay lại đầu trang

G31 Thăm dò thẳng

Lập trình G31 X~ Y~ Z~ A~ B~ C~ để thực hiện thao tác thăm dò thẳng. Các giá trị trục quay được phép, nhưng tốt hơn là không sử dụng chúng. Nếu sử dụng trục quay, các giá trị phải giống với vị trí hiện tại để tránh làm di chuyển trục quay. Các giá trị trục tuyến tính là tùy chọn, nhưng ít nhất một giá trị phải được sử dụng. Dụng cụ trong trục chính phải là đầu dò.

Lỗi sẽ xảy ra nếu:

¨    Khoảng cách từ vị trí hiện tại đến điểm được lập trình nhỏ hơn 0.254 mm hoặc 0.01 inch.

¨    G31 được sử dụng trong chế độ tốc độ cấp dao theo thời gian nghịch đảo.

¨    Bất kỳ trục quay nào được lệnh di chuyển.

¨    Không có lệnh di chuyển theo trục X, Y hoặc Z.

Khi lệnh này được thực thi, máy sẽ di chuyển điểm điều khiển (điểm cuối của đầu dò) theo đường thẳng với tốc độ cấp dao hiện tại về phía điểm được lập trình. Nếu đầu dò phát hiện va chạm, nó sẽ được rút nhẹ lại khỏi điểm chạm khi lệnh kết thúc. Nếu đầu dò không phát hiện va chạm ngay cả khi vượt quá điểm được lập trình một chút, máy sẽ báo lỗi.

Sau khi thăm dò thành công, các thông số từ 2000 đến 2005 sẽ được thiết lập thành tọa độ của điểm chạm. Đồng thời, một bộ ba tọa độ X, Y và Z sẽ được ghi vào tệp kết quả nếu tệp này đã được mở bằng macro M40 hoặc hàm OpenDigFile().

Lệnh Thăm Dò Thẳng

Sử dụng lệnh thăm dò thẳng, nếu thân đầu dò được giữ song song với trục Z (tức là không có trục quay nào bị lệch) và bù chiều dài dao của đầu dò được áp dụng, đảm bảo rằng điểm điều khiển nằm ở đầu mũi dò:

                          Không cần thông tin bổ sung về đầu dò, có thể kiểm tra độ song song của một mặt phẳng của chi tiết với mặt phẳng XY.

                          Nếu biết bán kính mũi dò xấp xỉ, có thể kiểm tra độ song song của một mặt phẳng của chi tiết với mặt phẳng YZ hoặc XZ.

                          Nếu biết thân đầu dò thẳng hàng với trục Z và bán kính mũi dò xấp xỉ, có thể xác định tâm của một lỗ tròn.

                          Nếu biết thân đầu dò thẳng hàng với trục Z và bán kính mũi dò chính xác, có thể sử dụng lệnh thăm dò thẳng để xác định đường kính của một lỗ tròn.

Nếu không thể căn chỉnh thân đầu dò một cách chính xác, nên biết bán kính hiệu dụng của mũi dò theo ít nhất bốn hướng: +X, -X, +Y và -Y. Các giá trị này có thể được lưu trữ trong các thông số, thông qua tệp tham số hoặc được thiết lập trong một chương trình Mach3.

Việc sử dụng đầu dò khi các trục quay không được đặt về 0 cũng có thể thực hiện được, nhưng sẽ phức tạp hơn so với khi các trục quay ở vị trí 0. Vấn đề này không được đề cập chi tiết ở đây.

Mã G-Code Mẫu

Dưới đây là mã G-code để tìm tâm và đường kính của một lỗ tròn. Để kết quả chính xác, thân đầu dò phải được căn chỉnh tốt với trục Z, mặt cắt ngang của mũi dò tại điểm rộng nhất phải là hình tròn chính xác, và bán kính mũi dò phải được biết chính xác. Nếu bán kính mũi dò chỉ được biết xấp xỉ (nhưng các điều kiện khác vẫn đúng), tâm lỗ sẽ được xác định chính xác nhưng đường kính lỗ có thể không chính xác.

N010 (thăm dò để tìm tâm và đường kính của lỗ tròn)

N020 (Chương trình này sẽ không chạy theo đúng cách nếu để nguyên. Bạn cần)

N030 (chèn các giá trị số thay thế cho <mô tả của số>.)

N040 (Xóa các dòng N020, N030 và N040 sau khi đã nhập số.)

N050 G0 Z <Giá trị Z của vị trí nâng dao> F <tốc độ chạy dao>

N060 #1001=<Giá trị X danh nghĩa của tâm lỗ>

N070 #1002=<Giá trị Y danh nghĩa của tâm lỗ>

N080 #1003=<một giá trị Z bên trong lỗ>

N090 #1004=<bán kính đầu dò>

N100 #1005=[<đường kính danh nghĩa của lỗ>/2.0 - #1004]

N110 G0 X#1001 Y#1002 (di chuyển lên phía trên tâm lỗ danh nghĩa)

N120 G0 Z#1003 (di chuyển vào trong lỗ - để an toàn, thay G0 bằng G1 tại đây)

N130 G31 X[#1001 + #1005] (thăm dò cạnh +X của lỗ)

N140 #1011=#2000 (lưu kết quả)

N150 G0 X#1001 Y#1002 (quay lại tâm lỗ)

N160 G31 X[#1001 - #1005] (thăm dò cạnh -X của lỗ)

N170 #1021=[[#1011 + #2000] / 2.0] (tìm giá trị X khá chính xác của tâm lỗ)

N180 G0 X#1021 Y#1002 (quay lại tâm lỗ)

N190 G31 Y[#1002 + #1005] (thăm dò cạnh +Y của lỗ)

N200 #1012=#2001 (lưu kết quả)

N210 G0 X#1021 Y#1002 (quay lại tâm lỗ)

N220 G31 Y[#1002 - #1005] (thăm dò cạnh -Y của lỗ)

N230 #1022=[[#1012 + #2001] / 2.0] (tìm giá trị Y rất chính xác của tâm lỗ)

N240 #1014=[#1012 - #2001 + [2 * #1004]] (tìm đường kính lỗ theo hướng Y)

N320 #1034=[[#1014 + #1024] / 2.0] (tìm đường kính trung bình của lỗ)

N330 #1035=[#1024 - #1014] (tìm độ chênh lệch giữa hai đường kính lỗ)

N340 G0 X#1041 Y#1022 (quay lại tâm lỗ)

N350 M2 (kết thúc chương trình)

Hình 10.5 - Mã G-Code để thăm dò lỗ

Trong hình 10.5, một mục nhập có dạng <mô tả số> cần được thay thế bằng một giá trị số thực tế phù hợp với mô tả. Sau khi đoạn mã này được thực thi, giá trị X của tâm sẽ nằm trong tham số 1041, giá trị Y của tâm trong tham số 1022 và đường kính trong tham số 1034. Ngoài ra, đường kính song song với trục X sẽ nằm trong tham số 1024, đường kính song song với trục Y trong tham số 1014, và độ chênh lệch (chỉ báo độ tròn) trong tham số 1035. Mũi dò sẽ nằm trong lỗ tại tâm XY của lỗ.

Ví dụ này không bao gồm lệnh thay đổi dao để đặt đầu dò vào trục chính. Nếu cần, hãy thêm lệnh thay đổi dao vào đầu chương trình.

Quay lại đầu trang

 

Bù dao G40, G41 & G42

Để tắt bù bán kính dao, lập trình G40. Có thể tắt bù dao ngay cả khi nó đã bị tắt.

Bù bán kính dao chỉ có thể được thực hiện nếu mặt phẳng XY đang hoạt động.

Để bật bù bán kính dao bên trái (tức là dao nằm bên trái đường chạy dao khi bán kính dương), lập trình G41 D~. Để bật bù bán kính dao bên phải (tức là dao nằm bên phải đường chạy dao khi bán kính dương), lập trình G42 D~. Tham số D là tùy chọn; nếu không có D, bán kính dao hiện tại trong trục chính sẽ được sử dụng. Nếu sử dụng, số D thường là số vị trí của dao trong băng dao, mặc dù điều này không bắt buộc. Có thể đặt giá trị D bằng 0; khi đó, bán kính sẽ là 0.

G41 và G42 có thể đi kèm với một giá trị P. Điều này sẽ ghi đè giá trị đường kính dao (nếu có) trong bảng dao hiện tại.

Đây là lỗi nếu:

¨    số D không phải là số nguyên, là số âm hoặc lớn hơn số vị trí trong băng dao,

¨    mặt phẳng XY không được kích hoạt,

¨    lệnh bật bù bán kính dao được thực hiện trong khi nó đã được bật.

Hành vi của hệ thống gia công khi bù bán kính dao được kích hoạt được mô tả trong chương về Bù Dao. Lưu ý tầm quan trọng của việc lập trình các đường vào và ra hợp lệ.

Quay lại đầu trang

G43, G44 & G49 Bù Chiều Dài Dao

Để sử dụng bù chiều dài dao, lập trình G43 H~, trong đó số H là chỉ mục mong muốn trong bảng dao. Tất cả các giá trị trong bảng này được mong đợi là số dương. Số H nên, nhưng không bắt buộc, trùng với vị trí của dao trong băng dao. Nếu số H là 0 hoặc bị bỏ qua, giá trị bù sẽ là 0.

G44 được cung cấp để tương thích với hệ thống có giá trị bù âm trong bảng dao.

Đây là lỗi nếu:

¨    số H không phải số nguyên, là số âm hoặc lớn hơn số vị trí trong băng dao.

Để không sử dụng bù chiều dài dao, lập trình G49

Có thể lập trình sử dụng cùng một giá trị bù đã được kích hoạt trước đó hoặc lập trình không sử dụng bù chiều dài dao nếu hiện tại không có bù nào đang hoạt động.

Quay lại đầu trang

G50 & G51 Hệ Số Tỷ Lệ

Để đặt hệ số tỷ lệ áp dụng cho các từ X, Y, Z, A, B, C, I & J trước khi sử dụng, lập trình G51 X~ Y~ Z~ A~ B~ C~, trong đó các giá trị X, Y, Z,... là hệ số tỷ lệ cho từng trục. Các giá trị này không bị thay đổi theo tỷ lệ.

Không được phép sử dụng hệ số tỷ lệ không đồng đều để tạo cung elip với G2 hoặc G3.

Để đặt lại hệ số tỷ lệ của tất cả các trục về 1.0, lập trình G50

Quay lại đầu trang

G52 Dịch Chuyển Hệ Tọa Độ

Để dịch chuyển điểm hiện tại một khoảng cách nhất định (không tạo chuyển động), lập trình
G52 X~ Y~ Z~ A~ B~ C~, trong đó các từ trục chứa giá trị bù mong muốn. Các trục là tùy chọn, nhưng ít nhất một trục phải được sử dụng. Nếu một trục không được khai báo, tọa độ của điểm hiện tại trên trục đó không thay đổi.

¨    Đây là lỗi nếu tất cả các trục đều bị bỏ qua.

G52 và G92 sử dụng chung một cơ chế trong Mach3 và không thể được sử dụng cùng nhau.

Khi thực thi G52, gốc của hệ tọa độ đang hoạt động sẽ bị dịch chuyển theo các giá trị đã cho.

Hiệu ứng của G52 có thể bị hủy bằng cách lập trình G52 X0 Y0, v.v.

Ví dụ: Giả sử điểm hiện tại là X=4 trong hệ tọa độ hiện tại, sau đó lệnh G52 X7 sẽ đặt bù trục X là 7, làm cho tọa độ X của điểm hiện tại trở thành -3.

Các giá trị bù trục luôn được sử dụng khi thực hiện chuyển động ở chế độ tọa độ tuyệt đối với bất kỳ hệ tọa độ gá đặt nào. Do đó, tất cả các hệ tọa độ gá đặt đều bị ảnh hưởng bởi G52.

Quay lại đầu trang

G53 Di Chuyển Trong Tọa Độ Tuyệt Đối

Tọa độ tuyệt đối của máy: G53 - di chuyển trong hệ tọa độ máy. Để di chuyển tuyến tính đến một điểm xác định bằng tọa độ tuyệt đối, lập trình G1 G53 X~ Y~ Z~ A~ B~ C~ (hoặc tương tự với G0 thay vì G1), trong đó tất cả các trục là tùy chọn, nhưng ít nhất một trục phải được sử dụng. G53 không có tính chất duy trì trạng thái và phải được lập trình trên mỗi dòng khi cần kích hoạt. Nếu G1 đang hoạt động, tốc độ di chuyển là tốc độ tiến dao hiện tại. Nếu G0 đang hoạt động, tốc độ di chuyển là tốc độ chạy dao nhanh.

Đây là lỗi nếu:

¨    G53 được sử dụng mà không có G0 hoặc G1 đang hoạt động,

¨    G53 được sử dụng khi bù bán kính dao đang bật.

Xem chương liên quan để có cái nhìn tổng quan về hệ tọa độ.

Quay lại đầu trang

 

G54-G59 và G59 P1-254 Bù trừ tọa độ làm việc

Để chọn bù trừ tọa độ làm việc #1, lập trình G54, và tương tự cho sáu bù trừ đầu tiên. Các cặp mã hệ thống-G tương ứng là: (1-G54), (2-G55), (3-G56), (4-G57), (5-G58), (6-G59)

Để truy cập bất kỳ trong số 254 bù trừ tọa độ làm việc (1 - 254), lập trình G59 P~, trong đó từ P cho biết số bù trừ yêu cầu. Vì vậy, G59 P5 có tác dụng tương đương với G58.

Đây là lỗi nếu:

¨    một trong các mã G này được sử dụng khi bù bán kính dao đang bật.

Xem chương liên quan để có cái nhìn tổng quan về hệ tọa độ.

Quay lại đầu trang

 

Chế độ kiểm soát đường đi G61 & G64

Lập trình G61 để đưa hệ thống gia công vào chế độ dừng chính xác, hoặc G64 để chuyển sang chế độ vận tốc không đổi. Có thể lập trình chế độ đang hoạt động mà không có vấn đề gì. Các chế độ này được mô tả chi tiết ở trên.

Quay lại đầu trang

 

G68 & G69 Xoay Hệ Tọa Độ

Lệnh G68 A~ B~ I~ R~ dùng để xoay hệ tọa độ chương trình.

A~ là tọa độ X và B~ là tọa độ Y của tâm xoay trong hệ tọa độ hiện tại (bao gồm tất cả các bù trừ phôi, bù trừ dụng cụ và các dịch chuyển G52/G92).

R~ là góc xoay tính bằng độ (dương là ngược chiều kim đồng hồ khi nhìn từ trục Z dương).

I~ là tùy chọn và giá trị của nó không được sử dụng. Nếu I~ có mặt, nó sẽ cộng giá trị R vào góc xoay hiện có được thiết lập bởi G68.

Ví dụ: G68 A12 B25 R45 xoay hệ tọa độ 45 độ quanh điểm X=12, Y=25

Tiếp theo: G68 A12 B35 I1 R40 để lại hệ tọa độ xoay 85 độ quanh X=12, Y=25

Lệnh G69 dùng để hủy xoay.

Ghi chú:

·         Lệnh này chỉ cho phép xoay khi mặt phẳng hiện tại là X-Y

·         Từ I có thể được sử dụng ngay cả khi tâm xoay khác với lần sử dụng trước đó, tuy nhiên trong trường hợp này, kết quả cần được tính toán cẩn thận. Điều này có thể hữu ích khi mô phỏng đường chạy dao trên bề mặt động cơ.

Quay lại đầu trang

 

G70 & G71 Đơn vị đo

Lệnh G70 để sử dụng đơn vị inch cho chiều dài. Lệnh G71 để sử dụng đơn vị milimet.

Thông thường, nên lập trình G70 hoặc G71 gần đầu chương trình trước khi có bất kỳ chuyển động nào và không sử dụng lại ở bất kỳ đâu trong chương trình. Người sử dụng có trách nhiệm đảm bảo tất cả các giá trị số phù hợp với đơn vị chiều dài hiện tại. Xem thêm G20/G21, có cùng chức năng và được ưu tiên sử dụng.

Quay lại đầu trang

 

G73 Khoan nhấp tốc độ cao

Chu trình G73 được sử dụng để khoan sâu hoặc phay với tính năng phá phoi. Xem thêm G83. Các bước lùi dao trong chu trình này giúp phá phoi nhưng không rút hoàn toàn mũi khoan khỏi lỗ. Phù hợp với dụng cụ có rãnh xoắn dài để đảm bảo phoi bị phá có thể được đưa ra khỏi lỗ. Chu trình này sử dụng giá trị Q, đại diện cho bước tiến dọc theo trục Z. Cú pháp lệnh:

                        G73 X~ Y~ Z~ A~ B~ C~ R~ L~ Q~      

Lỗi xảy ra nếu:

¨    Giá trị Q là số âm hoặc bằng 0.

Quay lại đầu trang

 

G80 Hủy chu trình lặp

 Lệnh G80 được sử dụng để đảm bảo không có bất kỳ chuyển động nào của trục xảy ra. Lỗi xảy ra nếu:

Quay lại đầu trang

 

G81 - G89 Chu trình lặp

Các chu trình lặp G81 đến G89 đã được triển khai như mô tả trong phần này. Hai ví dụ được cung cấp kèm theo mô tả của G81 bên dưới.

Tất cả các chu trình lặp được thực hiện theo mặt phẳng hiện đang được chọn. Bất kỳ trong ba mặt phẳng (XY, YZ, ZX) đều có thể được chọn. Trong phần này, hầu hết các mô tả giả định rằng mặt phẳng XY đã được chọn. Nếu mặt phẳng YZ hoặc XZ được chọn, hành vi sẽ tương tự.

Các từ trục quay được phép sử dụng trong các chu trình lặp, nhưng tốt hơn là nên bỏ qua chúng. Nếu sử dụng từ trục quay, các giá trị số phải giống với vị trí hiện tại để tránh chuyển động không mong muốn của trục quay.

Tất cả các chu trình lặp sử dụng các giá trị X, Y, R và Z trong mã NC. Các giá trị này được sử dụng để xác định vị trí X, Y, R và Z. Giá trị R (thường có nghĩa là vị trí lùi dao) nằm dọc theo trục vuông góc với mặt phẳng hiện được chọn (trục Z đối với mặt phẳng XY, trục X đối với mặt phẳng YZ, trục Y đối với mặt phẳng XZ). Một số chu trình lặp có thể sử dụng thêm các tham số bổ sung.

Trong chu trình lặp, một số giá trị có thể được giữ nguyên nếu lệnh được lặp lại trên nhiều dòng liên tiếp. Trong trường hợp này, giá trị đó bắt buộc phải có trên dòng đầu tiên nhưng có thể được bỏ qua ở các dòng tiếp theo nếu không thay đổi. Giá trị R luôn được giữ nguyên.

Trong chế độ tọa độ tương đối: khi mặt phẳng XY được chọn, các giá trị X, Y và R được tính là khoảng cách gia tăng từ vị trí hiện tại, còn giá trị Z là khoảng cách gia tăng tính từ vị trí trục Z trước khi di chuyển. Khi mặt phẳng YZ hoặc XZ được chọn, cách xử lý các từ trục sẽ tương tự. Trong chế độ tọa độ tuyệt đối, các giá trị X, Y, R và Z là vị trí tuyệt đối trong hệ tọa độ hiện tại.

Giá trị L là tùy chọn và đại diện cho số lần lặp lại. L=0 không được phép. Nếu sử dụng tính năng lặp lại, thường sẽ sử dụng trong chế độ tọa độ tương đối để lặp lại cùng một chuỗi chuyển động tại nhiều vị trí cách đều nhau theo một đường thẳng. Trong chế độ tọa độ tuyệt đối, nếu L > 1, có nghĩa là "thực hiện cùng một chu trình tại cùng một vị trí nhiều lần". Nếu bỏ qua giá trị L, mặc định sẽ là L=1. Giá trị L không được giữ nguyên qua các lần lặp.

Khi L > 1 trong chế độ tọa độ tương đối với mặt phẳng XY được chọn, các vị trí X và Y sẽ được xác định bằng cách cộng các giá trị X và Y đã cho vào vị trí X và Y hiện tại (ở lần thực hiện đầu tiên) hoặc vào vị trí X và Y cuối cùng của lần thực hiện trước đó (trong các lần lặp lại tiếp theo). Các vị trí R và Z không thay đổi trong các lần lặp lại.

  Chiều cao của bước rút dao ở cuối mỗi lần lặp (gọi là "clear Z" trong mô tả dưới đây) được xác định bởi chế độ rút dao: hoặc trở về vị trí Z ban đầu (nếu vị trí đó cao hơn vị trí R và chế độ rút dao là G98), hoặc về vị trí R.

Lỗi sẽ xảy ra nếu:

¨    Các giá trị X, Y và Z đều bị thiếu trong chu trình gia công tự động (canned cycle),

¨    Giá trị P bắt buộc nhưng lại sử dụng số P âm,

¨    Giá trị L không phải là số nguyên dương,

¨    Sử dụng chuyển động trục quay trong chu trình gia công tự động,

¨    Chế độ tốc độ tiến dao thời gian nghịch đảo (inverse time feed rate) đang hoạt động trong chu trình gia công tự động,

¨    Chế độ bù bán kính dao đang hoạt động trong chu trình gia công tự động.

Khi mặt phẳng XY đang hoạt động, giá trị Z được giữ nguyên và lỗi sẽ xảy ra nếu:

¨    Thiếu giá trị Z và chu trình gia công tự động đó chưa được kích hoạt trước đó,

¨    Giá trị R nhỏ hơn giá trị Z.

Khi mặt phẳng XZ đang hoạt động, giá trị Y được giữ nguyên và lỗi sẽ xảy ra nếu:

¨    Thiếu giá trị Y và chu trình gia công tự động đó chưa được kích hoạt trước đó,

¨    Giá trị R nhỏ hơn giá trị Y.

Khi mặt phẳng YZ đang hoạt động, giá trị X được giữ nguyên và lỗi sẽ xảy ra nếu:

¨    Thiếu giá trị X và chu trình gia công tự động đó chưa được kích hoạt trước đó,

¨    Giá trị R nhỏ hơn giá trị X.

Chuyển động sơ bộ và chuyển động trung gian

Ở giai đoạn đầu của bất kỳ chu trình gia công tự động nào, khi mặt phẳng XY được chọn, nếu vị trí hiện tại của trục Z thấp hơn vị trí R, trục Z sẽ di chuyển đến vị trí R. Điều này chỉ xảy ra một lần, bất kể giá trị của L.

Ngoài ra, vào đầu chu trình đầu tiên và mỗi lần lặp lại, các chuyển động sau sẽ được thực hiện:

                          một chuyển động nhanh song song với mặt phẳng XY đến vị trí XY đã cho,

                          một chuyển động nhanh dọc theo trục Z đến vị trí R, nếu nó chưa ở vị trí R.

Nếu mặt phẳng XZ hoặc YZ đang hoạt động, các chuyển động sơ bộ và trung gian sẽ tương tự.

Quay lại đầu trang

 

Chu trình khoan G81

Chu trình G81 được thiết kế cho quá trình khoan. Cú pháp lệnh: G81 X~ Y~ Z~ A~ B~ C~ R~ L~

Ví dụ 1. Giả sử vị trí hiện tại là (1, 2, 3) và mặt phẳng XY đã được chọn, và dòng mã NC sau được thực thi.

G90 G81 G98 X4 Y5 Z1.5 R2.8

Lệnh này sử dụng chế độ tọa độ tuyệt đối (G90), chế độ rút Z cũ (G98) và gọi chu trình khoan G81 thực hiện một lần. X là 4, Y là 5, Z là 1.5, R là 2.8. Các chuyển động sau sẽ diễn ra:

Ví dụ 2. Giả sử vị trí hiện tại là (1, 2, 3) và mặt phẳng XY đã được chọn, và dòng mã NC sau được thực thi.

G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3

Lệnh này sử dụng chế độ tọa độ tương đối (G91), chế độ rút Z cũ và gọi chu trình khoan G81 lặp lại ba lần. X là 4, Y là 5, Z là -0.6, R là 1.8. Vị trí ban đầu X là 5 (=1+4), vị trí ban đầu Y là 7 (=2+5), vị trí clear Z là 4.8 (=1.8+3), và vị trí Z là 4.2 (=4.8-0.6). Giá trị Z cũ là 3.0

Chuyển động đầu tiên là di chuyển theo trục Z đến (1,2,4.8), vì Z cũ < clear Z.

Mỗi lần lặp lại bao gồm 3 chuyển động.

Lần lặp thứ hai bao gồm 3 bước di chuyển. Vị trí X được đặt lại thành 9 (=5+4) và vị trí Y thành 12 (=7+5).

Lần lặp thứ ba bao gồm 3 bước di chuyển. Vị trí X được đặt lại thành 13 (=9+4) và vị trí Y thành 17 (=12+5).

Quay lại đầu trang

 

Chu trình khoan G82 với thời gian dừng

Chu trình G82 được sử dụng để khoan. Cú pháp chương trình:

          G82 X~ Y~ Z~ A~ B~ C~ R~ L~ P~

Quay lại đầu trang

 

Chu trình khoan G83 (khoan kiểu nhấp nhả)

Chu trình G83 (thường được gọi là khoan kiểu nhấp nhả) được sử dụng để khoan sâu hoặc phay với chức năng phá vỡ phoi. Xem thêm G73. Các lần rút dao trong chu trình này giúp làm sạch lỗ khoan khỏi phoi và cắt đứt các sợi phoi dài (thường xảy ra khi khoan nhôm). Chu trình này có một giá trị Q đại diện cho khoảng gia công gia tăng theo trục Z. Cú pháp chương trình:

          G83 X~ Y~ Z~ A~ B~ C~ R~ L~ Q~