Giải Thích Chương Trình Macro NC Của FANUC Cho Người Bắt đầu Từ ...

15,9K

Giải thích chương trình macro NC của FANUC

Nếu bạn đang làm việc trên máy phay cnc, tôi nghĩ rằng bạn viết nó bằng chương trình nc thông thường.

Tuy nhiên, tôi nghĩ rằng có khá nhiều người không sử dụng chương trình macro nc. Nếu Bạn :

‘’chưa bao giờ sử dụng chương trình macro NC, đã làm một chút nhưng bỏ cuộc, muốn tạo một macro tùy chỉnh’’.

Thì bài viết này sẽ giúp Bạn.

Nếu bạn đọc nó đến cuối, bạn sẽ hiểu từ những điều cơ bản về chương trình macro đến cách tạo macro tùy chỉnh.

Nhấp vào đây dành cho người mới bắt đầu chương trình NC FANUC ⇓

Cách tạo chương trình NC “FANUC”

Cách tạo chương trình NC “OSP”

Nhân tiện, tôi nghĩ rằng bạn có thể chỉnh sửa và sử dụng một chương trình mà bạn đã gia công trong công việc hàng ngày của mình, nhưng đó là chuyện hơi rắc rối, phải không?

Hàm macro giúp chương trình ngắn hoặc dễ đọc và việc tính toán có thể được tự động hóa. Tất nhiên, không phải mọi thứ đều dễ dàng .Tuy nhiên, ví dụ, bạn có thể thực hiện chu trình khoan lỗ hoặc chu trình phay hốc. Thì đây là một tính năng tuyệt vời cho những ai đang lập trình bằng tay. Macro có vẻ khó, nhưng ngay cả những macro đơn giản cũng đủ để dễ dàng lập trình .

Chương trình Macro NC là gì?

Để giải thích ngắn gọn macro trong chương trình NC, chương trình macro sử dụng các số tạm thời “biến”, “hoạt động”, và “rẽ nhánh hoặc lặp lại” tùy thuộc vào điều kiện. Các câu lệnh macro được sử dụng để thể hiện những điều này. Tôi sẽ giải thích chi tiết qua ví dụ dưới.Chương trình macro đơn giản.

chuong-trinh-macro-nc

Đầu tiên, tôi sẽ giới thiệu một:

Chương trình macro nc đơn giản.

G0 G90 G54 X0 Y0

# 1 = 100.

X # 1Y10.

M30

Mô tả chương trình

Đầu tiên vào X0Y0.

Sau đó chuyển sang X100.Y10. Và bạn đã hoàn tất.

# 1 được gọi là một biến. Trong FANUC, “#” và “number” được sử dụng kết hợp. Với “# 1 = 100”, số 100 được gán cho biến # 1. (Còn được gọi là định nghĩa cho biến.)

Biến:

Có ba biến: biến cục bộ , biến chung và biến hệ thống , được xác định bằng số sau dấu “#”.

Ở trạng thái ban đầu, các biến không xác định được gọi là biến không xác định và được biểu diễn bằng ” # 0 “.

Biến cục bộ

Biến cục bộ là các biến được đại diện từ # 1 đến # 33 . Các biến được chuẩn bị riêng cho chương trình chính và chương trình con (G65, G66) được đặt lại hoặc khởi tạo khi kết thúc chương trình.

G65 và G66 là các hàm được gọi là lệnh gọi macro . Khi bạn chạy một chương trình con, bạn có khả năng xác định các số trong các biến cục bộ.

Ví dụ về các chương trình macro di chuyển trục X

O100 (chương trình chính)

# 1 = 500.

G0 G90 X # 1

G65 P101 A600.

X # 1

M30

O101 ( chương trình con)

G0G90X # 1

M99

Ví dụ chương trình trên hoạt động theo thứ tự sau.

