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 ELSEIF và ELSE để 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
).
- Quên dấu ngoặc
- Đ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!