Bài 4 – Lệnh Điều Kiện Và Quyết Định Trong Macro Fanuc

1. Lệnh điều kiện trong Macro Fanuc là gì?

Lệnh điều kiện trong Macro Fanuc giúp chương trình đưa ra quyết định dựa trên các điều kiện cụ thể. Điều này cho phép bạn tạo ra các chương trình thông minh hơn, linh hoạt hơn để xử lý các tình huống trong thực tế sản xuất.

Ví dụ cơ bản:

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

Câu lệnh trên kiểm tra nếu biến #1 bằng 10, biến #2 sẽ được gán giá trị 20.

2. Cú pháp và các lệnh điều kiện trong Macro Fanuc

a. Cú pháp lệnh IF

  • Cú pháp cơ bản:

IF [điều kiện] THEN câu lệnh

  • Các toán tử logic:
    • EQ: Bằng (=).
    • NE: Không bằng (!=).
    • GT: Lớn hơn (>).
    • LT: Nhỏ hơn (<).
    • GE: Lớn hơn hoặc bằng (>=).
    • LE: Nhỏ hơn hoặc bằng (<=).

Ví dụ:

IF [#1 GT 100] THEN #1 = 100

Nếu giá trị của #1 lớn hơn 100, chương trình sẽ gán lại #1 = 100.

b. Lệnh GOTO

Lệnh GOTO cho phép nhảy đến một dòng lệnh cụ thể dựa trên điều kiện.

  • Cú pháp:

IF [điều kiện] GOTO n
Nn (Câu lệnh cần nhảy đến)

Ví dụ:

IF [#1 LT 50] GOTO 10
G0 X#1 Y100
N10 G0 X0 Y0

Nếu #1 < 50, chương trình sẽ bỏ qua lệnh G0 X#1 Y100 và nhảy đến dòng N10.

c. Lệnh ELSEIF và ELSE

Một số phiên bản Macro Fanuc hỗ trợ lệnh ELSEIFELSE để xử lý nhiều điều kiện liên tiếp.

  • Cú pháp:

IF [điều kiện 1] THEN câu lệnh 1
ELSEIF [điều kiện 2] THEN câu lệnh 2
ELSE câu lệnh khác

Ví dụ:

IF [#1 EQ 0] THEN #2 = 10
ELSEIF [#1 GT 0] THEN #2 = 20
ELSE #2 = 0

3. Ứng dụng lệnh điều kiện trong thực tế

a. Kiểm tra giá trị nhập vào

O9001
#1 = 50 (Khoảng cách cần kiểm tra)

IF [#1 GT 100] THEN #3000 = 1 (Khoảng cách quá lớn)
IF [#1 LT 10] THEN #3000 = 2 (Khoảng cách quá nhỏ)

G0 X#1 (Di chuyển đến X = #1)
M30

  • #3000: Lệnh tạo báo động. Nếu #1 không hợp lệ, chương trình sẽ dừng.

b. Kiểm tra tình trạng máy trước khi hoạt động

O9002
IF [#500 EQ 0] THEN #3000 = 1 (Chưa đặt giá trị đếm sản phẩm)
IF [#3006 NE 0] THEN GOTO 10 (Máy đang có lỗi, bỏ qua)

G0 X0 Y0 Z0 (Đưa trục về gốc)
N10 M30

4. Ví dụ thực hành: Điều khiển vòng lặp với điều kiện

Yêu cầu: Tạo chương trình khoan lỗ trên trục X với điều kiện nếu khoảng cách giữa các lỗ vượt quá 100mm, chương trình sẽ dừng.

Chương trình:

O9003
#1 = 5 (Số lỗ cần khoan)
#2 = 20 (Khoảng cách giữa các lỗ)
#3 = 0 (Vị trí bắt đầu)

WHILE [#1 GT 0] DO1
IF [#2 GT 100] THEN #3000 = 1 (Khoảng cách vượt quá giới hạn)
G0 X#3 Y50
G81 R1.0 Z-10.0 F100 (Chu trình khoan)
#3 = #3 + #2 (Cập nhật vị trí tiếp theo)
#1 = #1 - 1 (Giảm số lỗ cần khoan)
END1
M30

Giải thích:

  • Sử dụng lệnh IF để kiểm tra khoảng cách giữa các lỗ.
  • Nếu khoảng cách vượt quá 100mm, chương trình sẽ dừng với báo động.

5. Lỗi thường gặp khi sử dụng lệnh điều kiện

  • Cú pháp không chính xác:
    • Quên dấu ngoặc [].
    • Viết sai tên toán tử (ví dụ: dùng = thay vì EQ).
  • Điều kiện không hợp lệ: So sánh giá trị không được định nghĩa hoặc vượt giới hạn.
  • Giải pháp: Kiểm tra kỹ cú pháp và giá trị biến trước khi chạy chương trình.

6. Kết luận

Lệnh điều kiện trong Macro Fanuc là công cụ mạnh mẽ giúp lập trình viên kiểm soát logic của chương trình CNC một cách hiệu quả. Bằng cách sử dụng IF, GOTO, và các toán tử logic, bạn có thể tạo ra các chương trình thông minh hơn, xử lý được nhiều tình huống thực tế.

Trong bài tiếp theo, chúng ta sẽ khám phá cách sử dụng vòng lặp WHILE và DO để tối ưu hóa các tác vụ lặp lại trong Macro Fanuc!

You cannot copy content of this page