X500 (vì # 1 được định nghĩa là 500 trong chương trình chính)

X600 (vì 600 nằm trong # 1 của chương trình con O101)

X500 (vì # 1 của chương trình chính không thay đổi khi được gán 500)

Bạn có thể đặt một số vào biến cục bộ # 1 của chương trình con O101 với G65P101A600.

Các bảng chữ cái và biến tương ứng có quy tắc và được gọi là đối số .

Về cách gọi

chương trình con “M98” hoặc “G65” được sử dụng để gọi một chương trình con, nhưng chương trình con được gọi bởi M98 và được coi giống như một biến cục bộ của chương trình chính.

O100 (chương trình chính)

# 1 = 200

M98P101

M30

O101 (SUB)

G0 G90 X # 1

M99

Kết quả chỉ là thao tác định vị tới G0 G90 X200. Số 1 của chương trình con được gọi trong M98 và số 1 được định nghĩa trong chương trình chính là giống nhau.

Giải thích lệnh gọi macro

Lệnh gọi macro G65 P “Số chương trình” L “Số lần lặp lại ” “Đặc tả đối số”

Ví dụ) G65 P101 L2 A10. B20.

Gọi chương trình macro có nghĩa là O101, lặp lại hai lần và dữ liệu được chuyển đến macro có nghĩa là A10 và B20 …

Có hai cách để sử dụng đối số lệnh gọi macro.

Khi chỉ sử dụng A đến Z không phải GLONP một lần ( đặc tả đối số I )

Khi sử dụng ABC một lần và tối đa 10 cặp IJK ( đặc điểm kỹ thuật đối số II )

* Có thể bỏ qua các đối số không sử dụng. Đối số nào được chỉ định được xác định tự động.

Đặc tả đối số I

Các loại sử dụng A đến Z (không phải GLNOP)

G65 P101 A10. C12. U30. X20.

Về cơ bản, thứ tự của các đối số không quan trọng, nhưng khi sử dụng IJK, bạn cần nhập chúng theo thứ tự bảng chữ cái .

Các biến cục bộ I → J → K # 10, # 12, # 14 ~ # 16, # 27 ~ # 33 không thể được chuyển đến chương trình con dưới dạng đối số.

Số biến Địa chỉ Số biến Địa chỉ
# 1 A # 7 D
# 2 B # 8 E
# 3 C # 9 F
# 4 I # 10
# 5 J # 11 H
# 6 K # 13 M

Số biến Địa chỉ

# 17      Q

# 18      R

# 19      S

# 20     T

#21     U

#22     V

#23    W

#24    X

#25    Y

# 26    Z

Đặc tả đối số II

Loại sử dụng ABC IJK (ABC một lần, IJK tối đa 10 cặp)

G65 P102 A10. B11. C12. I20. J21. K22. I30. J31. K32.

IJK được chỉ định theo thứ tự đầu vào từ macro # 4.

Số biến    Địa chỉ

# 1                A

# 2              B

# 3               C

# 4              I

#5                J

# 6               K

# 7                  I

# 8                  J

# 9                K

#10                   I

# 11                         J

# 12                  K

# 13                  I

# 14                      J

# 15                     K

# 16                       I

# 17                      J

# 18                 K

# 19                              I

# 20                     J

#21                     K

#22                      I

#23                        J

#24                         K

#25                                  I

# 26                         J

# 27                      K

# 28                     I

# 29                         J

# 30                               K

# 31                            I

# 32                       J

# 33                   K

Các biến phổ biến:

Các biến phổ biến là các biến # 100 ~ # 199 và # 500 ~ # 999 . Phạm vi có thể được sử dụng phụ thuộc vào hệ điều khiển của loại máy và các tùy chọn macro tùy chỉnh.

Biến chung là biến không tồn tại chung với chương trình chính và các chương trình con.

# 100 đến # 199 được khởi tạo khi tắt nguồn của bộ điều khiển.

# 500 đến # 999 được ghi nhớ ngay cả khi tắt nguồn của bộ điều khiển.

Các biến hệ thống

Biến hệ thống là các biến lớn hơn # 1000 và có thể xử lý dữ liệu liên quan đến hiệu chỉnh và trạng thái NC.

Các biến hệ thống được xác định bởi ứng dụng, nhưng khác nhau tùy thuộc vào bộ điều khiển.

Biến không xác định

Các biến không xác định được đại diện bằng # 0, nghĩa là “trống” không có nội dung.

Bạn không thể thay thế một số cho # 0.

Giá trị ban đầu của biến là “trống”. Nếu bạn muốn khởi tạo biến, hãy nhập # 1 = # 0.

Hoạt động của biến không xác định Nếu:

giá trị tọa độ của lệnh định vị là không xác định (trống), nó sẽ bị bỏ qua.

# 1 = # 0

G0 G90 X # 1 Y100.

→ Tương tự như G0 G90 Y100.

X # 1 bị bỏ qua.

Nếu một biến không xác định được vận hành, nó được coi là 0.

# 1 = # 0

# 2 = # 1 + 5

→ # 2 = 5

# 2 = # 1 * 5

→ # 2 = 0

Toán tử so sánh EQ và NE coi # 0 và 0 là các giá trị khác nhau.

Các toán tử so sánh khác (GT, GE, LT, LE) coi # 0 và 0 là cùng một giá trị.

Phép tính

Xử lý số học có thể được thực hiện trên chương trình. Mô tả toán tử số học, toán tử logic, toán tử so sánh và hàm .

Toán tử số học

Lệnh tính toán Ý nghĩa

#i + #j cộng (+ bổ sung)

#i – #j Phép trừ

#i * #j × nhân)

#i / #j chia

#i MOD #j Phần dư (#i và #j được làm tròn thành số nguyên và sau đó phần dư được tính.)

* Có thể không sử dụng được tùy thuộc vào thiết bị điều khiển.

Phương pháp tính toán

# 100 = 2 + 5 * 5

→ # 100 chứa 27

Bạn cũng có thể tính toán các biến.

# 110 = 3

# 100 = # 110 * 5

→ 15 được nhập vào # 100.

Thứ tự tính toán giống như trong toán học. Nếu bạn muốn ưu tiên, hãy sử dụng [] (dấu ngoặc vuông).

# 100 = [2 + 5] * 5

→ # 100 chứa 35

[] Bạn cũng có thể đặt các dấu ngoặc đơn chồng lên nhau.

# 100 = [[2 + 5] * 5] / 7

→ 35/7 = 5 và # 100 sẽ chứa 5

Tính toán 50 ÷ 0 bằng máy tính sẽ dẫn đến lỗi.

✖ # 1 = 50/0 Ngay cả trong chương trình NC, một cảnh báo sẽ được phát ra cho phép tính chia cho 0 (không) theo cách tương tự .

Toán tử so sánh

Toán tử so sánh được sử dụng kết hợp với IF (nhánh có điều kiện) và WHILE (lặp lại).

Được sử dụng khi so sánh hai giá trị.

Lệnh tính toán Ý nghĩa

#i EQ #j = Bằng nhau

#i NE #j không bằng

#i GT #j > Lớn hơn

#i GE #j ≧ bằng hoặc lớn hơn

#i LT #j <Nhỏ

#i LE #j ≤ bằng hoặc ít hơn

Câu lệnh IF được giải thích chi tiết dưới đây. Kiểm tra ở đây cách sử dụng toán tử so sánh .

# 1 = -11

IF [ # 1 LT -10 ] THEN # 1 = -10

→ Nếu ​​# 1 nhỏ hơn -10, nghĩa là thay -10 cho # 1.

IF [ # 1 EQ -11 ] GOTO 999

→ Nếu ​​# 1 bằng -10, có nghĩa là phân nhánh đến số thứ tự N999.

Toán tử logic

Lệnh tính toán Ý nghĩa

#i And #j Logic AND

#i OR #j Hoặc

#i XOR #j KQ

Ví dụ về biểu thức điều kiện

IF [[# 1 EQ # 2] AND [# 3 EQ # 4]] GOTO 10

khi → # 1 và # 2, và # 3 và # 4 bằng nhau thì rẽ nhánh đến N10.

IF [[# 1 EQ # 2] OR [# 3 EQ # 4]] GOTO 10

→ Các nhánh tới N10 khi # 1 và # 2 bằng nhau hoặc khi # 3 và # 4 cũng bằng nhau.

chức năng 

Các chương trình macro cũng có thể xử lý các chức năng.

chức năng Ý nghĩa

SIN [#i] Đơn vị độ sin

COS [#i] Đơn vị độ cosine

TAN [#i] Đơn vị độ tangent

ASIN [#i]

Phạm vi của câu trả lời sin nghịch đảo phụ thuộc vào các tham số.

Nó có thể là 270 ~ 90 hoặc -90 ~ 90.

ACOS [#i]

Phạm vi của câu trả lời cosin đảo ngược là 180 ~ 0

ATAN [#i] Tiếp tuyến nghịch đảo (1 đối số)

Phạm vi câu trả lời phụ thuộc vào các tham số.

Nó có thể là 360 ~ 0 hoặc -180 ~ 180.

ATAN [#i] / [#J] Tiếp tuyến nghịch đảo (2 đối số) * 1

ATAN [#i, #J] Tương tự như trên * 1

SQRT [#i] căn bậc hai

ABS [#i] Giá trị tuyệt đối

BIN [#i] Chuyển đổi BCD sang BINARY

BCD [#i] Chuyển đổi BINARY sang BCD

ROUND [#i] Làm tròn (chữ số thập phân đầu tiên)

FIX [#i] Cắt ngắn sau dấu thập phân

FUP [#i] Làm tròn sau dấu thập phân

LN [#i] Lôgarit tự nhiên

EXP [#i] Chỉ số có e (2,718…)

POW [#i, #J] Luỹ thừa (#i đến #j) * 1

ADP [#i] Thêm số thập phân điểm * 1

Đối số thông qua mà không có một dấu thập phân

(Decimal Thêm Point)

* 1 Có thể không sử dụng được tùy thuộc vào thiết bị điều khiển.

Cách sử dụng hàm

# 2 = 30

# 1 = SIN [# 2]

0.5 được nhập vào # 1.

Nhánh và lặp lại

Chương trình NC được thực hiện theo thứ tự từ trên xuống, nhưng nó có thể được phân nhánh đến bất kỳ vị trí nào hoặc quá trình tương tự có thể được lặp lại tùy thuộc vào điều kiện. Bây giờ tôi sẽ Giải thích phân nhánh không điều kiện, phân nhánh có điều kiện và lặp lại .

GOTO (rẽ nhánh vô điều kiện)

Phân nhánh không điều kiện có nghĩa là “đi đến số thứ tự được chỉ định”.

GOTO (số thứ tự)

Ví dụ chương trình

GOTO 3 ← Từ đây

N1

N2

N3 ← Tại đây

M30

Chuyển đến khối có số thứ tự N3 với GOTO 3. N1 N2 sẽ bị bỏ qua.

Số thứ tự trên GOTO cũng có thể chấp nhận được.

N1 … ← Đây

N2…

GOTO 1 ← Từ đây đến N1 ở trên

Hãy cẩn thận để không trùng lặp số thứ tự.

Câu lệnh IF (nhánh có điều kiện)

Phân nhánh có điều kiện có nghĩa là “nếu điều kiện được đáp ứng, xử lý XX, và nếu không, chuyển qua”.

Việc đánh giá xem một điều kiện có được thỏa mãn hay không được gọi là biểu thức điều kiện và được biểu thị bằng [dữ liệu toán tử so sánh dữ liệu].

Có hai cách để xử lý đó là GOTO và THEN .

1. 1. IF [biểu thức điều kiện] GOTO số thứ tự

2. Câu lệnh macro IF [biểu thức điều kiện] THEN

Ví dụ về câu lệnh IF (GOTO)

IF [# 1 EQ 10] GOTO 101

→ Nó có nghĩa là “Nếu # 1 = 10, chuyển đến N101”.

Ví dụ về câu lệnh IF (THEN)

IF [# 1 EQ 10] THEN # 1 = 20

→ Nó có nghĩa là “Nếu # 1 = 10, hãy xử lý # 1 = 20”.

WHILE (lặp lại)

Bạn có thể lặp lại cùng một phần của chương trình bằng cách sử dụng câu lệnh GOTO hoặc IF, nhưng thật dễ dàng bằng cách sử dụng WHILE.

WHLE [Biểu thức có điều kiện] Định danh DO

(chương trình bạn muốn lặp lại) Định danh END

Chương trình từ DO đến END được lặp lại miễn là biểu thức điều kiện được thỏa mãn.

Định danh DO và END sử dụng cùng một số từ 1 2 3 như một tập hợp.

Ví dụ chương trình

# 1 = 1

WHILE [# 1 LT 5]DO 1

G0 G91 X100.

# 1 = # 1 + 1

END 1

M30

Chương trình trên lặp lại chương trình từ DO đến END trong khi # 1 nhỏ hơn 5.

# 1 = # 1 + 1

Khối này thường được sử dụng bởi các chương trình macro. Nó là một công thức toán học không thể được thực hiện trong toán học, nhưng trong một chương trình macro, nó có nghĩa là “thêm 1 vào # 1 và viết lại # 1”. Mỗi khi khối của # 1 = # 1 + 1 được đọc, # 1 tăng 1 và khi nó đạt đến 5, biểu thức điều kiện [# 1 LT 5] không còn thỏa mãn nữa, vì vậy chương trình kết thúc ở M30 sau khi đi qua phần lặp lại.

Bạn có thể làm gì với câu lệnh WHILE

1. Bạn có thể sử dụng mã định danh nhiều lần tùy thích.

WHILE […] DO 1

END1

:

WHILE […]DO 1

END1

:

Không cần thay đổi định danh.

2. DO-END có thể được sử dụng trong các lớp.

Có thể sử dụng tối đa 3 lần bằng cách sử dụng các mã định danh khác nhau.

:

WHILE […] DO 1

WHILE […] DO 2

WHILE […] DO 3

END 3

END 2

END 1

:

đặt thoải mái số nhận dạng khác DO ~ END trong DO ~ END của trùng số nhận dạng.

3. Bạn có thể phân nhánh từ D O đến END.

:

WHILE […] DO 1

IF […]GOTO 10 ←DO ~ END thoát

END1

N10 ← Tại đây

:

Bạn có thể loại bỏ sự lặp lại với câu lệnh GOTO.

Trong câu lệnh WHILE không thể đến:

1. Bạn không thể rẽ nhánh giữa DO ~ END.

:

GOTO 1

WHILE […] DO 1

N1← lỗi …

END1

:

2. bạn sẽ không xác định qua DO ~ END khác nhau của một số khác.

WHILE […] DO 1

WHILE […] DO 2

END1  ← Lỗi

END2 ← Lỗi

Trong ví dụ trên, có END1 giữa số nhận dạng DO2 và END2.

Nó không thể được sử dụng theo cách này.

Thực hành chương trình macro nc

Các chương trình trung tâm gia công thường lặp lại cùng một đường chạy dao. Lần này, chúng ta sẽ tạo một chương trình macro với chương trình cắt lỗ bằng cách cắt vòng cung.

Lỗ có đường kính gia công φ35, độ sâu 50

Vị trí lỗ X0 Y0

Dụng cụ φ20 dao endmill

Sử dụng 3 biến. Hãy coi nó như một chu kỳ cố định R, Q, Z.

# 18 Điểm tham chiếu

# 17 số lần cắt giảm dần xuống

# 26 Chiều cao xử lý cuối cùng

chương trình Giải trình

O1 (CHƯƠNG TRÌNH) tên chương trình

T1M6 Thay dao φ20

G0 G90 X0 Y0 Vị trí lỗ

G43 Z100. H1

S1000 M3

# 18 = 2,2 Điểm tham chiếu (giá trị ban đầu)

# 17 = 2

# 26 = -50 Chiều cao xử lý cuối cùng (giá trị cuối cùng)

G0 Z # 18

WHILE [# 18 GT # 26] DO 1 Câu lệnh lặp lại

# 18 là # 26Lặp lại cho lớn hơn, nếu không thì xuống END 1

# 18 = # 18- # 17 Tính toán chiều cao xử lý

NẾU [# 18 LT # 26] THEN # 18 = # 26 Phân nhánh có điều kiện Giới hạn chiều cao gia công Khi

# 18 nhỏ hơn # 26, thay # 26 cho # 18.

G1 Z # 18 F200 Di chuyển đến chiều cao xử lý

Y7,5 Di chuyển đến vị trí bắt đầu gia công cung

G3 J-7,5 Xử lý cung

G1 Y0 Quay trở lại tâm của lỗ

END 1 Đến WHILE -DO

G0 Z100.

M30

Điểm

R được đặt trong phần mô tả chương trình # 18. Tăng mức cắt lên # 18 và nếu vượt quá # 26, câu lệnh IF sẽ buộc xác định # 18 thành # 26. Nếu # 18 và # 26 bằng nhau, chương trình kết thúc thông qua DO-END.

Chiều cao xử lý ban đầu là 0,2 (2,2-2) và xử lý vòng cung được thực hiện. Các lần cắt được thực hiện 2 mm ở -1,8, -3,8, rồi đến -47,8, -49,8 và khi # 18 trở thành -51,8, IF THEN hoạt động và -50 Sẽ được. # 18 và # 26 bằng nhau và thoát khỏi sự lặp lại.

Bằng cách này, thêm giá trị gia tăng (# 17) vào giá trị ban đầu (# 18) và lặp lại cho đến khi đạt đến giá trị cuối cùng (# 26) .

Chương trình Macro nc tùy chỉnh thực tế

Trong chương trình macro trên, bạn phải sao chép nó mỗi lần và thay đổi đường kính lỗ, v.v.

Do đó, sẽ thuận tiện khi ghi nó trong một chương trình con (macro tùy chỉnh) và sử dụng nó trong lệnh gọi macro (G65 G66). Nó giống như tạo mã G của riêng bạn.

Tạo macro tùy chỉnh dựa trên chương trình macro thực hành. Bằng cách thiết lập các đối số từ chương trình chính, có thể xử lý các đường kính và độ sâu lỗ khác nhau.

G65 P500 R2.2 Q2. Z-50. I50. J7.5 F200 (lệnh gọi macro)

Chương trình mẫu

O1 (CHƯƠNG TRÌNH CHÍNH)

G0 G90 G54 X0 Y0

G43 Z100. H1

S1000 M3

G65 P500 R2.2 Q2. Z-50. I50. J7.5 F200

M30

O500 ()

(# 18 R) (# 17 Q ) (# 26 Z)

(# 4 I / NIGE TAKASA)

(# 5 J / ENKO)

(# 9 F / OKURI)

IF [# 18 EQ # 0] GOTO 9999 (R / NOT SET)

IF [# 26 EQ # 0] GOTO 9999 (Z / NOT SET)

IF [# 4 EQ # 0] GOTO 9999 (I / NOT SET)

IF [# 5 EQ # 0] GOTO 9999 (J / NOT SET)

IF [# 5 LE 0] GOTO 9999 (J / LE 0)

IF [# 18 LE # 26] GOTO 9999 (R LE Z ERROR)

IF [# 4 LT # 18] GOTO 9999 (I LT R ERROR)

IF [# 17 EQ 0] THEN # 17 = # 0

IF [# 17 NE # 0] THEN # 17 = ABS [# 17]

# 12 = # 18 (R / SAVE)

G0 Z # 4 (NIGE TAKASA)

Z # 18

WHILE [# 18 GT # 26] DO 1

IF [# 17 NE # 0] THEN # 18 = # 18- # 17

IF [# 17 EQ # 0] THEN # 18 = # 26

IF [# 18 LT # 26] THEN # 18 = # 26

G1 Z # 18 F # 9

G91 Y # 5 (ENKO)

G3 J- # 5

Y- # 5

G90 END 1

G0 Z # 4

# 18 = # 12 (R / MODOSU)

M99

N9999

M0 (ALARM)

GOTO 9999

Các biến được sử dụng trong macro

Sử dụng địa chỉ I và J trên G65. Hãy chắc chắn I là đầu vào trước khi J .

Biến cục bộ Địa chỉ Giải trình Không có đối số

# 18 R Điểm tham khảo lỗi※

# 17 Q Số lượng Notch Xử lý một lần ở vị trí Z, chi tiết bên dưới

# 26 Z Chiều cao xử lý cuối cùng lỗi※

# 4 I Chiều cao thoát lỗi※

#5 J Bán kính R lỗi※

# 9 F bước tiến dao F

# 12 Để lưu đối số R

* Về xử lý lỗi

Để tránh trục trặc, hãy rẽ nhánh tới N9999 và dừng chương trình M0.

Điều kiện lỗi

Không có đối số cho R, Q, Z, I hoặc J.

J Một giá trị số có bán kính cung bằng 0 hoặc nhỏ hơn.

Điểm R lớn hơn độ cao thoát I.

Độ cao cuối Z lớn hơn điểm R.

Về xử lý số lần cắt

Tùy thuộc vào giá trị của Q (# 17), nó có thể được chia thành hai loại: khi xử lý được lặp lại theo độ sâu của vết cắt, và khi gia công hoàn thành ở 1 độ ở độ cao Z.

Cắt khối lượng Ý nghĩa

NẾU [# 17 EQ 0] THEN # 17 = # 0 Khi # 17 (Q) bằng 0, hãy đặt # 17 trống (# 0) Để thực hiện

xử lý tương tự như khi # 17 trống.

IF [# 17 NE # 0] THEN # 17 = ABS [# 17] Khi # 17 không trống, nó sẽ hoạt động trái ngược nếu # 17 là một số âm. Khi đó nó trở thành một số dương.

IF [# 17 NE # 0] THEN # 18 = # 18- # 17 Khi # 17 không trống, hãy tăng độ sâu cắt đến chiều cao xử lý # 18.

IF [# 17 EQ # 0] THEN # 18 = # 26 Khi # 17 trống, đặt chiều cao gia công # 18 thành giá trị Z # 26.

Giới thiệu về lệnh gọi macro phương thức (G66)

Macro này được gọi là G65, nhưng nó được tạo ra dựa trên giả định rằng nó cũng sẽ được sử dụng bởi G66.

Vì nó là G66, có vẻ như đối số không được đọc sau lần thứ hai sau khi nhận được đối số lần đầu tiên. Do đó, trước tiên hãy lưu # 18 thành # 12 trước khi thay đổi nó và cuối cùng đặt lại # 18 về giá trị mặc định của nó .

G66 P500 R2.2 Q2. Z-50. I7.5 I90. F200

G90 X0 Y0 ← Đầu tiên đọc đối số với G66 và thực thi O500

X40. Y30. ← Không tải lại đối số sau lần thứ hai G67

Đảm bảo rằng các biến cục bộ nhận đối số là giống nhau ở đầu và cuối.

Tóm tắt các kiến thức về chương trình macro NC

Các chương trình macro nc có các biến, các hàm số học, các phép lặp và các nhánh .

Biến:

Biến cục bộ # 1 ~ # 33

Các biến phổ biến # 100 ~ # 199 # 500 ~ # 999

Biến hệ thống # 1000 ~

Phép tính:

Toán tử số học +, -, *, /

Toán tử so sánh EQ, NE, GT, GE, LT, LE

Toán tử logic AND, OR, XOR

Các hàm SIN, COS, TAN…

Lặp lại và phân nhánh

GOTO phân nhánh vô điều kiện

IF Nhánh có điều kiện

Lặp lại WHILE

Đến đây,Tôi đã giải thích về macro cho các chương trình NC, nhưng nó như thế nào?

Khi bạn hiểu cơ bản, hãy thử tạo một chương trình macro nc đơn giản.

Chỉ sử dụng một biến là đủ macro.

Bạn có thể hiểu sâu hơn bằng cách sắp xếp các macro tùy chỉnh mẫu theo cách của riêng bạn.

Tôi hy vọng bài viết này đã giúp bạn có cơ hội tiếp xúc với các chương trình macro NC.

Cảm ơn bạn đã đọc đến cuối.

Bạn có quan tâm về lập trình phay cnc:

Lập trình tiện NC (2 trục, 3 trục).

Lập trình phay NC (3 trục ).

Lập trình tiện CNC bằng phần mềm Mastercam

Lập trình Phay CNC 2D, 3D, 4,5 trục bằng phần mềm Mastercam.

Cảm ơn Bạn đã theo dõi. Hẹn gặp Bạn vào bài viết tiếp theo.

Đăng ký Kênh Cad/Cam/Cnc: Đăng ký miễn phí

Tham gia Group chia sẻ kiến thức: Tham gia miễn phí

chương trình macro nchọc lập trình macro cho máy phay cncmacro cho lập trình phay

Từ khóa » Chu Trình Phay Hốc Tròn